Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Table] Add TableContainer component #18699

Merged

Conversation

r3dm1ke
Copy link
Contributor

@r3dm1ke r3dm1ke commented Dec 5, 2019

Fixes #9221

@mui-pr-bot
Copy link

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 component: table This is the name of the generic UI component, not the React module! new feature New feature or request labels Dec 5, 2019
@oliviertassinari
Copy link
Member

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

@r3dm1ke
Copy link
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
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
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
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
Copy link
Member

@r3dm1ke Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: table This is the name of the generic UI component, not the React module! new feature New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Table] Responsive option
4 participants