Skip to content

Commit 3b26fe1

Browse files
committed
Merge branch 'master' into full-screen-demo
2 parents d36846a + 6d8b807 commit 3b26fe1

File tree

1,819 files changed

+10313
-109127
lines changed

Some content is hidden

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

1,819 files changed

+10313
-109127
lines changed

.browserslistrc

-7
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,3 @@
1-
[modern]
2-
last 1 chrome version
3-
last 1 edge version
4-
last 1 firefox version
5-
last 1 safari version
6-
node 14
7-
81
# Default/Fallback
92
# `npx browserslist --mobile-to-desktop "> 0.5%, last 2 versions, Firefox ESR, not dead, safari >= 15.4, iOS >= 15.4"` when the last major is released.
103
# Explicit safari versions are here based on the agreed terms in: https://github.com/mui/material-ui/issues/40958#issuecomment-1953215043

.circleci/config.yml

+16-51
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
version: 2.1
22
orbs:
3-
aws-cli: circleci/aws-cli@5.2.0
3+
aws-cli: circleci/aws-cli@5.3.2
44
aws-s3: circleci/[email protected]
55

66
parameters:
@@ -193,45 +193,11 @@ jobs:
193193
- run:
194194
name: Lint Markdown
195195
command: pnpm markdownlint
196-
- run:
197-
# See https://circleci.com/developer/orbs/orb/circleci/vale as reference
198-
name: Install Vale
199-
command: |
200-
#!/bin/bash
201-
VALE_STR_CLI_VERSION=3.3.0
202-
203-
# set smart sudo
204-
if [[ $EUID -eq 0 ]]; then export SUDO=""; else export SUDO="sudo"; fi
205-
206-
mkdir /tmp/vale-extract
207-
cd /tmp/vale-extract
208-
GZIPPED_OUTPUT="vale.tar.gz"
209-
BINARY_URL=https://github.com/errata-ai/vale/releases/download/v${VALE_STR_CLI_VERSION}/vale_${VALE_STR_CLI_VERSION}_Linux_64-bit.tar.gz
210-
curl -sSL "$BINARY_URL" -o "${GZIPPED_OUTPUT}"
211-
212-
if [ ! -s "${GZIPPED_OUTPUT}" ]; then
213-
echo "Downloaded file is empty"
214-
rm "${GZIPPED_OUTPUT}"
215-
exit 1
216-
fi
217-
218-
tar -xzf "${GZIPPED_OUTPUT}"
219-
$SUDO mv vale /usr/local/bin
220-
rm "${GZIPPED_OUTPUT}"
221-
222-
# validate installation
223-
if [[ -z "$(command -v vale)" ]]; then
224-
echo "vale installation failed"
225-
exit 1
226-
else
227-
echo "vale installation successful"
228-
vale --version
229-
exit 0
230-
fi
231196
- run:
232197
name: Lint writing style
233198
command: |
234-
vale sync
199+
# Or use https://circleci.com/developer/orbs/orb/circleci/vale as reference to install Vale
200+
pnpm vale sync
235201
pnpm valelint
236202
test_static:
237203
<<: *default-job
@@ -290,7 +256,6 @@ jobs:
290256
name: Test module augmentation
291257
command: |
292258
pnpm --filter @mui/material typescript:module-augmentation
293-
pnpm --filter @mui/base typescript:module-augmentation
294259
pnpm --filter @mui/joy typescript:module-augmentation
295260
pnpm --filter @mui/system typescript:module-augmentation
296261
- run:
@@ -363,7 +328,7 @@ jobs:
363328
<<: *default-job
364329
resource_class: 'medium+'
365330
docker:
366-
- image: mcr.microsoft.com/playwright:v1.51.1-noble
331+
- image: mcr.microsoft.com/playwright:v1.52.0-noble
367332
steps:
368333
- checkout
369334
- install_js:
@@ -391,7 +356,7 @@ jobs:
391356
test_e2e:
392357
<<: *default-job
393358
docker:
394-
- image: mcr.microsoft.com/playwright:v1.51.1-noble
359+
- image: mcr.microsoft.com/playwright:v1.52.0-noble
395360
steps:
396361
- checkout
397362
- install_js:
@@ -403,7 +368,7 @@ jobs:
403368
# NOTE: This workflow runs after successful docs deploy. See /test/e2e-website/README.md#ci
404369
<<: *default-job
405370
docker:
406-
- image: mcr.microsoft.com/playwright:v1.51.1-noble
371+
- image: mcr.microsoft.com/playwright:v1.52.0-noble
407372
steps:
408373
- checkout
409374
- install_js:
@@ -416,7 +381,7 @@ jobs:
416381
test_profile:
417382
<<: *default-job
418383
docker:
419-
- image: mcr.microsoft.com/playwright:v1.51.1-noble
384+
- image: mcr.microsoft.com/playwright:v1.52.0-noble
420385
steps:
421386
- checkout
422387
- install_js:
@@ -441,7 +406,7 @@ jobs:
441406
test_regressions:
442407
<<: *default-job
443408
docker:
444-
- image: mcr.microsoft.com/playwright:v1.51.1-noble
409+
- image: mcr.microsoft.com/playwright:v1.52.0-noble
445410
steps:
446411
- checkout
447412
- install_js:
@@ -514,7 +479,7 @@ jobs:
514479
test_bundling_next_webpack4:
515480
<<: *default-job
516481
docker:
517-
- image: mcr.microsoft.com/playwright:v1.51.1-noble
482+
- image: mcr.microsoft.com/playwright:v1.52.0-noble
518483
working_directory: /tmp/material-ui/test/bundling/fixtures/next-webpack4/
519484
steps:
520485
- checkout:
@@ -532,7 +497,7 @@ jobs:
532497
test_bundling_next_webpack5:
533498
<<: *default-job
534499
docker:
535-
- image: mcr.microsoft.com/playwright:v1.51.1-noble
500+
- image: mcr.microsoft.com/playwright:v1.52.0-noble
536501
working_directory: /tmp/material-ui/test/bundling/fixtures/next-webpack5/
537502
steps:
538503
- checkout:
@@ -550,7 +515,7 @@ jobs:
550515
test_bundling_create_react_app:
551516
<<: *default-job
552517
docker:
553-
- image: mcr.microsoft.com/playwright:v1.51.1-noble
518+
- image: mcr.microsoft.com/playwright:v1.52.0-noble
554519
working_directory: /tmp/material-ui/test/bundling/fixtures/create-react-app/
555520
steps:
556521
- checkout:
@@ -568,7 +533,7 @@ jobs:
568533
test_bundling_snowpack:
569534
<<: *default-job
570535
docker:
571-
- image: mcr.microsoft.com/playwright:v1.51.1-noble
536+
- image: mcr.microsoft.com/playwright:v1.52.0-noble
572537
working_directory: /tmp/material-ui/test/bundling/fixtures/snowpack/
573538
steps:
574539
- checkout:
@@ -586,7 +551,7 @@ jobs:
586551
test_bundling_vite:
587552
<<: *default-job
588553
docker:
589-
- image: mcr.microsoft.com/playwright:v1.51.1-noble
554+
- image: mcr.microsoft.com/playwright:v1.52.0-noble
590555
working_directory: /tmp/material-ui/test/bundling/fixtures/vite/
591556
steps:
592557
- checkout:
@@ -604,7 +569,7 @@ jobs:
604569
test_bundling_esbuild:
605570
<<: *default-job
606571
docker:
607-
- image: mcr.microsoft.com/playwright:v1.51.1-noble
572+
- image: mcr.microsoft.com/playwright:v1.52.0-noble
608573
working_directory: /tmp/material-ui/test/bundling/fixtures/esbuild/
609574
steps:
610575
- checkout:
@@ -622,7 +587,7 @@ jobs:
622587
test_bundling_gatsby:
623588
<<: *default-job
624589
docker:
625-
- image: mcr.microsoft.com/playwright:v1.51.1-noble
590+
- image: mcr.microsoft.com/playwright:v1.52.0-noble
626591
environment:
627592
GATSBY_CPU_COUNT: '3'
628593
working_directory: /tmp/material-ui/test/bundling/fixtures/gatsby/
@@ -723,7 +688,7 @@ jobs:
723688
test_benchmark:
724689
<<: *default-job
725690
docker:
726-
- image: mcr.microsoft.com/playwright:v1.51.1-noble
691+
- image: mcr.microsoft.com/playwright:v1.52.0-noble
727692
steps:
728693
- checkout
729694
- install_js:

.codesandbox/ci.json

-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
"node": "20",
55
"packages": [
66
"packages/markdown",
7-
"packages/mui-base",
87
"packages/mui-codemod",
98
"packages/mui-core-downloads-tracker",
109
"packages/mui-docs",
@@ -26,7 +25,6 @@
2625
"packages-internal/test-utils"
2726
],
2827
"publishDirectory": {
29-
"@mui/base": "packages/mui-base/build",
3028
"@mui/codemod": "packages/mui-codemod/build",
3129
"@mui/core-downloads-tracker": "packages/mui-core-downloads-tracker/build",
3230
"@mui/docs": "packages/mui-docs/build",

.eslintignore

+1
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,4 @@ pnpm-lock.yaml
3636
# If we want to format these files we'd need to do it in crowdin
3737
docs/**/*-pt.md
3838
docs/**/*-zh.md
39+
__fixtures__

.eslintrc.js

+17-13
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,13 @@ const NO_RESTRICTED_IMPORTS_PATTERNS_DEEPLY_NESTED = [
5353
},
5454
];
5555

56+
const restrictedMethods = ['setTimeout', 'setInterval', 'clearTimeout', 'clearInterval'];
57+
58+
const restrictedSyntaxRules = restrictedMethods.map((method) => ({
59+
message: `Use global ${method} instead of window.${method}.`,
60+
selector: `MemberExpression[object.name='window'][property.name='${method}']`,
61+
}));
62+
5663
module.exports = /** @type {Config} */ ({
5764
root: true, // So parent files don't get applied
5865
env: {
@@ -64,7 +71,7 @@ module.exports = /** @type {Config} */ ({
6471
'plugin:eslint-plugin-import/recommended',
6572
'plugin:eslint-plugin-import/typescript',
6673
'eslint-config-airbnb',
67-
'./eslint/config-airbnb-typescript.js',
74+
require.resolve('./eslint/config-airbnb-typescript.js'),
6875
'eslint-config-prettier',
6976
],
7077
parser: '@typescript-eslint/parser',
@@ -258,6 +265,7 @@ module.exports = /** @type {Config} */ ({
258265
message: 'Do not call `Error(...)` without `new`. Use `new Error(...)` instead.',
259266
selector: "CallExpression[callee.name='Error']",
260267
},
268+
...restrictedSyntaxRules,
261269
],
262270

263271
// We re-export default in many places, remove when https://github.com/airbnb/javascript/issues/2500 gets resolved
@@ -412,7 +420,6 @@ module.exports = /** @type {Config} */ ({
412420
'*.spec.*',
413421
'*.test.*',
414422
// deprecated library
415-
'**/mui-base/**/*',
416423
'**/mui-joy/**/*',
417424
// used internally, not used on app router yet
418425
'**/mui-docs/**/*',
@@ -489,7 +496,13 @@ module.exports = /** @type {Config} */ ({
489496
'no-restricted-imports': [
490497
'error',
491498
{
492-
paths: NO_RESTRICTED_IMPORTS_PATHS_TOP_LEVEL_PACKAGES,
499+
paths: [
500+
...NO_RESTRICTED_IMPORTS_PATHS_TOP_LEVEL_PACKAGES,
501+
{
502+
name: '@mui/utils',
503+
message: OneLevelImportMessage,
504+
},
505+
],
493506
},
494507
],
495508
// TODO: Consider setting back to `ignoreExternal: true` when the expected behavior is fixed:
@@ -518,15 +531,6 @@ module.exports = /** @type {Config} */ ({
518531
'import/extensions': ['error', 'ignorePackages'],
519532
},
520533
},
521-
{
522-
files: ['packages/mui-base/src/**/**{.ts,.tsx}'],
523-
rules: {
524-
'import/no-default-export': 'error',
525-
'import/prefer-default-export': 'off',
526-
'react-compiler/react-compiler': 'off',
527-
'no-irregular-whitespace': ['error', { skipComments: true }],
528-
},
529-
},
530534
{
531535
/**
532536
* Examples are for demonstration purposes and should not be considered a part of the library.
@@ -555,7 +559,7 @@ module.exports = /** @type {Config} */ ({
555559
},
556560
{
557561
// TODO, move rule to be global, propagate: https://github.com/mui/material-ui/issues/42169
558-
files: ['examples/pigment-css-remix-ts/**/*'],
562+
files: ['examples/material-ui-pigment-css-vite-ts/**/*'],
559563
rules: {
560564
'react/react-in-jsx-scope': 'off',
561565
},

.github/workflows/ci.yml

+20-1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,25 @@ on:
1414
permissions: {}
1515

1616
jobs:
17+
continuous-releases:
18+
runs-on: ubuntu-latest
19+
steps:
20+
- run: echo "${{ github.actor }}"
21+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
22+
with:
23+
fetch-depth: 0
24+
- name: Set up pnpm
25+
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
26+
- name: Use Node.js 20.x
27+
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
28+
with:
29+
node-version: 20
30+
cache: 'pnpm' # https://github.com/actions/setup-node/blob/main/docs/advanced-usage.md#caching-packages-dependencies
31+
- run: npm install -g npm@latest
32+
- run: pnpm install:codesandbox
33+
- run: pnpm build:codesandbox
34+
- run: pnpm pkg-pr-new-release
35+
1736
# Tests dev-only scripts across all supported dev environments
1837
test-dev:
1938
# l10nbot does not affect dev scripts.
@@ -31,7 +50,7 @@ jobs:
3150
- name: Set up pnpm
3251
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
3352
- name: Use Node.js 20.x
34-
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0
53+
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
3554
with:
3655
node-version: 20
3756
cache: 'pnpm' # https://github.com/actions/setup-node/blob/main/docs/advanced-usage.md#caching-packages-dependencies

.github/workflows/codeql.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
2020
# Initializes the CodeQL tools for scanning.
2121
- name: Initialize CodeQL
22-
uses: github/codeql-action/init@1b549b9259bda1cb5ddde3b41741a82a2d15a841 # v3.28.13
22+
uses: github/codeql-action/init@28deaeda66b76a05916b6923827895f2b14ab387 # v3.28.16
2323
with:
2424
languages: typescript
2525
config-file: ./.github/codeql/codeql-config.yml
@@ -30,4 +30,4 @@ jobs:
3030
# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
3131
# queries: security-extended,security-and-quality
3232
- name: Perform CodeQL Analysis
33-
uses: github/codeql-action/analyze@1b549b9259bda1cb5ddde3b41741a82a2d15a841 # v3.28.13
33+
uses: github/codeql-action/analyze@28deaeda66b76a05916b6923827895f2b14ab387 # v3.28.16

.github/workflows/publish-canaries.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
- name: Set up pnpm
1616
uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4.1.0
1717
- name: Use Node.js 20.x
18-
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4.3.0
18+
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
1919
with:
2020
node-version: 20
2121
cache: 'pnpm' # https://github.com/actions/setup-node/blob/main/docs/advanced-usage.md#caching-packages-dependencies

.github/workflows/scorecards.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,6 @@ jobs:
4040
publish_results: true
4141
# Upload the results to GitHub's code scanning dashboard.
4242
- name: Upload to code-scanning
43-
uses: github/codeql-action/upload-sarif@1b549b9259bda1cb5ddde3b41741a82a2d15a841 # v3.28.13
43+
uses: github/codeql-action/upload-sarif@28deaeda66b76a05916b6923827895f2b14ab387 # v3.28.16
4444
with:
4545
sarif_file: results.sarif

.github/workflows/vale-action.yml

+8
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,17 @@ jobs:
1313
pull-requests: write
1414
steps:
1515
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
16+
- name: Extract Vale version from pnpm-lock.yaml
17+
id: vale-version
18+
run: |
19+
# Extract version from lock file
20+
VERSION=$(awk -F"@|'" '/@vvago\/vale@/ {print $4}' pnpm-lock.yaml | head -n1)
21+
echo "Extracted Vale version: $VERSION"
22+
echo "vale_version=$VERSION" >> $GITHUB_OUTPUT
1623
- uses: errata-ai/vale-action@d89dee975228ae261d22c15adcd03578634d429c # v2.1.1
1724
continue-on-error: true # GitHub Action flag needed until https://github.com/errata-ai/vale-action/issues/89 is fixed
1825
with:
26+
version: ${{ steps.vale-version.outputs.vale_version }}
1927
# Errors should be more visible
2028
fail_on_error: true
2129
# The other reports don't work, not really https://github.com/reviewdog/reviewdog#reporters

.mocharc.js

+3
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,7 @@ module.exports = {
2020
'**/build/**',
2121
'docs/.next/**',
2222
],
23+
// detect-modules doesn't work with @babel/register
24+
// https://github.com/babel/babel/issues/6737
25+
'node-option': ['no-experimental-detect-module'],
2326
};

0 commit comments

Comments
 (0)