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

[styles] Improve component props inference of styled #20830

Merged
merged 7 commits into from
Apr 29, 2020
Merged

[styles] Improve component props inference of styled #20830

merged 7 commits into from
Apr 29, 2020

Conversation

vlazh
Copy link
Contributor

@vlazh vlazh commented Apr 29, 2020

These changes allow using props with type checking in ComponentCreator:

export interface Props {
  status: 0 | 1;
}

const Component = styled(({ status }: Props) => {
  return null;
})(({ status, theme }) => ({
  ...(status === 1
    ? {
        color: theme.color.accent,
        fillOpacity: 1,
      }
    : undefined),
}));

Without that changes a ts error occurs: Property 'status' does not exist on type '{ theme: DefaultTheme; }'.ts(2339)

@mui-pr-bot
Copy link

mui-pr-bot commented Apr 29, 2020

Details of bundle changes.

Comparing: 5627473...7b2b408

Details of page changes
bundle Size Change Size Gzip Change Gzip
/components/skeleton ▲ +100 B (+0.99% ) 10.2 kB -- -1 B
/discover-more/team ▲ +10 B (+0.15% ) 6.61 kB -- -1 B
/getting-started/templates/blog ▲ +10 B (+0.13% ) 7.44 kB -- -1 B
/getting-started/templates/pricing ▲ +10 B (+0.13% ) 7.8 kB -- -1 B
/getting-started/templates/sign-in-side ▲ +10 B (+0.11% ) 9.29 kB -- -1 B
/getting-started/templates/sign-in ▲ +10 B (+0.11% ) 9.53 kB -- -1 B
/getting-started/templates/sign-up ▲ +10 B (+0.10% ) 9.64 kB -- -1 B
/premium-themes/onepirate/privacy ▼ -10 B (-0.23% ) 4.43 kB -- -1 B
/_app -- 37 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.54 kB -- -1 B
/api-docs/avatar-group -- 1.51 kB -- -1 B
/api-docs/avatar -- 1.86 kB -- -1 B
/api-docs/backdrop -- 1.72 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.84 kB -- -1 B
/api-docs/button-base -- 2.33 kB -- -1 B
/api-docs/button-group -- 2.23 kB -- -1 B
/api-docs/button -- 2.56 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.37 kB -- -1 B
/api-docs/collapse -- 2.02 kB -- -1 B
/api-docs/container -- 1.86 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.73 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.97 kB -- -1 B
/api-docs/fab -- 2.11 kB -- -1 B
/api-docs/fade -- 1.39 kB -- -1 B
/api-docs/filled-input -- 2.87 kB -- -1 B
/api-docs/form-control-label -- 1.98 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-tile-bar -- 1.8 kB -- -1 B
/api-docs/grid-list-tile -- 1.72 kB -- -1 B
/api-docs/grid-list -- 1.62 kB -- -1 B
/api-docs/grid -- 2.56 kB -- -1 B
/api-docs/grow -- 1.44 kB -- -1 B
/api-docs/hidden -- 1.53 kB -- -1 B
/api-docs/icon-button -- 2.1 kB -- -1 B
/api-docs/icon -- 1.78 kB -- -1 B
/api-docs/input-adornment -- 1.93 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.93 kB -- -1 B
/api-docs/list-item-avatar -- 1.5 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/menu-item -- 1.74 kB -- -1 B
/api-docs/menu-list -- 1.57 kB -- -1 B
/api-docs/menu -- 2.4 kB -- -1 B
/api-docs/mobile-stepper -- 1.93 kB -- -1 B
/api-docs/modal -- 2.42 kB -- -1 B
/api-docs/native-select -- 2.08 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/pagination -- 2.24 kB -- -1 B
/api-docs/paper -- 1.87 kB -- -1 B
/api-docs/popover -- 2.69 kB -- -1 B
/api-docs/popper -- 1.91 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.41 kB -- -1 B
/api-docs/scoped-css-baseline -- 1.4 kB -- -1 B
/api-docs/select -- 2.94 kB -- -1 B
/api-docs/skeleton -- 1.77 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.3 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 kB -- -1 B
/api-docs/switch -- 2.46 kB -- -1 B
/api-docs/tab-scroll-button -- 1.61 kB -- -1 B
/api-docs/tab -- 1.99 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.46 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.68 kB -- -1 B
/api-docs/tabs -- 2.56 kB -- -1 B
/api-docs/text-field -- 3.18 kB -- -1 B
/api-docs/textarea-autosize -- 1.13 kB -- -1 B
/api-docs/toggle-button-group -- 1.86 kB -- -1 B
/api-docs/toggle-button -- 1.8 kB -- -1 B
/api-docs/toolbar -- 1.65 kB -- -1 B
/api-docs/tooltip -- 2.54 kB -- -1 B
/api-docs/tree-item -- 1.88 kB -- -1 B
/api-docs/tree-view -- 1.92 kB -- -1 B
/api-docs/typography -- 2.59 kB -- -1 B
/api-docs/zoom -- 1.41 kB -- -1 B
/blog/2019-developer-survey-results -- 6.36 kB -- -1 B
/blog/2019 -- 4.24 kB -- -1 B
/blog/2020-introducing-sketch -- 3.5 kB -- -1 B
/blog/2020-q1-update -- 4.33 kB -- -1 B
/blog/april-2019-update -- 3.13 kB -- -1 B
/blog/august-2019-update -- 2.24 kB -- -1 B
/blog/december-2019-update -- 2.37 kB -- -1 B
/blog/july-2019-update -- 2.13 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.35 kB -- -1 B
/blog/november-2019-update -- 2.75 kB -- -1 B
/blog/october-2019-update -- 2.5 kB -- -1 B
/blog/september-2019-update -- 2.68 kB -- -1 B
/company/about -- 1.74 kB -- -1 B
/company/contact -- 1.33 kB -- -1 B
/company/jobs -- 1.35 kB -- -1 B
/components/about-the-lab -- 6.08 kB -- -1 B
/components/alert -- 12.5 kB -- -1 B
/components/app-bar -- 30 kB -- -1 B
/components/autocomplete -- 99 kB -- -1 B
/components/avatars -- 8.83 kB -- -1 B
/components/backdrop -- 2.58 kB -- -1 B
/components/badges -- 15.4 kB -- -1 B
/components/bottom-navigation -- 6.27 kB -- -1 B
/components/box -- 8.05 kB -- -1 B
/components/breadcrumbs -- 14.7 kB -- -1 B
/components/button-group -- 7.31 kB -- -1 B
/components/buttons -- 26.2 kB -- -1 B
/components/cards -- 17.2 kB -- -1 B
/components/checkboxes -- 16.3 kB -- -1 B
/components/chips -- 21.8 kB -- -1 B
/components/click-away-listener -- 4.46 kB -- -1 B
/components/container -- 3.72 kB -- -1 B
/components/css-baseline -- 6.74 kB -- -1 B
/components/dialogs -- 42.8 kB -- -1 B
/components/dividers -- 12.7 kB -- -1 B
/components/drawers -- 31.5 kB -- -1 B
/components/expansion-panels -- 20.4 kB -- -1 B
/components/floating-action-button -- 10.4 kB -- -1 B
/components/grid-list -- 12.1 kB -- -1 B
/components/grid -- 32.4 kB -- -1 B
/components/hidden -- 10.6 kB -- -1 B
/components/icons -- 24.7 kB -- -1 B
/components/links -- 6.91 kB -- -1 B
/components/lists -- 26.5 kB -- -1 B
/components/material-icons -- 729 kB -- -1 B
/components/menus -- 24.9 kB -- -1 B
/components/modal -- 11.9 kB -- -1 B
/components/no-ssr -- 5.11 kB -- -1 B
/components/pagination -- 9.44 kB -- -1 B
/components/paper -- 3.49 kB -- -1 B
/components/pickers -- 6 kB -- -1 B
/components/popover -- 17.4 kB -- -1 B
/components/popper -- 23.4 kB -- -1 B
/components/portal -- 3 kB -- -1 B
/components/progress -- 20.3 kB -- -1 B
/components/radio-buttons -- 14.8 kB -- -1 B
/components/rating -- 10.8 kB -- -1 B
/components/selects -- 30.8 kB -- -1 B
/components/slider -- 15.6 kB -- -1 B
/components/snackbars -- 28.6 kB -- -1 B
/components/speed-dial -- 14.4 kB -- -1 B
/components/steppers -- 36.6 kB -- -1 B
/components/switches -- 16.4 kB -- -1 B
/components/tables -- 143 kB -- -1 B
/components/tabs -- 19.8 kB -- -1 B
/components/text-fields -- 54.7 kB -- -1 B
/components/textarea-autosize -- 2.94 kB -- -1 B
/components/toggle-button -- 10.5 kB -- -1 B
/components/tooltips -- 16.5 kB -- -1 B
/components/transfer-list -- 9.68 kB -- -1 B
/components/transitions -- 11.5 kB -- -1 B
/components/tree-view -- 11.2 kB -- -1 B
/components/typography -- 9.91 kB -- -1 B
/components/use-media-query -- 12.9 kB -- -1 B
/customization/breakpoints -- 15.6 kB -- -1 B
/customization/color -- 20.9 kB -- -1 B
/customization/components -- 38.4 kB -- -1 B
/customization/default-theme -- 8.8 kB -- -1 B
/customization/density -- 9.75 kB -- -1 B
/customization/globals -- 4.72 kB -- -1 B
/customization/palette -- 13.3 kB -- -1 B
/customization/spacing -- 2.61 kB -- -1 B
/customization/theming -- 16.8 kB -- -1 B
/customization/typography -- 11.6 kB -- -1 B
/customization/z-index -- 3.13 kB -- -1 B
/discover-more/backers -- 2.94 kB -- -1 B
/discover-more/changelog -- 1.44 kB -- -1 B
/discover-more/languages -- 3.43 kB -- -1 B
/discover-more/related-projects -- 7.95 kB -- -1 B
/discover-more/roadmap -- 3.72 kB -- -1 B
/discover-more/showcase -- 13.4 kB -- -1 B
/discover-more/vision -- 6.59 kB -- -1 B
/getting-started/example-projects -- 6.8 kB -- -1 B
/getting-started/faq -- 36.1 kB -- -1 B
/getting-started/installation -- 7.85 kB -- -1 B
/getting-started/learn -- 8.97 kB -- -1 B
/getting-started/support -- 8.95 kB -- -1 B
/getting-started/supported-components -- 6.42 kB -- -1 B
/getting-started/supported-platforms -- 5.76 kB -- -1 B
/getting-started/templates -- 8.91 kB -- -1 B
/getting-started/templates/album -- 5.58 kB -- -1 B
/getting-started/templates/checkout -- 11.2 kB -- -1 B
/getting-started/templates/dashboard -- 8.86 kB -- -1 B
/getting-started/templates/sticky-footer -- 1.54 kB -- -1 B
/getting-started/usage -- 9.58 kB -- -1 B
/guides/api -- 15.8 kB -- -1 B
/guides/composition -- 14.9 kB -- -1 B
/guides/flow -- 2.26 kB -- -1 B
/guides/interoperability -- 16.3 kB -- -1 B
/guides/localization -- 11.6 kB -- -1 B
/guides/migration-v0x -- 7.39 kB -- -1 B
/guides/migration-v3 -- 19.2 kB -- -1 B
/guides/minimizing-bundle-size -- 8.7 kB -- -1 B
/guides/responsive-ui -- 4.27 kB -- -1 B
/guides/right-to-left -- 6.77 kB -- -1 B
/guides/server-rendering -- 8.75 kB -- -1 B
/guides/testing -- 8.61 kB -- -1 B
/guides/typescript -- 14.6 kB -- -1 B
/performance/table-component -- 1.44 kB -- -1 B
/performance/table-emotion -- 8.49 kB -- -1 B
/performance/table-hook -- 2.23 kB -- -1 B
/performance/table-mui -- 4.48 kB -- -1 B
/performance/table-raw -- 613 B -- -1 B
/performance/table-styled-components -- 2.61 kB -- -1 B
/premium-themes/onepirate -- 7.26 kB -- -1 B
/premium-themes/onepirate/forgot-password -- 1.01 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 -- 8.95 kB -- -1 B
/styles/advanced -- 33.3 kB -- -1 B
/styles/api -- 17 kB -- -1 B
/styles/basics -- 16.5 kB -- -1 B
/system/api -- 5.96 kB -- -1 B
/system/basics -- 27.4 kB -- -1 B
/system/borders -- 4.1 kB -- -1 B
/system/display -- 6.55 kB -- -1 B
/system/flexbox -- 5.85 kB -- -1 B
/system/palette -- 4.35 kB -- -1 B
/system/positions -- 2.53 kB -- -1 B
/system/shadows -- 3.85 kB -- -1 B
/system/sizing -- 3.53 kB -- -1 B
/system/spacing -- 6.01 kB -- -1 B
/system/typography -- 4.41 kB -- -1 B
/versions -- 23.7 kB -- -1 B
docs:chunk:shared -- 61.6 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/core -- 373 kB -- 103 kB
@material-ui/core[umd] -- 328 kB -- 94.5 kB
@material-ui/lab -- 203 kB -- 60.3 kB
@material-ui/styles -- 52 kB -- 15.6 kB
@material-ui/system -- 17.2 kB -- 4.52 kB
Alert -- 87.6 kB -- 27.8 kB
AlertTitle -- 68.9 kB -- 21.7 kB
AppBar -- 68.7 kB -- 21.6 kB
Autocomplete -- 136 kB -- 42.8 kB
Avatar -- 69.9 kB -- 21.9 kB
AvatarGroup -- 70.9 kB -- 22.5 kB
Backdrop -- 72.7 kB -- 22.5 kB
Badge -- 70 kB -- 21.9 kB
BottomNavigation -- 67.1 kB -- 21.1 kB
BottomNavigationAction -- 79.8 kB -- 25.4 kB
Box -- 73.6 kB -- 22.4 kB
Breadcrumbs -- 84.8 kB -- 26.9 kB
Button -- 84 kB -- 25.9 kB
ButtonBase -- 78.3 kB -- 24.7 kB
ButtonGroup -- 87.7 kB -- 27.1 kB
Card -- 67.6 kB -- 21.2 kB
CardActionArea -- 79.4 kB -- 25.2 kB
CardActions -- 66.8 kB -- 21 kB
CardContent -- 66.7 kB -- 20.9 kB
CardHeader -- 69.8 kB -- 22 kB
CardMedia -- 67.1 kB -- 21.1 kB
Checkbox -- 86.5 kB -- 27.5 kB
Chip -- 87 kB -- 26.8 kB
CircularProgress -- 68.8 kB -- 21.7 kB
ClickAwayListener -- 4.13 kB -- 1.66 kB
Collapse -- 77.3 kB -- 22.8 kB
colorManipulator -- 3.88 kB -- 1.52 kB
Container -- 67.9 kB -- 21.3 kB
CssBaseline -- 66.7 kB -- 21 kB
Dialog -- 87.7 kB -- 27.5 kB
DialogActions -- 66.8 kB -- 21 kB
DialogContent -- 66.9 kB -- 21 kB
DialogContentText -- 68.8 kB -- 21.6 kB
DialogTitle -- 69 kB -- 21.7 kB
Divider -- 67.4 kB -- 21.2 kB
docs:/ -- 11.7 kB -- -1 B
docs:/_app -- 37 kB -- -1 B
Drawer -- 89.6 kB -- 27.3 kB
ExpansionPanel -- 76.4 kB -- 24.1 kB
ExpansionPanelActions -- 66.8 kB -- 21 kB
ExpansionPanelDetails -- 66.7 kB -- 20.9 kB
ExpansionPanelSummary -- 82.5 kB -- 26.2 kB
Fab -- 81.1 kB -- 25.4 kB
Fade -- 32.6 kB -- 9.83 kB
FilledInput -- 78.3 kB -- 24.4 kB
FormControl -- 69.1 kB -- 21.6 kB
FormControlLabel -- 70.2 kB -- 22.1 kB
FormGroup -- 66.7 kB -- 20.8 kB
FormHelperText -- 68 kB -- 21.2 kB
FormLabel -- 68.2 kB -- 21.2 kB
Grid -- 69.8 kB -- 22 kB
GridList -- 67.2 kB -- 21.2 kB
GridListTile -- 68.4 kB -- 21.5 kB
GridListTileBar -- 67.9 kB -- 21.3 kB
Grow -- 33.2 kB -- 10.1 kB
Hidden -- 70.7 kB -- 22.3 kB
Icon -- 67.5 kB -- 21.2 kB
IconButton -- 80.5 kB -- 25.2 kB
Input -- 77.3 kB -- 24.2 kB
InputAdornment -- 69.8 kB -- 22.1 kB
InputBase -- 75.4 kB -- 23.7 kB
InputLabel -- 70 kB -- 21.7 kB
LinearProgress -- 70.1 kB -- 21.7 kB
Link -- 71.3 kB -- 22.6 kB
List -- 67 kB -- 20.9 kB
ListItem -- 81.4 kB -- 25.6 kB
ListItemAvatar -- 66.8 kB -- 21 kB
ListItemIcon -- 66.9 kB -- 21 kB
ListItemSecondaryAction -- 66.7 kB -- 21 kB
ListItemText -- 69.7 kB -- 22 kB
ListSubheader -- 67.5 kB -- 21.3 kB
Menu -- 93.3 kB -- 28.8 kB
MenuItem -- 82.5 kB -- 25.9 kB
MenuList -- 70.7 kB -- 22.2 kB
MobileStepper -- 72.6 kB -- 22.9 kB
Modal -- 15 kB -- 5.23 kB
NativeSelect -- 81.6 kB -- 25.9 kB
NoSsr -- 2.18 kB -- 1.03 kB
OutlinedInput -- 79.3 kB -- 24.8 kB
Pagination -- 88.8 kB -- 27.5 kB
PaginationItem -- 85.2 kB -- 26.4 kB
Paper -- 67.1 kB -- 20.9 kB
Popover -- 87.7 kB -- 27.2 kB
Popper -- 28.7 kB -- 10.3 kB
Portal -- 2.87 kB -- 1.29 kB
Radio -- 87.5 kB -- 27.9 kB
RadioGroup -- 68.6 kB -- 21.3 kB
Rating -- 75.3 kB -- 24.3 kB
RootRef -- 4.62 kB -- 1.76 kB
ScopedCssBaseline -- 67.5 kB -- 21.2 kB
Select -- 120 kB -- 35.9 kB
Skeleton -- 67.7 kB -- 21.4 kB
Slide -- 34.6 kB -- 10.4 kB
Slider -- 80.6 kB -- 25.8 kB
Snackbar -- 80.3 kB -- 25.3 kB
SnackbarContent -- 68.2 kB -- 21.3 kB
SpeedDial -- 90.6 kB -- 28.8 kB
SpeedDialAction -- 122 kB -- 39 kB
SpeedDialIcon -- 69.3 kB -- 21.8 kB
Step -- 67.4 kB -- 21.2 kB
StepButton -- 86.6 kB -- 27.5 kB
StepConnector -- 67.4 kB -- 21.3 kB
StepContent -- 73.9 kB -- 23.2 kB
StepIcon -- 69.3 kB -- 21.6 kB
StepLabel -- 73.2 kB -- 22.7 kB
Stepper -- 69.6 kB -- 22 kB
styles/createMuiTheme -- 22.2 kB -- 7.71 kB
SvgIcon -- 67.7 kB -- 21.2 kB
SwipeableDrawer -- 97 kB -- 30.5 kB
Switch -- 85.7 kB -- 27.1 kB
Tab -- 80.7 kB -- 25.7 kB
Table -- 67.3 kB -- 21.2 kB
TableBody -- 66.8 kB -- 21 kB
TableCell -- 68.8 kB -- 21.7 kB
TableContainer -- 66.7 kB -- 20.9 kB
TableFooter -- 66.9 kB -- 21 kB
TableHead -- 66.8 kB -- 21 kB
TablePagination -- 147 kB -- 43.3 kB
TableRow -- 67.2 kB -- 21.1 kB
TableSortLabel -- 81.7 kB -- 26 kB
Tabs -- 90.3 kB -- 29 kB
TabScrollButton -- 81.3 kB -- 25.5 kB
TextareaAutosize -- 5.23 kB -- 2.19 kB
TextField -- 129 kB -- 38 kB
ToggleButton -- 80.4 kB -- 25.6 kB
ToggleButtonGroup -- 67.9 kB -- 21.4 kB
Toolbar -- 67 kB -- 21.1 kB
Tooltip -- 106 kB -- 33.7 kB
TreeItem -- 80.1 kB -- 25.5 kB
TreeView -- 73.2 kB -- 23 kB
Typography -- 68.3 kB -- 21.4 kB
useAutocomplete -- 15 kB -- 5.26 kB
useMediaQuery -- 2.56 kB -- 1.06 kB
useScrollTrigger -- 2.66 kB -- 1.08 kB
Zoom -- 32.6 kB -- 9.82 kB

