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

Add Framer X wrapper components #17797

Merged
merged 20 commits into from
Nov 6, 2019
Merged

Add Framer X wrapper components #17797

merged 20 commits into from
Nov 6, 2019

Conversation

mbrookes
Copy link
Member

@mbrookes mbrookes commented Oct 8, 2019

image

Known issues:

  • Tabs only display correctly when the preview is zoomed to 100% (Framer issue)
  • ListItem icon / action alignment
  • Nested component function props aren't currently exposed (for code overrides)
  • Chip Avatar size wrong after upgrade to 4.5.0.
  • Some TS wobblies (non-existant props in shared controls)

Todo:

  • Marketing image, icon & docs
  • More components

@mui-pr-bot
Copy link

mui-pr-bot commented Oct 8, 2019

@material-ui/core: parsed: +0.09% , gzip: +0.07%

Details of bundle changes.

Comparing: 7f09ea4...4a887b6

bundle Size Change Size Gzip Change Gzip
@material-ui/core ▲ +302 B (+0.09% ) 349 kB ▲ +70 B (+0.07% ) 95.6 kB
@material-ui/core[umd] ▲ +296 B (+0.10% ) 309 kB ▲ +60 B (+0.07% ) 88.9 kB
docs.main ▲ +219 B (+0.04% ) 603 kB ▲ +84 B (+0.04% ) 192 kB
TextField ▲ +133 B (+0.11% ) 121 kB ▲ +7 B (+0.02% ) 35.4 kB
Checkbox ▲ +51 B (+0.06% ) 80.1 kB ▲ +24 B (+0.10% ) 25.1 kB
Radio ▲ +51 B (+0.06% ) 80.9 kB ▲ +18 B (+0.07% ) 25.4 kB
Switch ▲ +51 B (+0.06% ) 79.4 kB ▲ +15 B (+0.06% ) 24.7 kB
ListItem ▲ +16 B (+0.02% ) 75.4 kB ▲ +8 B (+0.03% ) 23.5 kB
TablePagination ▲ +16 B (+0.01% ) 139 kB ▼ -8 B (-0.02% ) 40.5 kB
MenuItem ▲ +16 B (+0.02% ) 76.4 kB ▲ +7 B (+0.03% ) 23.8 kB
@material-ui/lab -- 169 kB -- 50.9 kB
@material-ui/styles -- 50.8 kB -- 15.4 kB
@material-ui/system -- 14.8 kB -- 4.06 kB
AppBar -- 62.2 kB -- 19.5 kB
Autocomplete -- 125 kB -- 39.6 kB
Avatar -- 61.2 kB -- 19.2 kB
Backdrop -- 66.2 kB -- 20.4 kB
Badge -- 63.8 kB -- 19.7 kB
BottomNavigation -- 60.8 kB -- 19 kB
BottomNavigationAction -- 73.8 kB -- 23.3 kB
Box -- 69.2 kB -- 20.9 kB
Breadcrumbs -- 66.4 kB -- 20.8 kB
Button -- 77.8 kB -- 24.1 kB
ButtonBase -- 72.3 kB -- 22.6 kB
ButtonGroup -- 62.7 kB -- 19.5 kB
Card -- 61.2 kB -- 19.1 kB
CardActionArea -- 73.3 kB -- 23.1 kB
CardActions -- 60.5 kB -- 18.9 kB
CardContent -- 60.4 kB -- 18.9 kB
CardHeader -- 63.5 kB -- 20 kB
CardMedia -- 60.8 kB -- 19.1 kB
Chip -- 81 kB -- 24.7 kB
CircularProgress -- 62.5 kB -- 19.7 kB
ClickAwayListener -- 3.85 kB -- 1.55 kB
Collapse -- 66.3 kB -- 20.5 kB
colorManipulator -- 3.83 kB -- 1.52 kB
Container -- 61.6 kB -- 19.2 kB
CssBaseline -- 56 kB -- 17.5 kB
Dialog -- 80.9 kB -- 25.1 kB
DialogActions -- 60.5 kB -- 18.9 kB
DialogContent -- 60.7 kB -- 19 kB
DialogContentText -- 62.5 kB -- 19.6 kB
DialogTitle -- 62.7 kB -- 19.7 kB
Divider -- 61 kB -- 19.1 kB
docs.landing -- 55.6 kB -- 14.6 kB
Drawer -- 82.7 kB -- 25.6 kB
ExpansionPanel -- 69.7 kB -- 21.7 kB
ExpansionPanelActions -- 60.5 kB -- 18.9 kB
ExpansionPanelDetails -- 60.4 kB -- 18.9 kB
ExpansionPanelSummary -- 76.4 kB -- 24.1 kB
Fab -- 75.1 kB -- 23.3 kB
Fade -- 22 kB -- 7.6 kB
FilledInput -- 72 kB -- 22.3 kB
FormControl -- 62.8 kB -- 19.5 kB
FormControlLabel -- 64 kB -- 20.1 kB
FormGroup -- 60.5 kB -- 18.9 kB
FormHelperText -- 61.7 kB -- 19.3 kB
FormLabel -- 61.9 kB -- 19.1 kB
Grid -- 63.5 kB -- 19.9 kB
GridList -- 60.9 kB -- 19.1 kB
GridListTile -- 62.2 kB -- 19.5 kB
GridListTileBar -- 61.7 kB -- 19.3 kB
Grow -- 22.6 kB -- 7.72 kB
Hidden -- 64.5 kB -- 20.2 kB
Icon -- 61.2 kB -- 19.2 kB
IconButton -- 74.4 kB -- 23.2 kB
Input -- 70.9 kB -- 22.1 kB
InputAdornment -- 63.5 kB -- 20 kB
InputBase -- 69.1 kB -- 21.6 kB
InputLabel -- 63.8 kB -- 19.8 kB
LinearProgress -- 63.8 kB -- 19.9 kB
Link -- 65 kB -- 20.6 kB
List -- 60.8 kB -- 18.9 kB
ListItemAvatar -- 60.6 kB -- 18.9 kB
ListItemIcon -- 60.6 kB -- 19 kB
ListItemSecondaryAction -- 60.5 kB -- 18.9 kB
ListItemText -- 63.4 kB -- 19.9 kB
ListSubheader -- 61.2 kB -- 19.2 kB
Menu -- 86.6 kB -- 27.2 kB
MenuList -- 64.4 kB -- 20.1 kB
MobileStepper -- 66.2 kB -- 20.6 kB
Modal -- 14.2 kB -- 4.96 kB
NativeSelect -- 75.2 kB -- 23.7 kB
NoSsr -- 2.19 kB -- 1.04 kB
OutlinedInput -- 72.5 kB -- 22.5 kB
Paper -- 60.7 kB -- 18.9 kB
Popover -- 81 kB -- 25 kB
Popper -- 28.5 kB -- 10.2 kB
Portal -- 2.87 kB -- 1.29 kB
RadioGroup -- 61.7 kB -- 19.3 kB
Rating -- 68.3 kB -- 21.8 kB
RootRef -- 4.43 kB -- 1.67 kB
Select -- 112 kB -- 33.4 kB
Skeleton -- 60.9 kB -- 19.1 kB
Slide -- 24.1 kB -- 8.21 kB
Slider -- 73.9 kB -- 23.3 kB
Snackbar -- 75.6 kB -- 23.5 kB
SnackbarContent -- 64.1 kB -- 20.1 kB
SpeedDial -- 84.3 kB -- 26.5 kB
SpeedDialAction -- 114 kB -- 36 kB
SpeedDialIcon -- 63 kB -- 19.8 kB
Step -- 61.1 kB -- 19.1 kB
StepButton -- 80.6 kB -- 25.3 kB
StepConnector -- 61.2 kB -- 19.2 kB
StepContent -- 67.4 kB -- 21 kB
StepIcon -- 63.1 kB -- 19.6 kB
StepLabel -- 67 kB -- 21 kB
Stepper -- 63.2 kB -- 19.9 kB
styles/createMuiTheme -- 15.2 kB -- 5.36 kB
SvgIcon -- 61.5 kB -- 19.1 kB
SwipeableDrawer -- 90.1 kB -- 27.9 kB
Tab -- 74.6 kB -- 23.6 kB
Table -- 61 kB -- 19.1 kB
TableBody -- 60.5 kB -- 18.9 kB
TableCell -- 62.5 kB -- 19.6 kB
TableFooter -- 60.6 kB -- 18.9 kB
TableHead -- 60.6 kB -- 18.9 kB
TableRow -- 61 kB -- 19.1 kB
TableSortLabel -- 75.6 kB -- 23.9 kB
Tabs -- 83.7 kB -- 26.6 kB
TextareaAutosize -- 5.06 kB -- 2.11 kB
ToggleButton -- 74.4 kB -- 23.5 kB
ToggleButtonGroup -- 61.6 kB -- 19.4 kB
Toolbar -- 60.8 kB -- 19 kB
Tooltip -- 97.7 kB -- 30.9 kB
TreeItem -- 71.9 kB -- 22.6 kB
TreeView -- 64.8 kB -- 20.2 kB
Typography -- 62.1 kB -- 19.3 kB
useAutocomplete -- 11.7 kB -- 4.32 kB
useMediaQuery -- 2.49 kB -- 1.05 kB
Zoom -- 22.1 kB -- 7.6 kB

