Skip to content

Commit cdfcb87

Browse files
Merge branch 'master' into scroll-demo
2 parents cb82a00 + 4be712a commit cdfcb87

File tree

248 files changed

+5479
-8594
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

248 files changed

+5479
-8594
lines changed

.circleci/config.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -299,12 +299,6 @@ jobs:
299299
command: |
300300
pnpm docs:link-check
301301
git add -A && git diff --exit-code --staged
302-
- run:
303-
name: Update the templates shared themes
304-
command: pnpm template:update-theme
305-
- run:
306-
name: '`pnpm template:update-theme` changes committed?'
307-
command: git add -A && git diff --exit-code --staged
308302
test_types:
309303
<<: *default-job
310304
resource_class: 'medium+'
@@ -495,6 +489,12 @@ jobs:
495489
- run:
496490
name: Run visual regression tests
497491
command: xvfb-run pnpm test:regressions
492+
- run:
493+
name: Build packages for fixtures
494+
command: xvfb-run pnpm release:build
495+
- run:
496+
name: Run visual regression tests using Pigment CSS
497+
command: xvfb-run pnpm test:regressions-pigment-css
498498
- run:
499499
name: Upload screenshots to Argos CI
500500
command: pnpm test:argos

CHANGELOG.old.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4127,8 +4127,8 @@ A big thanks to the 17 contributors who made this release possible. Here are som
41274127