Generated by 🚫 dangerJS against 7b2b408

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.

Could you add a test to packages/material-ui-styles/src/styled/styled.spec.tsx that would be failing without this change?

@vlazh
Copy link
Contributor Author

vlazh commented Apr 29, 2020

Yes sure.

@eps1lon eps1lon added the package: styles Specific to @mui/styles. Legacy package, @material-ui/styled-engine is taking over in v5. label Apr 29, 2020
const renderedMyComponent = (
<React.Fragment>
<MyComponent className="test" />
<StyledMyComponent theme={MyThemeInstance} />
<StyledInferedPropsMyComponent defaulted="Hi!" className="test" />
Copy link
Member

Choose a reason for hiding this comment

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

This is an issue. className isn't required. It should pass without it.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Have you looked at source?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I have got about what you.
className is required by MyComponentProps. Non required className is overridden by this.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I have changed it but I am not sure, should we change original props?

@oliviertassinari oliviertassinari changed the title Improve component props inference of styled [styles] Improve component props inference of styled Apr 29, 2020
@eps1lon eps1lon merged commit 20a6b84 into mui:master Apr 29, 2020
@eps1lon
Copy link
Member

eps1lon commented Apr 29, 2020

@vlazh Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
package: styles Specific to @mui/styles. Legacy package, @material-ui/styled-engine is taking over in v5. typescript
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants