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

[TreeView] Simplify customization #21514

Merged
merged 4 commits into from
Jun 24, 2020

Conversation

joshwooding
Copy link
Member

@joshwooding joshwooding commented Jun 20, 2020

Alternative to #20159
Closes #20125
Closes #20311

@joshwooding joshwooding added the component: tree view TreeView, TreeItem. This is the name of the generic UI component, not the React module! label Jun 20, 2020
@mui-pr-bot
Copy link

mui-pr-bot commented Jun 20, 2020

Details of bundle changes.

Comparing: 48ad4e9...54019eb

Details of page changes
bundle Size Change Size Gzip Change Gzip
/components/tree-view ▼ -300 B (-2.65% ) 11 kB -- -1 B
/api-docs/tree-item ▲ +20 B (+1.06% ) 1.91 kB -- -1 B
/api-docs/grid-list-tile-bar ▼ -10 B (-0.56% ) 1.79 kB -- -1 B
/api-docs/grid-list-tile ▲ +10 B (+0.58% ) 1.73 kB -- -1 B
/api-docs/pagination ▼ -10 B (-0.45% ) 2.23 kB -- -1 B
/company/jobs ▲ +10 B (+0.75% ) 1.34 kB -- -1 B
/components/transfer-list ▲ +10 B (+0.10% ) 9.75 kB -- -1 B
/_app -- 37.5 kB -- -1 B
/api-docs/alert-title -- 1.4 kB -- -1 B
/api-docs/alert -- 2.4 kB -- -1 B
/api-docs/app-bar -- 1.94 kB -- -1 B
/api-docs/autocomplete -- 4.62 kB -- -1 B
/api-docs/avatar-group -- 1.51 kB -- -1 B
/api-docs/avatar -- 1.86 kB -- -1 B
/api-docs/backdrop -- 1.73 kB -- -1 B
/api-docs/badge -- 2.13 kB -- -1 B
/api-docs/bottom-navigation-action -- 1.81 kB -- -1 B
/api-docs/bottom-navigation -- 1.7 kB -- -1 B
/api-docs/breadcrumbs -- 1.79 kB -- -1 B
/api-docs/button-base -- 2.22 kB -- -1 B
/api-docs/button-group -- 2.22 kB -- -1 B
/api-docs/button -- 2.53 kB -- -1 B
/api-docs/card-action-area -- 1.58 kB -- -1 B
/api-docs/card-actions -- 1.47 kB -- -1 B
/api-docs/card-content -- 1.45 kB -- -1 B
/api-docs/card-header -- 1.78 kB -- -1 B
/api-docs/card-media -- 1.69 kB -- -1 B
/api-docs/card -- 1.5 kB -- -1 B
/api-docs/checkbox -- 2.3 kB -- -1 B
/api-docs/chip -- 2.46 kB -- -1 B
/api-docs/circular-progress -- 2.07 kB -- -1 B
/api-docs/click-away-listener -- 1.45 kB -- -1 B
/api-docs/collapse -- 2.13 kB -- -1 B
/api-docs/container -- 1.83 kB -- -1 B
/api-docs/css-baseline -- 1.4 kB -- -1 B
/api-docs/dialog-actions -- 1.47 kB -- -1 B
/api-docs/dialog-content-text -- 1.48 kB -- -1 B
/api-docs/dialog-content -- 1.45 kB -- -1 B
/api-docs/dialog-title -- 1.49 kB -- -1 B
/api-docs/dialog -- 2.74 kB -- -1 B
/api-docs/divider -- 1.81 kB -- -1 B
/api-docs/drawer -- 2.13 kB -- -1 B
/api-docs/expansion-panel-actions -- 1.49 kB -- -1 B
/api-docs/expansion-panel-details -- 1.41 kB -- -1 B
/api-docs/expansion-panel-summary -- 1.72 kB -- -1 B
/api-docs/expansion-panel -- 1.98 kB -- -1 B
/api-docs/fab -- 2.1 kB -- -1 B
/api-docs/fade -- 1.5 kB -- -1 B
/api-docs/filled-input -- 2.87 kB -- -1 B
/api-docs/form-control-label -- 1.99 kB -- -1 B
/api-docs/form-control -- 2.36 kB -- -1 B
/api-docs/form-group -- 1.55 kB -- -1 B
/api-docs/form-helper-text -- 1.91 kB -- -1 B
/api-docs/form-label -- 1.84 kB -- -1 B
/api-docs/grid-list -- 1.63 kB -- -1 B
/api-docs/grid -- 2.56 kB -- -1 B
/api-docs/grow -- 1.55 kB -- -1 B
/api-docs/hidden -- 1.53 kB -- -1 B
/api-docs/icon-button -- 2.08 kB -- -1 B
/api-docs/icon -- 1.78 kB -- -1 B
/api-docs/input-adornment -- 1.94 kB -- -1 B
/api-docs/input-base -- 2.95 kB -- -1 B
/api-docs/input-label -- 2.07 kB -- -1 B
/api-docs/input -- 2.83 kB -- -1 B
/api-docs/linear-progress -- 2.03 kB -- -1 B
/api-docs/link -- 1.94 kB -- -1 B
/api-docs/list-item-avatar -- 1.51 kB -- -1 B
/api-docs/list-item-icon -- 1.51 kB -- -1 B
/api-docs/list-item-secondary-action -- 1.47 kB -- -1 B
/api-docs/list-item-text -- 1.79 kB -- -1 B
/api-docs/list-item -- 2.25 kB -- -1 B
/api-docs/list-subheader -- 1.77 kB -- -1 B
/api-docs/list -- 1.68 kB -- -1 B
/api-docs/loading-button -- 1.87 kB -- -1 B
/api-docs/menu-item -- 1.74 kB -- -1 B
/api-docs/menu-list -- 1.57 kB -- -1 B
/api-docs/menu -- 2.42 kB -- -1 B
/api-docs/mobile-stepper -- 1.94 kB -- -1 B
/api-docs/modal -- 2.43 kB -- -1 B
/api-docs/native-select -- 2.11 kB -- -1 B
/api-docs/no-ssr -- 1.3 kB -- -1 B
/api-docs/outlined-input -- 2.98 kB -- -1 B
/api-docs/pagination-item -- 1.97 kB -- -1 B
/api-docs/paper -- 1.87 kB -- -1 B
/api-docs/popover -- 2.7 kB -- -1 B
/api-docs/popper -- 1.92 kB -- -1 B
/api-docs/portal -- 1.34 kB -- -1 B
/api-docs/radio-group -- 1.45 kB -- -1 B
/api-docs/radio -- 2.12 kB -- -1 B
/api-docs/rating -- 2.49 kB -- -1 B
/api-docs/root-ref -- 1.42 kB -- -1 B
/api-docs/scoped-css-baseline -- 1.4 kB -- -1 B
/api-docs/select -- 2.96 kB -- -1 B
/api-docs/skeleton -- 1.87 kB -- -1 B
/api-docs/slide -- 1.54 kB -- -1 B
/api-docs/slider -- 3.11 kB -- -1 B
/api-docs/snackbar-content -- 1.61 kB -- -1 B
/api-docs/snackbar -- 2.71 kB -- -1 B
/api-docs/speed-dial-action -- 2.04 kB -- -1 B
/api-docs/speed-dial-icon -- 1.55 kB -- -1 B
/api-docs/speed-dial -- 2.32 kB -- -1 B
/api-docs/step-button -- 1.63 kB -- -1 B
/api-docs/step-connector -- 1.54 kB -- -1 B
/api-docs/step-content -- 1.72 kB -- -1 B
/api-docs/step-icon -- 1.57 kB -- -1 B
/api-docs/step-label -- 1.9 kB -- -1 B
/api-docs/step -- 1.64 kB -- -1 B
/api-docs/stepper -- 1.84 kB -- -1 B
/api-docs/svg-icon -- 2.26 kB -- -1 B
/api-docs/swipeable-drawer -- 2.01 kB -- -1 B
/api-docs/switch -- 2.46 kB -- -1 B
/api-docs/tab-context -- 1.08 kB -- -1 B
/api-docs/tab-list -- 1.09 kB -- -1 B
/api-docs/tab-panel -- 1.48 kB -- -1 B
/api-docs/tab-scroll-button -- 1.62 kB -- -1 B
/api-docs/tab -- 1.97 kB -- -1 B
/api-docs/table-body -- 1.47 kB -- -1 B
/api-docs/table-cell -- 2.13 kB -- -1 B
/api-docs/table-container -- 1.48 kB -- -1 B
/api-docs/table-footer -- 1.47 kB -- -1 B
/api-docs/table-head -- 1.46 kB -- -1 B
/api-docs/table-pagination -- 2.63 kB -- -1 B
/api-docs/table-row -- 1.69 kB -- -1 B
/api-docs/table-sort-label -- 1.83 kB -- -1 B
/api-docs/table -- 1.7 kB -- -1 B
/api-docs/tabs -- 2.68 kB -- -1 B
/api-docs/text-field -- 3.18 kB -- -1 B
/api-docs/textarea-autosize -- 1.13 kB -- -1 B
/api-docs/timeline-connector -- 1.4 kB -- -1 B
/api-docs/timeline-content -- 1.52 kB -- -1 B
/api-docs/timeline-dot -- 1.63 kB -- -1 B
/api-docs/timeline-item -- 1.54 kB -- -1 B
/api-docs/timeline-opposite-content -- 1.53 kB -- -1 B
/api-docs/timeline-separator -- 1.4 kB -- -1 B
/api-docs/timeline -- 1.52 kB -- -1 B
/api-docs/toggle-button-group -- 1.92 kB -- -1 B
/api-docs/toggle-button -- 1.79 kB -- -1 B
/api-docs/toolbar -- 1.65 kB -- -1 B
/api-docs/tooltip -- 2.57 kB -- -1 B
/api-docs/tree-view -- 1.92 kB -- -1 B
/api-docs/typography -- 2.55 kB -- -1 B
/api-docs/unstable-trap-focus -- 1.46 kB -- -1 B
/api-docs/zoom -- 1.52 kB -- -1 B
/blog/2019-developer-survey-results -- 6.39 kB -- -1 B
/blog/2019 -- 4.25 kB -- -1 B
/blog/2020-introducing-sketch -- 3.52 kB -- -1 B
/blog/2020-q1-update -- 4.34 kB -- -1 B
/blog/april-2019-update -- 3.14 kB -- -1 B
/blog/august-2019-update -- 2.25 kB -- -1 B
/blog/december-2019-update -- 2.38 kB -- -1 B
/blog/july-2019-update -- 2.14 kB -- -1 B
/blog/june-2019-update -- 2.01 kB -- -1 B
/blog/march-2019-update -- 2.54 kB -- -1 B
/blog/material-ui-v1-is-out -- 6.67 kB -- -1 B
/blog/material-ui-v4-is-out -- 9.69 kB -- -1 B
/blog/may-2019-update -- 2.36 kB -- -1 B
/blog/november-2019-update -- 2.76 kB -- -1 B
/blog/october-2019-update -- 2.52 kB -- -1 B
/blog/september-2019-update -- 2.69 kB -- -1 B
/company/about -- 1.75 kB -- -1 B
/company/contact -- 1.34 kB -- -1 B
/company/software-engineer -- 5.29 kB -- -1 B
/components/about-the-lab -- 7.11 kB -- -1 B
/components/alert -- 12.9 kB -- -1 B
/components/app-bar -- 30.8 kB -- -1 B
/components/autocomplete -- 112 kB -- -1 B
/components/avatars -- 9.24 kB -- -1 B
/components/backdrop -- 2.68 kB -- -1 B
/components/badges -- 15.5 kB -- -1 B
/components/bottom-navigation -- 6.27 kB -- -1 B
/components/box -- 8.07 kB -- -1 B
/components/breadcrumbs -- 14.8 kB -- -1 B
/components/button-group -- 7.66 kB -- -1 B
/components/buttons -- 31 kB -- -1 B
/components/cards -- 17.4 kB -- -1 B
/components/checkboxes -- 16.6 kB -- -1 B
/components/chips -- 22 kB -- -1 B
/components/click-away-listener -- 4.94 kB -- -1 B
/components/container -- 3.83 kB -- -1 B
/components/css-baseline -- 7.04 kB -- -1 B
/components/dialogs -- 43.2 kB -- -1 B
/components/dividers -- 12.8 kB -- -1 B
/components/drawers -- 31.7 kB -- -1 B
/components/expansion-panels -- 20.8 kB -- -1 B
/components/floating-action-button -- 10.9 kB -- -1 B
/components/grid-list -- 12.1 kB -- -1 B
/components/grid -- 32.5 kB -- -1 B
/components/hidden -- 10.6 kB -- -1 B
/components/icons -- 27.7 kB -- -1 B
/components/links -- 7.05 kB -- -1 B
/components/lists -- 26.6 kB -- -1 B
/components/material-icons -- 729 kB -- -1 B
/components/menus -- 25.2 kB -- -1 B
/components/modal -- 13 kB -- -1 B
/components/no-ssr -- 5.33 kB -- -1 B
/components/pagination -- 8.26 kB -- -1 B
/components/paper -- 3.52 kB -- -1 B
/components/pickers -- 39.3 kB -- -1 B
/components/popover -- 17.7 kB -- -1 B
/components/popper -- 22.7 kB -- -1 B
/components/portal -- 3.17 kB -- -1 B
/components/progress -- 21.5 kB -- -1 B
/components/radio-buttons -- 15.8 kB -- -1 B
/components/rating -- 11 kB -- -1 B
/components/selects -- 33.2 kB -- -1 B
/components/skeleton -- 13.9 kB -- -1 B
/components/slider -- 16.3 kB -- -1 B
/components/snackbars -- 22.2 kB -- -1 B
/components/speed-dial -- 14.7 kB -- -1 B
/components/steppers -- 37.5 kB -- -1 B
/components/switches -- 17.2 kB -- -1 B
/components/tables -- 176 kB -- -1 B
/components/tabs -- 25.2 kB -- -1 B
/components/text-fields -- 57.1 kB -- -1 B
/components/textarea-autosize -- 3.05 kB -- -1 B
/components/timeline -- 5.18 kB -- -1 B
/components/toggle-button -- 12 kB -- -1 B
/components/tooltips -- 17.6 kB -- -1 B
/components/transitions -- 12.6 kB -- -1 B
/components/typography -- 10.1 kB -- -1 B
/components/use-media-query -- 13 kB -- -1 B
/customization/breakpoints -- 16.5 kB -- -1 B
/customization/color -- 18.9 kB -- -1 B
/customization/components -- 38.8 kB -- -1 B
/customization/default-theme -- 8.95 kB -- -1 B
/customization/density -- 9.74 kB -- -1 B
/customization/globals -- 5.23 kB -- -1 B
/customization/palette -- 13.1 kB -- -1 B
/customization/spacing -- 2.84 kB -- -1 B
/customization/theming -- 19.8 kB -- -1 B
/customization/transitions -- 3.51 kB -- -1 B
/customization/typography -- 12.5 kB -- -1 B
/customization/z-index -- 3.49 kB -- -1 B
/discover-more/backers -- 3.08 kB -- -1 B
/discover-more/changelog -- 1.45 kB -- -1 B
/discover-more/languages -- 3.44 kB -- -1 B
/discover-more/related-projects -- 7.73 kB -- -1 B
/discover-more/roadmap -- 3.76 kB -- -1 B
/discover-more/showcase -- 15.1 kB -- -1 B
/discover-more/team -- 6.83 kB -- -1 B
/discover-more/vision -- 6.76 kB -- -1 B
/getting-started/example-projects -- 7.57 kB -- -1 B
/getting-started/faq -- 34.6 kB -- -1 B
/getting-started/installation -- 7.87 kB -- -1 B
/getting-started/learn -- 8.98 kB -- -1 B
/getting-started/support -- 9.15 kB -- -1 B
/getting-started/supported-components -- 6.75 kB -- -1 B
/getting-started/supported-platforms -- 6.13 kB -- -1 B
/getting-started/templates -- 8.92 kB -- -1 B
/getting-started/templates/album -- 5.57 kB -- -1 B
/getting-started/templates/blog -- 7.46 kB -- -1 B
/getting-started/templates/checkout -- 10.2 kB -- -1 B
/getting-started/templates/dashboard -- 8.86 kB -- -1 B
/getting-started/templates/pricing -- 7.78 kB -- -1 B
/getting-started/templates/sign-in-side -- 8.2 kB -- -1 B
/getting-started/templates/sign-in -- 8.44 kB -- -1 B
/getting-started/templates/sign-up -- 8.54 kB -- -1 B
/getting-started/templates/sticky-footer -- 1.54 kB -- -1 B
/getting-started/usage -- 9.6 kB -- -1 B
/guides/api -- 14.7 kB -- -1 B
/guides/composition -- 14.9 kB -- -1 B
/guides/flow -- 2.26 kB -- -1 B
/guides/interoperability -- 16 kB -- -1 B
/guides/localization -- 18.9 kB -- -1 B
/guides/migration-v0x -- 7.61 kB -- -1 B
/guides/migration-v3 -- 19.3 kB -- -1 B
/guides/migration-v4 -- 1.81 kB -- -1 B
/guides/minimizing-bundle-size -- 10.1 kB -- -1 B
/guides/responsive-ui -- 4.27 kB -- -1 B
/guides/right-to-left -- 5.27 kB -- -1 B
/guides/server-rendering -- 8.75 kB -- -1 B
/guides/testing -- 8.8 kB -- -1 B
/guides/typescript -- 15.7 kB -- -1 B
/performance/table-component -- 1.44 kB -- -1 B
/performance/table-emotion -- 8.49 kB -- -1 B
/performance/table-hook -- 2.24 kB -- -1 B
/performance/table-mui -- 4.5 kB -- -1 B
/performance/table-raw -- 613 B -- -1 B
/performance/table-styled-components -- 2.61 kB -- -1 B
/premium-themes/onepirate -- 7.34 kB -- -1 B
/premium-themes/onepirate/forgot-password -- 1.01 kB -- -1 B
/premium-themes/onepirate/privacy -- 4.44 kB -- -1 B
/premium-themes/onepirate/sign-in -- 1.07 kB -- -1 B
/premium-themes/onepirate/sign-up -- 1.12 kB -- -1 B
/premium-themes/onepirate/terms -- 11.8 kB -- -1 B
/premium-themes/paperbase -- 7.67 kB -- -1 B
/production-error -- 3.12 kB -- -1 B
/styles/advanced -- 32.2 kB -- -1 B
/styles/api -- 17.1 kB -- -1 B
/styles/basics -- 16.6 kB -- -1 B
/system/api -- 5.56 kB -- -1 B
/system/basics -- 27.8 kB -- -1 B
/system/borders -- 4.06 kB -- -1 B
/system/display -- 6.71 kB -- -1 B
/system/flexbox -- 5.79 kB -- -1 B
/system/palette -- 4.34 kB -- -1 B
/system/positions -- 2.5 kB -- -1 B
/system/screen-readers -- 1.34 kB -- -1 B
/system/shadows -- 3.84 kB -- -1 B
/system/sizing -- 3.5 kB -- -1 B
/system/spacing -- 6.05 kB -- -1 B
/system/typography -- 4.37 kB -- -1 B
/versions -- 23 kB -- -1 B
docs:chunk:shared -- 65.5 kB -- -1 B
docs:shared:chunk/commons -- 5.99 kB -- -1 B
docs:shared:chunk/framework -- 42.3 kB -- -1 B
docs:shared:runtime/main -- 6.78 kB -- -1 B
docs:shared:runtime/webpack -- 1.24 kB -- -1 B
bundle Size Change Size Gzip Change Gzip
@material-ui/lab ▲ +255 B (+0.11% ) 232 kB ▲ +17 B (+0.03% ) 67.5 kB
TreeItem ▲ +131 B (+0.16% ) 80.6 kB ▲ +15 B (+0.06% ) 25.5 kB
Pagination ▲ +124 B (+0.14% ) 88.7 kB ▲ +8 B (+0.03% ) 27.3 kB
PaginationItem ▲ +124 B (+0.15% ) 85.1 kB ▲ +8 B (+0.03% ) 26.2 kB
@material-ui/core -- 370 kB -- 102 kB
@material-ui/styles -- 52.1 kB -- 15.6 kB
@material-ui/system -- 17.5 kB -- 4.61 kB
@material-ui/utils -- 7.19 kB -- 2.61 kB
Alert -- 87.4 kB -- 27.6 kB
AlertTitle -- 68.6 kB -- 21.5 kB
AppBar -- 68.5 kB -- 21.4 kB
Autocomplete -- 136 kB -- 42.8 kB
Avatar -- 69.7 kB -- 21.8 kB
AvatarGroup -- 70.7 kB -- 22.4 kB
Backdrop -- 73.1 kB -- 22.6 kB
Badge -- 69.8 kB -- 21.7 kB
BottomNavigation -- 66.8 kB -- 20.9 kB
BottomNavigationAction -- 79.6 kB -- 25.2 kB
Box -- 73.3 kB -- 22.2 kB
Breadcrumbs -- 84.5 kB -- 26.8 kB
Button -- 83.8 kB -- 25.7 kB
ButtonBase -- 78 kB -- 24.5 kB
ButtonGroup -- 87.5 kB -- 27 kB
Card -- 67.3 kB -- 21.1 kB
CardActionArea -- 79.1 kB -- 25 kB
CardActions -- 66.5 kB -- 20.8 kB
CardContent -- 66.4 kB -- 20.7 kB
CardHeader -- 69.5 kB -- 21.8 kB
CardMedia -- 66.8 kB -- 20.9 kB
Checkbox -- 86.3 kB -- 27.4 kB
Chip -- 86.8 kB -- 26.6 kB
CircularProgress -- 68.6 kB -- 21.4 kB
ClickAwayListener -- 4.13 kB -- 1.66 kB
Collapse -- 73.5 kB -- 22.7 kB
colorManipulator -- 4.14 kB -- 1.63 kB
Container -- 67.7 kB -- 21.1 kB
CssBaseline -- 66.4 kB -- 20.8 kB
Dialog -- 88.4 kB -- 27.6 kB
DialogActions -- 66.5 kB -- 20.8 kB
DialogContent -- 66.7 kB -- 20.8 kB
DialogContentText -- 68.5 kB -- 21.4 kB
DialogTitle -- 68.7 kB -- 21.5 kB
Divider -- 67.2 kB -- 21.1 kB
docs:/ -- 12.5 kB -- -1 B
docs:/_app -- 37.5 kB -- -1 B
Drawer -- 90.4 kB -- 27.5 kB
ExpansionPanel -- 77.1 kB -- 24.2 kB
ExpansionPanelActions -- 66.5 kB -- 20.8 kB
ExpansionPanelDetails -- 66.4 kB -- 20.7 kB
ExpansionPanelSummary -- 82.2 kB -- 26 kB
Fab -- 80.9 kB -- 25.2 kB
Fade -- 28.9 kB -- 9.66 kB
FilledInput -- 78 kB -- 24.2 kB
FormControl -- 68.9 kB -- 21.4 kB
FormControlLabel -- 69.9 kB -- 21.9 kB
FormGroup -- 66.4 kB -- 20.8 kB
FormHelperText -- 67.8 kB -- 21 kB
FormLabel -- 68 kB -- 21 kB
Grid -- 69.5 kB -- 21.8 kB
GridList -- 66.9 kB -- 21 kB
GridListTile -- 68.2 kB -- 21.3 kB
GridListTileBar -- 67.7 kB -- 21.2 kB
Grow -- 29.5 kB -- 9.88 kB
Hidden -- 70.5 kB -- 22 kB
Icon -- 67.3 kB -- 21 kB
IconButton -- 80.2 kB -- 25.1 kB
Input -- 76.9 kB -- 24 kB
InputAdornment -- 69.5 kB -- 21.9 kB
InputBase -- 75 kB -- 23.5 kB
InputLabel -- 69.8 kB -- 21.5 kB
LinearProgress -- 69.9 kB -- 21.8 kB
Link -- 71 kB -- 22.4 kB
List -- 66.8 kB -- 20.8 kB
ListItem -- 81.1 kB -- 25.4 kB
ListItemAvatar -- 66.5 kB -- 20.8 kB
ListItemIcon -- 66.6 kB -- 20.8 kB
ListItemSecondaryAction -- 66.4 kB -- 20.8 kB
ListItemText -- 69.4 kB -- 21.8 kB
ListSubheader -- 67.3 kB -- 21.1 kB
LoadingButton -- 87.6 kB -- 27.3 kB
Menu -- 93.9 kB -- 28.9 kB
MenuItem -- 82.2 kB -- 25.7 kB
MenuList -- 70.5 kB -- 22 kB
MobileStepper -- 72.4 kB -- 22.7 kB
Modal -- 15.1 kB -- 5.26 kB
NativeSelect -- 81.4 kB -- 25.6 kB
NoSsr -- 2.18 kB -- 1.03 kB
OutlinedInput -- 79.1 kB -- 24.5 kB
packages/material-ui/material-ui.production.min.js -- 326 kB -- 94.9 kB
Paper -- 66.8 kB -- 20.8 kB
Popover -- 88.3 kB -- 27.3 kB
Popper -- 28.7 kB -- 10.3 kB
Portal -- 2.87 kB -- 1.29 kB
Radio -- 87.3 kB -- 27.6 kB
RadioGroup -- 68.4 kB -- 21.2 kB
Rating -- 75.4 kB -- 24.2 kB
RootRef -- 4.64 kB -- 1.76 kB
ScopedCssBaseline -- 67.3 kB -- 21.1 kB
Select -- 121 kB -- 36.1 kB
Skeleton -- 67.7 kB -- 21.3 kB
Slide -- 30.7 kB -- 10.3 kB
Slider -- 80.4 kB -- 25.6 kB
Snackbar -- 80.9 kB -- 25.4 kB
SnackbarContent -- 68 kB -- 21.3 kB
SpeedDial -- 91.1 kB -- 28.9 kB
SpeedDialAction -- 123 kB -- 39.1 kB
SpeedDialIcon -- 69 kB -- 21.6 kB
Step -- 67.2 kB -- 21.1 kB
StepButton -- 86.4 kB -- 27.3 kB
StepConnector -- 67.2 kB -- 21.1 kB
StepContent -- 74.7 kB -- 23.3 kB
StepIcon -- 69.1 kB -- 21.5 kB
StepLabel -- 73 kB -- 22.5 kB
Stepper -- 69.2 kB -- 21.8 kB
styles/createMuiTheme -- 21.9 kB -- 7.57 kB
SvgIcon -- 67.5 kB -- 21 kB
SwipeableDrawer -- 97.8 kB -- 30.7 kB
Switch -- 85.5 kB -- 26.8 kB
Tab -- 80.6 kB -- 25.6 kB
TabContext -- 2.65 kB -- 1.15 kB
Table -- 67 kB -- 21 kB
TableBody -- 66.6 kB -- 20.8 kB
TableCell -- 68.6 kB -- 21.5 kB
TableContainer -- 66.4 kB -- 20.7 kB
TableFooter -- 66.6 kB -- 20.8 kB
TableHead -- 66.6 kB -- 20.8 kB
TablePagination -- 149 kB -- 43.8 kB
TableRow -- 67 kB -- 21 kB
TableSortLabel -- 81.5 kB -- 25.8 kB
TabList -- 91.5 kB -- 29.2 kB
TabPanel -- 67.3 kB -- 21.1 kB
Tabs -- 90.2 kB -- 28.2 kB
TabScrollButton -- 81.1 kB -- 25.4 kB
TextareaAutosize -- 5.23 kB -- 2.19 kB
TextField -- 130 kB -- 38.2 kB
Timeline -- 66.9 kB -- 20.9 kB
TimelineConnector -- 66.4 kB -- 20.8 kB
TimelineContent -- 68.9 kB -- 21.6 kB
TimelineDot -- 67.5 kB -- 21.1 kB
TimelineItem -- 67.6 kB -- 21.1 kB
TimelineOppositeContent -- 69 kB -- 21.6 kB
TimelineSeparator -- 66.4 kB -- 20.8 kB
ToggleButton -- 80.2 kB -- 25.4 kB
ToggleButtonGroup -- 67.8 kB -- 21.3 kB
Toolbar -- 66.8 kB -- 20.9 kB
Tooltip -- 107 kB -- 33.8 kB
TreeView -- 72.8 kB -- 22.8 kB
Typography -- 68.1 kB -- 21.2 kB
Unstable_TrapFocus -- 3.85 kB -- 1.59 kB
useAutocomplete -- 14.7 kB -- 5.26 kB
useMediaQuery -- 2.56 kB -- 1.06 kB
useScrollTrigger -- 2.66 kB -- 1.08 kB
Zoom -- 29 kB -- 9.8 kB

Generated by 🚫 dangerJS against 54019eb

label: {
fontWeight: 'inherit',
color: 'inherit',
},
labelRoot: {
display: 'flex',
alignItems: 'center',
padding: theme.spacing(0.5, 0),
padding: theme.spacing(0.5, 0, 0.5, 0.5),
Copy link
Member Author

Choose a reason for hiding this comment

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

Included from the other PR.

@oliviertassinari oliviertassinari changed the title [TreeView] Simplify styling [TreeView] Simplify customization Jun 21, 2020
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.

@joshwooding I have added a new commit with the following changes:

  • differentiate "selected + hover" to the "selected + focused" style
  • Increase the specificity of the Gmail demo to override all the cases

@joshwooding
Copy link
Member Author

joshwooding commented Jun 21, 2020

@oliviertassinari Looks good to me. I think we made selected + hover the same as selected + focus to make it simpler but I’m happy to have them separated.

I was tempted to do the same for the Gmail tree but I think it made it harder to see where focus matched selected.

@oliviertassinari
Copy link
Member

oliviertassinari commented Jun 21, 2020

I think we made selected + hover the same as selected + focus to make it simpler but I’m happy to have them separated.

Yeah, I wonder about this tradeoff. It seems that the purpose of changing the style is double: 1. to identify if the element can be interacted with, 2. to identify where the element is. I think that with hover we need 1 (we already have the mouse cursor for 2) and with focus, we need 1. and 2.

With the previous tradeoff, it felt that for keyboard users, the visual diff wasn't strong enough to identify where the focused element was. I have tried changing the opacity to use the focus one (instead of the hover one), which adds more contrast, however, it felt too strong for the hover case.

What do you think?

@joshwooding
Copy link
Member Author

Yeah, I agree. Everything looks good.

Copy link
Member

@eps1lon eps1lon left a comment

Choose a reason for hiding this comment

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

Aren't we missing updates to the *ClassKey in the corresponding typescript declarations?

@joshwooding
Copy link
Member Author

@eps1lon TreeItemClassKey has been updated? The only new class is focused. expanded and selected are old classes.

@@ -189,6 +197,7 @@ const TreeItem = React.forwardRef(function TreeItem(props, ref) {

const handleMouseDown = (event) => {
if (event.shiftKey || event.ctrlKey || event.metaKey) {
// Prevent text selection
Copy link
Member

Choose a reason for hiding this comment

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

Doesn't this also prevent focus in certain browsers or do those only focus if no meta keys are pressed?

Copy link
Member Author

@joshwooding joshwooding Jun 24, 2020

Choose a reason for hiding this comment

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

You're right but because we don't depend on the focusing of a tree item for anything since we call focus in the click handler it shouldn't matter. But it might trip up someone depending on this behaviour. I have plans to change this part of the tree anyway.

@eps1lon
Copy link
Member

eps1lon commented Jun 23, 2020

I thought group and content were removed but they were simply moved up. Should've reviewed this locally.

@oliviertassinari oliviertassinari merged commit d5d9571 into mui:next Jun 24, 2020
@joshwooding joshwooding deleted the new-tree-tidy-up branch June 24, 2020 22:27
@eps1lon eps1lon added this to the v5 milestone Jul 20, 2020
@eps1lon eps1lon removed this from the v5 milestone Aug 4, 2020
jonenst added a commit to gridsuite/commons-ui that referenced this pull request May 23, 2023
After a quick look, we didn' customize TreeViewFinder which also uses TreeView/TreeItem
so it shouldn't need the same fixing as ReportViewer.

in mui/material-ui#21514 pseudo classes were moved
from root to content, so we no longer need nested selectors and rules need to go on content directly
use Mui-focused instead of :focus

also restore muiv4 treeitem label color rule to get a different color right after a click on an
item. It was also removed in treeitem in mui/material-ui#21514
Note: in v5 primary.main was changed from indigo to blue in mui/material-ui#26555) but let's
go with the new primary colors
Note2: fade renamed to alpha
EstherDarkish pushed a commit to gridsuite/commons-ui that referenced this pull request Jun 7, 2023
After a quick look, we didn' customize TreeViewFinder which also uses TreeView/TreeItem
so it shouldn't need the same fixing as ReportViewer.

in mui/material-ui#21514 pseudo classes were moved
from root to content, so we no longer need nested selectors and rules need to go on content directly
use Mui-focused instead of :focus

also restore muiv4 treeitem label color rule to get a different color right after a click on an
item. It was also removed in treeitem in mui/material-ui#21514
Note: in v5 primary.main was changed from indigo to blue in mui/material-ui#26555) but let's
go with the new primary colors
Note2: fade renamed to alpha

Co-authored-by: Sylvain Bouzols <sylvain.bouzols@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking change component: tree view TreeView, TreeItem. This is the name of the generic UI component, not the React module!
Projects
None yet
4 participants