41284128
```diff
41294129
import {
4130-
unstable_createCssVarsProvider as createCssVarsProvider,
4131-
+ unstable_createCssVarsTheme as createCssVarsTheme,
4130+
unstable_createCssVarsProvider as createCssVarsProvider,
4131+
+ unstable_createCssVarsTheme as createCssVarsTheme,
41324132
} from '@mui/system';
41334133

41344134
const { CssVarsProvider } = createCssVarsProvider({

README.md

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,6 @@
55

66
<h1 align="center">Material UI</h1>
77

8-
**Material UI** contains foundational React UI component libraries for shipping new features faster:
9-
10-
- [Material UI](https://mui.com/material-ui/) is a comprehensive library of components that features our implementation of Google's [Material Design](https://m2.material.io/design/introduction/) system.
11-
12-
- [Joy UI](https://mui.com/joy-ui/getting-started/) is a library of beautifully designed React UI components built to spark joy.
13-
148
<div align="center">
159

1610
[![license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/mui/material-ui/blob/HEAD/LICENSE)
@@ -27,30 +21,37 @@
2721

2822
</div>
2923

30-
## Documentation
24+
[Material UI](https://mui.com/material-ui/) is a comprehensive library of React components that features our independent implementation of Google's [Material Design](https://m2.material.io/design/introduction/) system.
25+
It's trusted by some of the world's greatest product teams because it's been rigorously battle-tested through more than a decade of development by thousands of open-source contributors.
3126

32-
### Material UI
27+
Material UI's core functionality is extended by [MUI X](https://github.com/mui/mui-x), a suite of complex components for advanced use cases.
3328

34-
Visit [https://mui.com/material-ui/](https://mui.com/material-ui/) to view the full documentation.
29+
## Documentation
30+
31+
Get started in the [Material UI documentation](https://mui.com/material-ui/getting-started/).
3532

3633
<details>
3734
<summary>Older versions</summary>
3835

39-
- **[v4.x](https://v4.mui.com/)** ([Migration from v4 to v5](https://mui.com/material-ui/migration/migration-v4/))
40-
- **[v3.x](https://v3.mui.com/)** ([Migration from v3 to v4](https://mui.com/material-ui/migration/migration-v3/))
41-
- **[v0.x](https://v0.mui.com/)** ([Migration to v1](https://mui.com/material-ui/migration/migration-v0x/))
36+
- **[v5.x](https://v5.mui.com/)** ([Upgrading from v5 to v6](https://mui.com/material-ui/migration/upgrade-to-v6/))
37+
- **[v4.x](https://v4.mui.com/)** ([Upgrading from v4 to v5](https://mui.com/material-ui/migration/migration-v4/))
38+
- **[v3.x](https://v3.mui.com/)** ([Upgrading from v3 to v4](https://mui.com/material-ui/migration/migration-v3/))
39+
- **[v0.x](https://v0.mui.com/)** ([Upgrading to v1](https://mui.com/material-ui/migration/migration-v0x/))
4240

4341
</details>
4442

45-
**Note:** `@next` only points to pre-releases.
43+
**Note:** `@next` points to pre-releases.
4644
Use `@latest` for the latest stable release.
4745

48-
### Joy UI
46+
## Joy UI
47+
48+
This repository also contains Joy UI, an experimental component library that implements our own in-house Joy Design.
49+
Joy UI is in beta and _development is currently on hold_.
50+
When starting a new project from scratch, we recommend Material UI over Joy UI because we can guarantee ongoing support.
4951

50-
Visit [https://mui.com/joy-ui/getting-started/](https://mui.com/joy-ui/getting-started/) to view the full documentation.
52+
You're welcome to open new issues and PRs to help improve Joy UI, but please keep in mind that the maintainers are primarily focused on other projects and may not be able to respond in a timely manner.
5153

52-
**Note**: Joy UI is still in beta.
53-
We are adding new components regularly and you're welcome to contribute!
54+
View the [Joy UI documentation](https://mui.com/joy-ui/getting-started/).
5455

5556
## Sponsors
5657

@@ -108,7 +109,7 @@ You can find complete templates and themes in the [MUI Store](https://mui.com/s
108109
Read the [contributing guide](/CONTRIBUTING.md) to learn about our development process, how to propose bug fixes and improvements, and how to build and test your changes.
109110

110111
Contributing is about more than just issues and pull requests!
111-
There are many other ways to [support Material UI](https://mui.com/material-ui/getting-started/faq/#mui-is-awesome-how-can-i-support-the-project) beyond contributing to the code base.
112+
There are many other ways to [support Material UI](https://mui.com/material-ui/getting-started/faq/#mui-is-an-awesome-organization-how-can-i-support-it) beyond contributing to the code base.
112113

113114
## Changelog
114115

@@ -120,12 +121,11 @@ Future plans and high-priority features and enhancements can be found in the [ro
120121

121122
## License
122123

123-
This project is licensed under the terms of the
124-
[MIT license](/LICENSE).
124+
This project is licensed under the terms of the [MIT license](/LICENSE).
125125

126126
## Security
127127

128-
For details of supported versions and contact details for reporting security issues, please refer to the [security policy](https://github.com/mui/material-ui/security/policy).
128+
For details on supported versions and contact information for reporting security issues, please refer to the [security policy](https://github.com/mui/material-ui/security/policy).
129129

130130
## Sponsoring services
131131

apps/pigment-css-next-app/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323
"react-dom": "^18.3.1"
2424
},
2525
"devDependencies": {
26-
"@pigment-css/nextjs-plugin": "0.0.21",
27-
"@types/node": "^20.14.8",
26+
"@pigment-css/nextjs-plugin": "0.0.22",
27+
"@types/node": "^20.16.5",
2828
"@types/react": "^18.3.4",
2929
"@types/react-dom": "^18.3.0",
3030
"eslint": "^8.57.0",
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
'use client';
2+
import * as React from 'react';
3+
import BasicSelect from '../../../../../../docs/data/material/components/selects/BasicSelect';
4+
import ControlledOpenSelect from '../../../../../../docs/data/material/components/selects/ControlledOpenSelect';
5+
import CustomizedSelects from '../../../../../../docs/data/material/components/selects/CustomizedSelects';
6+
import DialogSelect from '../../../../../../docs/data/material/components/selects/DialogSelect';
7+
import GroupedSelect from '../../../../../../docs/data/material/components/selects/GroupedSelect';
8+
import MultipleSelect from '../../../../../../docs/data/material/components/selects/MultipleSelect';
9+
import MultipleSelectCheckmarks from '../../../../../../docs/data/material/components/selects/MultipleSelectCheckmarks';
10+
import MultipleSelectChip from '../../../../../../docs/data/material/components/selects/MultipleSelectChip';
11+
import MultipleSelectNative from '../../../../../../docs/data/material/components/selects/MultipleSelectNative';
12+
import MultipleSelectPlaceholder from '../../../../../../docs/data/material/components/selects/MultipleSelectPlaceholder';
13+
import NativeSelectDemo from '../../../../../../docs/data/material/components/selects/NativeSelectDemo';
14+
import SelectAutoWidth from '../../../../../../docs/data/material/components/selects/SelectAutoWidth';
15+
import SelectLabels from '../../../../../../docs/data/material/components/selects/SelectLabels';
16+
import SelectOtherProps from '../../../../../../docs/data/material/components/selects/SelectOtherProps';
17+
import SelectSmall from '../../../../../../docs/data/material/components/selects/SelectSmall';
18+
import SelectVariants from '../../../../../../docs/data/material/components/selects/SelectVariants';
19+
20+
export default function Selects() {
21+
return (
22+
<React.Fragment>
23+
<section>
24+
<h2> Basic Select</h2>
25+
<div className="demo-container">
26+
<BasicSelect />
27+
</div>
28+
</section>
29+
<section>
30+
<h2> Controlled Open Select</h2>
31+
<div className="demo-container">
32+
<ControlledOpenSelect />
33+
</div>
34+
</section>
35+
<section>
36+
<h2> Customized Selects</h2>
37+
<div className="demo-container">
38+
<CustomizedSelects />
39+
</div>
40+
</section>
41+
<section>
42+
<h2> Dialog Select</h2>
43+
<div className="demo-container">
44+
<DialogSelect />
45+
</div>
46+
</section>
47+
<section>
48+
<h2> Grouped Select</h2>
49+
<div className="demo-container">
50+
<GroupedSelect />
51+
</div>
52+
</section>
53+
<section>
54+
<h2> Multiple Select</h2>
55+
<div className="demo-container">
56+
<MultipleSelect />
57+
</div>
58+
</section>
59+
<section>
60+
<h2> Multiple Select Checkmarks</h2>
61+
<div className="demo-container">
62+
<MultipleSelectCheckmarks />
63+
</div>
64+
</section>
65+
<section>
66+
<h2> Multiple Select Chip</h2>
67+
<div className="demo-container">
68+
<MultipleSelectChip />
69+
</div>
70+
</section>
71+
<section>
72+
<h2> Multiple Select Native</h2>
73+
<div className="demo-container">
74+
<MultipleSelectNative />
75+
</div>
76+
</section>
77+
<section>
78+
<h2> Multiple Select Placeholder</h2>
79+
<div className="demo-container">
80+
<MultipleSelectPlaceholder />
81+
</div>
82+
</section>
83+
<section>
84+
<h2> Native Select Demo</h2>
85+
<div className="demo-container">
86+
<NativeSelectDemo />
87+
</div>
88+
</section>
89+
<section>
90+
<h2> Select Auto Width</h2>
91+
<div className="demo-container">
92+
<SelectAutoWidth />
93+
</div>
94+
</section>
95+
<section>
96+
<h2> Select Labels</h2>
97+
<div className="demo-container">
98+
<SelectLabels />
99+
</div>
100+
</section>
101+
<section>
102+
<h2> Select Other Props</h2>
103+
<div className="demo-container">
104+
<SelectOtherProps />
105+
</div>
106+
</section>
107+
<section>
108+
<h2> Select Small</h2>
109+
<div className="demo-container">
110+
<SelectSmall />
111+
</div>
112+
</section>
113+
<section>
114+
<h2> Select Variants</h2>
115+
<div className="demo-container">
116+
<SelectVariants />
117+
</div>
118+
</section>
119+
</React.Fragment>
120+
);
121+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
module.exports = {
2+
recursive: true,
3+
slow: 500,
4+
timeout: (process.env.CIRCLECI === 'true' ? 4 : 2) * 1000, // Circle CI has low-performance CPUs.
5+
reporter: 'dot',
6+
require: ['@mui/internal-test-utils/setupBabelPlaywright'],
7+
};

apps/pigment-css-vite-app/package.json

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
"@mui/material": "workspace:^",
1818
"@mui/system": "workspace:^",
1919
"clsx": "^2.1.1",
20+
"playwright": "^1.46.1",
2021
"react": "^18.3.1",
2122
"react-dom": "^18.3.1",
2223
"react-error-boundary": "^4.0.13",
@@ -25,14 +26,15 @@
2526
"devDependencies": {
2627
"@babel/preset-react": "^7.24.7",
2728
"@babel/preset-typescript": "^7.24.7",
28-
"@pigment-css/vite-plugin": "0.0.21",
29+
"@pigment-css/vite-plugin": "0.0.22",
2930
"@types/react": "^18.3.4",
3031
"@types/react-dom": "^18.3.0",
3132
"@vitejs/plugin-react": "^4.3.1",
32-
"postcss": "^8.4.44",
33+
"postcss": "^8.4.45",
3334
"postcss-combine-media-query": "^1.0.1",
3435
"vite": "5.4.2",
35-
"vite-plugin-pages": "^0.32.3"
36+
"vite-plugin-pages": "^0.32.3",
37+
"vite-plugin-node-polyfills": "0.22.0"
3638
},
3739
"nx": {
3840
"targets": {
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import * as React from 'react';
2+
import Box from '@mui/material/Box';
3+
import InputLabel from '@mui/material/InputLabel';
4+
import MenuItem from '@mui/material/MenuItem';
5+
import FormControl from '@mui/material/FormControl';
6+
import Select from '@mui/material/Select';
7+
8+
export default function BasicSelect() {
9+
const [age, setAge] = React.useState(10);
10+
11+
const handleChange = (event) => {
12+
setAge(event.target.value);
13+
};
14+
15+
return (
16+
<Box sx={{ minWidth: 120, minHeight: 250 }}>
17+
<FormControl fullWidth>
18+
<InputLabel id="demo-simple-select-label">Age</InputLabel>
19+
<Select
20+
defaultOpen
21+
labelId="demo-simple-select-label"
22+
id="demo-simple-select"
23+
value={age}
24+
label="Age"
25+
onChange={handleChange}
26+
>
27+
<MenuItem value={10}>Ten</MenuItem>
28+
<MenuItem value={20}>Twenty</MenuItem>
29+
<MenuItem value={30}>Thirty</MenuItem>
30+
</Select>
31+
</FormControl>
32+
</Box>
33+
);
34+
}

0 commit comments

Comments
 (0)