Skip to content

[Table] Add TableContainer component#18699

Merged
oliviertassinari merged 7 commits intomui:masterfrom
r3dm1ke:9221-add-responsive-prop-to-table
Dec 10, 2019
Merged

[Table] Add TableContainer component#18699
oliviertassinari merged 7 commits intomui:masterfrom
r3dm1ke:9221-add-responsive-prop-to-table

Conversation

@r3dm1ke
Copy link
Copy Markdown
Contributor

@r3dm1ke r3dm1ke commented Dec 5, 2019

Fixes #9221

@mui-pr-bot
Copy link
Copy Markdown

mui-pr-bot commented Dec 5, 2019

@material-ui/core: parsed: +0.13% , gzip: +0.06%

Details of bundle changes.

Comparing: d30e5ae...07ada28

bundle Size Change Size Gzip Change Gzip
TableContainer ▲ +60.6 kB (+Infinity% ) 60.6 kB ▲ +18.9 kB (+Infinity% ) 18.9 kB
@material-ui/core ▲ +464 B (+0.13% ) 356 kB ▲ +57 B (+0.06% ) 97.2 kB
@material-ui/core[umd] ▲ +299 B (+0.10% ) 312 kB ▲ +40 B (+0.04% ) 90.2 kB
TablePagination ▲ +2 B (0.00% ) 139 kB ▲ +5 B (+0.01% ) 40.7 kB
TextField ▲ +2 B (0.00% ) 122 kB ▲ +3 B (+0.01% ) 35.5 kB
@material-ui/lab ▲ +2 B (0.00% ) 175 kB ▲ +2 B (0.00% ) 52.4 kB
MobileStepper -- 66.4 kB ▼ -7 B (-0.03% ) 20.7 kB
TableSortLabel -- 76 kB ▼ -4 B (-0.02% ) 23.8 kB
useAutocomplete -- 12.3 kB ▼ -4 B (-0.09% ) 4.6 kB
CardActions -- 60.7 kB ▼ -3 B (-0.02% ) 19 kB
Container -- 61.9 kB ▼ -3 B (-0.02% ) 19.3 kB
ExpansionPanelActions -- 60.8 kB ▲ +3 B (+0.02% ) 19 kB
ExpansionPanelDetails -- 60.6 kB ▼ -3 B (-0.02% ) 18.9 kB
FilledInput -- 72.1 kB ▲ +3 B (+0.01% ) 22.3 kB
Grid -- 63.8 kB ▼ -3 B (-0.02% ) 19.9 kB
Grow -- 22.8 kB ▼ -3 B (-0.04% ) 7.8 kB
InputBase -- 69.2 kB ▲ +3 B (+0.01% ) 21.6 kB
Menu -- 86.9 kB ▲ +3 B (+0.01% ) 26.7 kB
OutlinedInput -- 72.6 kB ▲ +3 B (+0.01% ) 22.5 kB
Popover -- 81.3 kB ▲ +3 B (+0.01% ) 25.1 kB
Select -- 113 kB ▲ +3 B (+0.01% ) 33.5 kB
StepContent -- 67.7 kB ▲ +3 B (+0.01% ) 21.1 kB
TableBody -- 60.8 kB ▼ -3 B (-0.02% ) 19 kB
TableHead -- 60.8 kB ▼ -3 B (-0.02% ) 19 kB
@material-ui/system -- 14.5 kB ▲ +2 B (+0.05% ) 4.04 kB
Autocomplete -- 127 kB ▲ +2 B (+0.01% ) 39.8 kB
AvatarGroup -- 60.9 kB ▼ -2 B (-0.01% ) 19.1 kB
Backdrop -- 66.4 kB ▲ +2 B (+0.01% ) 20.5 kB
Button -- 78.3 kB ▲ +2 B (+0.01% ) 23.9 kB
ButtonBase -- 72.6 kB ▲ +2 B (+0.01% ) 22.7 kB
ButtonGroup -- 80.9 kB ▼ -2 B (-0.01% ) 24.8 kB
Card -- 61.4 kB ▲ +2 B (+0.01% ) 19.1 kB
CardHeader -- 63.7 kB ▼ -2 B (-0.01% ) 20 kB
Chip -- 81.2 kB ▲ +2 B (+0.01% ) 24.8 kB
Divider -- 61.3 kB ▼ -2 B (-0.01% ) 19.2 kB
Drawer -- 83 kB ▲ +2 B (+0.01% ) 25.2 kB
Fab -- 75.4 kB ▲ +2 B (+0.01% ) 23.4 kB
GridList -- 61.2 kB ▼ -2 B (-0.01% ) 19.2 kB
GridListTileBar -- 61.9 kB ▼ -2 B (-0.01% ) 19.3 kB
Input -- 71.1 kB ▲ +2 B (+0.01% ) 22.1 kB
List -- 61 kB ▲ +2 B (+0.01% ) 19 kB
ListItem -- 75.7 kB ▲ +2 B (+0.01% ) 23.6 kB
ListItemAvatar -- 60.8 kB ▼ -2 B (-0.01% ) 19 kB
ListItemSecondaryAction -- 60.7 kB ▼ -2 B (-0.01% ) 19 kB
MenuList -- 64.6 kB ▲ +2 B (+0.01% ) 20.2 kB
Popper -- 28.7 kB ▲ +2 B (+0.02% ) 10.3 kB
StepIcon -- 63.3 kB ▲ +2 B (+0.01% ) 19.7 kB
Stepper -- 63.4 kB ▼ -2 B (-0.01% ) 19.9 kB
SvgIcon -- 61.7 kB ▲ +2 B (+0.01% ) 19.2 kB
TableFooter -- 60.8 kB ▲ +2 B (+0.01% ) 19 kB
TreeView -- 65 kB ▼ -2 B (-0.01% ) 20.4 kB
Typography -- 62.3 kB ▲ +2 B (+0.01% ) 19.4 kB
@material-ui/styles -- 50.8 kB ▼ -1 B (-0.01% ) 15.3 kB
AppBar -- 62.4 kB ▲ +1 B (+0.01% ) 19.5 kB
Avatar -- 63.9 kB ▼ -1 B (-0.00% ) 20.1 kB
Badge -- 64 kB ▼ -1 B (-0.01% ) 19.8 kB
BottomNavigation -- 61.1 kB ▼ -1 B (-0.01% ) 19.1 kB
CardActionArea -- 73.7 kB ▲ +1 B (0.00% ) 23.1 kB
CardContent -- 60.7 kB ▲ +1 B (+0.01% ) 18.9 kB
Checkbox -- 80.6 kB ▼ -1 B (-0.00% ) 25.4 kB
Collapse -- 66.6 kB ▲ +1 B (0.00% ) 20.6 kB
CssBaseline -- 56.2 kB ▼ -1 B (-0.01% ) 17.6 kB
Dialog -- 81.3 kB ▲ +1 B (0.00% ) 25.4 kB
DialogActions -- 60.8 kB ▼ -1 B (-0.01% ) 19 kB
DialogContentText -- 62.7 kB ▼ -1 B (-0.01% ) 19.7 kB
DialogTitle -- 63 kB ▼ -1 B (-0.01% ) 19.7 kB
docs.main -- 610 kB ▼ -1 B (-0.00% ) 194 kB
ExpansionPanel -- 69.9 kB ▼ -1 B (-0.00% ) 21.8 kB
ExpansionPanelSummary -- 76.7 kB ▼ -1 B (-0.00% ) 24.2 kB
Fade -- 22.2 kB ▼ -1 B (-0.01% ) 7.68 kB
FormControl -- 63.1 kB ▲ +1 B (+0.01% ) 19.6 kB
FormGroup -- 60.7 kB ▼ -1 B (-0.01% ) 19 kB
FormHelperText -- 61.9 kB ▼ -1 B (-0.01% ) 19.4 kB
GridListTile -- 62.4 kB ▼ -1 B (-0.01% ) 19.5 kB
Icon -- 61.5 kB ▼ -1 B (-0.01% ) 19.2 kB
IconButton -- 74.8 kB ▲ +1 B (0.00% ) 23.3 kB
InputAdornment -- 63.8 kB ▼ -1 B (-0.01% ) 20 kB
InputLabel -- 64 kB ▼ -1 B (-0.01% ) 19.9 kB
LinearProgress -- 64 kB ▼ -1 B (-0.01% ) 19.9 kB
ListItemIcon -- 60.9 kB ▼ -1 B (-0.01% ) 19 kB
ListItemText -- 63.6 kB ▲ +1 B (+0.01% ) 19.9 kB
ListSubheader -- 61.4 kB ▼ -1 B (-0.01% ) 19.3 kB
MenuItem -- 76.8 kB ▲ +1 B (0.00% ) 23.9 kB
Modal -- 14.3 kB ▲ +1 B (+0.02% ) 5 kB
NativeSelect -- 75.4 kB ▼ -1 B (-0.00% ) 23.7 kB
Paper -- 60.9 kB ▲ +1 B (+0.01% ) 18.9 kB
Radio -- 81.5 kB ▼ -1 B (-0.00% ) 25.6 kB
Rating -- 68.7 kB ▼ -1 B (-0.00% ) 22 kB
Slide -- 24.3 kB ▼ -1 B (-0.01% ) 8.3 kB
Snackbar -- 75.8 kB ▲ +1 B (0.00% ) 23.7 kB
SnackbarContent -- 64.3 kB ▼ -1 B (-0.00% ) 20.2 kB
StepButton -- 80.9 kB ▲ +1 B (0.00% ) 25.5 kB
StepConnector -- 61.4 kB ▼ -1 B (-0.01% ) 19.3 kB
StepLabel -- 67.3 kB ▼ -1 B (-0.00% ) 21.1 kB
styles/createMuiTheme -- 15.4 kB ▼ -1 B (-0.02% ) 5.44 kB
SwipeableDrawer -- 90.4 kB ▲ +1 B (0.00% ) 27.9 kB
Tab -- 75 kB ▲ +1 B (0.00% ) 23.6 kB
Table -- 61.2 kB ▼ -1 B (-0.01% ) 19.2 kB
TableCell -- 62.7 kB ▼ -1 B (-0.01% ) 19.7 kB
TableRow -- 61.2 kB ▼ -1 B (-0.01% ) 19.1 kB
ToggleButtonGroup -- 61.9 kB ▲ +1 B (+0.01% ) 19.4 kB
Toolbar -- 61 kB ▼ -1 B (-0.01% ) 19.1 kB
Tooltip -- 99.5 kB ▲ +1 B (0.00% ) 31.4 kB
BottomNavigationAction -- 74.1 kB -- 23.4 kB
Box -- 69.4 kB -- 21 kB
Breadcrumbs -- 66.7 kB -- 20.8 kB
CardMedia -- 61 kB -- 19.1 kB
CircularProgress -- 62.8 kB -- 19.7 kB
ClickAwayListener -- 3.87 kB -- 1.56 kB
colorManipulator -- 3.85 kB -- 1.52 kB
DialogContent -- 60.9 kB -- 19 kB
docs.landing -- 52.4 kB -- 11.5 kB
FormControlLabel -- 64.2 kB -- 20.1 kB
FormLabel -- 62.1 kB -- 19.2 kB
Hidden -- 64.6 kB -- 20.2 kB
Link -- 65.3 kB -- 20.5 kB
NoSsr -- 2.19 kB -- 1.03 kB
Portal -- 2.9 kB -- 1.3 kB
RadioGroup -- 61.9 kB -- 19.3 kB
RootRef -- 4.21 kB -- 1.64 kB
Skeleton -- 61.2 kB -- 19.3 kB
Slider -- 74.3 kB -- 23.3 kB
SpeedDial -- 84.7 kB -- 26.7 kB
SpeedDialAction -- 116 kB -- 36.5 kB
SpeedDialIcon -- 63.2 kB -- 19.8 kB
Step -- 61.3 kB -- 19.2 kB
Switch -- 79.8 kB -- 25 kB
Tabs -- 84.1 kB -- 26.5 kB
TextareaAutosize -- 5.06 kB -- 2.11 kB
ToggleButton -- 74.8 kB -- 23.6 kB
TreeItem -- 72.3 kB -- 22.8 kB
useMediaQuery -- 2.5 kB -- 1.06 kB
Zoom -- 22.3 kB -- 7.68 kB

Generated by 🚫 dangerJS against 07ada28

@oliviertassinari oliviertassinari added scope: table Changes related to the table. type: new feature Expand the scope of the product to solve a new problem. labels Dec 5, 2019
@oliviertassinari
Copy link
Copy Markdown
Member

I have some concerns with the change in the DOM structure and the option to go with a TableResponsive component 🤔.

@r3dm1ke
Copy link
Copy Markdown
Contributor Author

r3dm1ke commented Dec 5, 2019

What if instead of wrapping the table with a div and applying overflowX: auto to it, we just applied it to the table itself? I can put together a sandbox to check it out

Copy link
Copy Markdown
Member

@oliviertassinari oliviertassinari left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After further reflection, I'm no longer sure this prop is the best approach. The fact that it changes the DOM structure for a single CSS property makes me uncomfortable.

@oliviertassinari
Copy link
Copy Markdown
Member

I haven't realized that we had a very close effort in #9268.

@oliviertassinari oliviertassinari force-pushed the 9221-add-responsive-prop-to-table branch 2 times, most recently from 7d2ce98 to 187d884 Compare December 9, 2019 21:52
@oliviertassinari oliviertassinari changed the title [Table] Add responsive prop to allow it to overflow [Table] Add TableContainer component Dec 9, 2019
@oliviertassinari
Copy link
Copy Markdown
Member

It seems that we can be more explicit with this approach, looking at the demo changes, it seems to play out well:

<TableContainer>
  <Table aria-label="caption table">

@oliviertassinari oliviertassinari force-pushed the 9221-add-responsive-prop-to-table branch from 187d884 to 5a065a0 Compare December 9, 2019 22:01
Comment thread packages/material-ui/src/TableContainer/TableContainer.js Outdated
@oliviertassinari
Copy link
Copy Markdown
Member

@r3dm1ke Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

scope: table Changes related to the table. type: new feature Expand the scope of the product to solve a new problem.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Table] Responsive option

4 participants