Generated by 🚫 dangerJS against 4a887b6

@mbrookes mbrookes force-pushed the framer branch 2 times, most recently from 91e7929 to 79bbe00 Compare October 9, 2019 00:35
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.

Time to try framer I guess. Great job 👍

We should connect the framer worktree with the root worktree. framer worktree has an implicit dependency on /docs and scripts concerning framer are placed in the root. In it's current state it's unclear which dependencies are used.

package.json Outdated Show resolved Hide resolved
yarn.lock Outdated Show resolved Hide resolved
framer/Material-UI.framerfx/package.json Outdated Show resolved Hide resolved
framer/Material-UI.framerfx/package.json Outdated Show resolved Hide resolved
@@ -99,7 +99,7 @@ const ListItem = React.forwardRef(function ListItem(props, ref) {
component: componentProp,
ContainerComponent = 'li',
ContainerProps: { className: ContainerClassName, ...ContainerProps } = {},
dense,
dense = false,
Copy link
Member

Choose a reason for hiding this comment

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

The state can come from the parent list too, it would override it.

Suggested change
dense = false,
dense,

Copy link
Member

Choose a reason for hiding this comment

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

How would a default value override it?

Copy link
Member

@oliviertassinari oliviertassinari Oct 9, 2019

Choose a reason for hiding this comment

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

Oh ok, my bad, it won't. I have assumed we were using dense !== undefined.

But shouldn't we change the merge dense check logic? If the list can be not dense and the list item dense, why prevent the opposite (list dense and list item not dense)?

packages/material-ui/src/Radio/Radio.js Outdated Show resolved Hide resolved
.prettierignore Outdated Show resolved Hide resolved
@mbrookes mbrookes requested a review from eps1lon October 10, 2019 10:55
@@ -0,0 +1,35 @@
{
"name": "material-ui-framer",
Copy link
Member

Choose a reason for hiding this comment

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

Should we name it @material-ui/framer?

Copy link
Member Author

@mbrookes mbrookes Nov 1, 2019

Choose a reason for hiding this comment

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

I don't know how namespaces work in Framer, but I suspect they're used for Team (private) packages. Not sure it really matters though, as the name isn't visible.

Copy link
Member

Choose a reason for hiding this comment

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

Ok, do we control the name the package is published on npm with?

Copy link
Member Author

Choose a reason for hiding this comment

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

npm?

@mbrookes
Copy link
Member Author

mbrookes commented Nov 1, 2019

do we control the name the package is published (with)

image

@mbrookes mbrookes added the framer label Nov 6, 2019
@mbrookes mbrookes merged commit 6f7318c into mui:master Nov 6, 2019
@oliviertassinari
Copy link
Member

🥁

@mbrookes
Copy link
Member Author

mbrookes commented Nov 6, 2019

@oliviertassinari
Copy link
Member

Well done! For the MUI icon, did you use https://github.com/mui-org/material-ui/blob/master/docs/static/brand.png?

@mbrookes
Copy link
Member Author

mbrookes commented Nov 6, 2019

No, https://github.com/mui-org/material-ui/blob/master/docs/static/brand.png (since the example icon had a transparent background), with some extra padding. It could perhaps have used a bit more - just didn't want to make the logo too small. Next release...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants