From d8ae2b884d46588e2019fceb8677f3a6594062c2 Mon Sep 17 00:00:00 2001 From: Brijesh Bittu Date: Tue, 11 Jun 2024 16:10:36 +0530 Subject: [PATCH 01/18] v6.0.0-alpha.11 --- CHANGELOG.md | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a0513573538e7a..0f0c8d7316200e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,80 @@ # [Versions](https://mui.com/versions/) +## v6.0.0-alpha.11 + + + +_Jun 11, 2024_ + +A big thanks to the 18 contributors who made this release possible. + +### `@mui/material@6.0.0-alpha.11` + +- ​[Autocomplete] Shouldn't resize when hovering (#42452) @ZeeshanTamboli +- ​[Chip] Fix focus issue related with the Escape event (#41578) @shrilsharma +- ​[Grid] Fix support for CSS variables (#42574) @oliviertassinari +- ​[InputBase] Use `globalCss` for Pigment integration (#42431) @siriwatknp +- ​Change React.ReactElement type from `any` to `unknown` (#42473) @sai6855 +- ​Integrate `extendSxProp` adapter (#42543) @siriwatknp +- ​[Tab] Fix applying `iconWrapper` styles from theme and update its description (#42549) @sai6855 + +### `@mui/system@6.0.0-alpha.11` + +- ​[Grid] Remove `disableEqualOverflow` by using `gap` (#42526) @DiegoAndai +- ​[useMediaQuery] Drop Safari < 14 support (#42464) @aarongarciah + +### `@mui/utils@6.0.0-alpha.11` + +- ​Allow passing `NaN` as `defaultValue` to `useControlled` (#41559) @iammminzzy + +### `@mui/codemod@6.0.0-alpha.11` + +- ​Improve styled and sx prop transformation (#42598) @siriwatknp +- ​Support more cases for sx-prop transformation (#42527) @siriwatknp + +### `@mui/private-theming@6.0.0-alpha.11` + +- ​Fix issues reported by react compiler in `mui-private-theming` components (#42619) @sai6855 + +### Docs + +- ​Add `theme.applyStyles` and migrate docs (#42498) @siriwatknp +- ​Fix dashboard template console error (#42594) @oliviertassinari +- ​Migrate system props to `sx` prop (#42475) @siriwatknp +- ​[material-ui]Fix duplicated sentence (#42521) @alexfauquette +- ​[Grid] Fix docs spacing (#42573) @oliviertassinari +- ​[joy-ui] Add Next.js App Router instructions on how to prevent flickering (#42514) @devnyxie +- ​[joy-ui] Fix HTML tag without preformatting (#42525) @jacobmoshipco +- ​[material-ui] Add docs for complementary stepper components (#41900) @anle9650 +- ​[material-ui] Fix typo on Sign-in/Sign-up templates (#42605) @zanivan +- ​[material-ui] Add container queries docs (#42434) @siriwatknp +- ​[material-ui] Fix ESLint error in Stepper demo (#42559) @aarongarciah +- ​[material-ui] Shorten useMediaQuery subheading (#42561) @aarongarciah +- ​[material-ui] Add a Refine example project (#42461) @necatiozmen + +### Core + +- ​[website] Move the `React Engineer - X` role to future roles (#42532) @DanailH +- ​[core] Allow `for..of` loops (#42600) @michaldudak +- ​[core] Add comment about Object.js @oliviertassinari +- ​[core] Disable eslint-plugin-react-compiler for Base (#42563) @aarongarciah +- ​[core] Group Pigment CSS dependencies (#42174) @siriwatknp +- ​[core] Configure eslint-plugin-react-compiler (#42555) @aarongarciah +- ​[core] Skip charts animation for visual regression test (#42530) @alexfauquette +- ​[docs-infra] Simplify click header (#42593) @oliviertassinari +- ​[docs-infra] Add configurable jsdoc host variable (#42472) @tonygravell +- ​[docs-infra] Add the Base UI logo with copy functionality (#42446) @danilo-leal +- ​[docs-infra] Prevent link anchor when selecting text (#41994) @alexfauquette +- ​[docs-infra] Add the Base UI logo with copy functionality (#42446) @danilo-leal +- ​[examples] Remove Pigment CSS examples (#42471) @sai6855 +- ​[test] Restore pnpm tc command (#42572) @oliviertassinari +- ​[test] Restore testing internal packages (#42519) @michaldudak +- ​[website] Close Developer Advocate / Content Engineer role @oliviertassinari +- ​[website] Remove blank line @oliviertassinari +- ​[website] Fix mobile layout shift @oliviertassinari + +All contributors of this release in alphabetical order: @aarongarciah, @alexfauquette, @anle9650, @DanailH, @danilo-leal, @devnyxie, @DiegoAndai, @iammminzzy, @jacobmoshipco, @michaldudak, @necatiozmen, @oliviertassinari, @sai6855, @shrilsharma, @siriwatknp, @tonygravell, @zanivan, @ZeeshanTamboli + ## v6.0.0-alpha.10 From c1302e7120fc6bd21dd48c81b7b5425748f48689 Mon Sep 17 00:00:00 2001 From: Brijesh Bittu Date: Wed, 12 Jun 2024 12:38:45 +0530 Subject: [PATCH 02/18] Bump versions --- package.json | 2 +- packages-internal/scripts/package.json | 2 +- packages-internal/test-utils/package.json | 2 +- packages/markdown/package.json | 2 +- packages/mui-babel-macros/package.json | 2 +- packages/mui-base/package.json | 2 +- packages/mui-codemod/package.json | 2 +- .../mui-core-downloads-tracker/package.json | 2 +- packages/mui-docs/package.json | 2 +- packages/mui-icons-material/package.json | 2 +- packages/mui-joy/package.json | 2 +- packages/mui-lab/package.json | 2 +- packages/mui-material-nextjs/package.json | 2 +- packages/mui-material/package.json | 2 +- packages/mui-private-theming/package.json | 2 +- packages/mui-styled-engine-sc/package.json | 2 +- packages/mui-styled-engine/package.json | 2 +- packages/mui-styles/package.json | 2 +- packages/mui-system/package.json | 2 +- packages/mui-utils/package.json | 4 +- pnpm-lock.yaml | 100 ++++++++++-------- 21 files changed, 74 insertions(+), 68 deletions(-) diff --git a/package.json b/package.json index e34c00919f76db..0391a0ff4d203e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@mui/monorepo", - "version": "6.0.0-alpha.10", + "version": "6.0.0-alpha.11", "private": true, "scripts": { "preinstall": "npx only-allow pnpm", diff --git a/packages-internal/scripts/package.json b/packages-internal/scripts/package.json index bd3e50d33e9909..56e08d3220813a 100644 --- a/packages-internal/scripts/package.json +++ b/packages-internal/scripts/package.json @@ -1,6 +1,6 @@ { "name": "@mui/internal-scripts", - "version": "1.0.9", + "version": "1.0.10", "author": "MUI Team", "description": "Utilities supporting MUI libraries build and docs generation. This is an internal package not meant for general use.", "main": "build/index.js", diff --git a/packages-internal/test-utils/package.json b/packages-internal/test-utils/package.json index 9ec2f624c997a2..bc5c0db05dc044 100644 --- a/packages-internal/test-utils/package.json +++ b/packages-internal/test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@mui/internal-test-utils", - "version": "1.0.0", + "version": "1.0.1", "author": "MUI Team", "description": "Utilities for MUI tests. This is an internal package not meant for general use.", "main": "./build/index.js", diff --git a/packages/markdown/package.json b/packages/markdown/package.json index 41c5c30b1c8425..69a4515e45a0fb 100644 --- a/packages/markdown/package.json +++ b/packages/markdown/package.json @@ -1,6 +1,6 @@ { "name": "@mui/internal-markdown", - "version": "1.0.4", + "version": "1.0.5", "author": "MUI Team", "description": "MUI markdown parser. This is an internal package not meant for general use.", "main": "./index.js", diff --git a/packages/mui-babel-macros/package.json b/packages/mui-babel-macros/package.json index 934d6d059c3caf..bfef3cab623381 100644 --- a/packages/mui-babel-macros/package.json +++ b/packages/mui-babel-macros/package.json @@ -1,6 +1,6 @@ { "name": "@mui/internal-babel-macros", - "version": "1.0.4", + "version": "1.0.5", "author": "MUI Team", "description": "MUI Babel macros. This is an internal package not meant for general use.", "main": "./MuiError.macro.js", diff --git a/packages/mui-base/package.json b/packages/mui-base/package.json index fd72005123dfcf..0c40c6b8bc6004 100644 --- a/packages/mui-base/package.json +++ b/packages/mui-base/package.json @@ -1,6 +1,6 @@ { "name": "@mui/base", - "version": "5.0.0-beta.48", + "version": "5.0.0-beta.49", "private": false, "author": "MUI Team", "description": "Base UI is a library of headless ('unstyled') React components and low-level hooks. You gain complete control over your app's CSS and accessibility features.", diff --git a/packages/mui-codemod/package.json b/packages/mui-codemod/package.json index a5eb0d90167d60..2fe4c040851eb8 100644 --- a/packages/mui-codemod/package.json +++ b/packages/mui-codemod/package.json @@ -1,6 +1,6 @@ { "name": "@mui/codemod", - "version": "6.0.0-alpha.10", + "version": "6.0.0-alpha.11", "bin": "./codemod.js", "private": false, "author": "MUI Team", diff --git a/packages/mui-core-downloads-tracker/package.json b/packages/mui-core-downloads-tracker/package.json index dbf5b3f00b17d4..183959f550ee19 100644 --- a/packages/mui-core-downloads-tracker/package.json +++ b/packages/mui-core-downloads-tracker/package.json @@ -1,6 +1,6 @@ { "name": "@mui/core-downloads-tracker", - "version": "6.0.0-alpha.10", + "version": "6.0.0-alpha.11", "private": false, "author": "MUI Team", "description": "Internal package to track number of downloads of our design system libraries", diff --git a/packages/mui-docs/package.json b/packages/mui-docs/package.json index 82d61ece9ff0c5..1466e31b395eb8 100644 --- a/packages/mui-docs/package.json +++ b/packages/mui-docs/package.json @@ -1,6 +1,6 @@ { "name": "@mui/docs", - "version": "6.0.0-alpha.10", + "version": "6.0.0-alpha.11", "private": false, "author": "MUI Team", "description": "MUI Docs - Documentation building blocks.", diff --git a/packages/mui-icons-material/package.json b/packages/mui-icons-material/package.json index baa336deb68634..fe6e3963582b98 100644 --- a/packages/mui-icons-material/package.json +++ b/packages/mui-icons-material/package.json @@ -1,6 +1,6 @@ { "name": "@mui/icons-material", - "version": "6.0.0-alpha.10", + "version": "6.0.0-alpha.11", "private": false, "author": "MUI Team", "description": "Material Design icons distributed as SVG React components.", diff --git a/packages/mui-joy/package.json b/packages/mui-joy/package.json index 2dc2d4164919b3..5938eee7288de7 100644 --- a/packages/mui-joy/package.json +++ b/packages/mui-joy/package.json @@ -1,6 +1,6 @@ { "name": "@mui/joy", - "version": "5.0.0-beta.43", + "version": "5.0.0-beta.44", "private": false, "author": "MUI Team", "description": "Joy UI is an open-source React component library that implements MUI's own design principles. It's comprehensive and can be used in production out of the box.", diff --git a/packages/mui-lab/package.json b/packages/mui-lab/package.json index dfb7fef15ee785..3bc5f430583489 100644 --- a/packages/mui-lab/package.json +++ b/packages/mui-lab/package.json @@ -1,6 +1,6 @@ { "name": "@mui/lab", - "version": "6.0.0-alpha.10", + "version": "6.0.0-alpha.11", "private": false, "author": "MUI Team", "description": "Laboratory for new MUI modules.", diff --git a/packages/mui-material-nextjs/package.json b/packages/mui-material-nextjs/package.json index b871b707ed3e91..c300ce10befdad 100644 --- a/packages/mui-material-nextjs/package.json +++ b/packages/mui-material-nextjs/package.json @@ -1,6 +1,6 @@ { "name": "@mui/material-nextjs", - "version": "6.0.0-alpha.1", + "version": "6.0.0-alpha.11", "private": false, "author": "MUI Team", "description": "Collection of utilities for integration between Material UI and Next.js.", diff --git a/packages/mui-material/package.json b/packages/mui-material/package.json index e82dfdc135da21..6363fa4dee06e0 100644 --- a/packages/mui-material/package.json +++ b/packages/mui-material/package.json @@ -1,6 +1,6 @@ { "name": "@mui/material", - "version": "6.0.0-alpha.10", + "version": "6.0.0-alpha.11", "private": false, "author": "MUI Team", "description": "Material UI is an open-source React component library that implements Google's Material Design. It's comprehensive and can be used in production out of the box.", diff --git a/packages/mui-private-theming/package.json b/packages/mui-private-theming/package.json index e9dd443ea90a4e..62382eaa515d20 100644 --- a/packages/mui-private-theming/package.json +++ b/packages/mui-private-theming/package.json @@ -1,6 +1,6 @@ { "name": "@mui/private-theming", - "version": "6.0.0-alpha.9", + "version": "6.0.0-alpha.11", "private": false, "author": "MUI Team", "description": "Private - The React theme context to be shared between `@mui/styles` and `@mui/material`.", diff --git a/packages/mui-styled-engine-sc/package.json b/packages/mui-styled-engine-sc/package.json index e500efb4ac22f6..f45d8eecfc2e41 100644 --- a/packages/mui-styled-engine-sc/package.json +++ b/packages/mui-styled-engine-sc/package.json @@ -1,6 +1,6 @@ { "name": "@mui/styled-engine-sc", - "version": "6.0.0-alpha.25", + "version": "6.0.0-alpha.26", "private": false, "author": "MUI Team", "description": "styled() API wrapper package for styled-components.", diff --git a/packages/mui-styled-engine/package.json b/packages/mui-styled-engine/package.json index 834c164939d2d8..659812018d407d 100644 --- a/packages/mui-styled-engine/package.json +++ b/packages/mui-styled-engine/package.json @@ -1,6 +1,6 @@ { "name": "@mui/styled-engine", - "version": "6.0.0-alpha.9", + "version": "6.0.0-alpha.11", "private": false, "author": "MUI Team", "description": "styled() API wrapper package for emotion.", diff --git a/packages/mui-styles/package.json b/packages/mui-styles/package.json index ea3647209375ea..0ffe81938b33b6 100644 --- a/packages/mui-styles/package.json +++ b/packages/mui-styles/package.json @@ -1,6 +1,6 @@ { "name": "@mui/styles", - "version": "6.0.0-alpha.10", + "version": "6.0.0-alpha.11", "private": false, "author": "MUI Team", "description": "MUI Styles - The legacy JSS-based styling solution of Material UI.", diff --git a/packages/mui-system/package.json b/packages/mui-system/package.json index 474c7ef2361518..fe91b8bb4c448e 100644 --- a/packages/mui-system/package.json +++ b/packages/mui-system/package.json @@ -1,6 +1,6 @@ { "name": "@mui/system", - "version": "6.0.0-alpha.10", + "version": "6.0.0-alpha.11", "private": false, "author": "MUI Team", "description": "MUI System is a set of CSS utilities to help you build custom designs more efficiently. It makes it possible to rapidly lay out custom designs.", diff --git a/packages/mui-utils/package.json b/packages/mui-utils/package.json index ea7b5a66ac44cc..008d99c66fd3f9 100644 --- a/packages/mui-utils/package.json +++ b/packages/mui-utils/package.json @@ -1,6 +1,6 @@ { "name": "@mui/utils", - "version": "6.0.0-alpha.9", + "version": "6.0.0-alpha.11", "private": false, "author": "MUI Team", "description": "Utility functions for React components.", @@ -44,8 +44,8 @@ "react-is": "^18.2.0" }, "devDependencies": { - "@mui/internal-test-utils": "workspace:^", "@mui/internal-babel-macros": "workspace:^", + "@mui/internal-test-utils": "workspace:^", "@mui/types": "workspace:^", "@types/chai": "^4.3.16", "@types/mocha": "^10.0.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 57997744176d03..fbd6409bb3f985 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -364,7 +364,7 @@ importers: version: link:../local-ui-lib next: specifier: latest - version: 14.2.3(@babel/core@7.24.7)(@opentelemetry/api@1.8.0)(@playwright/test@1.44.1)(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 14.2.4(@babel/core@7.24.7)(@opentelemetry/api@1.8.0)(@playwright/test@1.44.1)(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: specifier: ^18.2.0 version: 18.2.0 @@ -374,7 +374,7 @@ importers: devDependencies: '@pigment-css/nextjs-plugin': specifier: ^0.0.12 - version: 0.0.12(@types/react@18.2.55)(next@14.2.3(@babel/core@7.24.7)(@opentelemetry/api@1.8.0)(@playwright/test@1.44.1)(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0) + version: 0.0.12(@types/react@18.2.55)(next@14.2.4(@babel/core@7.24.7)(@opentelemetry/api@1.8.0)(@playwright/test@1.44.1)(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0) '@types/node': specifier: ^18.19.34 version: 18.19.34 @@ -3610,6 +3610,7 @@ packages: '@humanwhocodes/config-array@0.11.14': resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} @@ -3617,6 +3618,7 @@ packages: '@humanwhocodes/object-schema@2.0.2': resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + deprecated: Use @eslint/object-schema instead '@hutson/parse-repository-url@3.0.2': resolution: {integrity: sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==} @@ -4133,8 +4135,8 @@ packages: '@next/env@13.5.1': resolution: {integrity: sha512-CIMWiOTyflFn/GFx33iYXkgLSQsMQZV4jB91qaj/TfxGaGOXxn8C1j72TaUSPIyN7ziS/AYG46kGmnvuk1oOpg==} - '@next/env@14.2.3': - resolution: {integrity: sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA==} + '@next/env@14.2.4': + resolution: {integrity: sha512-3EtkY5VDkuV2+lNmKlbkibIJxcO4oIHEhBWne6PaAp+76J9KoSsGvNikp6ivzAT8dhhBMYrm6op2pS1ApG0Hzg==} '@next/eslint-plugin-next@14.2.3': resolution: {integrity: sha512-L3oDricIIjgj1AVnRdRor21gI7mShlSwU/1ZGHmqM3LzHhXXhdkrfeNY5zif25Bi5Dd7fiJHsbhoZCHfXYvlAw==} @@ -4145,8 +4147,8 @@ packages: cpu: [arm64] os: [darwin] - '@next/swc-darwin-arm64@14.2.3': - resolution: {integrity: sha512-3pEYo/RaGqPP0YzwnlmPN2puaF2WMLM3apt5jLW2fFdXD9+pqcoTzRk+iZsf8ta7+quAe4Q6Ms0nR0SFGFdS1A==} + '@next/swc-darwin-arm64@14.2.4': + resolution: {integrity: sha512-AH3mO4JlFUqsYcwFUHb1wAKlebHU/Hv2u2kb1pAuRanDZ7pD/A/KPD98RHZmwsJpdHQwfEc/06mgpSzwrJYnNg==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -4157,8 +4159,8 @@ packages: cpu: [x64] os: [darwin] - '@next/swc-darwin-x64@14.2.3': - resolution: {integrity: sha512-6adp7waE6P1TYFSXpY366xwsOnEXM+y1kgRpjSRVI2CBDOcbRjsJ67Z6EgKIqWIue52d2q/Mx8g9MszARj8IEA==} + '@next/swc-darwin-x64@14.2.4': + resolution: {integrity: sha512-QVadW73sWIO6E2VroyUjuAxhWLZWEpiFqHdZdoQ/AMpN9YWGuHV8t2rChr0ahy+irKX5mlDU7OY68k3n4tAZTg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -4169,8 +4171,8 @@ packages: cpu: [arm64] os: [linux] - '@next/swc-linux-arm64-gnu@14.2.3': - resolution: {integrity: sha512-cuzCE/1G0ZSnTAHJPUT1rPgQx1w5tzSX7POXSLaS7w2nIUJUD+e25QoXD/hMfxbsT9rslEXugWypJMILBj/QsA==} + '@next/swc-linux-arm64-gnu@14.2.4': + resolution: {integrity: sha512-KT6GUrb3oyCfcfJ+WliXuJnD6pCpZiosx2X3k66HLR+DMoilRb76LpWPGb4tZprawTtcnyrv75ElD6VncVamUQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -4181,8 +4183,8 @@ packages: cpu: [arm64] os: [linux] - '@next/swc-linux-arm64-musl@14.2.3': - resolution: {integrity: sha512-0D4/oMM2Y9Ta3nGuCcQN8jjJjmDPYpHX9OJzqk42NZGJocU2MqhBq5tWkJrUQOQY9N+In9xOdymzapM09GeiZw==} + '@next/swc-linux-arm64-musl@14.2.4': + resolution: {integrity: sha512-Alv8/XGSs/ytwQcbCHwze1HmiIkIVhDHYLjczSVrf0Wi2MvKn/blt7+S6FJitj3yTlMwMxII1gIJ9WepI4aZ/A==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -4193,8 +4195,8 @@ packages: cpu: [x64] os: [linux] - '@next/swc-linux-x64-gnu@14.2.3': - resolution: {integrity: sha512-ENPiNnBNDInBLyUU5ii8PMQh+4XLr4pG51tOp6aJ9xqFQ2iRI6IH0Ds2yJkAzNV1CfyagcyzPfROMViS2wOZ9w==} + '@next/swc-linux-x64-gnu@14.2.4': + resolution: {integrity: sha512-ze0ShQDBPCqxLImzw4sCdfnB3lRmN3qGMB2GWDRlq5Wqy4G36pxtNOo2usu/Nm9+V2Rh/QQnrRc2l94kYFXO6Q==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -4205,8 +4207,8 @@ packages: cpu: [x64] os: [linux] - '@next/swc-linux-x64-musl@14.2.3': - resolution: {integrity: sha512-BTAbq0LnCbF5MtoM7I/9UeUu/8ZBY0i8SFjUMCbPDOLv+un67e2JgyN4pmgfXBwy/I+RHu8q+k+MCkDN6P9ViQ==} + '@next/swc-linux-x64-musl@14.2.4': + resolution: {integrity: sha512-8dwC0UJoc6fC7PX70csdaznVMNr16hQrTDAMPvLPloazlcaWfdPogq+UpZX6Drqb1OBlwowz8iG7WR0Tzk/diQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -4217,8 +4219,8 @@ packages: cpu: [arm64] os: [win32] - '@next/swc-win32-arm64-msvc@14.2.3': - resolution: {integrity: sha512-AEHIw/dhAMLNFJFJIJIyOFDzrzI5bAjI9J26gbO5xhAKHYTZ9Or04BesFPXiAYXDNdrwTP2dQceYA4dL1geu8A==} + '@next/swc-win32-arm64-msvc@14.2.4': + resolution: {integrity: sha512-jxyg67NbEWkDyvM+O8UDbPAyYRZqGLQDTPwvrBBeOSyVWW/jFQkQKQ70JDqDSYg1ZDdl+E3nkbFbq8xM8E9x8A==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -4229,8 +4231,8 @@ packages: cpu: [ia32] os: [win32] - '@next/swc-win32-ia32-msvc@14.2.3': - resolution: {integrity: sha512-vga40n1q6aYb0CLrM+eEmisfKCR45ixQYXuBXxOOmmoV8sYST9k7E3US32FsY+CkkF7NtzdcebiFT4CHuMSyZw==} + '@next/swc-win32-ia32-msvc@14.2.4': + resolution: {integrity: sha512-twrmN753hjXRdcrZmZttb/m5xaCBFa48Dt3FbeEItpJArxriYDunWxJn+QFXdJ3hPkm4u7CKxncVvnmgQMY1ag==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -4241,8 +4243,8 @@ packages: cpu: [x64] os: [win32] - '@next/swc-win32-x64-msvc@14.2.3': - resolution: {integrity: sha512-Q1/zm43RWynxrO7lW4ehciQVj+5ePBhOK+/K2P7pLFX3JaJ/IZVC69SHidrmZSOkqz7ECIOhhy7XhAFG4JYyHA==} + '@next/swc-win32-x64-msvc@14.2.4': + resolution: {integrity: sha512-tkLrjBzqFTP8DVrAAQmZelEahfR9OxWpFR++vAI9FBhCiIxtwHwBHC23SBHCTURBtwB4kc/x44imVOnkKGNVGg==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -9469,8 +9471,8 @@ packages: sass: optional: true - next@14.2.3: - resolution: {integrity: sha512-dowFkFTR8v79NPJO4QsBUtxv0g9BrS/phluVpMAt2ku7H+cbcBJlopXjkWlwxrk/xGqMemr7JkGPGemPrLLX7A==} + next@14.2.4: + resolution: {integrity: sha512-R8/V7vugY+822rsQGQCjoLhMuC9oFj9SOi4Cl4b2wjDrseD0LRZ10W7R6Czo4w9ZznVSshKjuIomsRjvm9EKJQ==} engines: {node: '>=18.17.0'} hasBin: true peerDependencies: @@ -10396,6 +10398,10 @@ packages: q@1.5.1: resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} engines: {node: '>=0.6.0', teleport: '>=0.2.0'} + deprecated: |- + You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other. + + (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) qjobs@1.2.0: resolution: {integrity: sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==} @@ -14586,7 +14592,7 @@ snapshots: '@next/env@13.5.1': {} - '@next/env@14.2.3': {} + '@next/env@14.2.4': {} '@next/eslint-plugin-next@14.2.3': dependencies: @@ -14595,55 +14601,55 @@ snapshots: '@next/swc-darwin-arm64@13.5.1': optional: true - '@next/swc-darwin-arm64@14.2.3': + '@next/swc-darwin-arm64@14.2.4': optional: true '@next/swc-darwin-x64@13.5.1': optional: true - '@next/swc-darwin-x64@14.2.3': + '@next/swc-darwin-x64@14.2.4': optional: true '@next/swc-linux-arm64-gnu@13.5.1': optional: true - '@next/swc-linux-arm64-gnu@14.2.3': + '@next/swc-linux-arm64-gnu@14.2.4': optional: true '@next/swc-linux-arm64-musl@13.5.1': optional: true - '@next/swc-linux-arm64-musl@14.2.3': + '@next/swc-linux-arm64-musl@14.2.4': optional: true '@next/swc-linux-x64-gnu@13.5.1': optional: true - '@next/swc-linux-x64-gnu@14.2.3': + '@next/swc-linux-x64-gnu@14.2.4': optional: true '@next/swc-linux-x64-musl@13.5.1': optional: true - '@next/swc-linux-x64-musl@14.2.3': + '@next/swc-linux-x64-musl@14.2.4': optional: true '@next/swc-win32-arm64-msvc@13.5.1': optional: true - '@next/swc-win32-arm64-msvc@14.2.3': + '@next/swc-win32-arm64-msvc@14.2.4': optional: true '@next/swc-win32-ia32-msvc@13.5.1': optional: true - '@next/swc-win32-ia32-msvc@14.2.3': + '@next/swc-win32-ia32-msvc@14.2.4': optional: true '@next/swc-win32-x64-msvc@13.5.1': optional: true - '@next/swc-win32-x64-msvc@14.2.3': + '@next/swc-win32-x64-msvc@14.2.4': optional: true '@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3': @@ -15066,10 +15072,10 @@ snapshots: '@opentelemetry/semantic-conventions@1.24.1': {} - '@pigment-css/nextjs-plugin@0.0.12(@types/react@18.2.55)(next@14.2.3(@babel/core@7.24.7)(@opentelemetry/api@1.8.0)(@playwright/test@1.44.1)(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0)': + '@pigment-css/nextjs-plugin@0.0.12(@types/react@18.2.55)(next@14.2.4(@babel/core@7.24.7)(@opentelemetry/api@1.8.0)(@playwright/test@1.44.1)(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0)': dependencies: '@pigment-css/unplugin': 0.0.12(@types/react@18.2.55)(react@18.2.0) - next: 14.2.3(@babel/core@7.24.7)(@opentelemetry/api@1.8.0)(@playwright/test@1.44.1)(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + next: 14.2.4(@babel/core@7.24.7)(@opentelemetry/api@1.8.0)(@playwright/test@1.44.1)(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) transitivePeerDependencies: - '@types/react' - react @@ -21365,9 +21371,9 @@ snapshots: - '@babel/core' - babel-plugin-macros - next@14.2.3(@babel/core@7.24.7)(@opentelemetry/api@1.8.0)(@playwright/test@1.44.1)(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + next@14.2.4(@babel/core@7.24.7)(@opentelemetry/api@1.8.0)(@playwright/test@1.44.1)(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: - '@next/env': 14.2.3 + '@next/env': 14.2.4 '@swc/helpers': 0.5.5 busboy: 1.6.0 caniuse-lite: 1.0.30001599 @@ -21377,15 +21383,15 @@ snapshots: react-dom: 18.2.0(react@18.2.0) styled-jsx: 5.1.1(@babel/core@7.24.7)(babel-plugin-macros@3.1.0)(react@18.2.0) optionalDependencies: - '@next/swc-darwin-arm64': 14.2.3 - '@next/swc-darwin-x64': 14.2.3 - '@next/swc-linux-arm64-gnu': 14.2.3 - '@next/swc-linux-arm64-musl': 14.2.3 - '@next/swc-linux-x64-gnu': 14.2.3 - '@next/swc-linux-x64-musl': 14.2.3 - '@next/swc-win32-arm64-msvc': 14.2.3 - '@next/swc-win32-ia32-msvc': 14.2.3 - '@next/swc-win32-x64-msvc': 14.2.3 + '@next/swc-darwin-arm64': 14.2.4 + '@next/swc-darwin-x64': 14.2.4 + '@next/swc-linux-arm64-gnu': 14.2.4 + '@next/swc-linux-arm64-musl': 14.2.4 + '@next/swc-linux-x64-gnu': 14.2.4 + '@next/swc-linux-x64-musl': 14.2.4 + '@next/swc-win32-arm64-msvc': 14.2.4 + '@next/swc-win32-ia32-msvc': 14.2.4 + '@next/swc-win32-x64-msvc': 14.2.4 '@opentelemetry/api': 1.8.0 '@playwright/test': 1.44.1 transitivePeerDependencies: From 95ed43b039d7df79b69b2e3a7f3cb7751c1a1958 Mon Sep 17 00:00:00 2001 From: siriwatknp Date: Wed, 12 Jun 2024 14:48:06 +0700 Subject: [PATCH 03/18] restore --- pnpm-lock.yaml | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7d169470ffa72c..d30324d39343bc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -373,13 +373,8 @@ importers: version: 18.2.0(react@18.2.0) devDependencies: '@pigment-css/nextjs-plugin': -<<<<<<< HEAD - specifier: ^0.0.12 - version: 0.0.12(@types/react@18.2.55)(next@14.2.4(@babel/core@7.24.7)(@opentelemetry/api@1.8.0)(@playwright/test@1.44.1)(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0) -======= specifier: ^0.0.14 version: 0.0.14(@types/react@18.2.55)(next@14.2.4(@babel/core@7.24.7)(@opentelemetry/api@1.8.0)(@playwright/test@1.44.1)(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0) ->>>>>>> bac1aeb0a904b3572a34390f69931311e125ebbc '@types/node': specifier: ^18.19.34 version: 18.19.34 @@ -15077,15 +15072,9 @@ snapshots: '@opentelemetry/semantic-conventions@1.24.1': {} -<<<<<<< HEAD - '@pigment-css/nextjs-plugin@0.0.12(@types/react@18.2.55)(next@14.2.4(@babel/core@7.24.7)(@opentelemetry/api@1.8.0)(@playwright/test@1.44.1)(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0)': - dependencies: - '@pigment-css/unplugin': 0.0.12(@types/react@18.2.55)(react@18.2.0) -======= '@pigment-css/nextjs-plugin@0.0.14(@types/react@18.2.55)(next@14.2.4(@babel/core@7.24.7)(@opentelemetry/api@1.8.0)(@playwright/test@1.44.1)(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react@18.2.0)': dependencies: '@pigment-css/unplugin': 0.0.14(@types/react@18.2.55)(react@18.2.0) ->>>>>>> bac1aeb0a904b3572a34390f69931311e125ebbc next: 14.2.4(@babel/core@7.24.7)(@opentelemetry/api@1.8.0)(@playwright/test@1.44.1)(babel-plugin-macros@3.1.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) transitivePeerDependencies: - '@types/react' From 8a138f96ba1bbc938387bbbd70ef46f9e94793fa Mon Sep 17 00:00:00 2001 From: siriwatknp Date: Wed, 12 Jun 2024 14:49:27 +0700 Subject: [PATCH 04/18] update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f0c8d7316200e..933ee18978d140 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ A big thanks to the 18 contributors who made this release possible. - ​Change React.ReactElement type from `any` to `unknown` (#42473) @sai6855 - ​Integrate `extendSxProp` adapter (#42543) @siriwatknp - ​[Tab] Fix applying `iconWrapper` styles from theme and update its description (#42549) @sai6855 +- ​[pigment-css] Add `stringifyTheme` for Pigment CSS integration (#42476) @siriwatknp ### `@mui/system@6.0.0-alpha.11` From 3caa5f8cfb9839edbe3c1dc36c760121d8460954 Mon Sep 17 00:00:00 2001 From: siriwatknp Date: Wed, 12 Jun 2024 14:51:31 +0700 Subject: [PATCH 05/18] fix non-breaking space --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 933ee18978d140..80651467905857 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,7 +17,7 @@ A big thanks to the 18 contributors who made this release possible. - ​Change React.ReactElement type from `any` to `unknown` (#42473) @sai6855 - ​Integrate `extendSxProp` adapter (#42543) @siriwatknp - ​[Tab] Fix applying `iconWrapper` styles from theme and update its description (#42549) @sai6855 -- ​[pigment-css] Add `stringifyTheme` for Pigment CSS integration (#42476) @siriwatknp +- ​[pigment-css] Add `stringifyTheme` for Pigment CSS integration (#42476) @siriwatknp ### `@mui/system@6.0.0-alpha.11` From e57ac7bddf13b9cfd77443680c5d888cde8f2406 Mon Sep 17 00:00:00 2001 From: siriwatknp Date: Thu, 13 Jun 2024 17:07:27 +0700 Subject: [PATCH 06/18] add PropsProvider --- .../src/PropsProvider/PropsProvider.spec.tsx | 22 +++++++++++++++++++ .../src/PropsProvider/PropsProvider.tsx | 20 +++++++++++++++++ .../mui-material/src/PropsProvider/index.ts | 1 + .../src/PropsProvider/PropsProvider.tsx | 19 ++++++++++++++++ .../mui-system/src/PropsProvider/index.ts | 1 + .../src/ThemeProvider/ThemeProvider.js | 5 ++++- 6 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 packages/mui-material/src/PropsProvider/PropsProvider.spec.tsx create mode 100644 packages/mui-material/src/PropsProvider/PropsProvider.tsx create mode 100644 packages/mui-material/src/PropsProvider/index.ts create mode 100644 packages/mui-system/src/PropsProvider/PropsProvider.tsx create mode 100644 packages/mui-system/src/PropsProvider/index.ts diff --git a/packages/mui-material/src/PropsProvider/PropsProvider.spec.tsx b/packages/mui-material/src/PropsProvider/PropsProvider.spec.tsx new file mode 100644 index 00000000000000..133624fe7c8591 --- /dev/null +++ b/packages/mui-material/src/PropsProvider/PropsProvider.spec.tsx @@ -0,0 +1,22 @@ +import PropsProvider from '@mui/material/PropsProvider'; + +function CustomComponent() { + return null; +} + +; + +; diff --git a/packages/mui-material/src/PropsProvider/PropsProvider.tsx b/packages/mui-material/src/PropsProvider/PropsProvider.tsx new file mode 100644 index 00000000000000..46ae490463b38c --- /dev/null +++ b/packages/mui-material/src/PropsProvider/PropsProvider.tsx @@ -0,0 +1,20 @@ +import * as React from 'react'; +import SystemPropsProvider, { + useDefaultProps as useSystemDefaultProps, +} from '@mui/system/PropsProvider'; +import type { ComponentsPropsList } from '../styles/props'; + +export default function PropsProvider( + props: React.PropsWithChildren<{ + value: { [P in keyof ComponentsPropsList]?: { defaultProps: Partial } }; + }>, +) { + return ; +} + +export function useDefaultProps>(params: { + props: Props; + name: string; +}) { + return useSystemDefaultProps(params) as Props; +} diff --git a/packages/mui-material/src/PropsProvider/index.ts b/packages/mui-material/src/PropsProvider/index.ts new file mode 100644 index 00000000000000..456a9a041a4308 --- /dev/null +++ b/packages/mui-material/src/PropsProvider/index.ts @@ -0,0 +1 @@ +export { default, useDefaultProps } from './PropsProvider'; diff --git a/packages/mui-system/src/PropsProvider/PropsProvider.tsx b/packages/mui-system/src/PropsProvider/PropsProvider.tsx new file mode 100644 index 00000000000000..eee5780778eca8 --- /dev/null +++ b/packages/mui-system/src/PropsProvider/PropsProvider.tsx @@ -0,0 +1,19 @@ +'use client'; +import * as React from 'react'; +import getThemeProps from '../useThemeProps/getThemeProps'; + +const PropsContext = React.createContext | undefined>(undefined); + +function PropsProvider({ + value, + children, +}: React.PropsWithChildren<{ value: Record | undefined }>) { + return {children}; +} + +export const useDefaultProps = ({ props, name }: { props: Record; name: string }) => { + const ctx = React.useContext(PropsContext); + return getThemeProps({ props, name, theme: { components: ctx } }); +}; + +export default PropsProvider; diff --git a/packages/mui-system/src/PropsProvider/index.ts b/packages/mui-system/src/PropsProvider/index.ts new file mode 100644 index 00000000000000..456a9a041a4308 --- /dev/null +++ b/packages/mui-system/src/PropsProvider/index.ts @@ -0,0 +1 @@ +export { default, useDefaultProps } from './PropsProvider'; diff --git a/packages/mui-system/src/ThemeProvider/ThemeProvider.js b/packages/mui-system/src/ThemeProvider/ThemeProvider.js index 760b4c4645ee50..b45989e883808d 100644 --- a/packages/mui-system/src/ThemeProvider/ThemeProvider.js +++ b/packages/mui-system/src/ThemeProvider/ThemeProvider.js @@ -9,6 +9,7 @@ import exactProp from '@mui/utils/exactProp'; import { ThemeContext as StyledEngineThemeContext } from '@mui/styled-engine'; import useThemeWithoutDefault from '../useThemeWithoutDefault'; import RtlProvider from '../RtlProvider'; +import PropsProvider from '../PropsProvider'; const EMPTY_THEME = {}; @@ -67,7 +68,9 @@ function ThemeProvider(props) { return ( - {children} + + {children} + ); From ea9650a0a24d3b4c7617a12583460002db35e972 Mon Sep 17 00:00:00 2001 From: siriwatknp Date: Thu, 13 Jun 2024 17:26:16 +0700 Subject: [PATCH 07/18] migrate to useDefaultProps --- packages/mui-lab/src/LoadingButton/LoadingButton.js | 7 +++---- packages/mui-material/src/Accordion/Accordion.js | 7 +++---- .../src/AccordionActions/AccordionActions.js | 7 +++---- .../src/AccordionDetails/AccordionDetails.js | 7 +++---- .../src/AccordionSummary/AccordionSummary.js | 7 +++---- packages/mui-material/src/Alert/Alert.js | 7 +++---- packages/mui-material/src/AlertTitle/AlertTitle.js | 7 +++---- packages/mui-material/src/AppBar/AppBar.js | 7 +++---- packages/mui-material/src/Autocomplete/Autocomplete.js | 7 +++---- packages/mui-material/src/Avatar/Avatar.js | 7 +++---- packages/mui-material/src/AvatarGroup/AvatarGroup.js | 7 +++---- packages/mui-material/src/Backdrop/Backdrop.js | 7 +++---- packages/mui-material/src/Badge/Badge.js | 7 +++---- .../src/BottomNavigation/BottomNavigation.js | 7 +++---- .../src/BottomNavigationAction/BottomNavigationAction.js | 7 +++---- packages/mui-material/src/Breadcrumbs/Breadcrumbs.js | 7 +++---- packages/mui-material/src/Button/Button.js | 7 +++---- packages/mui-material/src/ButtonBase/ButtonBase.js | 7 +++---- packages/mui-material/src/ButtonBase/TouchRipple.js | 7 +++---- packages/mui-material/src/ButtonGroup/ButtonGroup.js | 7 +++---- packages/mui-material/src/Card/Card.js | 7 +++---- .../mui-material/src/CardActionArea/CardActionArea.js | 7 +++---- packages/mui-material/src/CardActions/CardActions.js | 7 +++---- packages/mui-material/src/CardContent/CardContent.js | 7 +++---- packages/mui-material/src/CardHeader/CardHeader.js | 7 +++---- packages/mui-material/src/CardMedia/CardMedia.js | 7 +++---- packages/mui-material/src/Checkbox/Checkbox.js | 6 +++--- packages/mui-material/src/Chip/Chip.js | 7 +++---- .../src/CircularProgress/CircularProgress.js | 7 +++---- packages/mui-material/src/Collapse/Collapse.js | 7 +++---- packages/mui-material/src/Dialog/Dialog.js | 6 +++--- packages/mui-material/src/DialogActions/DialogActions.js | 7 +++---- packages/mui-material/src/DialogContent/DialogContent.js | 7 +++---- .../src/DialogContentText/DialogContentText.js | 7 +++---- packages/mui-material/src/DialogTitle/DialogTitle.js | 7 +++---- packages/mui-material/src/Divider/Divider.js | 7 +++---- packages/mui-material/src/Drawer/Drawer.js | 7 +++---- packages/mui-material/src/Fab/Fab.js | 6 +++--- packages/mui-material/src/FilledInput/FilledInput.js | 7 +++---- packages/mui-material/src/FormControl/FormControl.js | 7 +++---- .../src/FormControlLabel/FormControlLabel.js | 7 +++---- packages/mui-material/src/FormGroup/FormGroup.js | 7 +++---- .../mui-material/src/FormHelperText/FormHelperText.js | 9 ++++----- packages/mui-material/src/FormLabel/FormLabel.js | 7 +++---- packages/mui-material/src/Icon/Icon.js | 7 +++---- packages/mui-material/src/IconButton/IconButton.js | 7 +++---- packages/mui-material/src/ImageList/ImageList.js | 7 +++---- packages/mui-material/src/ImageListItem/ImageListItem.js | 7 +++---- .../src/ImageListItemBar/ImageListItemBar.js | 7 +++---- packages/mui-material/src/Input/Input.js | 7 +++---- .../mui-material/src/InputAdornment/InputAdornment.js | 9 ++++----- packages/mui-material/src/InputBase/InputBase.js | 8 +++----- packages/mui-material/src/InputLabel/InputLabel.js | 7 +++---- .../mui-material/src/LinearProgress/LinearProgress.js | 7 +++---- packages/mui-material/src/Link/Link.js | 7 +++---- packages/mui-material/src/List/List.js | 7 +++---- packages/mui-material/src/ListItem/ListItem.js | 7 +++---- .../mui-material/src/ListItemAvatar/ListItemAvatar.js | 7 +++---- .../mui-material/src/ListItemButton/ListItemButton.js | 7 +++---- packages/mui-material/src/ListItemIcon/ListItemIcon.js | 7 +++---- .../ListItemSecondaryAction/ListItemSecondaryAction.js | 7 +++---- packages/mui-material/src/ListItemText/ListItemText.js | 7 +++---- packages/mui-material/src/ListSubheader/ListSubheader.js | 7 +++---- packages/mui-material/src/Menu/Menu.js | 7 +++---- packages/mui-material/src/MenuItem/MenuItem.js | 7 +++---- packages/mui-material/src/MobileStepper/MobileStepper.js | 7 +++---- packages/mui-material/src/Modal/Modal.js | 7 +++---- packages/mui-material/src/OutlinedInput/OutlinedInput.js | 7 +++---- packages/mui-material/src/Pagination/Pagination.js | 6 +++--- .../mui-material/src/PaginationItem/PaginationItem.js | 6 +++--- packages/mui-material/src/Paper/Paper.js | 7 +++---- packages/mui-material/src/Popover/Popover.js | 7 +++---- packages/mui-material/src/Radio/Radio.js | 6 +++--- packages/mui-material/src/Rating/Rating.js | 7 +++---- packages/mui-material/src/Skeleton/Skeleton.js | 7 +++---- packages/mui-material/src/Slider/Slider.js | 7 +++---- packages/mui-material/src/Snackbar/Snackbar.js | 7 +++---- .../mui-material/src/SnackbarContent/SnackbarContent.js | 7 +++---- packages/mui-material/src/SpeedDial/SpeedDial.js | 7 +++---- .../mui-material/src/SpeedDialAction/SpeedDialAction.js | 7 +++---- packages/mui-material/src/SpeedDialIcon/SpeedDialIcon.js | 7 +++---- packages/mui-material/src/Step/Step.js | 7 +++---- packages/mui-material/src/StepButton/StepButton.js | 7 +++---- packages/mui-material/src/StepConnector/StepConnector.js | 7 +++---- packages/mui-material/src/StepContent/StepContent.js | 7 +++---- packages/mui-material/src/StepIcon/StepIcon.js | 7 +++---- packages/mui-material/src/StepLabel/StepLabel.js | 7 +++---- packages/mui-material/src/Stepper/Stepper.js | 7 +++---- packages/mui-material/src/SvgIcon/SvgIcon.js | 7 +++---- .../mui-material/src/SwipeableDrawer/SwipeableDrawer.js | 7 +++---- packages/mui-material/src/Switch/Switch.js | 7 +++---- packages/mui-material/src/Tab/Tab.js | 7 +++---- .../mui-material/src/TabScrollButton/TabScrollButton.js | 7 +++---- packages/mui-material/src/Table/Table.js | 7 +++---- packages/mui-material/src/TableBody/TableBody.js | 7 +++---- packages/mui-material/src/TableCell/TableCell.js | 7 +++---- .../mui-material/src/TableContainer/TableContainer.js | 7 +++---- packages/mui-material/src/TableFooter/TableFooter.js | 7 +++---- packages/mui-material/src/TableHead/TableHead.js | 7 +++---- .../mui-material/src/TablePagination/TablePagination.js | 7 +++---- packages/mui-material/src/TableRow/TableRow.js | 7 +++---- .../mui-material/src/TableSortLabel/TableSortLabel.js | 7 +++---- packages/mui-material/src/Tabs/Tabs.js | 7 +++---- packages/mui-material/src/TextField/TextField.js | 7 +++---- packages/mui-material/src/ToggleButton/ToggleButton.js | 7 +++---- .../src/ToggleButtonGroup/ToggleButtonGroup.js | 7 +++---- packages/mui-material/src/Toolbar/Toolbar.js | 7 +++---- packages/mui-material/src/Tooltip/Tooltip.js | 7 +++---- packages/mui-material/src/Typography/Typography.js | 6 +++--- 109 files changed, 329 insertions(+), 432 deletions(-) diff --git a/packages/mui-lab/src/LoadingButton/LoadingButton.js b/packages/mui-lab/src/LoadingButton/LoadingButton.js index 47920a507f3ecd..e5c17b2bbcf229 100644 --- a/packages/mui-lab/src/LoadingButton/LoadingButton.js +++ b/packages/mui-lab/src/LoadingButton/LoadingButton.js @@ -4,15 +4,14 @@ import PropTypes from 'prop-types'; import { chainPropTypes } from '@mui/utils'; import { capitalize, unstable_useId as useId } from '@mui/material/utils'; import { unstable_composeClasses as composeClasses } from '@mui/base'; +import { useDefaultProps } from '@mui/material/PropsProvider'; import Button from '@mui/material/Button'; import { ButtonGroupContext } from '@mui/material/ButtonGroup'; import CircularProgress from '@mui/material/CircularProgress'; import resolveProps from '@mui/utils/resolveProps'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; import loadingButtonClasses, { getLoadingButtonUtilityClass } from './loadingButtonClasses'; -const useThemeProps = createUseThemeProps('MuiLoadingButton'); - const useUtilityClasses = (ownerState) => { const { loading, loadingPosition, classes } = ownerState; @@ -198,7 +197,7 @@ const LoadingButtonLoadingIndicator = styled('span', { const LoadingButton = React.forwardRef(function LoadingButton(inProps, ref) { const contextProps = React.useContext(ButtonGroupContext); const resolvedProps = resolveProps(contextProps, inProps); - const props = useThemeProps({ props: resolvedProps, name: 'MuiLoadingButton' }); + const props = useDefaultProps({ props: resolvedProps, name: 'MuiLoadingButton' }); const { children, disabled = false, diff --git a/packages/mui-material/src/Accordion/Accordion.js b/packages/mui-material/src/Accordion/Accordion.js index dfff92e9a797e7..e2144f1675b23a 100644 --- a/packages/mui-material/src/Accordion/Accordion.js +++ b/packages/mui-material/src/Accordion/Accordion.js @@ -5,7 +5,8 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import chainPropTypes from '@mui/utils/chainPropTypes'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import Collapse from '../Collapse'; import Paper from '../Paper'; import AccordionContext from './AccordionContext'; @@ -13,8 +14,6 @@ import useControlled from '../utils/useControlled'; import useSlot from '../utils/useSlot'; import accordionClasses, { getAccordionUtilityClass } from './accordionClasses'; -const useThemeProps = createUseThemeProps('MuiAccordion'); - const useUtilityClasses = (ownerState) => { const { classes, square, expanded, disabled, disableGutters } = ownerState; @@ -126,7 +125,7 @@ const AccordionRoot = styled(Paper, { ); const Accordion = React.forwardRef(function Accordion(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiAccordion' }); + const props = useDefaultProps({ props: inProps, name: 'MuiAccordion' }); const { children: childrenProp, className, diff --git a/packages/mui-material/src/AccordionActions/AccordionActions.js b/packages/mui-material/src/AccordionActions/AccordionActions.js index 48414535b5d490..c8fe2dec57f7c6 100644 --- a/packages/mui-material/src/AccordionActions/AccordionActions.js +++ b/packages/mui-material/src/AccordionActions/AccordionActions.js @@ -3,11 +3,10 @@ import * as React from 'react'; import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import { getAccordionActionsUtilityClass } from './accordionActionsClasses'; -const useThemeProps = createUseThemeProps('MuiAccordionActions'); - const useUtilityClasses = (ownerState) => { const { classes, disableSpacing } = ownerState; @@ -44,7 +43,7 @@ const AccordionActionsRoot = styled('div', { }); const AccordionActions = React.forwardRef(function AccordionActions(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiAccordionActions' }); + const props = useDefaultProps({ props: inProps, name: 'MuiAccordionActions' }); const { className, disableSpacing = false, ...other } = props; const ownerState = { ...props, disableSpacing }; diff --git a/packages/mui-material/src/AccordionDetails/AccordionDetails.js b/packages/mui-material/src/AccordionDetails/AccordionDetails.js index d49d13b141d3aa..f1f1edb6d0b667 100644 --- a/packages/mui-material/src/AccordionDetails/AccordionDetails.js +++ b/packages/mui-material/src/AccordionDetails/AccordionDetails.js @@ -3,11 +3,10 @@ import * as React from 'react'; import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import { getAccordionDetailsUtilityClass } from './accordionDetailsClasses'; -const useThemeProps = createUseThemeProps('MuiAccordionDetails'); - const useUtilityClasses = (ownerState) => { const { classes } = ownerState; @@ -27,7 +26,7 @@ const AccordionDetailsRoot = styled('div', { })); const AccordionDetails = React.forwardRef(function AccordionDetails(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiAccordionDetails' }); + const props = useDefaultProps({ props: inProps, name: 'MuiAccordionDetails' }); const { className, ...other } = props; const ownerState = props; const classes = useUtilityClasses(ownerState); diff --git a/packages/mui-material/src/AccordionSummary/AccordionSummary.js b/packages/mui-material/src/AccordionSummary/AccordionSummary.js index 6c9ed037c3bd7a..2b9ca745677316 100644 --- a/packages/mui-material/src/AccordionSummary/AccordionSummary.js +++ b/packages/mui-material/src/AccordionSummary/AccordionSummary.js @@ -3,15 +3,14 @@ import * as React from 'react'; import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import ButtonBase from '../ButtonBase'; import AccordionContext from '../Accordion/AccordionContext'; import accordionSummaryClasses, { getAccordionSummaryUtilityClass, } from './accordionSummaryClasses'; -const useThemeProps = createUseThemeProps('MuiAccordionSummary'); - const useUtilityClasses = (ownerState) => { const { classes, expanded, disabled, disableGutters } = ownerState; @@ -101,7 +100,7 @@ const AccordionSummaryExpandIconWrapper = styled('div', { })); const AccordionSummary = React.forwardRef(function AccordionSummary(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiAccordionSummary' }); + const props = useDefaultProps({ props: inProps, name: 'MuiAccordionSummary' }); const { children, className, expandIcon, focusVisibleClassName, onClick, ...other } = props; const { disabled = false, disableGutters, expanded, toggle } = React.useContext(AccordionContext); diff --git a/packages/mui-material/src/Alert/Alert.js b/packages/mui-material/src/Alert/Alert.js index 824c3fcd1ecc35..86f36c36a2f186 100644 --- a/packages/mui-material/src/Alert/Alert.js +++ b/packages/mui-material/src/Alert/Alert.js @@ -4,7 +4,8 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { darken, lighten } from '@mui/system/colorManipulator'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import useSlot from '../utils/useSlot'; import capitalize from '../utils/capitalize'; import Paper from '../Paper'; @@ -16,8 +17,6 @@ import ErrorOutlineIcon from '../internal/svg-icons/ErrorOutline'; import InfoOutlinedIcon from '../internal/svg-icons/InfoOutlined'; import CloseIcon from '../internal/svg-icons/Close'; -const useThemeProps = createUseThemeProps('MuiAlert'); - const useUtilityClasses = (ownerState) => { const { variant, color, severity, classes } = ownerState; @@ -157,7 +156,7 @@ const defaultIconMapping = { }; const Alert = React.forwardRef(function Alert(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiAlert' }); + const props = useDefaultProps({ props: inProps, name: 'MuiAlert' }); const { action, children, diff --git a/packages/mui-material/src/AlertTitle/AlertTitle.js b/packages/mui-material/src/AlertTitle/AlertTitle.js index 01d427e93b9a91..160ac3dc7479b9 100644 --- a/packages/mui-material/src/AlertTitle/AlertTitle.js +++ b/packages/mui-material/src/AlertTitle/AlertTitle.js @@ -3,12 +3,11 @@ import * as React from 'react'; import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import Typography from '../Typography'; import { getAlertTitleUtilityClass } from './alertTitleClasses'; -const useThemeProps = createUseThemeProps('MuiAlertTitle'); - const useUtilityClasses = (ownerState) => { const { classes } = ownerState; @@ -31,7 +30,7 @@ const AlertTitleRoot = styled(Typography, { }); const AlertTitle = React.forwardRef(function AlertTitle(inProps, ref) { - const props = useThemeProps({ + const props = useDefaultProps({ props: inProps, name: 'MuiAlertTitle', }); diff --git a/packages/mui-material/src/AppBar/AppBar.js b/packages/mui-material/src/AppBar/AppBar.js index 0551398ba2ddd8..bc8eed2e1b3635 100644 --- a/packages/mui-material/src/AppBar/AppBar.js +++ b/packages/mui-material/src/AppBar/AppBar.js @@ -3,13 +3,12 @@ import * as React from 'react'; import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import capitalize from '../utils/capitalize'; import Paper from '../Paper'; import { getAppBarUtilityClass } from './appBarClasses'; -const useThemeProps = createUseThemeProps('MuiAppBar'); - const useUtilityClasses = (ownerState) => { const { color, position, classes } = ownerState; @@ -161,7 +160,7 @@ const AppBarRoot = styled(Paper, { })); const AppBar = React.forwardRef(function AppBar(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiAppBar' }); + const props = useDefaultProps({ props: inProps, name: 'MuiAppBar' }); const { className, color = 'primary', diff --git a/packages/mui-material/src/Autocomplete/Autocomplete.js b/packages/mui-material/src/Autocomplete/Autocomplete.js index ec6e7d47ecd959..3ecccece4f4183 100644 --- a/packages/mui-material/src/Autocomplete/Autocomplete.js +++ b/packages/mui-material/src/Autocomplete/Autocomplete.js @@ -18,13 +18,12 @@ import outlinedInputClasses from '../OutlinedInput/outlinedInputClasses'; import filledInputClasses from '../FilledInput/filledInputClasses'; import ClearIcon from '../internal/svg-icons/Close'; import ArrowDropDownIcon from '../internal/svg-icons/ArrowDropDown'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import autocompleteClasses, { getAutocompleteUtilityClass } from './autocompleteClasses'; import capitalize from '../utils/capitalize'; import useSlot from '../utils/useSlot'; -const useThemeProps = createUseThemeProps('MuiAutocomplete'); - const useUtilityClasses = (ownerState) => { const { classes, @@ -411,7 +410,7 @@ const AutocompleteGroupUl = styled('ul', { export { createFilterOptions }; const Autocomplete = React.forwardRef(function Autocomplete(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiAutocomplete' }); + const props = useDefaultProps({ props: inProps, name: 'MuiAutocomplete' }); /* eslint-disable @typescript-eslint/no-unused-vars */ const { diff --git a/packages/mui-material/src/Avatar/Avatar.js b/packages/mui-material/src/Avatar/Avatar.js index 30c2f794d52534..51d5d196104f52 100644 --- a/packages/mui-material/src/Avatar/Avatar.js +++ b/packages/mui-material/src/Avatar/Avatar.js @@ -3,13 +3,12 @@ import * as React from 'react'; import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import Person from '../internal/svg-icons/Person'; import { getAvatarUtilityClass } from './avatarClasses'; import useSlot from '../utils/useSlot'; -const useThemeProps = createUseThemeProps('MuiAvatar'); - const useUtilityClasses = (ownerState) => { const { classes, variant, colorDefault } = ownerState; @@ -143,7 +142,7 @@ function useLoaded({ crossOrigin, referrerPolicy, src, srcSet }) { } const Avatar = React.forwardRef(function Avatar(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiAvatar' }); + const props = useDefaultProps({ props: inProps, name: 'MuiAvatar' }); const { alt, children: childrenProp, diff --git a/packages/mui-material/src/AvatarGroup/AvatarGroup.js b/packages/mui-material/src/AvatarGroup/AvatarGroup.js index ba3f229dde4b0f..a46f6eb1b99df8 100644 --- a/packages/mui-material/src/AvatarGroup/AvatarGroup.js +++ b/packages/mui-material/src/AvatarGroup/AvatarGroup.js @@ -5,7 +5,8 @@ import { isFragment } from 'react-is'; import clsx from 'clsx'; import chainPropTypes from '@mui/utils/chainPropTypes'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import Avatar, { avatarClasses } from '../Avatar'; import avatarGroupClasses, { getAvatarGroupUtilityClass } from './avatarGroupClasses'; import useSlot from '../utils/useSlot'; @@ -15,8 +16,6 @@ const SPACINGS = { medium: -8, }; -const useThemeProps = createUseThemeProps('MuiAlert'); - const useUtilityClasses = (ownerState) => { const { classes } = ownerState; @@ -49,7 +48,7 @@ const AvatarGroupRoot = styled('div', { })); const AvatarGroup = React.forwardRef(function AvatarGroup(inProps, ref) { - const props = useThemeProps({ + const props = useDefaultProps({ props: inProps, name: 'MuiAvatarGroup', }); diff --git a/packages/mui-material/src/Backdrop/Backdrop.js b/packages/mui-material/src/Backdrop/Backdrop.js index 36f8378bfd5ecc..fb79ffaf9bb637 100644 --- a/packages/mui-material/src/Backdrop/Backdrop.js +++ b/packages/mui-material/src/Backdrop/Backdrop.js @@ -3,13 +3,12 @@ import * as React from 'react'; import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import useSlot from '../utils/useSlot'; import Fade from '../Fade'; import { getBackdropUtilityClass } from './backdropClasses'; -const useThemeProps = createUseThemeProps('MuiBackdrop'); - const useUtilityClasses = (ownerState) => { const { classes, invisible } = ownerState; @@ -50,7 +49,7 @@ const BackdropRoot = styled('div', { }); const Backdrop = React.forwardRef(function Backdrop(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiBackdrop' }); + const props = useDefaultProps({ props: inProps, name: 'MuiBackdrop' }); const { children, className, diff --git a/packages/mui-material/src/Badge/Badge.js b/packages/mui-material/src/Badge/Badge.js index 0750bffbdcf8cc..ff62cdbaec693a 100644 --- a/packages/mui-material/src/Badge/Badge.js +++ b/packages/mui-material/src/Badge/Badge.js @@ -6,15 +6,14 @@ import usePreviousProps from '@mui/utils/usePreviousProps'; import composeClasses from '@mui/utils/composeClasses'; import { useBadge } from '@mui/base/useBadge'; import { useSlotProps } from '@mui/base/utils'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import capitalize from '../utils/capitalize'; import badgeClasses, { getBadgeUtilityClass } from './badgeClasses'; const RADIUS_STANDARD = 10; const RADIUS_DOT = 4; -const useThemeProps = createUseThemeProps('MuiBadge'); - const useUtilityClasses = (ownerState) => { const { color, anchorOrigin, invisible, overlap, variant, classes = {} } = ownerState; @@ -240,7 +239,7 @@ const BadgeBadge = styled('span', { })); const Badge = React.forwardRef(function Badge(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiBadge' }); + const props = useDefaultProps({ props: inProps, name: 'MuiBadge' }); const { anchorOrigin: anchorOriginProp = { vertical: 'top', diff --git a/packages/mui-material/src/BottomNavigation/BottomNavigation.js b/packages/mui-material/src/BottomNavigation/BottomNavigation.js index 0d6ce8ed1f964e..bd118348110a3f 100755 --- a/packages/mui-material/src/BottomNavigation/BottomNavigation.js +++ b/packages/mui-material/src/BottomNavigation/BottomNavigation.js @@ -4,11 +4,10 @@ import { isFragment } from 'react-is'; import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import { getBottomNavigationUtilityClass } from './bottomNavigationClasses'; -const useThemeProps = createUseThemeProps('MuiBottomNavigation'); - const useUtilityClasses = (ownerState) => { const { classes } = ownerState; @@ -31,7 +30,7 @@ const BottomNavigationRoot = styled('div', { })); const BottomNavigation = React.forwardRef(function BottomNavigation(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiBottomNavigation' }); + const props = useDefaultProps({ props: inProps, name: 'MuiBottomNavigation' }); const { children, className, diff --git a/packages/mui-material/src/BottomNavigationAction/BottomNavigationAction.js b/packages/mui-material/src/BottomNavigationAction/BottomNavigationAction.js index e583152be06596..0426eacd8a822f 100644 --- a/packages/mui-material/src/BottomNavigationAction/BottomNavigationAction.js +++ b/packages/mui-material/src/BottomNavigationAction/BottomNavigationAction.js @@ -3,15 +3,14 @@ import * as React from 'react'; import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import ButtonBase from '../ButtonBase'; import unsupportedProp from '../utils/unsupportedProp'; import bottomNavigationActionClasses, { getBottomNavigationActionUtilityClass, } from './bottomNavigationActionClasses'; -const useThemeProps = createUseThemeProps('MuiBottomNavigationAction'); - const useUtilityClasses = (ownerState) => { const { classes, showLabel, selected } = ownerState; @@ -85,7 +84,7 @@ const BottomNavigationActionLabel = styled('span', { })); const BottomNavigationAction = React.forwardRef(function BottomNavigationAction(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiBottomNavigationAction' }); + const props = useDefaultProps({ props: inProps, name: 'MuiBottomNavigationAction' }); const { className, icon, diff --git a/packages/mui-material/src/Breadcrumbs/Breadcrumbs.js b/packages/mui-material/src/Breadcrumbs/Breadcrumbs.js index ae105db224e248..abfe1526bb7410 100644 --- a/packages/mui-material/src/Breadcrumbs/Breadcrumbs.js +++ b/packages/mui-material/src/Breadcrumbs/Breadcrumbs.js @@ -6,13 +6,12 @@ import clsx from 'clsx'; import integerPropType from '@mui/utils/integerPropType'; import { useSlotProps } from '@mui/base/utils'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import Typography from '../Typography'; import BreadcrumbCollapsed from './BreadcrumbCollapsed'; import breadcrumbsClasses, { getBreadcrumbsUtilityClass } from './breadcrumbsClasses'; -const useThemeProps = createUseThemeProps('MuiBreadcrumbs'); - const useUtilityClasses = (ownerState) => { const { classes } = ownerState; @@ -81,7 +80,7 @@ function insertSeparators(items, className, separator, ownerState) { } const Breadcrumbs = React.forwardRef(function Breadcrumbs(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiBreadcrumbs' }); + const props = useDefaultProps({ props: inProps, name: 'MuiBreadcrumbs' }); const { children, className, diff --git a/packages/mui-material/src/Button/Button.js b/packages/mui-material/src/Button/Button.js index 94d8909fa339ab..76d8bab75938b0 100644 --- a/packages/mui-material/src/Button/Button.js +++ b/packages/mui-material/src/Button/Button.js @@ -6,15 +6,14 @@ import resolveProps from '@mui/utils/resolveProps'; import composeClasses from '@mui/utils/composeClasses'; import { alpha } from '@mui/system/colorManipulator'; import rootShouldForwardProp from '../styles/rootShouldForwardProp'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import ButtonBase from '../ButtonBase'; import capitalize from '../utils/capitalize'; import buttonClasses, { getButtonUtilityClass } from './buttonClasses'; import ButtonGroupContext from '../ButtonGroup/ButtonGroupContext'; import ButtonGroupButtonContext from '../ButtonGroup/ButtonGroupButtonContext'; -const useThemeProps = createUseThemeProps('MuiButton'); - const useUtilityClasses = (ownerState) => { const { color, disableElevation, fullWidth, size, variant, classes } = ownerState; @@ -351,7 +350,7 @@ const Button = React.forwardRef(function Button(inProps, ref) { const contextProps = React.useContext(ButtonGroupContext); const buttonGroupButtonContextPositionClassName = React.useContext(ButtonGroupButtonContext); const resolvedProps = resolveProps(contextProps, inProps); - const props = useThemeProps({ props: resolvedProps, name: 'MuiButton' }); + const props = useDefaultProps({ props: resolvedProps, name: 'MuiButton' }); const { children, color = 'primary', diff --git a/packages/mui-material/src/ButtonBase/ButtonBase.js b/packages/mui-material/src/ButtonBase/ButtonBase.js index e97439c2ae8fc5..2cb391b6a17f5f 100644 --- a/packages/mui-material/src/ButtonBase/ButtonBase.js +++ b/packages/mui-material/src/ButtonBase/ButtonBase.js @@ -5,15 +5,14 @@ import clsx from 'clsx'; import refType from '@mui/utils/refType'; import elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import useForkRef from '../utils/useForkRef'; import useEventCallback from '../utils/useEventCallback'; import useIsFocusVisible from '../utils/useIsFocusVisible'; import TouchRipple from './TouchRipple'; import buttonBaseClasses, { getButtonBaseUtilityClass } from './buttonBaseClasses'; -const useThemeProps = createUseThemeProps('MuiButtonBase'); - const useUtilityClasses = (ownerState) => { const { disabled, focusVisible, focusVisibleClassName, classes } = ownerState; @@ -74,7 +73,7 @@ export const ButtonBaseRoot = styled('button', { * It contains a load of style reset and some focus/ripple logic. */ const ButtonBase = React.forwardRef(function ButtonBase(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiButtonBase' }); + const props = useDefaultProps({ props: inProps, name: 'MuiButtonBase' }); const { action, centerRipple = false, diff --git a/packages/mui-material/src/ButtonBase/TouchRipple.js b/packages/mui-material/src/ButtonBase/TouchRipple.js index 0d4fc84c9aa6ac..24e6c2b8fae644 100644 --- a/packages/mui-material/src/ButtonBase/TouchRipple.js +++ b/packages/mui-material/src/ButtonBase/TouchRipple.js @@ -4,12 +4,11 @@ import PropTypes from 'prop-types'; import { TransitionGroup } from 'react-transition-group'; import clsx from 'clsx'; import useTimeout from '@mui/utils/useTimeout'; -import { keyframes, styled, createUseThemeProps } from '../zero-styled'; +import { keyframes, styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import Ripple from './Ripple'; import touchRippleClasses from './touchRippleClasses'; -const useThemeProps = createUseThemeProps('MuiTouchRipple'); - const DURATION = 550; export const DELAY_RIPPLE = 80; @@ -120,7 +119,7 @@ export const TouchRippleRipple = styled(Ripple, { * TODO v5: Make private */ const TouchRipple = React.forwardRef(function TouchRipple(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiTouchRipple' }); + const props = useDefaultProps({ props: inProps, name: 'MuiTouchRipple' }); const { center: centerProp = false, classes = {}, className, ...other } = props; const [ripples, setRipples] = React.useState([]); diff --git a/packages/mui-material/src/ButtonGroup/ButtonGroup.js b/packages/mui-material/src/ButtonGroup/ButtonGroup.js index ad8c14004b9847..f4984c704dbbdb 100644 --- a/packages/mui-material/src/ButtonGroup/ButtonGroup.js +++ b/packages/mui-material/src/ButtonGroup/ButtonGroup.js @@ -6,13 +6,12 @@ import composeClasses from '@mui/utils/composeClasses'; import { alpha } from '@mui/system/colorManipulator'; import getValidReactChildren from '@mui/utils/getValidReactChildren'; import capitalize from '../utils/capitalize'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import buttonGroupClasses, { getButtonGroupUtilityClass } from './buttonGroupClasses'; import ButtonGroupContext from './ButtonGroupContext'; import ButtonGroupButtonContext from './ButtonGroupButtonContext'; -const useThemeProps = createUseThemeProps('MuiButtonGroup'); - const overridesResolver = (props, styles) => { const { ownerState } = props; @@ -247,7 +246,7 @@ const ButtonGroupRoot = styled('div', { })); const ButtonGroup = React.forwardRef(function ButtonGroup(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiButtonGroup' }); + const props = useDefaultProps({ props: inProps, name: 'MuiButtonGroup' }); const { children, className, diff --git a/packages/mui-material/src/Card/Card.js b/packages/mui-material/src/Card/Card.js index 6491c1499e6a0b..b9fea85cc37599 100644 --- a/packages/mui-material/src/Card/Card.js +++ b/packages/mui-material/src/Card/Card.js @@ -4,12 +4,11 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import chainPropTypes from '@mui/utils/chainPropTypes'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import Paper from '../Paper'; import { getCardUtilityClass } from './cardClasses'; -const useThemeProps = createUseThemeProps('MuiCard'); - const useUtilityClasses = (ownerState) => { const { classes } = ownerState; @@ -29,7 +28,7 @@ const CardRoot = styled(Paper, { }); const Card = React.forwardRef(function Card(inProps, ref) { - const props = useThemeProps({ + const props = useDefaultProps({ props: inProps, name: 'MuiCard', }); diff --git a/packages/mui-material/src/CardActionArea/CardActionArea.js b/packages/mui-material/src/CardActionArea/CardActionArea.js index 4100818481d347..6af0ee5301126f 100644 --- a/packages/mui-material/src/CardActionArea/CardActionArea.js +++ b/packages/mui-material/src/CardActionArea/CardActionArea.js @@ -3,12 +3,11 @@ import * as React from 'react'; import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import cardActionAreaClasses, { getCardActionAreaUtilityClass } from './cardActionAreaClasses'; import ButtonBase from '../ButtonBase'; -const useThemeProps = createUseThemeProps('MuiCardActionArea'); - const useUtilityClasses = (ownerState) => { const { classes } = ownerState; @@ -61,7 +60,7 @@ const CardActionAreaFocusHighlight = styled('span', { })); const CardActionArea = React.forwardRef(function CardActionArea(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiCardActionArea' }); + const props = useDefaultProps({ props: inProps, name: 'MuiCardActionArea' }); const { children, className, focusVisibleClassName, ...other } = props; const ownerState = props; diff --git a/packages/mui-material/src/CardActions/CardActions.js b/packages/mui-material/src/CardActions/CardActions.js index 9d320165213fd3..a5dd98a22baf51 100644 --- a/packages/mui-material/src/CardActions/CardActions.js +++ b/packages/mui-material/src/CardActions/CardActions.js @@ -3,11 +3,10 @@ import * as React from 'react'; import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import { getCardActionsUtilityClass } from './cardActionsClasses'; -const useThemeProps = createUseThemeProps('MuiCardActions'); - const useUtilityClasses = (ownerState) => { const { classes, disableSpacing } = ownerState; @@ -43,7 +42,7 @@ const CardActionsRoot = styled('div', { }); const CardActions = React.forwardRef(function CardActions(inProps, ref) { - const props = useThemeProps({ + const props = useDefaultProps({ props: inProps, name: 'MuiCardActions', }); diff --git a/packages/mui-material/src/CardContent/CardContent.js b/packages/mui-material/src/CardContent/CardContent.js index 860be046db369d..8ddf2ca1079cec 100644 --- a/packages/mui-material/src/CardContent/CardContent.js +++ b/packages/mui-material/src/CardContent/CardContent.js @@ -3,11 +3,10 @@ import * as React from 'react'; import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import { getCardContentUtilityClass } from './cardContentClasses'; -const useThemeProps = createUseThemeProps('MuiCardContent'); - const useUtilityClasses = (ownerState) => { const { classes } = ownerState; @@ -30,7 +29,7 @@ const CardContentRoot = styled('div', { }); const CardContent = React.forwardRef(function CardContent(inProps, ref) { - const props = useThemeProps({ + const props = useDefaultProps({ props: inProps, name: 'MuiCardContent', }); diff --git a/packages/mui-material/src/CardHeader/CardHeader.js b/packages/mui-material/src/CardHeader/CardHeader.js index 694784cca9a52e..7ef22fba476d00 100644 --- a/packages/mui-material/src/CardHeader/CardHeader.js +++ b/packages/mui-material/src/CardHeader/CardHeader.js @@ -4,11 +4,10 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import Typography from '../Typography'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import cardHeaderClasses, { getCardHeaderUtilityClass } from './cardHeaderClasses'; -const useThemeProps = createUseThemeProps('MuiCardHeader'); - const useUtilityClasses = (ownerState) => { const { classes } = ownerState; @@ -69,7 +68,7 @@ const CardHeaderContent = styled('div', { }); const CardHeader = React.forwardRef(function CardHeader(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiCardHeader' }); + const props = useDefaultProps({ props: inProps, name: 'MuiCardHeader' }); const { action, avatar, diff --git a/packages/mui-material/src/CardMedia/CardMedia.js b/packages/mui-material/src/CardMedia/CardMedia.js index 94d3746941c149..c6c4fd6dba3bfc 100644 --- a/packages/mui-material/src/CardMedia/CardMedia.js +++ b/packages/mui-material/src/CardMedia/CardMedia.js @@ -4,11 +4,10 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import chainPropTypes from '@mui/utils/chainPropTypes'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import { getCardMediaUtilityClass } from './cardMediaClasses'; -const useThemeProps = createUseThemeProps('MuiCardMedia'); - const useUtilityClasses = (ownerState) => { const { classes, isMediaComponent, isImageComponent } = ownerState; @@ -53,7 +52,7 @@ const MEDIA_COMPONENTS = ['video', 'audio', 'picture', 'iframe', 'img']; const IMAGE_COMPONENTS = ['picture', 'img']; const CardMedia = React.forwardRef(function CardMedia(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiCardMedia' }); + const props = useDefaultProps({ props: inProps, name: 'MuiCardMedia' }); const { children, className, component = 'div', image, src, style, ...other } = props; const isMediaComponent = MEDIA_COMPONENTS.indexOf(component) !== -1; diff --git a/packages/mui-material/src/Checkbox/Checkbox.js b/packages/mui-material/src/Checkbox/Checkbox.js index 3ee5d2c856ede9..938cbee736b707 100644 --- a/packages/mui-material/src/Checkbox/Checkbox.js +++ b/packages/mui-material/src/Checkbox/Checkbox.js @@ -12,9 +12,9 @@ import IndeterminateCheckBoxIcon from '../internal/svg-icons/IndeterminateCheckB import capitalize from '../utils/capitalize'; import rootShouldForwardProp from '../styles/rootShouldForwardProp'; import checkboxClasses, { getCheckboxUtilityClass } from './checkboxClasses'; -import { createUseThemeProps, styled } from '../zero-styled'; +import { styled } from '../zero-styled'; -const useThemeProps = createUseThemeProps('MuiCheckbox'); +import { useDefaultProps } from '../PropsProvider'; const useUtilityClasses = (ownerState) => { const { classes, indeterminate, color, size } = ownerState; @@ -108,7 +108,7 @@ const defaultIcon = ; const defaultIndeterminateIcon = ; const Checkbox = React.forwardRef(function Checkbox(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiCheckbox' }); + const props = useDefaultProps({ props: inProps, name: 'MuiCheckbox' }); const { checkedIcon = defaultCheckedIcon, color = 'primary', diff --git a/packages/mui-material/src/Chip/Chip.js b/packages/mui-material/src/Chip/Chip.js index 6420d7a9da1065..0cfe9087c805b0 100644 --- a/packages/mui-material/src/Chip/Chip.js +++ b/packages/mui-material/src/Chip/Chip.js @@ -9,11 +9,10 @@ import useForkRef from '../utils/useForkRef'; import unsupportedProp from '../utils/unsupportedProp'; import capitalize from '../utils/capitalize'; import ButtonBase from '../ButtonBase'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import chipClasses, { getChipUtilityClass } from './chipClasses'; -const useThemeProps = createUseThemeProps('MuiChip'); - const useUtilityClasses = (ownerState) => { const { classes, disabled, size, color, iconColor, onDelete, clickable, variant } = ownerState; @@ -378,7 +377,7 @@ function isDeleteKeyboardEvent(keyboardEvent) { * Chips represent complex entities in small blocks, such as a contact. */ const Chip = React.forwardRef(function Chip(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiChip' }); + const props = useDefaultProps({ props: inProps, name: 'MuiChip' }); const { avatar: avatarProp, className, diff --git a/packages/mui-material/src/CircularProgress/CircularProgress.js b/packages/mui-material/src/CircularProgress/CircularProgress.js index 9be1a8db6b74bd..be0c38701f0725 100644 --- a/packages/mui-material/src/CircularProgress/CircularProgress.js +++ b/packages/mui-material/src/CircularProgress/CircularProgress.js @@ -4,12 +4,11 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import chainPropTypes from '@mui/utils/chainPropTypes'; import composeClasses from '@mui/utils/composeClasses'; -import { keyframes, css, createUseThemeProps, styled } from '../zero-styled'; +import { keyframes, css, styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import capitalize from '../utils/capitalize'; import { getCircularProgressUtilityClass } from './circularProgressClasses'; -const useThemeProps = createUseThemeProps('MuiCircularProgress'); - const SIZE = 44; const circularRotateKeyframe = keyframes` @@ -170,7 +169,7 @@ const CircularProgressCircle = styled('circle', { * attribute to `true` on that region until it has finished loading. */ const CircularProgress = React.forwardRef(function CircularProgress(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiCircularProgress' }); + const props = useDefaultProps({ props: inProps, name: 'MuiCircularProgress' }); const { className, color = 'primary', diff --git a/packages/mui-material/src/Collapse/Collapse.js b/packages/mui-material/src/Collapse/Collapse.js index dfbd74726d4e00..7788a9ddd8b444 100644 --- a/packages/mui-material/src/Collapse/Collapse.js +++ b/packages/mui-material/src/Collapse/Collapse.js @@ -6,14 +6,13 @@ import { Transition } from 'react-transition-group'; import useTimeout from '@mui/utils/useTimeout'; import elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps, useTheme } from '../zero-styled'; +import { styled, useTheme } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import { duration } from '../styles/createTransitions'; import { getTransitionProps } from '../transitions/utils'; import { useForkRef } from '../utils'; import { getCollapseUtilityClass } from './collapseClasses'; -const useThemeProps = createUseThemeProps('MuiCollapse'); - const useUtilityClasses = (ownerState) => { const { orientation, classes } = ownerState; @@ -133,7 +132,7 @@ const CollapseWrapperInner = styled('div', { * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally. */ const Collapse = React.forwardRef(function Collapse(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiCollapse' }); + const props = useDefaultProps({ props: inProps, name: 'MuiCollapse' }); const { addEndListener, children, diff --git a/packages/mui-material/src/Dialog/Dialog.js b/packages/mui-material/src/Dialog/Dialog.js index 0988a7c8818508..c8c76ace799041 100644 --- a/packages/mui-material/src/Dialog/Dialog.js +++ b/packages/mui-material/src/Dialog/Dialog.js @@ -11,9 +11,9 @@ import Paper from '../Paper'; import dialogClasses, { getDialogUtilityClass } from './dialogClasses'; import DialogContext from './DialogContext'; import Backdrop from '../Backdrop'; -import { styled, createUseThemeProps, useTheme } from '../zero-styled'; +import { styled, useTheme } from '../zero-styled'; -const useThemeProps = createUseThemeProps('MuiDialog'); +import { useDefaultProps } from '../PropsProvider'; const DialogBackdrop = styled(Backdrop, { name: 'MuiDialog', @@ -203,7 +203,7 @@ const DialogPaper = styled(Paper, { * Dialogs are overlaid modal paper based components with a backdrop. */ const Dialog = React.forwardRef(function Dialog(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiDialog' }); + const props = useDefaultProps({ props: inProps, name: 'MuiDialog' }); const theme = useTheme(); const defaultTransitionDuration = { enter: theme.transitions.duration.enteringScreen, diff --git a/packages/mui-material/src/DialogActions/DialogActions.js b/packages/mui-material/src/DialogActions/DialogActions.js index b57f1dab955c8d..3b4ab7195365d2 100644 --- a/packages/mui-material/src/DialogActions/DialogActions.js +++ b/packages/mui-material/src/DialogActions/DialogActions.js @@ -3,11 +3,10 @@ import * as React from 'react'; import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import { getDialogActionsUtilityClass } from './dialogActionsClasses'; -const useThemeProps = createUseThemeProps('MuiDialogActions'); - const useUtilityClasses = (ownerState) => { const { classes, disableSpacing } = ownerState; @@ -45,7 +44,7 @@ const DialogActionsRoot = styled('div', { }); const DialogActions = React.forwardRef(function DialogActions(inProps, ref) { - const props = useThemeProps({ + const props = useDefaultProps({ props: inProps, name: 'MuiDialogActions', }); diff --git a/packages/mui-material/src/DialogContent/DialogContent.js b/packages/mui-material/src/DialogContent/DialogContent.js index 2a9d222ef44c2b..dfe0c3582b1092 100644 --- a/packages/mui-material/src/DialogContent/DialogContent.js +++ b/packages/mui-material/src/DialogContent/DialogContent.js @@ -3,12 +3,11 @@ import * as React from 'react'; import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import { getDialogContentUtilityClass } from './dialogContentClasses'; import dialogTitleClasses from '../DialogTitle/dialogTitleClasses'; -const useThemeProps = createUseThemeProps('MuiDialogContent'); - const useUtilityClasses = (ownerState) => { const { classes, dividers } = ownerState; @@ -54,7 +53,7 @@ const DialogContentRoot = styled('div', { })); const DialogContent = React.forwardRef(function DialogContent(inProps, ref) { - const props = useThemeProps({ + const props = useDefaultProps({ props: inProps, name: 'MuiDialogContent', }); diff --git a/packages/mui-material/src/DialogContentText/DialogContentText.js b/packages/mui-material/src/DialogContentText/DialogContentText.js index ebb915bb144f50..a31733d4754fd2 100644 --- a/packages/mui-material/src/DialogContentText/DialogContentText.js +++ b/packages/mui-material/src/DialogContentText/DialogContentText.js @@ -4,12 +4,11 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import rootShouldForwardProp from '../styles/rootShouldForwardProp'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import Typography from '../Typography'; import { getDialogContentTextUtilityClass } from './dialogContentTextClasses'; -const useThemeProps = createUseThemeProps('MuiDialogContentText'); - const useUtilityClasses = (ownerState) => { const { classes } = ownerState; @@ -33,7 +32,7 @@ const DialogContentTextRoot = styled(Typography, { })({}); const DialogContentText = React.forwardRef(function DialogContentText(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiDialogContentText' }); + const props = useDefaultProps({ props: inProps, name: 'MuiDialogContentText' }); const { children, className, ...ownerState } = props; const classes = useUtilityClasses(ownerState); diff --git a/packages/mui-material/src/DialogTitle/DialogTitle.js b/packages/mui-material/src/DialogTitle/DialogTitle.js index 9c59a9e706d32c..d42930a2146ae6 100644 --- a/packages/mui-material/src/DialogTitle/DialogTitle.js +++ b/packages/mui-material/src/DialogTitle/DialogTitle.js @@ -4,12 +4,11 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import Typography from '../Typography'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import { getDialogTitleUtilityClass } from './dialogTitleClasses'; import DialogContext from '../Dialog/DialogContext'; -const useThemeProps = createUseThemeProps('MuiDialogTitle'); - const useUtilityClasses = (ownerState) => { const { classes } = ownerState; @@ -30,7 +29,7 @@ const DialogTitleRoot = styled(Typography, { }); const DialogTitle = React.forwardRef(function DialogTitle(inProps, ref) { - const props = useThemeProps({ + const props = useDefaultProps({ props: inProps, name: 'MuiDialogTitle', }); diff --git a/packages/mui-material/src/Divider/Divider.js b/packages/mui-material/src/Divider/Divider.js index 986b39f01b61af..628d970c39513f 100644 --- a/packages/mui-material/src/Divider/Divider.js +++ b/packages/mui-material/src/Divider/Divider.js @@ -4,11 +4,10 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { alpha } from '@mui/system/colorManipulator'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import { getDividerUtilityClass } from './dividerClasses'; -const useThemeProps = createUseThemeProps('MuiDivider'); - const useUtilityClasses = (ownerState) => { const { absolute, children, classes, flexItem, light, orientation, textAlign, variant } = ownerState; @@ -216,7 +215,7 @@ const DividerWrapper = styled('span', { })); const Divider = React.forwardRef(function Divider(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiDivider' }); + const props = useDefaultProps({ props: inProps, name: 'MuiDivider' }); const { absolute = false, children, diff --git a/packages/mui-material/src/Drawer/Drawer.js b/packages/mui-material/src/Drawer/Drawer.js index 45f7b9bbb2af61..ef696f69c1a77b 100644 --- a/packages/mui-material/src/Drawer/Drawer.js +++ b/packages/mui-material/src/Drawer/Drawer.js @@ -10,11 +10,10 @@ import Slide from '../Slide'; import Paper from '../Paper'; import capitalize from '../utils/capitalize'; import rootShouldForwardProp from '../styles/rootShouldForwardProp'; -import { styled, createUseThemeProps, useTheme } from '../zero-styled'; +import { styled, useTheme } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import { getDrawerUtilityClass } from './drawerClasses'; -const useThemeProps = createUseThemeProps('MuiDrawer'); - const overridesResolver = (props, styles) => { const { ownerState } = props; @@ -180,7 +179,7 @@ export function getAnchor({ direction }, anchor) { * when `variant="temporary"` is set. */ const Drawer = React.forwardRef(function Drawer(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiDrawer' }); + const props = useDefaultProps({ props: inProps, name: 'MuiDrawer' }); const theme = useTheme(); const isRtl = useRtl(); const defaultTransitionDuration = { diff --git a/packages/mui-material/src/Fab/Fab.js b/packages/mui-material/src/Fab/Fab.js index cdb560dd8c09d7..0bbaa2f50b5942 100644 --- a/packages/mui-material/src/Fab/Fab.js +++ b/packages/mui-material/src/Fab/Fab.js @@ -7,9 +7,9 @@ import ButtonBase from '../ButtonBase'; import capitalize from '../utils/capitalize'; import fabClasses, { getFabUtilityClass } from './fabClasses'; import rootShouldForwardProp from '../styles/rootShouldForwardProp'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; -const useThemeProps = createUseThemeProps('MuiFab'); +import { useDefaultProps } from '../PropsProvider'; const useUtilityClasses = (ownerState) => { const { color, variant, classes, size } = ownerState; @@ -163,7 +163,7 @@ const FabRoot = styled(ButtonBase, { ); const Fab = React.forwardRef(function Fab(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiFab' }); + const props = useDefaultProps({ props: inProps, name: 'MuiFab' }); const { children, className, diff --git a/packages/mui-material/src/FilledInput/FilledInput.js b/packages/mui-material/src/FilledInput/FilledInput.js index 92e49730039934..2abd9c2828b2fb 100644 --- a/packages/mui-material/src/FilledInput/FilledInput.js +++ b/packages/mui-material/src/FilledInput/FilledInput.js @@ -6,7 +6,8 @@ import PropTypes from 'prop-types'; import composeClasses from '@mui/utils/composeClasses'; import InputBase from '../InputBase'; import rootShouldForwardProp from '../styles/rootShouldForwardProp'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import filledInputClasses, { getFilledInputUtilityClass } from './filledInputClasses'; import { rootOverridesResolver as inputBaseRootOverridesResolver, @@ -16,8 +17,6 @@ import { } from '../InputBase/InputBase'; import { capitalize } from '../utils'; -const useThemeProps = createUseThemeProps('MuiFilledInput'); - const useUtilityClasses = (ownerState) => { const { classes, disableUnderline, startAdornment, endAdornment, size, hiddenLabel, multiline } = ownerState; @@ -270,7 +269,7 @@ const FilledInputInput = styled(InputBaseInput, { })); const FilledInput = React.forwardRef(function FilledInput(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiFilledInput' }); + const props = useDefaultProps({ props: inProps, name: 'MuiFilledInput' }); const { disableUnderline = false, diff --git a/packages/mui-material/src/FormControl/FormControl.js b/packages/mui-material/src/FormControl/FormControl.js index e4b79ab62b9ecf..3c94e5ee9f7087 100644 --- a/packages/mui-material/src/FormControl/FormControl.js +++ b/packages/mui-material/src/FormControl/FormControl.js @@ -3,15 +3,14 @@ import * as React from 'react'; import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import { isFilled, isAdornedStart } from '../InputBase/utils'; import capitalize from '../utils/capitalize'; import isMuiElement from '../utils/isMuiElement'; import FormControlContext from './FormControlContext'; import { getFormControlUtilityClasses } from './formControlClasses'; -const useThemeProps = createUseThemeProps('MuiFormControl'); - const useUtilityClasses = (ownerState) => { const { classes, margin, fullWidth } = ownerState; const slots = { @@ -90,7 +89,7 @@ const FormControlRoot = styled('div', { * For instance, only one input can be focused at the same time, the state shouldn't be shared. */ const FormControl = React.forwardRef(function FormControl(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiFormControl' }); + const props = useDefaultProps({ props: inProps, name: 'MuiFormControl' }); const { children, className, diff --git a/packages/mui-material/src/FormControlLabel/FormControlLabel.js b/packages/mui-material/src/FormControlLabel/FormControlLabel.js index 5765933206a476..bf749163e30738 100644 --- a/packages/mui-material/src/FormControlLabel/FormControlLabel.js +++ b/packages/mui-material/src/FormControlLabel/FormControlLabel.js @@ -5,7 +5,8 @@ import clsx from 'clsx'; import refType from '@mui/utils/refType'; import composeClasses from '@mui/utils/composeClasses'; import { useFormControl } from '../FormControl'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import Stack from '../Stack'; import Typography from '../Typography'; import capitalize from '../utils/capitalize'; @@ -15,8 +16,6 @@ import formControlLabelClasses, { import formControlState from '../FormControl/formControlState'; import useSlot from '../utils/useSlot'; -const useThemeProps = createUseThemeProps('MuiFormControlLabel'); - const useUtilityClasses = (ownerState) => { const { classes, disabled, labelPlacement, error, required } = ownerState; const slots = { @@ -108,7 +107,7 @@ const AsteriskComponent = styled('span', { * Use this component if you want to display an extra label. */ const FormControlLabel = React.forwardRef(function FormControlLabel(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiFormControlLabel' }); + const props = useDefaultProps({ props: inProps, name: 'MuiFormControlLabel' }); const { checked, className, diff --git a/packages/mui-material/src/FormGroup/FormGroup.js b/packages/mui-material/src/FormGroup/FormGroup.js index 0912b1aabd7b08..26dd2527ac163e 100644 --- a/packages/mui-material/src/FormGroup/FormGroup.js +++ b/packages/mui-material/src/FormGroup/FormGroup.js @@ -3,13 +3,12 @@ import * as React from 'react'; import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import { getFormGroupUtilityClass } from './formGroupClasses'; import useFormControl from '../FormControl/useFormControl'; import formControlState from '../FormControl/formControlState'; -const useThemeProps = createUseThemeProps('MuiFormGroup'); - const useUtilityClasses = (ownerState) => { const { classes, row, error } = ownerState; @@ -48,7 +47,7 @@ const FormGroupRoot = styled('div', { * For the `Radio`, you should be using the `RadioGroup` component instead of this one. */ const FormGroup = React.forwardRef(function FormGroup(inProps, ref) { - const props = useThemeProps({ + const props = useDefaultProps({ props: inProps, name: 'MuiFormGroup', }); diff --git a/packages/mui-material/src/FormHelperText/FormHelperText.js b/packages/mui-material/src/FormHelperText/FormHelperText.js index 2a3a5fc7cbe5bc..11796d4343f304 100644 --- a/packages/mui-material/src/FormHelperText/FormHelperText.js +++ b/packages/mui-material/src/FormHelperText/FormHelperText.js @@ -5,12 +5,11 @@ import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import formControlState from '../FormControl/formControlState'; import useFormControl from '../FormControl/useFormControl'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import capitalize from '../utils/capitalize'; import formHelperTextClasses, { getFormHelperTextUtilityClasses } from './formHelperTextClasses'; -const useThemeProps = createUseThemeProps('MuiFormHelperText'); - const useUtilityClasses = (ownerState) => { const { classes, contained, size, disabled, error, filled, focused, required } = ownerState; const slots = { @@ -76,7 +75,7 @@ const FormHelperTextRoot = styled('p', { })); const FormHelperText = React.forwardRef(function FormHelperText(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiFormHelperText' }); + const props = useDefaultProps({ props: inProps, name: 'MuiFormHelperText' }); const { children, className, @@ -126,7 +125,7 @@ const FormHelperText = React.forwardRef(function FormHelperText(inProps, ref) { > {children === ' ' ? ( // notranslate needed while Google Translate will not fix zero-width space issue - + ) : ( children )} diff --git a/packages/mui-material/src/FormLabel/FormLabel.js b/packages/mui-material/src/FormLabel/FormLabel.js index efa75c022f23c8..1b00839b4c4582 100644 --- a/packages/mui-material/src/FormLabel/FormLabel.js +++ b/packages/mui-material/src/FormLabel/FormLabel.js @@ -6,11 +6,10 @@ import composeClasses from '@mui/utils/composeClasses'; import formControlState from '../FormControl/formControlState'; import useFormControl from '../FormControl/useFormControl'; import capitalize from '../utils/capitalize'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import formLabelClasses, { getFormLabelUtilityClasses } from './formLabelClasses'; -const useThemeProps = createUseThemeProps('MuiFormLabel'); - const useUtilityClasses = (ownerState) => { const { classes, color, focused, disabled, error, filled, required } = ownerState; const slots = { @@ -81,7 +80,7 @@ const AsteriskComponent = styled('span', { })); const FormLabel = React.forwardRef(function FormLabel(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiFormLabel' }); + const props = useDefaultProps({ props: inProps, name: 'MuiFormLabel' }); const { children, className, diff --git a/packages/mui-material/src/Icon/Icon.js b/packages/mui-material/src/Icon/Icon.js index e382b2f5b4ed17..149fbc3be60c72 100644 --- a/packages/mui-material/src/Icon/Icon.js +++ b/packages/mui-material/src/Icon/Icon.js @@ -4,11 +4,10 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import capitalize from '../utils/capitalize'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import { getIconUtilityClass } from './iconClasses'; -const useThemeProps = createUseThemeProps('MuiIcon'); - const useUtilityClasses = (ownerState) => { const { color, fontSize, classes } = ownerState; @@ -114,7 +113,7 @@ const IconRoot = styled('span', { })); const Icon = React.forwardRef(function Icon(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiIcon' }); + const props = useDefaultProps({ props: inProps, name: 'MuiIcon' }); const { baseClassName = 'material-icons', className, diff --git a/packages/mui-material/src/IconButton/IconButton.js b/packages/mui-material/src/IconButton/IconButton.js index 6e4013edfcefcc..e53b774e731d09 100644 --- a/packages/mui-material/src/IconButton/IconButton.js +++ b/packages/mui-material/src/IconButton/IconButton.js @@ -5,13 +5,12 @@ import clsx from 'clsx'; import chainPropTypes from '@mui/utils/chainPropTypes'; import composeClasses from '@mui/utils/composeClasses'; import { alpha } from '@mui/system/colorManipulator'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import ButtonBase from '../ButtonBase'; import capitalize from '../utils/capitalize'; import iconButtonClasses, { getIconButtonUtilityClass } from './iconButtonClasses'; -const useThemeProps = createUseThemeProps('MuiIconButton'); - const useUtilityClasses = (ownerState) => { const { classes, disabled, color, edge, size } = ownerState; @@ -157,7 +156,7 @@ const IconButtonRoot = styled(ButtonBase, { * regarding the available icon options. */ const IconButton = React.forwardRef(function IconButton(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiIconButton' }); + const props = useDefaultProps({ props: inProps, name: 'MuiIconButton' }); const { edge = false, children, diff --git a/packages/mui-material/src/ImageList/ImageList.js b/packages/mui-material/src/ImageList/ImageList.js index ee641bf92adb8a..094ccc2c000c68 100644 --- a/packages/mui-material/src/ImageList/ImageList.js +++ b/packages/mui-material/src/ImageList/ImageList.js @@ -4,12 +4,11 @@ import integerPropType from '@mui/utils/integerPropType'; import clsx from 'clsx'; import PropTypes from 'prop-types'; import * as React from 'react'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import { getImageListUtilityClass } from './imageListClasses'; import ImageListContext from './ImageListContext'; -const useThemeProps = createUseThemeProps('MuiImageList'); - const useUtilityClasses = (ownerState) => { const { classes, variant } = ownerState; @@ -48,7 +47,7 @@ const ImageListRoot = styled('ul', { }); const ImageList = React.forwardRef(function ImageList(inProps, ref) { - const props = useThemeProps({ + const props = useDefaultProps({ props: inProps, name: 'MuiImageList', }); diff --git a/packages/mui-material/src/ImageListItem/ImageListItem.js b/packages/mui-material/src/ImageListItem/ImageListItem.js index db5a43ced0b559..e0b706769e3950 100644 --- a/packages/mui-material/src/ImageListItem/ImageListItem.js +++ b/packages/mui-material/src/ImageListItem/ImageListItem.js @@ -6,12 +6,11 @@ import PropTypes from 'prop-types'; import * as React from 'react'; import { isFragment } from 'react-is'; import ImageListContext from '../ImageList/ImageListContext'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import isMuiElement from '../utils/isMuiElement'; import imageListItemClasses, { getImageListItemUtilityClass } from './imageListItemClasses'; -const useThemeProps = createUseThemeProps('MuiImageListItem'); - const useUtilityClasses = (ownerState) => { const { classes, variant } = ownerState; @@ -82,7 +81,7 @@ const ImageListItemRoot = styled('li', { }); const ImageListItem = React.forwardRef(function ImageListItem(inProps, ref) { - const props = useThemeProps({ + const props = useDefaultProps({ props: inProps, name: 'MuiImageListItem', }); diff --git a/packages/mui-material/src/ImageListItemBar/ImageListItemBar.js b/packages/mui-material/src/ImageListItemBar/ImageListItemBar.js index f5be968bc2a616..aaedaafaa68bf8 100644 --- a/packages/mui-material/src/ImageListItemBar/ImageListItemBar.js +++ b/packages/mui-material/src/ImageListItemBar/ImageListItemBar.js @@ -3,12 +3,11 @@ import composeClasses from '@mui/utils/composeClasses'; import clsx from 'clsx'; import PropTypes from 'prop-types'; import * as React from 'react'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import capitalize from '../utils/capitalize'; import { getImageListItemBarUtilityClass } from './imageListItemBarClasses'; -const useThemeProps = createUseThemeProps('MuiImageListItemBar'); - const useUtilityClasses = (ownerState) => { const { classes, position, actionIcon, actionPosition } = ownerState; @@ -172,7 +171,7 @@ const ImageListItemBarActionIcon = styled('div', { }); const ImageListItemBar = React.forwardRef(function ImageListItemBar(inProps, ref) { - const props = useThemeProps({ + const props = useDefaultProps({ props: inProps, name: 'MuiImageListItemBar', }); diff --git a/packages/mui-material/src/Input/Input.js b/packages/mui-material/src/Input/Input.js index 698f5e8ef4da13..97c4bda3e0ba54 100644 --- a/packages/mui-material/src/Input/Input.js +++ b/packages/mui-material/src/Input/Input.js @@ -6,7 +6,8 @@ import deepmerge from '@mui/utils/deepmerge'; import refType from '@mui/utils/refType'; import InputBase from '../InputBase'; import rootShouldForwardProp from '../styles/rootShouldForwardProp'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import inputClasses, { getInputUtilityClass } from './inputClasses'; import { rootOverridesResolver as inputBaseRootOverridesResolver, @@ -15,8 +16,6 @@ import { InputBaseInput, } from '../InputBase/InputBase'; -const useThemeProps = createUseThemeProps('MuiInput'); - const useUtilityClasses = (ownerState) => { const { classes, disableUnderline } = ownerState; @@ -133,7 +132,7 @@ const InputInput = styled(InputBaseInput, { })({}); const Input = React.forwardRef(function Input(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiInput' }); + const props = useDefaultProps({ props: inProps, name: 'MuiInput' }); const { disableUnderline = false, components = {}, diff --git a/packages/mui-material/src/InputAdornment/InputAdornment.js b/packages/mui-material/src/InputAdornment/InputAdornment.js index fb2e14349bb96c..d8850ed6cb8e21 100644 --- a/packages/mui-material/src/InputAdornment/InputAdornment.js +++ b/packages/mui-material/src/InputAdornment/InputAdornment.js @@ -7,11 +7,10 @@ import capitalize from '../utils/capitalize'; import Typography from '../Typography'; import FormControlContext from '../FormControl/FormControlContext'; import useFormControl from '../FormControl/useFormControl'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses'; -const useThemeProps = createUseThemeProps('MuiInputAdornment'); - const overridesResolver = (props, styles) => { const { ownerState } = props; @@ -88,7 +87,7 @@ const InputAdornmentRoot = styled('div', { })); const InputAdornment = React.forwardRef(function InputAdornment(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiInputAdornment' }); + const props = useDefaultProps({ props: inProps, name: 'MuiInputAdornment' }); const { children, className, @@ -146,7 +145,7 @@ const InputAdornment = React.forwardRef(function InputAdornment(inProps, ref) { {/* To have the correct vertical alignment baseline */} {position === 'start' ? ( /* notranslate needed while Google Translate will not fix zero-width space issue */ - + ) : null} {children} diff --git a/packages/mui-material/src/InputBase/InputBase.js b/packages/mui-material/src/InputBase/InputBase.js index 0b032c6548acbb..d1e2d1515eb7c9 100644 --- a/packages/mui-material/src/InputBase/InputBase.js +++ b/packages/mui-material/src/InputBase/InputBase.js @@ -11,15 +11,14 @@ import composeClasses from '@mui/utils/composeClasses'; import formControlState from '../FormControl/formControlState'; import FormControlContext from '../FormControl/FormControlContext'; import useFormControl from '../FormControl/useFormControl'; -import { styled, createUseThemeProps, globalCss } from '../zero-styled'; +import { styled, globalCss } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import capitalize from '../utils/capitalize'; import useForkRef from '../utils/useForkRef'; import useEnhancedEffect from '../utils/useEnhancedEffect'; import { isFilled } from './utils'; import inputBaseClasses, { getInputBaseUtilityClass } from './inputBaseClasses'; -const useThemeProps = createUseThemeProps('MuiInputBase'); - export const rootOverridesResolver = (props, styles) => { const { ownerState } = props; @@ -263,7 +262,7 @@ const InputGlobalStyles = globalCss({ * It contains a load of style reset and some state logic. */ const InputBase = React.forwardRef(function InputBase(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiInputBase' }); + const props = useDefaultProps({ props: inProps, name: 'MuiInputBase' }); const { 'aria-describedby': ariaDescribedby, autoComplete, @@ -530,7 +529,6 @@ const InputBase = React.forwardRef(function InputBase(inProps, ref) { // For Pigment CSS, this has no effect because the InputGlobalStyles will be null. )} - { const { classes, formControl, size, shrink, disableAnimation, variant, required } = ownerState; const slots = { @@ -172,7 +171,7 @@ const InputLabelRoot = styled(FormLabel, { })); const InputLabel = React.forwardRef(function InputLabel(inProps, ref) { - const props = useThemeProps({ name: 'MuiInputLabel', props: inProps }); + const props = useDefaultProps({ name: 'MuiInputLabel', props: inProps }); const { disableAnimation = false, margin, diff --git a/packages/mui-material/src/LinearProgress/LinearProgress.js b/packages/mui-material/src/LinearProgress/LinearProgress.js index ddc40f02efc5ed..c29638244fa90f 100644 --- a/packages/mui-material/src/LinearProgress/LinearProgress.js +++ b/packages/mui-material/src/LinearProgress/LinearProgress.js @@ -5,12 +5,11 @@ import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { darken, lighten } from '@mui/system/colorManipulator'; import { useRtl } from '@mui/system/RtlProvider'; -import { keyframes, css, styled, createUseThemeProps } from '../zero-styled'; +import { keyframes, css, styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import capitalize from '../utils/capitalize'; import { getLinearProgressUtilityClass } from './linearProgressClasses'; -const useThemeProps = createUseThemeProps('MuiLinearProgress'); - const TRANSITION_DURATION = 4; // seconds const indeterminate1Keyframe = keyframes` 0% { @@ -372,7 +371,7 @@ const LinearProgressBar2 = styled('span', { * attribute to `true` on that region until it has finished loading. */ const LinearProgress = React.forwardRef(function LinearProgress(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiLinearProgress' }); + const props = useDefaultProps({ props: inProps, name: 'MuiLinearProgress' }); const { className, color = 'primary', diff --git a/packages/mui-material/src/Link/Link.js b/packages/mui-material/src/Link/Link.js index 80cf5374e66af5..25b2070884f84f 100644 --- a/packages/mui-material/src/Link/Link.js +++ b/packages/mui-material/src/Link/Link.js @@ -6,15 +6,14 @@ import { alpha } from '@mui/system/colorManipulator'; import elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef'; import composeClasses from '@mui/utils/composeClasses'; import capitalize from '../utils/capitalize'; -import { styled, createUseThemeProps, useTheme } from '../zero-styled'; +import { styled, useTheme } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import useIsFocusVisible from '../utils/useIsFocusVisible'; import useForkRef from '../utils/useForkRef'; import Typography from '../Typography'; import linkClasses, { getLinkUtilityClass } from './linkClasses'; import getTextDecoration, { colorTransformations } from './getTextDecoration'; -const useThemeProps = createUseThemeProps('MuiLink'); - const useUtilityClasses = (ownerState) => { const { classes, component, focusVisible, underline } = ownerState; @@ -124,7 +123,7 @@ const LinkRoot = styled(Typography, { }); const Link = React.forwardRef(function Link(inProps, ref) { - const props = useThemeProps({ + const props = useDefaultProps({ props: inProps, name: 'MuiLink', }); diff --git a/packages/mui-material/src/List/List.js b/packages/mui-material/src/List/List.js index d2eda963fdb226..e951848ecc9357 100644 --- a/packages/mui-material/src/List/List.js +++ b/packages/mui-material/src/List/List.js @@ -3,12 +3,11 @@ import * as React from 'react'; import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import ListContext from './ListContext'; import { getListUtilityClass } from './listClasses'; -const useThemeProps = createUseThemeProps('MuiList'); - const useUtilityClasses = (ownerState) => { const { classes, disablePadding, dense, subheader } = ownerState; @@ -55,7 +54,7 @@ const ListRoot = styled('ul', { }); const List = React.forwardRef(function List(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiList' }); + const props = useDefaultProps({ props: inProps, name: 'MuiList' }); const { children, className, diff --git a/packages/mui-material/src/ListItem/ListItem.js b/packages/mui-material/src/ListItem/ListItem.js index 3597750670b2a3..fb7f1c9c5e93fb 100644 --- a/packages/mui-material/src/ListItem/ListItem.js +++ b/packages/mui-material/src/ListItem/ListItem.js @@ -7,7 +7,8 @@ import composeClasses from '@mui/utils/composeClasses'; import elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef'; import chainPropTypes from '@mui/utils/chainPropTypes'; import { alpha } from '@mui/system/colorManipulator'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import ButtonBase from '../ButtonBase'; import isMuiElement from '../utils/isMuiElement'; import useEnhancedEffect from '../utils/useEnhancedEffect'; @@ -17,8 +18,6 @@ import listItemClasses, { getListItemUtilityClass } from './listItemClasses'; import { listItemButtonClasses } from '../ListItemButton'; import ListItemSecondaryAction from '../ListItemSecondaryAction'; -const useThemeProps = createUseThemeProps('MuiListItem'); - export const overridesResolver = (props, styles) => { const { ownerState } = props; @@ -205,7 +204,7 @@ const ListItemContainer = styled('li', { * Uses an additional container component if `ListItemSecondaryAction` is the last child. */ const ListItem = React.forwardRef(function ListItem(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiListItem' }); + const props = useDefaultProps({ props: inProps, name: 'MuiListItem' }); const { alignItems = 'center', autoFocus = false, diff --git a/packages/mui-material/src/ListItemAvatar/ListItemAvatar.js b/packages/mui-material/src/ListItemAvatar/ListItemAvatar.js index f7138878c93ac7..587748338c4aeb 100644 --- a/packages/mui-material/src/ListItemAvatar/ListItemAvatar.js +++ b/packages/mui-material/src/ListItemAvatar/ListItemAvatar.js @@ -4,11 +4,10 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import ListContext from '../List/ListContext'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import { getListItemAvatarUtilityClass } from './listItemAvatarClasses'; -const useThemeProps = createUseThemeProps('MuiListItemAvatar'); - const useUtilityClasses = (ownerState) => { const { alignItems, classes } = ownerState; @@ -46,7 +45,7 @@ const ListItemAvatarRoot = styled('div', { * A simple wrapper to apply `List` styles to an `Avatar`. */ const ListItemAvatar = React.forwardRef(function ListItemAvatar(inProps, ref) { - const props = useThemeProps({ + const props = useDefaultProps({ props: inProps, name: 'MuiListItemAvatar', }); diff --git a/packages/mui-material/src/ListItemButton/ListItemButton.js b/packages/mui-material/src/ListItemButton/ListItemButton.js index 96bcca86416d8e..a157e850e6ab82 100644 --- a/packages/mui-material/src/ListItemButton/ListItemButton.js +++ b/packages/mui-material/src/ListItemButton/ListItemButton.js @@ -4,7 +4,8 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { alpha } from '@mui/system/colorManipulator'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import rootShouldForwardProp from '../styles/rootShouldForwardProp'; import ButtonBase from '../ButtonBase'; import useEnhancedEffect from '../utils/useEnhancedEffect'; @@ -12,8 +13,6 @@ import useForkRef from '../utils/useForkRef'; import ListContext from '../List/ListContext'; import listItemButtonClasses, { getListItemButtonUtilityClass } from './listItemButtonClasses'; -const useThemeProps = createUseThemeProps('MuiListItemButton'); - export const overridesResolver = (props, styles) => { const { ownerState } = props; @@ -144,7 +143,7 @@ const ListItemButtonRoot = styled(ButtonBase, { })); const ListItemButton = React.forwardRef(function ListItemButton(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiListItemButton' }); + const props = useDefaultProps({ props: inProps, name: 'MuiListItemButton' }); const { alignItems = 'center', autoFocus = false, diff --git a/packages/mui-material/src/ListItemIcon/ListItemIcon.js b/packages/mui-material/src/ListItemIcon/ListItemIcon.js index d3d158aef7b68c..3d40e0f6fa2108 100644 --- a/packages/mui-material/src/ListItemIcon/ListItemIcon.js +++ b/packages/mui-material/src/ListItemIcon/ListItemIcon.js @@ -3,12 +3,11 @@ import * as React from 'react'; import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import { getListItemIconUtilityClass } from './listItemIconClasses'; import ListContext from '../List/ListContext'; -const useThemeProps = createUseThemeProps('MuiListItemIcon'); - const useUtilityClasses = (ownerState) => { const { alignItems, classes } = ownerState; @@ -48,7 +47,7 @@ const ListItemIconRoot = styled('div', { * A simple wrapper to apply `List` styles to an `Icon` or `SvgIcon`. */ const ListItemIcon = React.forwardRef(function ListItemIcon(inProps, ref) { - const props = useThemeProps({ + const props = useDefaultProps({ props: inProps, name: 'MuiListItemIcon', }); diff --git a/packages/mui-material/src/ListItemSecondaryAction/ListItemSecondaryAction.js b/packages/mui-material/src/ListItemSecondaryAction/ListItemSecondaryAction.js index f91162f6bc3aae..c60db137ae977f 100644 --- a/packages/mui-material/src/ListItemSecondaryAction/ListItemSecondaryAction.js +++ b/packages/mui-material/src/ListItemSecondaryAction/ListItemSecondaryAction.js @@ -3,12 +3,11 @@ import * as React from 'react'; import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import ListContext from '../List/ListContext'; import { getListItemSecondaryActionClassesUtilityClass } from './listItemSecondaryActionClasses'; -const useThemeProps = createUseThemeProps('MuiListItemSecondaryAction'); - const useUtilityClasses = (ownerState) => { const { disableGutters, classes } = ownerState; @@ -48,7 +47,7 @@ const ListItemSecondaryActionRoot = styled('div', { * @deprecated Use the `secondaryAction` prop in the `ListItem` component instead. This component will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details. */ const ListItemSecondaryAction = React.forwardRef(function ListItemSecondaryAction(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiListItemSecondaryAction' }); + const props = useDefaultProps({ props: inProps, name: 'MuiListItemSecondaryAction' }); const { className, ...other } = props; const context = React.useContext(ListContext); const ownerState = { ...props, disableGutters: context.disableGutters }; diff --git a/packages/mui-material/src/ListItemText/ListItemText.js b/packages/mui-material/src/ListItemText/ListItemText.js index 0352eecbe62bbf..a926f72667b4b6 100644 --- a/packages/mui-material/src/ListItemText/ListItemText.js +++ b/packages/mui-material/src/ListItemText/ListItemText.js @@ -5,11 +5,10 @@ import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import Typography from '../Typography'; import ListContext from '../List/ListContext'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import listItemTextClasses, { getListItemTextUtilityClass } from './listItemTextClasses'; -const useThemeProps = createUseThemeProps('MuiListItemText'); - const useUtilityClasses = (ownerState) => { const { classes, inset, primary, secondary, dense } = ownerState; @@ -60,7 +59,7 @@ const ListItemTextRoot = styled('div', { }); const ListItemText = React.forwardRef(function ListItemText(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiListItemText' }); + const props = useDefaultProps({ props: inProps, name: 'MuiListItemText' }); const { children, className, diff --git a/packages/mui-material/src/ListSubheader/ListSubheader.js b/packages/mui-material/src/ListSubheader/ListSubheader.js index 86d530050d3324..6ee95f9eb03abc 100644 --- a/packages/mui-material/src/ListSubheader/ListSubheader.js +++ b/packages/mui-material/src/ListSubheader/ListSubheader.js @@ -3,12 +3,11 @@ import * as React from 'react'; import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import capitalize from '../utils/capitalize'; import { getListSubheaderUtilityClass } from './listSubheaderClasses'; -const useThemeProps = createUseThemeProps('MuiListSubheader'); - const useUtilityClasses = (ownerState) => { const { classes, color, disableGutters, inset, disableSticky } = ownerState; @@ -90,7 +89,7 @@ const ListSubheaderRoot = styled('li', { })); const ListSubheader = React.forwardRef(function ListSubheader(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiListSubheader' }); + const props = useDefaultProps({ props: inProps, name: 'MuiListSubheader' }); const { className, color = 'default', diff --git a/packages/mui-material/src/Menu/Menu.js b/packages/mui-material/src/Menu/Menu.js index 19269471b5d609..c82a2e4bcfb795 100644 --- a/packages/mui-material/src/Menu/Menu.js +++ b/packages/mui-material/src/Menu/Menu.js @@ -10,11 +10,10 @@ import { useRtl } from '@mui/system/RtlProvider'; import MenuList from '../MenuList'; import Popover, { PopoverPaper } from '../Popover'; import rootShouldForwardProp from '../styles/rootShouldForwardProp'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import { getMenuUtilityClass } from './menuClasses'; -const useThemeProps = createUseThemeProps('MuiMenu'); - const RTL_ORIGIN = { vertical: 'top', horizontal: 'right', @@ -67,7 +66,7 @@ const MenuMenuList = styled(MenuList, { }); const Menu = React.forwardRef(function Menu(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiMenu' }); + const props = useDefaultProps({ props: inProps, name: 'MuiMenu' }); const { autoFocus = true, diff --git a/packages/mui-material/src/MenuItem/MenuItem.js b/packages/mui-material/src/MenuItem/MenuItem.js index 7819d4e76e073d..4c762eb7df9aff 100644 --- a/packages/mui-material/src/MenuItem/MenuItem.js +++ b/packages/mui-material/src/MenuItem/MenuItem.js @@ -5,7 +5,8 @@ import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { alpha } from '@mui/system/colorManipulator'; import rootShouldForwardProp from '../styles/rootShouldForwardProp'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import ListContext from '../List/ListContext'; import ButtonBase from '../ButtonBase'; import useEnhancedEffect from '../utils/useEnhancedEffect'; @@ -15,8 +16,6 @@ import { listItemIconClasses } from '../ListItemIcon'; import { listItemTextClasses } from '../ListItemText'; import menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses'; -const useThemeProps = createUseThemeProps('MuiMenuItem'); - export const overridesResolver = (props, styles) => { const { ownerState } = props; @@ -163,7 +162,7 @@ const MenuItemRoot = styled(ButtonBase, { })); const MenuItem = React.forwardRef(function MenuItem(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiMenuItem' }); + const props = useDefaultProps({ props: inProps, name: 'MuiMenuItem' }); const { autoFocus = false, component = 'li', diff --git a/packages/mui-material/src/MobileStepper/MobileStepper.js b/packages/mui-material/src/MobileStepper/MobileStepper.js index 4bda0efad9c004..37cfd36c4f56c5 100644 --- a/packages/mui-material/src/MobileStepper/MobileStepper.js +++ b/packages/mui-material/src/MobileStepper/MobileStepper.js @@ -7,12 +7,11 @@ import composeClasses from '@mui/utils/composeClasses'; import Paper from '../Paper'; import capitalize from '../utils/capitalize'; import LinearProgress from '../LinearProgress'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import slotShouldForwardProp from '../styles/slotShouldForwardProp'; import { getMobileStepperUtilityClass } from './mobileStepperClasses'; -const useThemeProps = createUseThemeProps('MuiMobileStepper'); - const useUtilityClasses = (ownerState) => { const { classes, position } = ownerState; @@ -128,7 +127,7 @@ const MobileStepperProgress = styled(LinearProgress, { }); const MobileStepper = React.forwardRef(function MobileStepper(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiMobileStepper' }); + const props = useDefaultProps({ props: inProps, name: 'MuiMobileStepper' }); const { activeStep = 0, backButton, diff --git a/packages/mui-material/src/Modal/Modal.js b/packages/mui-material/src/Modal/Modal.js index 8e7f5f1d9d5166..dff87895bba54c 100644 --- a/packages/mui-material/src/Modal/Modal.js +++ b/packages/mui-material/src/Modal/Modal.js @@ -9,12 +9,11 @@ import { unstable_useModal as useModal } from '@mui/base/unstable_useModal'; import composeClasses from '@mui/utils/composeClasses'; import FocusTrap from '../Unstable_TrapFocus'; import Portal from '../Portal'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import Backdrop from '../Backdrop'; import { getModalUtilityClass } from './modalClasses'; -const useThemeProps = createUseThemeProps('MuiModal'); - const useUtilityClasses = (ownerState) => { const { open, exited, classes } = ownerState; @@ -75,7 +74,7 @@ const ModalBackdrop = styled(Backdrop, { * This component shares many concepts with [react-overlays](https://react-bootstrap.github.io/react-overlays/#modals). */ const Modal = React.forwardRef(function Modal(inProps, ref) { - const props = useThemeProps({ name: 'MuiModal', props: inProps }); + const props = useDefaultProps({ name: 'MuiModal', props: inProps }); const { BackdropComponent = ModalBackdrop, BackdropProps, diff --git a/packages/mui-material/src/OutlinedInput/OutlinedInput.js b/packages/mui-material/src/OutlinedInput/OutlinedInput.js index 43a2aaa51e06da..f4ef0ed1abdb8b 100644 --- a/packages/mui-material/src/OutlinedInput/OutlinedInput.js +++ b/packages/mui-material/src/OutlinedInput/OutlinedInput.js @@ -7,7 +7,8 @@ import NotchedOutline from './NotchedOutline'; import useFormControl from '../FormControl/useFormControl'; import formControlState from '../FormControl/formControlState'; import rootShouldForwardProp from '../styles/rootShouldForwardProp'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import outlinedInputClasses, { getOutlinedInputUtilityClass } from './outlinedInputClasses'; import InputBase, { rootOverridesResolver as inputBaseRootOverridesResolver, @@ -16,8 +17,6 @@ import InputBase, { InputBaseInput, } from '../InputBase/InputBase'; -const useThemeProps = createUseThemeProps('MuiOutlinedInput'); - const useUtilityClasses = (ownerState) => { const { classes } = ownerState; @@ -181,7 +180,7 @@ const OutlinedInputInput = styled(InputBaseInput, { })); const OutlinedInput = React.forwardRef(function OutlinedInput(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiOutlinedInput' }); + const props = useDefaultProps({ props: inProps, name: 'MuiOutlinedInput' }); const { components = {}, fullWidth = false, diff --git a/packages/mui-material/src/Pagination/Pagination.js b/packages/mui-material/src/Pagination/Pagination.js index 3796474ceb2f9a..12f36c34efbe48 100644 --- a/packages/mui-material/src/Pagination/Pagination.js +++ b/packages/mui-material/src/Pagination/Pagination.js @@ -7,9 +7,9 @@ import integerPropType from '@mui/utils/integerPropType'; import { getPaginationUtilityClass } from './paginationClasses'; import usePagination from '../usePagination'; import PaginationItem from '../PaginationItem'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; -const useThemeProps = createUseThemeProps('MuiPagination'); +import { useDefaultProps } from '../PropsProvider'; const useUtilityClasses = (ownerState) => { const { classes, variant } = ownerState; @@ -53,7 +53,7 @@ function defaultGetAriaLabel(type, page, selected) { } const Pagination = React.forwardRef(function Pagination(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiPagination' }); + const props = useDefaultProps({ props: inProps, name: 'MuiPagination' }); const { boundaryCount = 1, className, diff --git a/packages/mui-material/src/PaginationItem/PaginationItem.js b/packages/mui-material/src/PaginationItem/PaginationItem.js index 07c4df53b50452..1826929d22e9a1 100644 --- a/packages/mui-material/src/PaginationItem/PaginationItem.js +++ b/packages/mui-material/src/PaginationItem/PaginationItem.js @@ -13,9 +13,9 @@ import LastPageIcon from '../internal/svg-icons/LastPage'; import NavigateBeforeIcon from '../internal/svg-icons/NavigateBefore'; import NavigateNextIcon from '../internal/svg-icons/NavigateNext'; import useSlot from '../utils/useSlot'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; -const useThemeProps = createUseThemeProps('MuiPaginationItem'); +import { useDefaultProps } from '../PropsProvider'; const overridesResolver = (props, styles) => { const { ownerState } = props; @@ -302,7 +302,7 @@ const PaginationItemPageIcon = styled('div', { })); const PaginationItem = React.forwardRef(function PaginationItem(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiPaginationItem' }); + const props = useDefaultProps({ props: inProps, name: 'MuiPaginationItem' }); const { className, color = 'standard', diff --git a/packages/mui-material/src/Paper/Paper.js b/packages/mui-material/src/Paper/Paper.js index f4b9bbb4ae1bc8..e7be2d10af680e 100644 --- a/packages/mui-material/src/Paper/Paper.js +++ b/packages/mui-material/src/Paper/Paper.js @@ -6,12 +6,11 @@ import integerPropType from '@mui/utils/integerPropType'; import chainPropTypes from '@mui/utils/chainPropTypes'; import composeClasses from '@mui/utils/composeClasses'; import { alpha } from '@mui/system/colorManipulator'; -import { styled, createUseThemeProps, useTheme } from '../zero-styled'; +import { styled, useTheme } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import getOverlayAlpha from '../styles/getOverlayAlpha'; import { getPaperUtilityClass } from './paperClasses'; -const useThemeProps = createUseThemeProps('MuiPaper'); - const useUtilityClasses = (ownerState) => { const { square, elevation, variant, classes } = ownerState; @@ -72,7 +71,7 @@ const PaperRoot = styled('div', { })); const Paper = React.forwardRef(function Paper(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiPaper' }); + const props = useDefaultProps({ props: inProps, name: 'MuiPaper' }); const theme = useTheme(); const { diff --git a/packages/mui-material/src/Popover/Popover.js b/packages/mui-material/src/Popover/Popover.js index b0594958bf0595..86379c80ff34fa 100644 --- a/packages/mui-material/src/Popover/Popover.js +++ b/packages/mui-material/src/Popover/Popover.js @@ -9,7 +9,8 @@ import refType from '@mui/utils/refType'; import elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef'; import integerPropType from '@mui/utils/integerPropType'; import chainPropTypes from '@mui/utils/chainPropTypes'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import debounce from '../utils/debounce'; import ownerDocument from '../utils/ownerDocument'; import ownerWindow from '../utils/ownerWindow'; @@ -20,8 +21,6 @@ import PaperBase from '../Paper'; import { getPopoverUtilityClass } from './popoverClasses'; import useSlot from '../utils/useSlot'; -const useThemeProps = createUseThemeProps('MuiPopover'); - export function getOffsetTop(rect, vertical) { let offset = 0; @@ -96,7 +95,7 @@ export const PopoverPaper = styled(PaperBase, { }); const Popover = React.forwardRef(function Popover(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiPopover' }); + const props = useDefaultProps({ props: inProps, name: 'MuiPopover' }); const { action, anchorEl, diff --git a/packages/mui-material/src/Radio/Radio.js b/packages/mui-material/src/Radio/Radio.js index 7aa76e7d0395e6..6945312179b779 100644 --- a/packages/mui-material/src/Radio/Radio.js +++ b/packages/mui-material/src/Radio/Radio.js @@ -12,9 +12,9 @@ import createChainedFunction from '../utils/createChainedFunction'; import useRadioGroup from '../RadioGroup/useRadioGroup'; import radioClasses, { getRadioUtilityClass } from './radioClasses'; import rootShouldForwardProp from '../styles/rootShouldForwardProp'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; -const useThemeProps = createUseThemeProps('MuiRadio'); +import { useDefaultProps } from '../PropsProvider'; const useUtilityClasses = (ownerState) => { const { classes, color, size } = ownerState; @@ -108,7 +108,7 @@ const defaultCheckedIcon = ; const defaultIcon = ; const Radio = React.forwardRef(function Radio(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiRadio' }); + const props = useDefaultProps({ props: inProps, name: 'MuiRadio' }); const { checked: checkedProp, checkedIcon = defaultCheckedIcon, diff --git a/packages/mui-material/src/Rating/Rating.js b/packages/mui-material/src/Rating/Rating.js index a61b3dde83c6e6..35c52b5bf20b16 100644 --- a/packages/mui-material/src/Rating/Rating.js +++ b/packages/mui-material/src/Rating/Rating.js @@ -16,12 +16,11 @@ import { } from '../utils'; import Star from '../internal/svg-icons/Star'; import StarBorder from '../internal/svg-icons/StarBorder'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import slotShouldForwardProp from '../styles/slotShouldForwardProp'; import ratingClasses, { getRatingUtilityClass } from './ratingClasses'; -const useThemeProps = createUseThemeProps('MuiRating'); - function getDecimalPrecision(num) { const decimalPart = num.toString().split('.')[1]; return decimalPart ? decimalPart.length : 0; @@ -331,7 +330,7 @@ function defaultLabelText(value) { } const Rating = React.forwardRef(function Rating(inProps, ref) { - const props = useThemeProps({ name: 'MuiRating', props: inProps }); + const props = useDefaultProps({ name: 'MuiRating', props: inProps }); const { className, defaultValue = null, diff --git a/packages/mui-material/src/Skeleton/Skeleton.js b/packages/mui-material/src/Skeleton/Skeleton.js index 46ad2e2d5c0c02..05c10df01e896f 100644 --- a/packages/mui-material/src/Skeleton/Skeleton.js +++ b/packages/mui-material/src/Skeleton/Skeleton.js @@ -4,11 +4,10 @@ import clsx from 'clsx'; import PropTypes from 'prop-types'; import composeClasses from '@mui/utils/composeClasses'; import { alpha, unstable_getUnit as getUnit, unstable_toUnitless as toUnitless } from '../styles'; -import { keyframes, css, createUseThemeProps, styled } from '../zero-styled'; +import { keyframes, css, styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import { getSkeletonUtilityClass } from './skeletonClasses'; -const useThemeProps = createUseThemeProps('MuiSkeleton'); - const useUtilityClasses = (ownerState) => { const { classes, variant, animation, hasChildren, width, height } = ownerState; @@ -200,7 +199,7 @@ const SkeletonRoot = styled('span', { }); const Skeleton = React.forwardRef(function Skeleton(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiSkeleton' }); + const props = useDefaultProps({ props: inProps, name: 'MuiSkeleton' }); const { animation = 'pulse', className, diff --git a/packages/mui-material/src/Slider/Slider.js b/packages/mui-material/src/Slider/Slider.js index 00c7f49cfcaf81..9f8c8f22731e7a 100644 --- a/packages/mui-material/src/Slider/Slider.js +++ b/packages/mui-material/src/Slider/Slider.js @@ -8,15 +8,14 @@ import composeClasses from '@mui/utils/composeClasses'; import { useSlider, valueToPercent } from '@mui/base/useSlider'; import { alpha, lighten, darken } from '@mui/system/colorManipulator'; import { useRtl } from '@mui/system/RtlProvider'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import slotShouldForwardProp from '../styles/slotShouldForwardProp'; import shouldSpreadAdditionalProps from '../utils/shouldSpreadAdditionalProps'; import capitalize from '../utils/capitalize'; import BaseSliderValueLabel from './SliderValueLabel'; import sliderClasses, { getSliderUtilityClass } from './sliderClasses'; -const useThemeProps = createUseThemeProps('MuiSlider'); - function Identity(x) { return x; } @@ -531,7 +530,7 @@ const useUtilityClasses = (ownerState) => { const Forward = ({ children }) => children; const Slider = React.forwardRef(function Slider(inputProps, ref) { - const props = useThemeProps({ props: inputProps, name: 'MuiSlider' }); + const props = useDefaultProps({ props: inputProps, name: 'MuiSlider' }); const isRtl = useRtl(); diff --git a/packages/mui-material/src/Snackbar/Snackbar.js b/packages/mui-material/src/Snackbar/Snackbar.js index e44634c3679e1f..ea8cc3899b931e 100644 --- a/packages/mui-material/src/Snackbar/Snackbar.js +++ b/packages/mui-material/src/Snackbar/Snackbar.js @@ -5,14 +5,13 @@ import { useSlotProps } from '@mui/base/utils'; import composeClasses from '@mui/utils/composeClasses'; import { ClickAwayListener } from '@mui/base/ClickAwayListener'; import { useSnackbar } from '@mui/base/useSnackbar'; -import { styled, createUseThemeProps, useTheme } from '../zero-styled'; +import { styled, useTheme } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import capitalize from '../utils/capitalize'; import Grow from '../Grow'; import SnackbarContent from '../SnackbarContent'; import { getSnackbarUtilityClass } from './snackbarClasses'; -const useThemeProps = createUseThemeProps('MuiSnackbar'); - const useUtilityClasses = (ownerState) => { const { classes, anchorOrigin } = ownerState; @@ -92,7 +91,7 @@ const SnackbarRoot = styled('div', { })); const Snackbar = React.forwardRef(function Snackbar(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiSnackbar' }); + const props = useDefaultProps({ props: inProps, name: 'MuiSnackbar' }); const theme = useTheme(); const defaultTransitionDuration = { enter: theme.transitions.duration.enteringScreen, diff --git a/packages/mui-material/src/SnackbarContent/SnackbarContent.js b/packages/mui-material/src/SnackbarContent/SnackbarContent.js index 10e1e774167f23..2ec0a36c3b6a9f 100644 --- a/packages/mui-material/src/SnackbarContent/SnackbarContent.js +++ b/packages/mui-material/src/SnackbarContent/SnackbarContent.js @@ -4,12 +4,11 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { emphasize } from '@mui/system/colorManipulator'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import Paper from '../Paper'; import { getSnackbarContentUtilityClass } from './snackbarContentClasses'; -const useThemeProps = createUseThemeProps('MuiSnackbarContent'); - const useUtilityClasses = (ownerState) => { const { classes } = ownerState; @@ -70,7 +69,7 @@ const SnackbarContentAction = styled('div', { }); const SnackbarContent = React.forwardRef(function SnackbarContent(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiSnackbarContent' }); + const props = useDefaultProps({ props: inProps, name: 'MuiSnackbarContent' }); const { action, className, message, role = 'alert', ...other } = props; const ownerState = props; const classes = useUtilityClasses(ownerState); diff --git a/packages/mui-material/src/SpeedDial/SpeedDial.js b/packages/mui-material/src/SpeedDial/SpeedDial.js index 5fec02b848c903..a459f4e4de5ace 100644 --- a/packages/mui-material/src/SpeedDial/SpeedDial.js +++ b/packages/mui-material/src/SpeedDial/SpeedDial.js @@ -6,7 +6,8 @@ import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import useTimeout from '@mui/utils/useTimeout'; import clamp from '@mui/utils/clamp'; -import { styled, createUseThemeProps, useTheme } from '../zero-styled'; +import { styled, useTheme } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import Zoom from '../Zoom'; import Fab from '../Fab'; import capitalize from '../utils/capitalize'; @@ -16,8 +17,6 @@ import useControlled from '../utils/useControlled'; import speedDialClasses, { getSpeedDialUtilityClass } from './speedDialClasses'; import useSlot from '../utils/useSlot'; -const useThemeProps = createUseThemeProps('MuiSpeedDial'); - const useUtilityClasses = (ownerState) => { const { classes, open, direction } = ownerState; @@ -143,7 +142,7 @@ const SpeedDialActions = styled('div', { }); const SpeedDial = React.forwardRef(function SpeedDial(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiSpeedDial' }); + const props = useDefaultProps({ props: inProps, name: 'MuiSpeedDial' }); const theme = useTheme(); const defaultTransitionDuration = { enter: theme.transitions.duration.enteringScreen, diff --git a/packages/mui-material/src/SpeedDialAction/SpeedDialAction.js b/packages/mui-material/src/SpeedDialAction/SpeedDialAction.js index 50729eccf4a4f1..4d03ca94340edd 100644 --- a/packages/mui-material/src/SpeedDialAction/SpeedDialAction.js +++ b/packages/mui-material/src/SpeedDialAction/SpeedDialAction.js @@ -5,14 +5,13 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { emphasize } from '@mui/system/colorManipulator'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import Fab from '../Fab'; import Tooltip from '../Tooltip'; import capitalize from '../utils/capitalize'; import speedDialActionClasses, { getSpeedDialActionUtilityClass } from './speedDialActionClasses'; -const useThemeProps = createUseThemeProps('MuiSpeedDialAction'); - const useUtilityClasses = (ownerState) => { const { open, tooltipPlacement, classes } = ownerState; @@ -137,7 +136,7 @@ const SpeedDialActionStaticTooltipLabel = styled('span', { })); const SpeedDialAction = React.forwardRef(function SpeedDialAction(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiSpeedDialAction' }); + const props = useDefaultProps({ props: inProps, name: 'MuiSpeedDialAction' }); const { className, delay = 0, diff --git a/packages/mui-material/src/SpeedDialIcon/SpeedDialIcon.js b/packages/mui-material/src/SpeedDialIcon/SpeedDialIcon.js index 06dfaebd0ae7bb..6fe6320e597e23 100644 --- a/packages/mui-material/src/SpeedDialIcon/SpeedDialIcon.js +++ b/packages/mui-material/src/SpeedDialIcon/SpeedDialIcon.js @@ -3,12 +3,11 @@ import * as React from 'react'; import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import AddIcon from '../internal/svg-icons/Add'; import speedDialIconClasses, { getSpeedDialIconUtilityClass } from './speedDialIconClasses'; -const useThemeProps = createUseThemeProps('MuiSpeedDialIcon'); - const useUtilityClasses = (ownerState) => { const { classes, open, openIcon } = ownerState; @@ -84,7 +83,7 @@ const SpeedDialIconRoot = styled('span', { })); const SpeedDialIcon = React.forwardRef(function SpeedDialIcon(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiSpeedDialIcon' }); + const props = useDefaultProps({ props: inProps, name: 'MuiSpeedDialIcon' }); const { className, icon: iconProp, open, openIcon: openIconProp, ...other } = props; const ownerState = props; diff --git a/packages/mui-material/src/Step/Step.js b/packages/mui-material/src/Step/Step.js index 61bd9567935007..5a3efc1c475866 100644 --- a/packages/mui-material/src/Step/Step.js +++ b/packages/mui-material/src/Step/Step.js @@ -6,11 +6,10 @@ import integerPropType from '@mui/utils/integerPropType'; import composeClasses from '@mui/utils/composeClasses'; import StepperContext from '../Stepper/StepperContext'; import StepContext from './StepContext'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import { getStepUtilityClass } from './stepClasses'; -const useThemeProps = createUseThemeProps('MuiStep'); - const useUtilityClasses = (ownerState) => { const { classes, orientation, alternativeLabel, completed } = ownerState; @@ -54,7 +53,7 @@ const StepRoot = styled('div', { }); const Step = React.forwardRef(function Step(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiStep' }); + const props = useDefaultProps({ props: inProps, name: 'MuiStep' }); const { active: activeProp, children, diff --git a/packages/mui-material/src/StepButton/StepButton.js b/packages/mui-material/src/StepButton/StepButton.js index a724a65805bc51..436e98d1dc07f7 100644 --- a/packages/mui-material/src/StepButton/StepButton.js +++ b/packages/mui-material/src/StepButton/StepButton.js @@ -3,7 +3,8 @@ import * as React from 'react'; import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import ButtonBase from '../ButtonBase'; import StepLabel from '../StepLabel'; import isMuiElement from '../utils/isMuiElement'; @@ -11,8 +12,6 @@ import StepperContext from '../Stepper/StepperContext'; import StepContext from '../Step/StepContext'; import stepButtonClasses, { getStepButtonUtilityClass } from './stepButtonClasses'; -const useThemeProps = createUseThemeProps('MuiStepButton'); - const useUtilityClasses = (ownerState) => { const { classes, orientation } = ownerState; @@ -57,7 +56,7 @@ const StepButtonRoot = styled(ButtonBase, { }); const StepButton = React.forwardRef(function StepButton(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiStepButton' }); + const props = useDefaultProps({ props: inProps, name: 'MuiStepButton' }); const { children, className, icon, optional, ...other } = props; const { disabled, active } = React.useContext(StepContext); diff --git a/packages/mui-material/src/StepConnector/StepConnector.js b/packages/mui-material/src/StepConnector/StepConnector.js index a7fb2da0d41939..16660b52eef196 100644 --- a/packages/mui-material/src/StepConnector/StepConnector.js +++ b/packages/mui-material/src/StepConnector/StepConnector.js @@ -4,13 +4,12 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import capitalize from '../utils/capitalize'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import StepperContext from '../Stepper/StepperContext'; import StepContext from '../Step/StepContext'; import { getStepConnectorUtilityClass } from './stepConnectorClasses'; -const useThemeProps = createUseThemeProps('MuiStepConnector'); - const useUtilityClasses = (ownerState) => { const { classes, orientation, alternativeLabel, active, completed, disabled } = ownerState; @@ -98,7 +97,7 @@ const StepConnectorLine = styled('span', { }); const StepConnector = React.forwardRef(function StepConnector(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiStepConnector' }); + const props = useDefaultProps({ props: inProps, name: 'MuiStepConnector' }); const { className, ...other } = props; const { alternativeLabel, orientation = 'horizontal' } = React.useContext(StepperContext); diff --git a/packages/mui-material/src/StepContent/StepContent.js b/packages/mui-material/src/StepContent/StepContent.js index 528685347c41d0..4bd6131fcc1f38 100644 --- a/packages/mui-material/src/StepContent/StepContent.js +++ b/packages/mui-material/src/StepContent/StepContent.js @@ -3,14 +3,13 @@ import * as React from 'react'; import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import Collapse from '../Collapse'; import StepperContext from '../Stepper/StepperContext'; import StepContext from '../Step/StepContext'; import { getStepContentUtilityClass } from './stepContentClasses'; -const useThemeProps = createUseThemeProps('MuiStepContent'); - const useUtilityClasses = (ownerState) => { const { classes, last } = ownerState; @@ -53,7 +52,7 @@ const StepContentTransition = styled(Collapse, { })({}); const StepContent = React.forwardRef(function StepContent(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiStepContent' }); + const props = useDefaultProps({ props: inProps, name: 'MuiStepContent' }); const { children, className, diff --git a/packages/mui-material/src/StepIcon/StepIcon.js b/packages/mui-material/src/StepIcon/StepIcon.js index 6ed6c6c31ccc5a..a70f5e228e679c 100644 --- a/packages/mui-material/src/StepIcon/StepIcon.js +++ b/packages/mui-material/src/StepIcon/StepIcon.js @@ -3,14 +3,13 @@ import * as React from 'react'; import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import CheckCircle from '../internal/svg-icons/CheckCircle'; import Warning from '../internal/svg-icons/Warning'; import SvgIcon from '../SvgIcon'; import stepIconClasses, { getStepIconUtilityClass } from './stepIconClasses'; -const useThemeProps = createUseThemeProps('MuiStepIcon'); - const useUtilityClasses = (ownerState) => { const { classes, active, completed, error } = ownerState; @@ -54,7 +53,7 @@ const StepIconText = styled('text', { })); const StepIcon = React.forwardRef(function StepIcon(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiStepIcon' }); + const props = useDefaultProps({ props: inProps, name: 'MuiStepIcon' }); const { active = false, className: classNameProp, diff --git a/packages/mui-material/src/StepLabel/StepLabel.js b/packages/mui-material/src/StepLabel/StepLabel.js index e70efaacc6c2f2..11ccc0c43eb778 100644 --- a/packages/mui-material/src/StepLabel/StepLabel.js +++ b/packages/mui-material/src/StepLabel/StepLabel.js @@ -6,12 +6,11 @@ import * as React from 'react'; import StepContext from '../Step/StepContext'; import StepIcon from '../StepIcon'; import StepperContext from '../Stepper/StepperContext'; -import { createUseThemeProps, styled } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import stepLabelClasses, { getStepLabelUtilityClass } from './stepLabelClasses'; import useSlot from '../utils/useSlot'; -const useThemeProps = createUseThemeProps('MuiStepLabel'); - const useUtilityClasses = (ownerState) => { const { classes, orientation, active, completed, error, disabled, alternativeLabel } = ownerState; @@ -124,7 +123,7 @@ const StepLabelLabelContainer = styled('span', { })); const StepLabel = React.forwardRef(function StepLabel(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiStepLabel' }); + const props = useDefaultProps({ props: inProps, name: 'MuiStepLabel' }); const { children, className, diff --git a/packages/mui-material/src/Stepper/Stepper.js b/packages/mui-material/src/Stepper/Stepper.js index 104e17620ff3bc..0f873c60d1eb0d 100644 --- a/packages/mui-material/src/Stepper/Stepper.js +++ b/packages/mui-material/src/Stepper/Stepper.js @@ -4,13 +4,12 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import integerPropType from '@mui/utils/integerPropType'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import { getStepperUtilityClass } from './stepperClasses'; import StepConnector from '../StepConnector'; import StepperContext from './StepperContext'; -const useThemeProps = createUseThemeProps('MuiStepper'); - const useUtilityClasses = (ownerState) => { const { orientation, alternativeLabel, classes } = ownerState; const slots = { @@ -59,7 +58,7 @@ const StepperRoot = styled('div', { const defaultConnector = ; const Stepper = React.forwardRef(function Stepper(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiStepper' }); + const props = useDefaultProps({ props: inProps, name: 'MuiStepper' }); const { activeStep = 0, alternativeLabel = false, diff --git a/packages/mui-material/src/SvgIcon/SvgIcon.js b/packages/mui-material/src/SvgIcon/SvgIcon.js index 7aeae60d5f7539..7db91321b7cb34 100644 --- a/packages/mui-material/src/SvgIcon/SvgIcon.js +++ b/packages/mui-material/src/SvgIcon/SvgIcon.js @@ -4,11 +4,10 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import capitalize from '../utils/capitalize'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import { getSvgIconUtilityClass } from './svgIconClasses'; -const useThemeProps = createUseThemeProps('MuiSvgIcon'); - const useUtilityClasses = (ownerState) => { const { color, fontSize, classes } = ownerState; @@ -92,7 +91,7 @@ const SvgIconRoot = styled('svg', { })); const SvgIcon = React.forwardRef(function SvgIcon(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiSvgIcon' }); + const props = useDefaultProps({ props: inProps, name: 'MuiSvgIcon' }); const { children, className, diff --git a/packages/mui-material/src/SwipeableDrawer/SwipeableDrawer.js b/packages/mui-material/src/SwipeableDrawer/SwipeableDrawer.js index 5be8cdab8d0bb6..46a35b12b5f860 100644 --- a/packages/mui-material/src/SwipeableDrawer/SwipeableDrawer.js +++ b/packages/mui-material/src/SwipeableDrawer/SwipeableDrawer.js @@ -10,12 +10,11 @@ import ownerDocument from '../utils/ownerDocument'; import ownerWindow from '../utils/ownerWindow'; import useEventCallback from '../utils/useEventCallback'; import useEnhancedEffect from '../utils/useEnhancedEffect'; -import { createUseThemeProps, useTheme } from '../zero-styled'; +import { useTheme } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import { getTransitionProps } from '../transitions/utils'; import SwipeArea from './SwipeArea'; -const useThemeProps = createUseThemeProps('MuiSwipeableDrawer'); - // This value is closed to what browsers are using internally to // trigger a native scroll. const UNCERTAINTY_THRESHOLD = 3; // px @@ -136,7 +135,7 @@ function computeHasNativeHandler({ domTreeShapes, start, current, anchor }) { const iOS = typeof navigator !== 'undefined' && /iPad|iPhone|iPod/.test(navigator.userAgent); const SwipeableDrawer = React.forwardRef(function SwipeableDrawer(inProps, ref) { - const props = useThemeProps({ name: 'MuiSwipeableDrawer', props: inProps }); + const props = useDefaultProps({ name: 'MuiSwipeableDrawer', props: inProps }); const theme = useTheme(); const transitionDurationDefault = { enter: theme.transitions.duration.enteringScreen, diff --git a/packages/mui-material/src/Switch/Switch.js b/packages/mui-material/src/Switch/Switch.js index 0731297c81972e..3f7f75b02d1436 100644 --- a/packages/mui-material/src/Switch/Switch.js +++ b/packages/mui-material/src/Switch/Switch.js @@ -8,11 +8,10 @@ import composeClasses from '@mui/utils/composeClasses'; import { alpha, darken, lighten } from '@mui/system/colorManipulator'; import capitalize from '../utils/capitalize'; import SwitchBase from '../internal/SwitchBase'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import switchClasses, { getSwitchUtilityClass } from './switchClasses'; -const useThemeProps = createUseThemeProps('MuiSwitch'); - const useUtilityClasses = (ownerState) => { const { classes, edge, size, color, checked, disabled } = ownerState; @@ -216,7 +215,7 @@ const SwitchThumb = styled('span', { })); const Switch = React.forwardRef(function Switch(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiSwitch' }); + const props = useDefaultProps({ props: inProps, name: 'MuiSwitch' }); const { className, color = 'primary', edge = false, size = 'medium', sx, ...other } = props; const ownerState = { diff --git a/packages/mui-material/src/Tab/Tab.js b/packages/mui-material/src/Tab/Tab.js index d66d492fe4775f..d9b603b5e7bee9 100644 --- a/packages/mui-material/src/Tab/Tab.js +++ b/packages/mui-material/src/Tab/Tab.js @@ -5,12 +5,11 @@ import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import ButtonBase from '../ButtonBase'; import capitalize from '../utils/capitalize'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import unsupportedProp from '../utils/unsupportedProp'; import tabClasses, { getTabUtilityClass } from './tabClasses'; -const useThemeProps = createUseThemeProps('MuiTab'); - const useUtilityClasses = (ownerState) => { const { classes, textColor, fullWidth, wrapped, icon, label, selected, disabled } = ownerState; @@ -183,7 +182,7 @@ const TabRoot = styled(ButtonBase, { })); const Tab = React.forwardRef(function Tab(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiTab' }); + const props = useDefaultProps({ props: inProps, name: 'MuiTab' }); const { className, disabled = false, diff --git a/packages/mui-material/src/TabScrollButton/TabScrollButton.js b/packages/mui-material/src/TabScrollButton/TabScrollButton.js index e9a3fa1e476b20..77211317e99415 100644 --- a/packages/mui-material/src/TabScrollButton/TabScrollButton.js +++ b/packages/mui-material/src/TabScrollButton/TabScrollButton.js @@ -9,11 +9,10 @@ import { useRtl } from '@mui/system/RtlProvider'; import KeyboardArrowLeft from '../internal/svg-icons/KeyboardArrowLeft'; import KeyboardArrowRight from '../internal/svg-icons/KeyboardArrowRight'; import ButtonBase from '../ButtonBase'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import tabScrollButtonClasses, { getTabScrollButtonUtilityClass } from './tabScrollButtonClasses'; -const useThemeProps = createUseThemeProps('MuiTabScrollButton'); - const useUtilityClasses = (ownerState) => { const { classes, orientation, disabled } = ownerState; @@ -56,7 +55,7 @@ const TabScrollButtonRoot = styled(ButtonBase, { }); const TabScrollButton = React.forwardRef(function TabScrollButton(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiTabScrollButton' }); + const props = useDefaultProps({ props: inProps, name: 'MuiTabScrollButton' }); const { className, slots = {}, diff --git a/packages/mui-material/src/Table/Table.js b/packages/mui-material/src/Table/Table.js index d513e8e4528850..ceff449feb91e5 100644 --- a/packages/mui-material/src/Table/Table.js +++ b/packages/mui-material/src/Table/Table.js @@ -4,11 +4,10 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import TableContext from './TableContext'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import { getTableUtilityClass } from './tableClasses'; -const useThemeProps = createUseThemeProps('MuiTable'); - const useUtilityClasses = (ownerState) => { const { classes, stickyHeader } = ownerState; @@ -52,7 +51,7 @@ const TableRoot = styled('table', { const defaultComponent = 'table'; const Table = React.forwardRef(function Table(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiTable' }); + const props = useDefaultProps({ props: inProps, name: 'MuiTable' }); const { className, component = defaultComponent, diff --git a/packages/mui-material/src/TableBody/TableBody.js b/packages/mui-material/src/TableBody/TableBody.js index 9116e8274d0cb1..f2f0c4ede59a8a 100644 --- a/packages/mui-material/src/TableBody/TableBody.js +++ b/packages/mui-material/src/TableBody/TableBody.js @@ -4,11 +4,10 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import Tablelvl2Context from '../Table/Tablelvl2Context'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import { getTableBodyUtilityClass } from './tableBodyClasses'; -const useThemeProps = createUseThemeProps('MuiTableBody'); - const useUtilityClasses = (ownerState) => { const { classes } = ownerState; @@ -34,7 +33,7 @@ const tablelvl2 = { const defaultComponent = 'tbody'; const TableBody = React.forwardRef(function TableBody(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiTableBody' }); + const props = useDefaultProps({ props: inProps, name: 'MuiTableBody' }); const { className, component = defaultComponent, ...other } = props; const ownerState = { diff --git a/packages/mui-material/src/TableCell/TableCell.js b/packages/mui-material/src/TableCell/TableCell.js index 71a8c53e1013a2..ddf9c56b71eb3a 100644 --- a/packages/mui-material/src/TableCell/TableCell.js +++ b/packages/mui-material/src/TableCell/TableCell.js @@ -7,11 +7,10 @@ import { darken, alpha, lighten } from '@mui/system/colorManipulator'; import capitalize from '../utils/capitalize'; import TableContext from '../Table/TableContext'; import Tablelvl2Context from '../Table/Tablelvl2Context'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import tableCellClasses, { getTableCellUtilityClass } from './tableCellClasses'; -const useThemeProps = createUseThemeProps('MuiTableCell'); - const useUtilityClasses = (ownerState) => { const { classes, variant, align, padding, size, stickyHeader } = ownerState; @@ -171,7 +170,7 @@ const TableCellRoot = styled('td', { * or otherwise a `` element. */ const TableCell = React.forwardRef(function TableCell(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiTableCell' }); + const props = useDefaultProps({ props: inProps, name: 'MuiTableCell' }); const { align = 'inherit', className, diff --git a/packages/mui-material/src/TableContainer/TableContainer.js b/packages/mui-material/src/TableContainer/TableContainer.js index f786b6192e247b..15a5dfd131a27e 100644 --- a/packages/mui-material/src/TableContainer/TableContainer.js +++ b/packages/mui-material/src/TableContainer/TableContainer.js @@ -3,11 +3,10 @@ import * as React from 'react'; import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import { getTableContainerUtilityClass } from './tableContainerClasses'; -const useThemeProps = createUseThemeProps('MuiTableContainer'); - const useUtilityClasses = (ownerState) => { const { classes } = ownerState; @@ -28,7 +27,7 @@ const TableContainerRoot = styled('div', { }); const TableContainer = React.forwardRef(function TableContainer(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiTableContainer' }); + const props = useDefaultProps({ props: inProps, name: 'MuiTableContainer' }); const { className, component = 'div', ...other } = props; const ownerState = { diff --git a/packages/mui-material/src/TableFooter/TableFooter.js b/packages/mui-material/src/TableFooter/TableFooter.js index 5de3b7d0a3909d..0ec3683f2cb549 100644 --- a/packages/mui-material/src/TableFooter/TableFooter.js +++ b/packages/mui-material/src/TableFooter/TableFooter.js @@ -4,11 +4,10 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import Tablelvl2Context from '../Table/Tablelvl2Context'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import { getTableFooterUtilityClass } from './tableFooterClasses'; -const useThemeProps = createUseThemeProps('MuiTableFooter'); - const useUtilityClasses = (ownerState) => { const { classes } = ownerState; @@ -34,7 +33,7 @@ const tablelvl2 = { const defaultComponent = 'tfoot'; const TableFooter = React.forwardRef(function TableFooter(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiTableFooter' }); + const props = useDefaultProps({ props: inProps, name: 'MuiTableFooter' }); const { className, component = defaultComponent, ...other } = props; const ownerState = { diff --git a/packages/mui-material/src/TableHead/TableHead.js b/packages/mui-material/src/TableHead/TableHead.js index 32943035f0911b..45283a29c009d6 100644 --- a/packages/mui-material/src/TableHead/TableHead.js +++ b/packages/mui-material/src/TableHead/TableHead.js @@ -4,11 +4,10 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import Tablelvl2Context from '../Table/Tablelvl2Context'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import { getTableHeadUtilityClass } from './tableHeadClasses'; -const useThemeProps = createUseThemeProps('MuiTableHead'); - const useUtilityClasses = (ownerState) => { const { classes } = ownerState; @@ -34,7 +33,7 @@ const tablelvl2 = { const defaultComponent = 'thead'; const TableHead = React.forwardRef(function TableHead(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiTableHead' }); + const props = useDefaultProps({ props: inProps, name: 'MuiTableHead' }); const { className, component = defaultComponent, ...other } = props; const ownerState = { diff --git a/packages/mui-material/src/TablePagination/TablePagination.js b/packages/mui-material/src/TablePagination/TablePagination.js index 3aad5afa263e01..f3e33167b182a2 100644 --- a/packages/mui-material/src/TablePagination/TablePagination.js +++ b/packages/mui-material/src/TablePagination/TablePagination.js @@ -6,7 +6,8 @@ import integerPropType from '@mui/utils/integerPropType'; import chainPropTypes from '@mui/utils/chainPropTypes'; import { isHostComponent } from '@mui/base/utils'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import InputBase from '../InputBase'; import MenuItem from '../MenuItem'; import Select from '../Select'; @@ -16,8 +17,6 @@ import TablePaginationActions from './TablePaginationActions'; import useId from '../utils/useId'; import tablePaginationClasses, { getTablePaginationUtilityClass } from './tablePaginationClasses'; -const useThemeProps = createUseThemeProps('MuiTablePagination'); - const TablePaginationRoot = styled(TableCell, { name: 'MuiTablePagination', slot: 'Root', @@ -140,7 +139,7 @@ const useUtilityClasses = (ownerState) => { * A `TableCell` based component for placing inside `TableFooter` for pagination. */ const TablePagination = React.forwardRef(function TablePagination(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiTablePagination' }); + const props = useDefaultProps({ props: inProps, name: 'MuiTablePagination' }); const { ActionsComponent = TablePaginationActions, backIconButtonProps, diff --git a/packages/mui-material/src/TableRow/TableRow.js b/packages/mui-material/src/TableRow/TableRow.js index d96f9fce5745d4..34f171b2304b9e 100644 --- a/packages/mui-material/src/TableRow/TableRow.js +++ b/packages/mui-material/src/TableRow/TableRow.js @@ -5,11 +5,10 @@ import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { alpha } from '@mui/system/colorManipulator'; import Tablelvl2Context from '../Table/Tablelvl2Context'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import tableRowClasses, { getTableRowUtilityClass } from './tableRowClasses'; -const useThemeProps = createUseThemeProps('MuiTableRow'); - const useUtilityClasses = (ownerState) => { const { classes, selected, hover, head, footer } = ownerState; @@ -58,7 +57,7 @@ const defaultComponent = 'tr'; * based on the material table element parent (head, body, etc). */ const TableRow = React.forwardRef(function TableRow(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiTableRow' }); + const props = useDefaultProps({ props: inProps, name: 'MuiTableRow' }); const { className, component = defaultComponent, diff --git a/packages/mui-material/src/TableSortLabel/TableSortLabel.js b/packages/mui-material/src/TableSortLabel/TableSortLabel.js index 25d11cb4f40ca9..6e45f9d9f154a3 100644 --- a/packages/mui-material/src/TableSortLabel/TableSortLabel.js +++ b/packages/mui-material/src/TableSortLabel/TableSortLabel.js @@ -5,12 +5,11 @@ import PropTypes from 'prop-types'; import * as React from 'react'; import ButtonBase from '../ButtonBase'; import ArrowDownwardIcon from '../internal/svg-icons/ArrowDownward'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import capitalize from '../utils/capitalize'; import tableSortLabelClasses, { getTableSortLabelUtilityClass } from './tableSortLabelClasses'; -const useThemeProps = createUseThemeProps('MuiTableSortLabel'); - const useUtilityClasses = (ownerState) => { const { classes, direction, active } = ownerState; @@ -95,7 +94,7 @@ const TableSortLabelIcon = styled('span', { * A button based label for placing inside `TableCell` for column sorting. */ const TableSortLabel = React.forwardRef(function TableSortLabel(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiTableSortLabel' }); + const props = useDefaultProps({ props: inProps, name: 'MuiTableSortLabel' }); const { active = false, children, diff --git a/packages/mui-material/src/Tabs/Tabs.js b/packages/mui-material/src/Tabs/Tabs.js index 435b0702ddb6f9..ba66ca36bf57d1 100644 --- a/packages/mui-material/src/Tabs/Tabs.js +++ b/packages/mui-material/src/Tabs/Tabs.js @@ -7,7 +7,8 @@ import refType from '@mui/utils/refType'; import { useSlotProps } from '@mui/base/utils'; import composeClasses from '@mui/utils/composeClasses'; import { useRtl } from '@mui/system/RtlProvider'; -import { styled, createUseThemeProps, useTheme } from '../zero-styled'; +import { styled, useTheme } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import debounce from '../utils/debounce'; import animate from '../internal/animate'; import ScrollbarSize from './ScrollbarSize'; @@ -17,8 +18,6 @@ import tabsClasses, { getTabsUtilityClass } from './tabsClasses'; import ownerDocument from '../utils/ownerDocument'; import ownerWindow from '../utils/ownerWindow'; -const useThemeProps = createUseThemeProps('MuiTabs'); - const nextItem = (list, item) => { if (list === item) { return list.firstChild; @@ -274,7 +273,7 @@ const defaultIndicatorStyle = {}; let warnedOnceTabPresent = false; const Tabs = React.forwardRef(function Tabs(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiTabs' }); + const props = useDefaultProps({ props: inProps, name: 'MuiTabs' }); const theme = useTheme(); const isRtl = useRtl(); const { diff --git a/packages/mui-material/src/TextField/TextField.js b/packages/mui-material/src/TextField/TextField.js index 6f0c0d14c0cade..cbd2ecfde8d262 100644 --- a/packages/mui-material/src/TextField/TextField.js +++ b/packages/mui-material/src/TextField/TextField.js @@ -5,7 +5,8 @@ import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import useId from '@mui/utils/useId'; import refType from '@mui/utils/refType'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import Input from '../Input'; import FilledInput from '../FilledInput'; import OutlinedInput from '../OutlinedInput'; @@ -16,8 +17,6 @@ import Select from '../Select'; import { getTextFieldUtilityClass } from './textFieldClasses'; import useSlot from '../utils/useSlot'; -const useThemeProps = createUseThemeProps('MuiTextField'); - const variantComponent = { standard: Input, filled: FilledInput, @@ -73,7 +72,7 @@ const TextFieldRoot = styled(FormControl, { * - using the underlying components directly as shown in the demos */ const TextField = React.forwardRef(function TextField(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiTextField' }); + const props = useDefaultProps({ props: inProps, name: 'MuiTextField' }); const { autoComplete, autoFocus = false, diff --git a/packages/mui-material/src/ToggleButton/ToggleButton.js b/packages/mui-material/src/ToggleButton/ToggleButton.js index f80211201960b8..0297583767f6f3 100644 --- a/packages/mui-material/src/ToggleButton/ToggleButton.js +++ b/packages/mui-material/src/ToggleButton/ToggleButton.js @@ -8,14 +8,13 @@ import composeClasses from '@mui/utils/composeClasses'; import { alpha } from '@mui/system/colorManipulator'; import ButtonBase from '../ButtonBase'; import capitalize from '../utils/capitalize'; -import { createUseThemeProps, styled } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import toggleButtonClasses, { getToggleButtonUtilityClass } from './toggleButtonClasses'; import ToggleButtonGroupContext from '../ToggleButtonGroup/ToggleButtonGroupContext'; import ToggleButtonGroupButtonContext from '../ToggleButtonGroup/ToggleButtonGroupButtonContext'; import isValueSelected from '../ToggleButtonGroup/isValueSelected'; -const useThemeProps = createUseThemeProps('MuiToggleButton'); - const useUtilityClasses = (ownerState) => { const { classes, fullWidth, selected, disabled, size, color } = ownerState; @@ -147,7 +146,7 @@ const ToggleButton = React.forwardRef(function ToggleButton(inProps, ref) { { ...contextProps, selected: isValueSelected(inProps.value, contextValue) }, inProps, ); - const props = useThemeProps({ props: resolvedProps, name: 'MuiToggleButton' }); + const props = useDefaultProps({ props: resolvedProps, name: 'MuiToggleButton' }); const { children, className, diff --git a/packages/mui-material/src/ToggleButtonGroup/ToggleButtonGroup.js b/packages/mui-material/src/ToggleButtonGroup/ToggleButtonGroup.js index 73e31065a0c4c1..41ab56c77a159f 100644 --- a/packages/mui-material/src/ToggleButtonGroup/ToggleButtonGroup.js +++ b/packages/mui-material/src/ToggleButtonGroup/ToggleButtonGroup.js @@ -5,7 +5,8 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import getValidReactChildren from '@mui/utils/getValidReactChildren'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import capitalize from '../utils/capitalize'; import toggleButtonGroupClasses, { getToggleButtonGroupUtilityClass, @@ -14,8 +15,6 @@ import ToggleButtonGroupContext from './ToggleButtonGroupContext'; import ToggleButtonGroupButtonContext from './ToggleButtonGroupButtonContext'; import toggleButtonClasses from '../ToggleButton/toggleButtonClasses'; -const useThemeProps = createUseThemeProps('MuiToggleButtonGroup'); - const useUtilityClasses = (ownerState) => { const { classes, orientation, fullWidth, disabled } = ownerState; @@ -125,7 +124,7 @@ const ToggleButtonGroupRoot = styled('div', { })); const ToggleButtonGroup = React.forwardRef(function ToggleButtonGroup(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiToggleButtonGroup' }); + const props = useDefaultProps({ props: inProps, name: 'MuiToggleButtonGroup' }); const { children, className, diff --git a/packages/mui-material/src/Toolbar/Toolbar.js b/packages/mui-material/src/Toolbar/Toolbar.js index 6a9733d2680580..0ce2b70b986d1f 100644 --- a/packages/mui-material/src/Toolbar/Toolbar.js +++ b/packages/mui-material/src/Toolbar/Toolbar.js @@ -3,11 +3,10 @@ import * as React from 'react'; import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps } from '../zero-styled'; +import { styled } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import { getToolbarUtilityClass } from './toolbarClasses'; -const useThemeProps = createUseThemeProps('MuiToolbar'); - const useUtilityClasses = (ownerState) => { const { classes, disableGutters, variant } = ownerState; @@ -60,7 +59,7 @@ const ToolbarRoot = styled('div', { })); const Toolbar = React.forwardRef(function Toolbar(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiToolbar' }); + const props = useDefaultProps({ props: inProps, name: 'MuiToolbar' }); const { className, component = 'div', diff --git a/packages/mui-material/src/Tooltip/Tooltip.js b/packages/mui-material/src/Tooltip/Tooltip.js index 512e79347176e2..975edbcf0f64a9 100644 --- a/packages/mui-material/src/Tooltip/Tooltip.js +++ b/packages/mui-material/src/Tooltip/Tooltip.js @@ -8,7 +8,8 @@ import { appendOwnerState } from '@mui/base/utils'; import composeClasses from '@mui/utils/composeClasses'; import { alpha } from '@mui/system/colorManipulator'; import { useRtl } from '@mui/system/RtlProvider'; -import { styled, createUseThemeProps, useTheme } from '../zero-styled'; +import { styled, useTheme } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import capitalize from '../utils/capitalize'; import Grow from '../Grow'; import Popper from '../Popper'; @@ -19,8 +20,6 @@ import useIsFocusVisible from '../utils/useIsFocusVisible'; import useControlled from '../utils/useControlled'; import tooltipClasses, { getTooltipUtilityClass } from './tooltipClasses'; -const useThemeProps = createUseThemeProps('MuiTooltip'); - function round(value) { return Math.round(value * 1e5) / 1e5; } @@ -305,7 +304,7 @@ function composeEventHandler(handler, eventHandler) { // TODO v6: Remove PopperComponent, PopperProps, TransitionComponent and TransitionProps. const Tooltip = React.forwardRef(function Tooltip(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiTooltip' }); + const props = useDefaultProps({ props: inProps, name: 'MuiTooltip' }); const { arrow = false, children: childrenProp, diff --git a/packages/mui-material/src/Typography/Typography.js b/packages/mui-material/src/Typography/Typography.js index 11c5e434c778aa..9adc2ba9e9e180 100644 --- a/packages/mui-material/src/Typography/Typography.js +++ b/packages/mui-material/src/Typography/Typography.js @@ -3,11 +3,11 @@ import * as React from 'react'; import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; -import { styled, createUseThemeProps, internal_createExtendSxProp } from '../zero-styled'; +import { styled, internal_createExtendSxProp } from '../zero-styled'; +import { useDefaultProps } from '../PropsProvider'; import capitalize from '../utils/capitalize'; import { getTypographyUtilityClass } from './typographyClasses'; -const useThemeProps = createUseThemeProps('MuiTypography'); const extendSxProp = internal_createExtendSxProp(); const useUtilityClasses = (ownerState) => { @@ -127,7 +127,7 @@ const colorTransformations = { }; const Typography = React.forwardRef(function Typography(inProps, ref) { - const { color, ...themeProps } = useThemeProps({ props: inProps, name: 'MuiTypography' }); + const { color, ...themeProps } = useDefaultProps({ props: inProps, name: 'MuiTypography' }); const textColor = colorTransformations[color]; const props = extendSxProp({ ...themeProps, From 66146d0ded82c1490536d34a774bc2b63dc3322a Mon Sep 17 00:00:00 2001 From: siriwatknp Date: Thu, 13 Jun 2024 17:42:06 +0700 Subject: [PATCH 08/18] run proptypes and docs:api --- .../materialUi/projectSettings.ts | 2 +- .../muiSystem/projectSettings.ts | 2 +- .../mui-material/src/InputBase/InputBase.js | 1 + .../src/PropsProvider/PropsProvider.tsx | 20 ++++++++++++++++++- .../src/PropsProvider/PropsProvider.tsx | 16 +++++++++++++++ 5 files changed, 38 insertions(+), 3 deletions(-) diff --git a/packages/api-docs-builder-core/materialUi/projectSettings.ts b/packages/api-docs-builder-core/materialUi/projectSettings.ts index d15e28be91055e..41fbdd338ebcad 100644 --- a/packages/api-docs-builder-core/materialUi/projectSettings.ts +++ b/packages/api-docs-builder-core/materialUi/projectSettings.ts @@ -28,7 +28,7 @@ export const projectSettings: ProjectSettings = { getComponentInfo: getMaterialUiComponentInfo, translationLanguages: LANGUAGES, skipComponent(filename: string) { - return filename.match(/(ThemeProvider|CssVarsProvider|Grid2)/) !== null; + return filename.match(/(ThemeProvider|CssVarsProvider|PropsProvider|Grid2)/) !== null; }, translationPagesDirectory: 'docs/translations/api-docs', generateClassName: generateUtilityClass, diff --git a/packages/api-docs-builder-core/muiSystem/projectSettings.ts b/packages/api-docs-builder-core/muiSystem/projectSettings.ts index e9d8a4d7fa8c18..5cacb224bf251d 100644 --- a/packages/api-docs-builder-core/muiSystem/projectSettings.ts +++ b/packages/api-docs-builder-core/muiSystem/projectSettings.ts @@ -23,7 +23,7 @@ export const projectSettings: ProjectSettings = { getComponentInfo: getSystemComponentInfo, translationLanguages: LANGUAGES, skipComponent(filename) { - return filename.match(/(ThemeProvider|CssVarsProvider|GlobalStyles)/) !== null; + return filename.match(/(ThemeProvider|CssVarsProvider|PropsProvider|GlobalStyles)/) !== null; }, translationPagesDirectory: 'docs/translations/api-docs', generateClassName: generateUtilityClass, diff --git a/packages/mui-material/src/InputBase/InputBase.js b/packages/mui-material/src/InputBase/InputBase.js index d1e2d1515eb7c9..35a7f1caddc71c 100644 --- a/packages/mui-material/src/InputBase/InputBase.js +++ b/packages/mui-material/src/InputBase/InputBase.js @@ -529,6 +529,7 @@ const InputBase = React.forwardRef(function InputBase(inProps, ref) { // For Pigment CSS, this has no effect because the InputGlobalStyles will be null. )} + } }; }>, @@ -12,6 +13,23 @@ export default function PropsProvider( return ; } +PropsProvider.propTypes /* remove-proptypes */ = { + // ┌────────────────────────────── Warning ──────────────────────────────┐ + // │ These PropTypes are generated from the TypeScript type definitions. │ + // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │ + // └─────────────────────────────────────────────────────────────────────┘ + /** + * @ignore + */ + children: PropTypes.node, + /** + * @ignore + */ + value: PropTypes.object.isRequired, +} as any; + +export default PropsProvider; + export function useDefaultProps>(params: { props: Props; name: string; diff --git a/packages/mui-system/src/PropsProvider/PropsProvider.tsx b/packages/mui-system/src/PropsProvider/PropsProvider.tsx index eee5780778eca8..babab199c2a16d 100644 --- a/packages/mui-system/src/PropsProvider/PropsProvider.tsx +++ b/packages/mui-system/src/PropsProvider/PropsProvider.tsx @@ -1,5 +1,6 @@ 'use client'; import * as React from 'react'; +import PropTypes from 'prop-types'; import getThemeProps from '../useThemeProps/getThemeProps'; const PropsContext = React.createContext | undefined>(undefined); @@ -11,6 +12,21 @@ function PropsProvider({ return {children}; } +PropsProvider.propTypes /* remove-proptypes */ = { + // ┌────────────────────────────── Warning ──────────────────────────────┐ + // │ These PropTypes are generated from the TypeScript type definitions. │ + // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │ + // └─────────────────────────────────────────────────────────────────────┘ + /** + * @ignore + */ + children: PropTypes.node, + /** + * @ignore + */ + value: PropTypes.object, +} as any; + export const useDefaultProps = ({ props, name }: { props: Record; name: string }) => { const ctx = React.useContext(PropsContext); return getThemeProps({ props, name, theme: { components: ctx } }); From 672c180b772aba59dc86d30052348e17bba1aacb Mon Sep 17 00:00:00 2001 From: siriwatknp Date: Thu, 13 Jun 2024 17:44:44 +0700 Subject: [PATCH 09/18] fix lint --- packages/mui-material/src/FormHelperText/FormHelperText.js | 2 +- packages/mui-material/src/InputAdornment/InputAdornment.js | 2 +- packages/mui-material/src/PropsProvider/PropsProvider.spec.tsx | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/mui-material/src/FormHelperText/FormHelperText.js b/packages/mui-material/src/FormHelperText/FormHelperText.js index 11796d4343f304..2a0087eaeab05e 100644 --- a/packages/mui-material/src/FormHelperText/FormHelperText.js +++ b/packages/mui-material/src/FormHelperText/FormHelperText.js @@ -125,7 +125,7 @@ const FormHelperText = React.forwardRef(function FormHelperText(inProps, ref) { > {children === ' ' ? ( // notranslate needed while Google Translate will not fix zero-width space issue - + ) : ( children )} diff --git a/packages/mui-material/src/InputAdornment/InputAdornment.js b/packages/mui-material/src/InputAdornment/InputAdornment.js index d8850ed6cb8e21..865985704eec93 100644 --- a/packages/mui-material/src/InputAdornment/InputAdornment.js +++ b/packages/mui-material/src/InputAdornment/InputAdornment.js @@ -145,7 +145,7 @@ const InputAdornment = React.forwardRef(function InputAdornment(inProps, ref) { {/* To have the correct vertical alignment baseline */} {position === 'start' ? ( /* notranslate needed while Google Translate will not fix zero-width space issue */ - + ) : null} {children} diff --git a/packages/mui-material/src/PropsProvider/PropsProvider.spec.tsx b/packages/mui-material/src/PropsProvider/PropsProvider.spec.tsx index 133624fe7c8591..91a2664bf3266a 100644 --- a/packages/mui-material/src/PropsProvider/PropsProvider.spec.tsx +++ b/packages/mui-material/src/PropsProvider/PropsProvider.spec.tsx @@ -1,3 +1,4 @@ +import * as React from 'react'; import PropsProvider from '@mui/material/PropsProvider'; function CustomComponent() { From d2ddf3bb5082ed34bcaae0b4425097fb2cd2fcde Mon Sep 17 00:00:00 2001 From: siriwatknp Date: Thu, 13 Jun 2024 17:55:42 +0700 Subject: [PATCH 10/18] fix lint and test --- packages/mui-material/src/PropsProvider/PropsProvider.tsx | 1 + .../mui-system/src/cssVars/createCssVarsProvider.test.js | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/mui-material/src/PropsProvider/PropsProvider.tsx b/packages/mui-material/src/PropsProvider/PropsProvider.tsx index 03af78e07c196c..edd4aabb3b627d 100644 --- a/packages/mui-material/src/PropsProvider/PropsProvider.tsx +++ b/packages/mui-material/src/PropsProvider/PropsProvider.tsx @@ -1,3 +1,4 @@ +'use client'; import * as React from 'react'; import PropTypes from 'prop-types'; import SystemPropsProvider, { diff --git a/packages/mui-system/src/cssVars/createCssVarsProvider.test.js b/packages/mui-system/src/cssVars/createCssVarsProvider.test.js index e86df5cebb9198..3c08c585381852 100644 --- a/packages/mui-system/src/cssVars/createCssVarsProvider.test.js +++ b/packages/mui-system/src/cssVars/createCssVarsProvider.test.js @@ -731,14 +731,16 @@ describe('createCssVarsProvider', () => { const { CssVarsProvider } = createCssVarsProvider({ theme: createCssVarsTheme({ colorSchemes: { light: { fontSize: 16 } }, - components: 'any', + components: { + foo: 'bar', + }, }), defaultColorScheme: 'light', }); function Text() { const theme = useTheme(); - return
{theme.vars.components}
; + return
{theme.vars.components?.foo}
; } render( @@ -746,7 +748,7 @@ describe('createCssVarsProvider', () => { , ); - expect(screen.getByTestId('text').textContent).not.to.equal('var(--components)'); + expect(screen.getByTestId('text').textContent).not.to.equal('var(--components-foo)'); }); it('`defaultMode` is specified', () => { From 37c6c5d9f19b01b424e3bd1bc011cb0f7f0c5c19 Mon Sep 17 00:00:00 2001 From: siriwatknp Date: Thu, 13 Jun 2024 23:43:16 +0700 Subject: [PATCH 11/18] fix lint plugin --- .../rules/mui-name-matches-component-name.js | 13 +---- .../mui-name-matches-component-name.test.js | 53 ++++--------------- 2 files changed, 11 insertions(+), 55 deletions(-) diff --git a/packages/eslint-plugin-material-ui/src/rules/mui-name-matches-component-name.js b/packages/eslint-plugin-material-ui/src/rules/mui-name-matches-component-name.js index 008258d91b249c..c42ff49235e974 100644 --- a/packages/eslint-plugin-material-ui/src/rules/mui-name-matches-component-name.js +++ b/packages/eslint-plugin-material-ui/src/rules/mui-name-matches-component-name.js @@ -68,18 +68,9 @@ const rule = { return { CallExpression(node) { - const isCreateUseThemePropsCall = node.callee.name === 'createUseThemeProps'; - if (isCreateUseThemePropsCall) { - if (!node.arguments.length) { - context.report({ node, messageId: 'noNameValue' }); - } else if (node.arguments[0].type !== 'Literal' || !node.arguments[0].value) { - context.report({ node: node.arguments[0], messageId: 'noNameValue' }); - } - } - let nameLiteral = null; - const isUseThemePropsCall = node.callee.name === 'useThemeProps'; - if (isUseThemePropsCall) { + const isUseDefaultPropsCall = node.callee.name === 'useDefaultProps'; + if (isUseDefaultPropsCall) { let isCalledFromCustomHook = false; let parent = node.parent; while (parent != null) { diff --git a/packages/eslint-plugin-material-ui/src/rules/mui-name-matches-component-name.test.js b/packages/eslint-plugin-material-ui/src/rules/mui-name-matches-component-name.test.js index b151a90806a1f4..fc3d04ff919a53 100644 --- a/packages/eslint-plugin-material-ui/src/rules/mui-name-matches-component-name.test.js +++ b/packages/eslint-plugin-material-ui/src/rules/mui-name-matches-component-name.test.js @@ -9,12 +9,12 @@ ruleTester.run('mui-name-matches-component-name', rule, { inProps: StaticDateRangePickerProps, ref: React.Ref, ) { - const props = useThemeProps({ props: inProps, name: 'MuiStaticDateRangePicker' }); + const props = useDefaultProps({ props: inProps, name: 'MuiStaticDateRangePicker' }); }); `, ` function CssBaseline(inProps) { - useThemeProps({ props: inProps, name: 'MuiCssBaseline' }); + useDefaultProps({ props: inProps, name: 'MuiCssBaseline' }); } `, ` @@ -32,7 +32,7 @@ ruleTester.run('mui-name-matches-component-name', rule, { ]; }, }), - useThemeProps: (inProps) => useThemeProps({ props: inProps, name: 'MuiContainer' }), + useDefaultProps: (inProps) => useDefaultProps({ props: inProps, name: 'MuiContainer' }), }); `, ` @@ -42,12 +42,9 @@ ruleTester.run('mui-name-matches-component-name', rule, { overridesResolver: (props, styles) => styles.root, }), componentName: 'MuiGrid2', - useThemeProps: (inProps) => useThemeProps({ props: inProps, name: 'MuiGrid2' }), + useDefaultProps: (inProps) => useDefaultProps({ props: inProps, name: 'MuiGrid2' }), }) as OverridableComponent; `, - ` - const useThemeProps = createUseThemeProps('MuiBadge'); - `, { code: ` const StaticDateRangePicker = React.forwardRef(function StaticDateRangePicker( @@ -62,7 +59,7 @@ ruleTester.run('mui-name-matches-component-name', rule, { { code: ` function useDatePickerDefaultizedProps(props, name) { - useThemeProps({ props, name }); + useDefaultProps({ props, name }); } `, options: [{ customHooks: ['useDatePickerDefaultizedProps'] }], @@ -75,7 +72,7 @@ ruleTester.run('mui-name-matches-component-name', rule, { inProps: StaticDateRangePickerProps, ref: React.Ref, ) { - const props = useThemeProps({ props: inProps, name: 'MuiPickersDateRangePicker' }); + const props = useDefaultProps({ props: inProps, name: 'MuiPickersDateRangePicker' }); }); `, errors: [ @@ -87,7 +84,7 @@ ruleTester.run('mui-name-matches-component-name', rule, { ], }, { - code: 'useThemeProps({ props: inProps })', + code: 'useDefaultProps({ props: inProps })', errors: [ { message: 'Unable to find `name` property. Did you forget to pass `name`?', @@ -96,7 +93,7 @@ ruleTester.run('mui-name-matches-component-name', rule, { ], }, { - code: 'useThemeProps({ props: inProps, name })', + code: 'useDefaultProps({ props: inProps, name })', errors: [ { message: @@ -106,7 +103,7 @@ ruleTester.run('mui-name-matches-component-name', rule, { ], }, { - code: "useThemeProps({ props: inProps, name: 'MuiPickersDateRangePicker' })", + code: "useDefaultProps({ props: inProps, name: 'MuiPickersDateRangePicker' })", errors: [{ message: 'Unable to find component for this call.', type: 'CallExpression' }], }, { @@ -145,37 +142,5 @@ ruleTester.run('mui-name-matches-component-name', rule, { }, ], }, - { - code: ` - const useThemeProps = createUseThemeProps(); - - const Badge = React.forwardRef(function Badge(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiBadge' }); - }); - `, - errors: [ - { - message: - 'Unable to resolve `name`. Please hardcode the `name` i.e. use a string literal.', - type: 'CallExpression', - }, - ], - }, - { - code: ` - const useThemeProps = createUseThemeProps({ name: 'MuiBadge' }); - - const Badge = React.forwardRef(function Badge(inProps, ref) { - const props = useThemeProps({ props: inProps, name: 'MuiBadge' }); - }); - `, - errors: [ - { - message: - 'Unable to resolve `name`. Please hardcode the `name` i.e. use a string literal.', - type: 'ObjectExpression', - }, - ], - }, ], }); From 4b89434812069c787c03a862c3132398978c6e34 Mon Sep 17 00:00:00 2001 From: siriwatknp Date: Thu, 13 Jun 2024 23:46:08 +0700 Subject: [PATCH 12/18] remove createUseThemeProps --- packages/mui-lab/src/zero-styled/index.ts | 5 ----- packages/mui-material/src/zero-styled/index.tsx | 6 ------ 2 files changed, 11 deletions(-) diff --git a/packages/mui-lab/src/zero-styled/index.ts b/packages/mui-lab/src/zero-styled/index.ts index ac070a82614dfd..fb9dc88296ef56 100644 --- a/packages/mui-lab/src/zero-styled/index.ts +++ b/packages/mui-lab/src/zero-styled/index.ts @@ -1,8 +1,3 @@ import { useThemeProps } from '@mui/material/styles'; export { styled } from '@mui/material/styles'; - -// eslint-disable-next-line @typescript-eslint/no-unused-vars -export function createUseThemeProps(name: string) { - return useThemeProps; -} diff --git a/packages/mui-material/src/zero-styled/index.tsx b/packages/mui-material/src/zero-styled/index.tsx index fa7a468615daba..e56c98cf9182d1 100644 --- a/packages/mui-material/src/zero-styled/index.tsx +++ b/packages/mui-material/src/zero-styled/index.tsx @@ -1,6 +1,5 @@ import * as React from 'react'; import { extendSxProp } from '@mui/system/styleFunctionSx'; -import useThemeProps from '../styles/useThemeProps'; import useTheme from '../styles/useTheme'; import GlobalStyles, { GlobalStylesProps } from '../GlobalStyles'; @@ -14,11 +13,6 @@ export function globalCss(styles: GlobalStylesProps['styles']) { }; } -// eslint-disable-next-line @typescript-eslint/no-unused-vars -export function createUseThemeProps(name: string) { - return useThemeProps; -} - // eslint-disable-next-line @typescript-eslint/naming-convention export function internal_createExtendSxProp() { return extendSxProp; From 37e99962bf3c05bf8a8146a73f8f185c68bc8062 Mon Sep 17 00:00:00 2001 From: siriwatknp Date: Fri, 14 Jun 2024 07:08:48 +0700 Subject: [PATCH 13/18] remove useThemeProps --- packages/mui-lab/src/zero-styled/index.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/mui-lab/src/zero-styled/index.ts b/packages/mui-lab/src/zero-styled/index.ts index fb9dc88296ef56..2b736a2e175254 100644 --- a/packages/mui-lab/src/zero-styled/index.ts +++ b/packages/mui-lab/src/zero-styled/index.ts @@ -1,3 +1 @@ -import { useThemeProps } from '@mui/material/styles'; - export { styled } from '@mui/material/styles'; From 0dec6b20e89191258ec7bc00be421f4f8e20e26c Mon Sep 17 00:00:00 2001 From: siriwatknp Date: Fri, 14 Jun 2024 09:56:06 +0700 Subject: [PATCH 14/18] fix lint --- packages/mui-lab/src/zero-styled/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/mui-lab/src/zero-styled/index.ts b/packages/mui-lab/src/zero-styled/index.ts index 2b736a2e175254..b13433b3704526 100644 --- a/packages/mui-lab/src/zero-styled/index.ts +++ b/packages/mui-lab/src/zero-styled/index.ts @@ -1 +1,2 @@ +/* eslint-disable import/prefer-default-export */ export { styled } from '@mui/material/styles'; From 8f66700000ad9860a69d26348777103da32fba12 Mon Sep 17 00:00:00 2001 From: siriwatknp Date: Wed, 19 Jun 2024 10:49:06 +0700 Subject: [PATCH 15/18] apply suggestion --- .../materialUi/projectSettings.ts | 2 +- .../muiSystem/projectSettings.ts | 2 +- .../src/LoadingButton/LoadingButton.js | 2 +- .../mui-material/src/Accordion/Accordion.js | 2 +- .../src/AccordionActions/AccordionActions.js | 2 +- .../src/AccordionDetails/AccordionDetails.js | 2 +- .../src/AccordionSummary/AccordionSummary.js | 2 +- packages/mui-material/src/Alert/Alert.js | 2 +- .../mui-material/src/AlertTitle/AlertTitle.js | 2 +- packages/mui-material/src/AppBar/AppBar.js | 2 +- .../src/Autocomplete/Autocomplete.js | 2 +- packages/mui-material/src/Avatar/Avatar.js | 2 +- .../src/AvatarGroup/AvatarGroup.js | 2 +- .../mui-material/src/Backdrop/Backdrop.js | 2 +- packages/mui-material/src/Badge/Badge.js | 2 +- .../src/BottomNavigation/BottomNavigation.js | 2 +- .../BottomNavigationAction.js | 2 +- .../src/Breadcrumbs/Breadcrumbs.js | 2 +- packages/mui-material/src/Button/Button.js | 2 +- .../mui-material/src/ButtonBase/ButtonBase.js | 2 +- .../src/ButtonBase/TouchRipple.js | 2 +- .../src/ButtonGroup/ButtonGroup.js | 2 +- packages/mui-material/src/Card/Card.js | 2 +- .../src/CardActionArea/CardActionArea.js | 2 +- .../src/CardActions/CardActions.js | 2 +- .../src/CardContent/CardContent.js | 2 +- .../mui-material/src/CardHeader/CardHeader.js | 2 +- .../mui-material/src/CardMedia/CardMedia.js | 2 +- .../mui-material/src/Checkbox/Checkbox.js | 2 +- packages/mui-material/src/Chip/Chip.js | 2 +- .../src/CircularProgress/CircularProgress.js | 2 +- .../mui-material/src/Collapse/Collapse.js | 2 +- .../DefaultPropsProvider.spec.tsx} | 10 +++--- .../DefaultPropsProvider.tsx} | 14 ++++---- .../src/DefaultPropsProvider/index.ts | 1 + packages/mui-material/src/Dialog/Dialog.js | 2 +- .../src/DialogActions/DialogActions.js | 2 +- .../src/DialogContent/DialogContent.js | 2 +- .../DialogContentText/DialogContentText.js | 2 +- .../src/DialogTitle/DialogTitle.js | 2 +- packages/mui-material/src/Divider/Divider.js | 2 +- packages/mui-material/src/Drawer/Drawer.js | 2 +- packages/mui-material/src/Fab/Fab.js | 2 +- .../src/FilledInput/FilledInput.js | 2 +- .../src/FormControl/FormControl.js | 2 +- .../src/FormControlLabel/FormControlLabel.js | 2 +- .../mui-material/src/FormGroup/FormGroup.js | 2 +- .../src/FormHelperText/FormHelperText.js | 2 +- .../mui-material/src/FormLabel/FormLabel.js | 2 +- packages/mui-material/src/Icon/Icon.js | 2 +- .../mui-material/src/IconButton/IconButton.js | 2 +- .../mui-material/src/ImageList/ImageList.js | 2 +- .../src/ImageListItem/ImageListItem.js | 2 +- .../src/ImageListItemBar/ImageListItemBar.js | 2 +- packages/mui-material/src/Input/Input.js | 2 +- .../src/InputAdornment/InputAdornment.js | 2 +- .../mui-material/src/InputBase/InputBase.js | 2 +- .../mui-material/src/InputLabel/InputLabel.js | 2 +- .../src/LinearProgress/LinearProgress.js | 2 +- packages/mui-material/src/Link/Link.js | 2 +- packages/mui-material/src/List/List.js | 2 +- .../mui-material/src/ListItem/ListItem.js | 2 +- .../src/ListItemAvatar/ListItemAvatar.js | 2 +- .../src/ListItemButton/ListItemButton.js | 2 +- .../src/ListItemIcon/ListItemIcon.js | 2 +- .../ListItemSecondaryAction.js | 2 +- .../src/ListItemText/ListItemText.js | 2 +- .../src/ListSubheader/ListSubheader.js | 2 +- packages/mui-material/src/Menu/Menu.js | 2 +- .../mui-material/src/MenuItem/MenuItem.js | 2 +- .../src/MobileStepper/MobileStepper.js | 2 +- packages/mui-material/src/Modal/Modal.js | 2 +- .../src/OutlinedInput/OutlinedInput.js | 2 +- .../mui-material/src/Pagination/Pagination.js | 2 +- .../src/PaginationItem/PaginationItem.js | 2 +- packages/mui-material/src/Paper/Paper.js | 2 +- packages/mui-material/src/Popover/Popover.js | 2 +- .../mui-material/src/PropsProvider/index.ts | 1 - packages/mui-material/src/Radio/Radio.js | 2 +- packages/mui-material/src/Rating/Rating.js | 2 +- .../mui-material/src/Skeleton/Skeleton.js | 2 +- packages/mui-material/src/Slider/Slider.js | 2 +- .../mui-material/src/Snackbar/Snackbar.js | 2 +- .../src/SnackbarContent/SnackbarContent.js | 2 +- .../mui-material/src/SpeedDial/SpeedDial.js | 2 +- .../src/SpeedDialAction/SpeedDialAction.js | 2 +- .../src/SpeedDialIcon/SpeedDialIcon.js | 2 +- packages/mui-material/src/Step/Step.js | 2 +- .../mui-material/src/StepButton/StepButton.js | 2 +- .../src/StepConnector/StepConnector.js | 2 +- .../src/StepContent/StepContent.js | 2 +- .../mui-material/src/StepIcon/StepIcon.js | 2 +- .../mui-material/src/StepLabel/StepLabel.js | 2 +- packages/mui-material/src/Stepper/Stepper.js | 2 +- packages/mui-material/src/SvgIcon/SvgIcon.js | 2 +- .../src/SwipeableDrawer/SwipeableDrawer.js | 2 +- packages/mui-material/src/Switch/Switch.js | 2 +- packages/mui-material/src/Tab/Tab.js | 2 +- .../src/TabScrollButton/TabScrollButton.js | 2 +- packages/mui-material/src/Table/Table.js | 2 +- .../mui-material/src/TableBody/TableBody.js | 2 +- .../mui-material/src/TableCell/TableCell.js | 2 +- .../src/TableContainer/TableContainer.js | 2 +- .../src/TableFooter/TableFooter.js | 2 +- .../mui-material/src/TableHead/TableHead.js | 2 +- .../src/TablePagination/TablePagination.js | 2 +- .../mui-material/src/TableRow/TableRow.js | 2 +- .../src/TableSortLabel/TableSortLabel.js | 2 +- packages/mui-material/src/Tabs/Tabs.js | 2 +- .../mui-material/src/TextField/TextField.js | 2 +- .../src/ToggleButton/ToggleButton.js | 2 +- .../ToggleButtonGroup/ToggleButtonGroup.js | 2 +- packages/mui-material/src/Toolbar/Toolbar.js | 2 +- packages/mui-material/src/Tooltip/Tooltip.js | 2 +- .../mui-material/src/Typography/Typography.js | 2 +- .../DefaultPropsProvider.tsx} | 34 +++++++++++++++---- .../src/DefaultPropsProvider/index.ts | 1 + .../mui-system/src/PropsProvider/index.ts | 1 - .../src/ThemeProvider/ThemeProvider.js | 4 +-- 119 files changed, 154 insertions(+), 134 deletions(-) rename packages/mui-material/src/{PropsProvider/PropsProvider.spec.tsx => DefaultPropsProvider/DefaultPropsProvider.spec.tsx} (53%) rename packages/mui-material/src/{PropsProvider/PropsProvider.tsx => DefaultPropsProvider/DefaultPropsProvider.tsx} (76%) create mode 100644 packages/mui-material/src/DefaultPropsProvider/index.ts delete mode 100644 packages/mui-material/src/PropsProvider/index.ts rename packages/mui-system/src/{PropsProvider/PropsProvider.tsx => DefaultPropsProvider/DefaultPropsProvider.tsx} (57%) create mode 100644 packages/mui-system/src/DefaultPropsProvider/index.ts delete mode 100644 packages/mui-system/src/PropsProvider/index.ts diff --git a/packages/api-docs-builder-core/materialUi/projectSettings.ts b/packages/api-docs-builder-core/materialUi/projectSettings.ts index af94d28e4be024..ccac4f8f7dfd69 100644 --- a/packages/api-docs-builder-core/materialUi/projectSettings.ts +++ b/packages/api-docs-builder-core/materialUi/projectSettings.ts @@ -30,7 +30,7 @@ export const projectSettings: ProjectSettings = { skipComponent(filename: string) { return ( filename.match( - /(ThemeProvider|CssVarsProvider|PropsProvider|InitColorSchemeScript|Grid2)/, + /(ThemeProvider|CssVarsProvider|DefaultPropsProvider|InitColorSchemeScript|Grid2)/, ) !== null ); }, diff --git a/packages/api-docs-builder-core/muiSystem/projectSettings.ts b/packages/api-docs-builder-core/muiSystem/projectSettings.ts index ea2ed910822326..3acdc3b5a2e35c 100644 --- a/packages/api-docs-builder-core/muiSystem/projectSettings.ts +++ b/packages/api-docs-builder-core/muiSystem/projectSettings.ts @@ -25,7 +25,7 @@ export const projectSettings: ProjectSettings = { skipComponent(filename) { return ( filename.match( - /(ThemeProvider|CssVarsProvider|PropsProvider|GlobalStyles|InitColorSchemeScript)/, + /(ThemeProvider|CssVarsProvider|DefaultPropsProvider|GlobalStyles|InitColorSchemeScript)/, ) !== null ); }, diff --git a/packages/mui-lab/src/LoadingButton/LoadingButton.js b/packages/mui-lab/src/LoadingButton/LoadingButton.js index 39f382706c9c02..13d5a9aec21df1 100644 --- a/packages/mui-lab/src/LoadingButton/LoadingButton.js +++ b/packages/mui-lab/src/LoadingButton/LoadingButton.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types'; import { chainPropTypes } from '@mui/utils'; import { capitalize, unstable_useId as useId } from '@mui/material/utils'; import { unstable_composeClasses as composeClasses } from '@mui/base'; -import { useDefaultProps } from '@mui/material/PropsProvider'; +import { useDefaultProps } from '@mui/material/DefaultPropsProvider'; import Button from '@mui/material/Button'; import { ButtonGroupContext } from '@mui/material/ButtonGroup'; import CircularProgress from '@mui/material/CircularProgress'; diff --git a/packages/mui-material/src/Accordion/Accordion.js b/packages/mui-material/src/Accordion/Accordion.js index e2144f1675b23a..6d38d0f05c4443 100644 --- a/packages/mui-material/src/Accordion/Accordion.js +++ b/packages/mui-material/src/Accordion/Accordion.js @@ -6,7 +6,7 @@ import clsx from 'clsx'; import chainPropTypes from '@mui/utils/chainPropTypes'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import Collapse from '../Collapse'; import Paper from '../Paper'; import AccordionContext from './AccordionContext'; diff --git a/packages/mui-material/src/AccordionActions/AccordionActions.js b/packages/mui-material/src/AccordionActions/AccordionActions.js index c8fe2dec57f7c6..df67d059a1d7d8 100644 --- a/packages/mui-material/src/AccordionActions/AccordionActions.js +++ b/packages/mui-material/src/AccordionActions/AccordionActions.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import { getAccordionActionsUtilityClass } from './accordionActionsClasses'; const useUtilityClasses = (ownerState) => { diff --git a/packages/mui-material/src/AccordionDetails/AccordionDetails.js b/packages/mui-material/src/AccordionDetails/AccordionDetails.js index f1f1edb6d0b667..bd07c757aad8ea 100644 --- a/packages/mui-material/src/AccordionDetails/AccordionDetails.js +++ b/packages/mui-material/src/AccordionDetails/AccordionDetails.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import { getAccordionDetailsUtilityClass } from './accordionDetailsClasses'; const useUtilityClasses = (ownerState) => { diff --git a/packages/mui-material/src/AccordionSummary/AccordionSummary.js b/packages/mui-material/src/AccordionSummary/AccordionSummary.js index 2b9ca745677316..3f23fac82bf689 100644 --- a/packages/mui-material/src/AccordionSummary/AccordionSummary.js +++ b/packages/mui-material/src/AccordionSummary/AccordionSummary.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import ButtonBase from '../ButtonBase'; import AccordionContext from '../Accordion/AccordionContext'; import accordionSummaryClasses, { diff --git a/packages/mui-material/src/Alert/Alert.js b/packages/mui-material/src/Alert/Alert.js index 86f36c36a2f186..b5f3de7861f3ee 100644 --- a/packages/mui-material/src/Alert/Alert.js +++ b/packages/mui-material/src/Alert/Alert.js @@ -5,7 +5,7 @@ import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { darken, lighten } from '@mui/system/colorManipulator'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import useSlot from '../utils/useSlot'; import capitalize from '../utils/capitalize'; import Paper from '../Paper'; diff --git a/packages/mui-material/src/AlertTitle/AlertTitle.js b/packages/mui-material/src/AlertTitle/AlertTitle.js index 160ac3dc7479b9..f8e6d0cb3711df 100644 --- a/packages/mui-material/src/AlertTitle/AlertTitle.js +++ b/packages/mui-material/src/AlertTitle/AlertTitle.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import Typography from '../Typography'; import { getAlertTitleUtilityClass } from './alertTitleClasses'; diff --git a/packages/mui-material/src/AppBar/AppBar.js b/packages/mui-material/src/AppBar/AppBar.js index bc8eed2e1b3635..d1f60b6a9960d6 100644 --- a/packages/mui-material/src/AppBar/AppBar.js +++ b/packages/mui-material/src/AppBar/AppBar.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import capitalize from '../utils/capitalize'; import Paper from '../Paper'; import { getAppBarUtilityClass } from './appBarClasses'; diff --git a/packages/mui-material/src/Autocomplete/Autocomplete.js b/packages/mui-material/src/Autocomplete/Autocomplete.js index 3ecccece4f4183..c8ba035f39ee56 100644 --- a/packages/mui-material/src/Autocomplete/Autocomplete.js +++ b/packages/mui-material/src/Autocomplete/Autocomplete.js @@ -19,7 +19,7 @@ import filledInputClasses from '../FilledInput/filledInputClasses'; import ClearIcon from '../internal/svg-icons/Close'; import ArrowDropDownIcon from '../internal/svg-icons/ArrowDropDown'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import autocompleteClasses, { getAutocompleteUtilityClass } from './autocompleteClasses'; import capitalize from '../utils/capitalize'; import useSlot from '../utils/useSlot'; diff --git a/packages/mui-material/src/Avatar/Avatar.js b/packages/mui-material/src/Avatar/Avatar.js index 51d5d196104f52..90425bcae320aa 100644 --- a/packages/mui-material/src/Avatar/Avatar.js +++ b/packages/mui-material/src/Avatar/Avatar.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import Person from '../internal/svg-icons/Person'; import { getAvatarUtilityClass } from './avatarClasses'; import useSlot from '../utils/useSlot'; diff --git a/packages/mui-material/src/AvatarGroup/AvatarGroup.js b/packages/mui-material/src/AvatarGroup/AvatarGroup.js index a46f6eb1b99df8..507109723fb912 100644 --- a/packages/mui-material/src/AvatarGroup/AvatarGroup.js +++ b/packages/mui-material/src/AvatarGroup/AvatarGroup.js @@ -6,7 +6,7 @@ import clsx from 'clsx'; import chainPropTypes from '@mui/utils/chainPropTypes'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import Avatar, { avatarClasses } from '../Avatar'; import avatarGroupClasses, { getAvatarGroupUtilityClass } from './avatarGroupClasses'; import useSlot from '../utils/useSlot'; diff --git a/packages/mui-material/src/Backdrop/Backdrop.js b/packages/mui-material/src/Backdrop/Backdrop.js index fb79ffaf9bb637..549666a047fd94 100644 --- a/packages/mui-material/src/Backdrop/Backdrop.js +++ b/packages/mui-material/src/Backdrop/Backdrop.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import useSlot from '../utils/useSlot'; import Fade from '../Fade'; import { getBackdropUtilityClass } from './backdropClasses'; diff --git a/packages/mui-material/src/Badge/Badge.js b/packages/mui-material/src/Badge/Badge.js index ff62cdbaec693a..d3543f3c12715d 100644 --- a/packages/mui-material/src/Badge/Badge.js +++ b/packages/mui-material/src/Badge/Badge.js @@ -7,7 +7,7 @@ import composeClasses from '@mui/utils/composeClasses'; import { useBadge } from '@mui/base/useBadge'; import { useSlotProps } from '@mui/base/utils'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import capitalize from '../utils/capitalize'; import badgeClasses, { getBadgeUtilityClass } from './badgeClasses'; diff --git a/packages/mui-material/src/BottomNavigation/BottomNavigation.js b/packages/mui-material/src/BottomNavigation/BottomNavigation.js index bd118348110a3f..976f43c61bd4ac 100755 --- a/packages/mui-material/src/BottomNavigation/BottomNavigation.js +++ b/packages/mui-material/src/BottomNavigation/BottomNavigation.js @@ -5,7 +5,7 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import { getBottomNavigationUtilityClass } from './bottomNavigationClasses'; const useUtilityClasses = (ownerState) => { diff --git a/packages/mui-material/src/BottomNavigationAction/BottomNavigationAction.js b/packages/mui-material/src/BottomNavigationAction/BottomNavigationAction.js index 0426eacd8a822f..e47b9c83e1890c 100644 --- a/packages/mui-material/src/BottomNavigationAction/BottomNavigationAction.js +++ b/packages/mui-material/src/BottomNavigationAction/BottomNavigationAction.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import ButtonBase from '../ButtonBase'; import unsupportedProp from '../utils/unsupportedProp'; import bottomNavigationActionClasses, { diff --git a/packages/mui-material/src/Breadcrumbs/Breadcrumbs.js b/packages/mui-material/src/Breadcrumbs/Breadcrumbs.js index abfe1526bb7410..45a83fbbe6c62c 100644 --- a/packages/mui-material/src/Breadcrumbs/Breadcrumbs.js +++ b/packages/mui-material/src/Breadcrumbs/Breadcrumbs.js @@ -7,7 +7,7 @@ import integerPropType from '@mui/utils/integerPropType'; import { useSlotProps } from '@mui/base/utils'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import Typography from '../Typography'; import BreadcrumbCollapsed from './BreadcrumbCollapsed'; import breadcrumbsClasses, { getBreadcrumbsUtilityClass } from './breadcrumbsClasses'; diff --git a/packages/mui-material/src/Button/Button.js b/packages/mui-material/src/Button/Button.js index 76d8bab75938b0..a61970c0e6ec66 100644 --- a/packages/mui-material/src/Button/Button.js +++ b/packages/mui-material/src/Button/Button.js @@ -7,7 +7,7 @@ import composeClasses from '@mui/utils/composeClasses'; import { alpha } from '@mui/system/colorManipulator'; import rootShouldForwardProp from '../styles/rootShouldForwardProp'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import ButtonBase from '../ButtonBase'; import capitalize from '../utils/capitalize'; import buttonClasses, { getButtonUtilityClass } from './buttonClasses'; diff --git a/packages/mui-material/src/ButtonBase/ButtonBase.js b/packages/mui-material/src/ButtonBase/ButtonBase.js index 2cb391b6a17f5f..e2dc37b66a9821 100644 --- a/packages/mui-material/src/ButtonBase/ButtonBase.js +++ b/packages/mui-material/src/ButtonBase/ButtonBase.js @@ -6,7 +6,7 @@ import refType from '@mui/utils/refType'; import elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import useForkRef from '../utils/useForkRef'; import useEventCallback from '../utils/useEventCallback'; import useIsFocusVisible from '../utils/useIsFocusVisible'; diff --git a/packages/mui-material/src/ButtonBase/TouchRipple.js b/packages/mui-material/src/ButtonBase/TouchRipple.js index 24e6c2b8fae644..ae7fe8c85ec36f 100644 --- a/packages/mui-material/src/ButtonBase/TouchRipple.js +++ b/packages/mui-material/src/ButtonBase/TouchRipple.js @@ -5,7 +5,7 @@ import { TransitionGroup } from 'react-transition-group'; import clsx from 'clsx'; import useTimeout from '@mui/utils/useTimeout'; import { keyframes, styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import Ripple from './Ripple'; import touchRippleClasses from './touchRippleClasses'; diff --git a/packages/mui-material/src/ButtonGroup/ButtonGroup.js b/packages/mui-material/src/ButtonGroup/ButtonGroup.js index f4984c704dbbdb..0486a079366ffe 100644 --- a/packages/mui-material/src/ButtonGroup/ButtonGroup.js +++ b/packages/mui-material/src/ButtonGroup/ButtonGroup.js @@ -7,7 +7,7 @@ import { alpha } from '@mui/system/colorManipulator'; import getValidReactChildren from '@mui/utils/getValidReactChildren'; import capitalize from '../utils/capitalize'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import buttonGroupClasses, { getButtonGroupUtilityClass } from './buttonGroupClasses'; import ButtonGroupContext from './ButtonGroupContext'; import ButtonGroupButtonContext from './ButtonGroupButtonContext'; diff --git a/packages/mui-material/src/Card/Card.js b/packages/mui-material/src/Card/Card.js index b9fea85cc37599..4d658cc688800c 100644 --- a/packages/mui-material/src/Card/Card.js +++ b/packages/mui-material/src/Card/Card.js @@ -5,7 +5,7 @@ import clsx from 'clsx'; import chainPropTypes from '@mui/utils/chainPropTypes'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import Paper from '../Paper'; import { getCardUtilityClass } from './cardClasses'; diff --git a/packages/mui-material/src/CardActionArea/CardActionArea.js b/packages/mui-material/src/CardActionArea/CardActionArea.js index 6af0ee5301126f..f6b5168e3ccc4b 100644 --- a/packages/mui-material/src/CardActionArea/CardActionArea.js +++ b/packages/mui-material/src/CardActionArea/CardActionArea.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import cardActionAreaClasses, { getCardActionAreaUtilityClass } from './cardActionAreaClasses'; import ButtonBase from '../ButtonBase'; diff --git a/packages/mui-material/src/CardActions/CardActions.js b/packages/mui-material/src/CardActions/CardActions.js index a5dd98a22baf51..5213656597c565 100644 --- a/packages/mui-material/src/CardActions/CardActions.js +++ b/packages/mui-material/src/CardActions/CardActions.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import { getCardActionsUtilityClass } from './cardActionsClasses'; const useUtilityClasses = (ownerState) => { diff --git a/packages/mui-material/src/CardContent/CardContent.js b/packages/mui-material/src/CardContent/CardContent.js index 8ddf2ca1079cec..b556fdcd127f9d 100644 --- a/packages/mui-material/src/CardContent/CardContent.js +++ b/packages/mui-material/src/CardContent/CardContent.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import { getCardContentUtilityClass } from './cardContentClasses'; const useUtilityClasses = (ownerState) => { diff --git a/packages/mui-material/src/CardHeader/CardHeader.js b/packages/mui-material/src/CardHeader/CardHeader.js index 7ef22fba476d00..1869a47bafd733 100644 --- a/packages/mui-material/src/CardHeader/CardHeader.js +++ b/packages/mui-material/src/CardHeader/CardHeader.js @@ -5,7 +5,7 @@ import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import Typography from '../Typography'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import cardHeaderClasses, { getCardHeaderUtilityClass } from './cardHeaderClasses'; const useUtilityClasses = (ownerState) => { diff --git a/packages/mui-material/src/CardMedia/CardMedia.js b/packages/mui-material/src/CardMedia/CardMedia.js index c6c4fd6dba3bfc..9a11d422b579db 100644 --- a/packages/mui-material/src/CardMedia/CardMedia.js +++ b/packages/mui-material/src/CardMedia/CardMedia.js @@ -5,7 +5,7 @@ import clsx from 'clsx'; import chainPropTypes from '@mui/utils/chainPropTypes'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import { getCardMediaUtilityClass } from './cardMediaClasses'; const useUtilityClasses = (ownerState) => { diff --git a/packages/mui-material/src/Checkbox/Checkbox.js b/packages/mui-material/src/Checkbox/Checkbox.js index 938cbee736b707..9f76fc068f4d78 100644 --- a/packages/mui-material/src/Checkbox/Checkbox.js +++ b/packages/mui-material/src/Checkbox/Checkbox.js @@ -14,7 +14,7 @@ import rootShouldForwardProp from '../styles/rootShouldForwardProp'; import checkboxClasses, { getCheckboxUtilityClass } from './checkboxClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; const useUtilityClasses = (ownerState) => { const { classes, indeterminate, color, size } = ownerState; diff --git a/packages/mui-material/src/Chip/Chip.js b/packages/mui-material/src/Chip/Chip.js index 0cfe9087c805b0..9b42fef06e4edb 100644 --- a/packages/mui-material/src/Chip/Chip.js +++ b/packages/mui-material/src/Chip/Chip.js @@ -10,7 +10,7 @@ import unsupportedProp from '../utils/unsupportedProp'; import capitalize from '../utils/capitalize'; import ButtonBase from '../ButtonBase'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import chipClasses, { getChipUtilityClass } from './chipClasses'; const useUtilityClasses = (ownerState) => { diff --git a/packages/mui-material/src/CircularProgress/CircularProgress.js b/packages/mui-material/src/CircularProgress/CircularProgress.js index be0c38701f0725..68fa5a0e4143eb 100644 --- a/packages/mui-material/src/CircularProgress/CircularProgress.js +++ b/packages/mui-material/src/CircularProgress/CircularProgress.js @@ -5,7 +5,7 @@ import clsx from 'clsx'; import chainPropTypes from '@mui/utils/chainPropTypes'; import composeClasses from '@mui/utils/composeClasses'; import { keyframes, css, styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import capitalize from '../utils/capitalize'; import { getCircularProgressUtilityClass } from './circularProgressClasses'; diff --git a/packages/mui-material/src/Collapse/Collapse.js b/packages/mui-material/src/Collapse/Collapse.js index 7788a9ddd8b444..dcb6dd2ec21da0 100644 --- a/packages/mui-material/src/Collapse/Collapse.js +++ b/packages/mui-material/src/Collapse/Collapse.js @@ -7,7 +7,7 @@ import useTimeout from '@mui/utils/useTimeout'; import elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef'; import composeClasses from '@mui/utils/composeClasses'; import { styled, useTheme } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import { duration } from '../styles/createTransitions'; import { getTransitionProps } from '../transitions/utils'; import { useForkRef } from '../utils'; diff --git a/packages/mui-material/src/PropsProvider/PropsProvider.spec.tsx b/packages/mui-material/src/DefaultPropsProvider/DefaultPropsProvider.spec.tsx similarity index 53% rename from packages/mui-material/src/PropsProvider/PropsProvider.spec.tsx rename to packages/mui-material/src/DefaultPropsProvider/DefaultPropsProvider.spec.tsx index 91a2664bf3266a..e2746d2c6db9e6 100644 --- a/packages/mui-material/src/PropsProvider/PropsProvider.spec.tsx +++ b/packages/mui-material/src/DefaultPropsProvider/DefaultPropsProvider.spec.tsx @@ -1,21 +1,19 @@ import * as React from 'react'; -import PropsProvider from '@mui/material/PropsProvider'; +import DefaultPropsProvider from '@mui/material/DefaultPropsProvider'; function CustomComponent() { return null; } -; - } }; + value: { [P in keyof ComponentsPropsList]?: Partial }; }>, ) { - return ; + return ; } -PropsProvider.propTypes /* remove-proptypes */ = { +DefaultPropsProvider.propTypes /* remove-proptypes */ = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │ @@ -29,7 +29,7 @@ PropsProvider.propTypes /* remove-proptypes */ = { value: PropTypes.object.isRequired, } as any; -export default PropsProvider; +export default DefaultPropsProvider; export function useDefaultProps>(params: { props: Props; diff --git a/packages/mui-material/src/DefaultPropsProvider/index.ts b/packages/mui-material/src/DefaultPropsProvider/index.ts new file mode 100644 index 00000000000000..646b9a27128699 --- /dev/null +++ b/packages/mui-material/src/DefaultPropsProvider/index.ts @@ -0,0 +1 @@ +export { default, useDefaultProps } from './DefaultPropsProvider'; diff --git a/packages/mui-material/src/Dialog/Dialog.js b/packages/mui-material/src/Dialog/Dialog.js index c8c76ace799041..9ada355c5155aa 100644 --- a/packages/mui-material/src/Dialog/Dialog.js +++ b/packages/mui-material/src/Dialog/Dialog.js @@ -13,7 +13,7 @@ import DialogContext from './DialogContext'; import Backdrop from '../Backdrop'; import { styled, useTheme } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; const DialogBackdrop = styled(Backdrop, { name: 'MuiDialog', diff --git a/packages/mui-material/src/DialogActions/DialogActions.js b/packages/mui-material/src/DialogActions/DialogActions.js index 3b4ab7195365d2..8e1b730bc4c096 100644 --- a/packages/mui-material/src/DialogActions/DialogActions.js +++ b/packages/mui-material/src/DialogActions/DialogActions.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import { getDialogActionsUtilityClass } from './dialogActionsClasses'; const useUtilityClasses = (ownerState) => { diff --git a/packages/mui-material/src/DialogContent/DialogContent.js b/packages/mui-material/src/DialogContent/DialogContent.js index dfe0c3582b1092..93c017300eb144 100644 --- a/packages/mui-material/src/DialogContent/DialogContent.js +++ b/packages/mui-material/src/DialogContent/DialogContent.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import { getDialogContentUtilityClass } from './dialogContentClasses'; import dialogTitleClasses from '../DialogTitle/dialogTitleClasses'; diff --git a/packages/mui-material/src/DialogContentText/DialogContentText.js b/packages/mui-material/src/DialogContentText/DialogContentText.js index a31733d4754fd2..359a7000387e1c 100644 --- a/packages/mui-material/src/DialogContentText/DialogContentText.js +++ b/packages/mui-material/src/DialogContentText/DialogContentText.js @@ -5,7 +5,7 @@ import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import rootShouldForwardProp from '../styles/rootShouldForwardProp'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import Typography from '../Typography'; import { getDialogContentTextUtilityClass } from './dialogContentTextClasses'; diff --git a/packages/mui-material/src/DialogTitle/DialogTitle.js b/packages/mui-material/src/DialogTitle/DialogTitle.js index d42930a2146ae6..0f2b12d85caacb 100644 --- a/packages/mui-material/src/DialogTitle/DialogTitle.js +++ b/packages/mui-material/src/DialogTitle/DialogTitle.js @@ -5,7 +5,7 @@ import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import Typography from '../Typography'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import { getDialogTitleUtilityClass } from './dialogTitleClasses'; import DialogContext from '../Dialog/DialogContext'; diff --git a/packages/mui-material/src/Divider/Divider.js b/packages/mui-material/src/Divider/Divider.js index 628d970c39513f..906b8c8c36f0d5 100644 --- a/packages/mui-material/src/Divider/Divider.js +++ b/packages/mui-material/src/Divider/Divider.js @@ -5,7 +5,7 @@ import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { alpha } from '@mui/system/colorManipulator'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import { getDividerUtilityClass } from './dividerClasses'; const useUtilityClasses = (ownerState) => { diff --git a/packages/mui-material/src/Drawer/Drawer.js b/packages/mui-material/src/Drawer/Drawer.js index ef696f69c1a77b..7973cbbea62aae 100644 --- a/packages/mui-material/src/Drawer/Drawer.js +++ b/packages/mui-material/src/Drawer/Drawer.js @@ -11,7 +11,7 @@ import Paper from '../Paper'; import capitalize from '../utils/capitalize'; import rootShouldForwardProp from '../styles/rootShouldForwardProp'; import { styled, useTheme } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import { getDrawerUtilityClass } from './drawerClasses'; const overridesResolver = (props, styles) => { diff --git a/packages/mui-material/src/Fab/Fab.js b/packages/mui-material/src/Fab/Fab.js index 0bbaa2f50b5942..71da7157e83527 100644 --- a/packages/mui-material/src/Fab/Fab.js +++ b/packages/mui-material/src/Fab/Fab.js @@ -9,7 +9,7 @@ import fabClasses, { getFabUtilityClass } from './fabClasses'; import rootShouldForwardProp from '../styles/rootShouldForwardProp'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; const useUtilityClasses = (ownerState) => { const { color, variant, classes, size } = ownerState; diff --git a/packages/mui-material/src/FilledInput/FilledInput.js b/packages/mui-material/src/FilledInput/FilledInput.js index 2abd9c2828b2fb..fb0a867204b7d6 100644 --- a/packages/mui-material/src/FilledInput/FilledInput.js +++ b/packages/mui-material/src/FilledInput/FilledInput.js @@ -7,7 +7,7 @@ import composeClasses from '@mui/utils/composeClasses'; import InputBase from '../InputBase'; import rootShouldForwardProp from '../styles/rootShouldForwardProp'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import filledInputClasses, { getFilledInputUtilityClass } from './filledInputClasses'; import { rootOverridesResolver as inputBaseRootOverridesResolver, diff --git a/packages/mui-material/src/FormControl/FormControl.js b/packages/mui-material/src/FormControl/FormControl.js index 3c94e5ee9f7087..e9d5d01b773a4d 100644 --- a/packages/mui-material/src/FormControl/FormControl.js +++ b/packages/mui-material/src/FormControl/FormControl.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import { isFilled, isAdornedStart } from '../InputBase/utils'; import capitalize from '../utils/capitalize'; import isMuiElement from '../utils/isMuiElement'; diff --git a/packages/mui-material/src/FormControlLabel/FormControlLabel.js b/packages/mui-material/src/FormControlLabel/FormControlLabel.js index bf749163e30738..a277055f179a5c 100644 --- a/packages/mui-material/src/FormControlLabel/FormControlLabel.js +++ b/packages/mui-material/src/FormControlLabel/FormControlLabel.js @@ -6,7 +6,7 @@ import refType from '@mui/utils/refType'; import composeClasses from '@mui/utils/composeClasses'; import { useFormControl } from '../FormControl'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import Stack from '../Stack'; import Typography from '../Typography'; import capitalize from '../utils/capitalize'; diff --git a/packages/mui-material/src/FormGroup/FormGroup.js b/packages/mui-material/src/FormGroup/FormGroup.js index 26dd2527ac163e..d5849282e39f66 100644 --- a/packages/mui-material/src/FormGroup/FormGroup.js +++ b/packages/mui-material/src/FormGroup/FormGroup.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import { getFormGroupUtilityClass } from './formGroupClasses'; import useFormControl from '../FormControl/useFormControl'; import formControlState from '../FormControl/formControlState'; diff --git a/packages/mui-material/src/FormHelperText/FormHelperText.js b/packages/mui-material/src/FormHelperText/FormHelperText.js index 2a0087eaeab05e..44a2ae9215e9fa 100644 --- a/packages/mui-material/src/FormHelperText/FormHelperText.js +++ b/packages/mui-material/src/FormHelperText/FormHelperText.js @@ -6,7 +6,7 @@ import composeClasses from '@mui/utils/composeClasses'; import formControlState from '../FormControl/formControlState'; import useFormControl from '../FormControl/useFormControl'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import capitalize from '../utils/capitalize'; import formHelperTextClasses, { getFormHelperTextUtilityClasses } from './formHelperTextClasses'; diff --git a/packages/mui-material/src/FormLabel/FormLabel.js b/packages/mui-material/src/FormLabel/FormLabel.js index 1b00839b4c4582..b412549321dd2b 100644 --- a/packages/mui-material/src/FormLabel/FormLabel.js +++ b/packages/mui-material/src/FormLabel/FormLabel.js @@ -7,7 +7,7 @@ import formControlState from '../FormControl/formControlState'; import useFormControl from '../FormControl/useFormControl'; import capitalize from '../utils/capitalize'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import formLabelClasses, { getFormLabelUtilityClasses } from './formLabelClasses'; const useUtilityClasses = (ownerState) => { diff --git a/packages/mui-material/src/Icon/Icon.js b/packages/mui-material/src/Icon/Icon.js index 149fbc3be60c72..8368b113b52972 100644 --- a/packages/mui-material/src/Icon/Icon.js +++ b/packages/mui-material/src/Icon/Icon.js @@ -5,7 +5,7 @@ import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import capitalize from '../utils/capitalize'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import { getIconUtilityClass } from './iconClasses'; const useUtilityClasses = (ownerState) => { diff --git a/packages/mui-material/src/IconButton/IconButton.js b/packages/mui-material/src/IconButton/IconButton.js index e53b774e731d09..31ce68e22f2f82 100644 --- a/packages/mui-material/src/IconButton/IconButton.js +++ b/packages/mui-material/src/IconButton/IconButton.js @@ -6,7 +6,7 @@ import chainPropTypes from '@mui/utils/chainPropTypes'; import composeClasses from '@mui/utils/composeClasses'; import { alpha } from '@mui/system/colorManipulator'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import ButtonBase from '../ButtonBase'; import capitalize from '../utils/capitalize'; import iconButtonClasses, { getIconButtonUtilityClass } from './iconButtonClasses'; diff --git a/packages/mui-material/src/ImageList/ImageList.js b/packages/mui-material/src/ImageList/ImageList.js index 094ccc2c000c68..3f92f867e84a12 100644 --- a/packages/mui-material/src/ImageList/ImageList.js +++ b/packages/mui-material/src/ImageList/ImageList.js @@ -5,7 +5,7 @@ import clsx from 'clsx'; import PropTypes from 'prop-types'; import * as React from 'react'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import { getImageListUtilityClass } from './imageListClasses'; import ImageListContext from './ImageListContext'; diff --git a/packages/mui-material/src/ImageListItem/ImageListItem.js b/packages/mui-material/src/ImageListItem/ImageListItem.js index e0b706769e3950..ecf89d2988d829 100644 --- a/packages/mui-material/src/ImageListItem/ImageListItem.js +++ b/packages/mui-material/src/ImageListItem/ImageListItem.js @@ -7,7 +7,7 @@ import * as React from 'react'; import { isFragment } from 'react-is'; import ImageListContext from '../ImageList/ImageListContext'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import isMuiElement from '../utils/isMuiElement'; import imageListItemClasses, { getImageListItemUtilityClass } from './imageListItemClasses'; diff --git a/packages/mui-material/src/ImageListItemBar/ImageListItemBar.js b/packages/mui-material/src/ImageListItemBar/ImageListItemBar.js index aaedaafaa68bf8..ec6cb966f1c046 100644 --- a/packages/mui-material/src/ImageListItemBar/ImageListItemBar.js +++ b/packages/mui-material/src/ImageListItemBar/ImageListItemBar.js @@ -4,7 +4,7 @@ import clsx from 'clsx'; import PropTypes from 'prop-types'; import * as React from 'react'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import capitalize from '../utils/capitalize'; import { getImageListItemBarUtilityClass } from './imageListItemBarClasses'; diff --git a/packages/mui-material/src/Input/Input.js b/packages/mui-material/src/Input/Input.js index 97c4bda3e0ba54..5e60d276a63817 100644 --- a/packages/mui-material/src/Input/Input.js +++ b/packages/mui-material/src/Input/Input.js @@ -7,7 +7,7 @@ import refType from '@mui/utils/refType'; import InputBase from '../InputBase'; import rootShouldForwardProp from '../styles/rootShouldForwardProp'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import inputClasses, { getInputUtilityClass } from './inputClasses'; import { rootOverridesResolver as inputBaseRootOverridesResolver, diff --git a/packages/mui-material/src/InputAdornment/InputAdornment.js b/packages/mui-material/src/InputAdornment/InputAdornment.js index 865985704eec93..58f8c75fbc7764 100644 --- a/packages/mui-material/src/InputAdornment/InputAdornment.js +++ b/packages/mui-material/src/InputAdornment/InputAdornment.js @@ -8,7 +8,7 @@ import Typography from '../Typography'; import FormControlContext from '../FormControl/FormControlContext'; import useFormControl from '../FormControl/useFormControl'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses'; const overridesResolver = (props, styles) => { diff --git a/packages/mui-material/src/InputBase/InputBase.js b/packages/mui-material/src/InputBase/InputBase.js index 35a7f1caddc71c..f92d068cdc41ca 100644 --- a/packages/mui-material/src/InputBase/InputBase.js +++ b/packages/mui-material/src/InputBase/InputBase.js @@ -12,7 +12,7 @@ import formControlState from '../FormControl/formControlState'; import FormControlContext from '../FormControl/FormControlContext'; import useFormControl from '../FormControl/useFormControl'; import { styled, globalCss } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import capitalize from '../utils/capitalize'; import useForkRef from '../utils/useForkRef'; import useEnhancedEffect from '../utils/useEnhancedEffect'; diff --git a/packages/mui-material/src/InputLabel/InputLabel.js b/packages/mui-material/src/InputLabel/InputLabel.js index 0bcb654468277e..71db13aecba3f4 100644 --- a/packages/mui-material/src/InputLabel/InputLabel.js +++ b/packages/mui-material/src/InputLabel/InputLabel.js @@ -9,7 +9,7 @@ import FormLabel, { formLabelClasses } from '../FormLabel'; import capitalize from '../utils/capitalize'; import rootShouldForwardProp from '../styles/rootShouldForwardProp'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import { getInputLabelUtilityClasses } from './inputLabelClasses'; const useUtilityClasses = (ownerState) => { diff --git a/packages/mui-material/src/LinearProgress/LinearProgress.js b/packages/mui-material/src/LinearProgress/LinearProgress.js index c29638244fa90f..bc4366a91fa801 100644 --- a/packages/mui-material/src/LinearProgress/LinearProgress.js +++ b/packages/mui-material/src/LinearProgress/LinearProgress.js @@ -6,7 +6,7 @@ import composeClasses from '@mui/utils/composeClasses'; import { darken, lighten } from '@mui/system/colorManipulator'; import { useRtl } from '@mui/system/RtlProvider'; import { keyframes, css, styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import capitalize from '../utils/capitalize'; import { getLinearProgressUtilityClass } from './linearProgressClasses'; diff --git a/packages/mui-material/src/Link/Link.js b/packages/mui-material/src/Link/Link.js index 25b2070884f84f..7ee5ec75e5940f 100644 --- a/packages/mui-material/src/Link/Link.js +++ b/packages/mui-material/src/Link/Link.js @@ -7,7 +7,7 @@ import elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef'; import composeClasses from '@mui/utils/composeClasses'; import capitalize from '../utils/capitalize'; import { styled, useTheme } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import useIsFocusVisible from '../utils/useIsFocusVisible'; import useForkRef from '../utils/useForkRef'; import Typography from '../Typography'; diff --git a/packages/mui-material/src/List/List.js b/packages/mui-material/src/List/List.js index e951848ecc9357..7e09c8ae812060 100644 --- a/packages/mui-material/src/List/List.js +++ b/packages/mui-material/src/List/List.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import ListContext from './ListContext'; import { getListUtilityClass } from './listClasses'; diff --git a/packages/mui-material/src/ListItem/ListItem.js b/packages/mui-material/src/ListItem/ListItem.js index fb7f1c9c5e93fb..187bcaf84db17d 100644 --- a/packages/mui-material/src/ListItem/ListItem.js +++ b/packages/mui-material/src/ListItem/ListItem.js @@ -8,7 +8,7 @@ import elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef'; import chainPropTypes from '@mui/utils/chainPropTypes'; import { alpha } from '@mui/system/colorManipulator'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import ButtonBase from '../ButtonBase'; import isMuiElement from '../utils/isMuiElement'; import useEnhancedEffect from '../utils/useEnhancedEffect'; diff --git a/packages/mui-material/src/ListItemAvatar/ListItemAvatar.js b/packages/mui-material/src/ListItemAvatar/ListItemAvatar.js index 587748338c4aeb..e6c360ed238e50 100644 --- a/packages/mui-material/src/ListItemAvatar/ListItemAvatar.js +++ b/packages/mui-material/src/ListItemAvatar/ListItemAvatar.js @@ -5,7 +5,7 @@ import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import ListContext from '../List/ListContext'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import { getListItemAvatarUtilityClass } from './listItemAvatarClasses'; const useUtilityClasses = (ownerState) => { diff --git a/packages/mui-material/src/ListItemButton/ListItemButton.js b/packages/mui-material/src/ListItemButton/ListItemButton.js index a157e850e6ab82..7c4f5e54573778 100644 --- a/packages/mui-material/src/ListItemButton/ListItemButton.js +++ b/packages/mui-material/src/ListItemButton/ListItemButton.js @@ -5,7 +5,7 @@ import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { alpha } from '@mui/system/colorManipulator'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import rootShouldForwardProp from '../styles/rootShouldForwardProp'; import ButtonBase from '../ButtonBase'; import useEnhancedEffect from '../utils/useEnhancedEffect'; diff --git a/packages/mui-material/src/ListItemIcon/ListItemIcon.js b/packages/mui-material/src/ListItemIcon/ListItemIcon.js index 3d40e0f6fa2108..310259d5e5d81f 100644 --- a/packages/mui-material/src/ListItemIcon/ListItemIcon.js +++ b/packages/mui-material/src/ListItemIcon/ListItemIcon.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import { getListItemIconUtilityClass } from './listItemIconClasses'; import ListContext from '../List/ListContext'; diff --git a/packages/mui-material/src/ListItemSecondaryAction/ListItemSecondaryAction.js b/packages/mui-material/src/ListItemSecondaryAction/ListItemSecondaryAction.js index c60db137ae977f..b8269bbf09937a 100644 --- a/packages/mui-material/src/ListItemSecondaryAction/ListItemSecondaryAction.js +++ b/packages/mui-material/src/ListItemSecondaryAction/ListItemSecondaryAction.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import ListContext from '../List/ListContext'; import { getListItemSecondaryActionClassesUtilityClass } from './listItemSecondaryActionClasses'; diff --git a/packages/mui-material/src/ListItemText/ListItemText.js b/packages/mui-material/src/ListItemText/ListItemText.js index a926f72667b4b6..aa7256d91194ea 100644 --- a/packages/mui-material/src/ListItemText/ListItemText.js +++ b/packages/mui-material/src/ListItemText/ListItemText.js @@ -6,7 +6,7 @@ import composeClasses from '@mui/utils/composeClasses'; import Typography from '../Typography'; import ListContext from '../List/ListContext'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import listItemTextClasses, { getListItemTextUtilityClass } from './listItemTextClasses'; const useUtilityClasses = (ownerState) => { diff --git a/packages/mui-material/src/ListSubheader/ListSubheader.js b/packages/mui-material/src/ListSubheader/ListSubheader.js index 6ee95f9eb03abc..279c5e99f31da9 100644 --- a/packages/mui-material/src/ListSubheader/ListSubheader.js +++ b/packages/mui-material/src/ListSubheader/ListSubheader.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import capitalize from '../utils/capitalize'; import { getListSubheaderUtilityClass } from './listSubheaderClasses'; diff --git a/packages/mui-material/src/Menu/Menu.js b/packages/mui-material/src/Menu/Menu.js index c82a2e4bcfb795..821f544ab16e83 100644 --- a/packages/mui-material/src/Menu/Menu.js +++ b/packages/mui-material/src/Menu/Menu.js @@ -11,7 +11,7 @@ import MenuList from '../MenuList'; import Popover, { PopoverPaper } from '../Popover'; import rootShouldForwardProp from '../styles/rootShouldForwardProp'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import { getMenuUtilityClass } from './menuClasses'; const RTL_ORIGIN = { diff --git a/packages/mui-material/src/MenuItem/MenuItem.js b/packages/mui-material/src/MenuItem/MenuItem.js index 4c762eb7df9aff..eb39af185ff660 100644 --- a/packages/mui-material/src/MenuItem/MenuItem.js +++ b/packages/mui-material/src/MenuItem/MenuItem.js @@ -6,7 +6,7 @@ import composeClasses from '@mui/utils/composeClasses'; import { alpha } from '@mui/system/colorManipulator'; import rootShouldForwardProp from '../styles/rootShouldForwardProp'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import ListContext from '../List/ListContext'; import ButtonBase from '../ButtonBase'; import useEnhancedEffect from '../utils/useEnhancedEffect'; diff --git a/packages/mui-material/src/MobileStepper/MobileStepper.js b/packages/mui-material/src/MobileStepper/MobileStepper.js index 37cfd36c4f56c5..302863de7e11f5 100644 --- a/packages/mui-material/src/MobileStepper/MobileStepper.js +++ b/packages/mui-material/src/MobileStepper/MobileStepper.js @@ -8,7 +8,7 @@ import Paper from '../Paper'; import capitalize from '../utils/capitalize'; import LinearProgress from '../LinearProgress'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import slotShouldForwardProp from '../styles/slotShouldForwardProp'; import { getMobileStepperUtilityClass } from './mobileStepperClasses'; diff --git a/packages/mui-material/src/Modal/Modal.js b/packages/mui-material/src/Modal/Modal.js index dff87895bba54c..c3868f0f0e3cdd 100644 --- a/packages/mui-material/src/Modal/Modal.js +++ b/packages/mui-material/src/Modal/Modal.js @@ -10,7 +10,7 @@ import composeClasses from '@mui/utils/composeClasses'; import FocusTrap from '../Unstable_TrapFocus'; import Portal from '../Portal'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import Backdrop from '../Backdrop'; import { getModalUtilityClass } from './modalClasses'; diff --git a/packages/mui-material/src/OutlinedInput/OutlinedInput.js b/packages/mui-material/src/OutlinedInput/OutlinedInput.js index f4ef0ed1abdb8b..d3812becdfc070 100644 --- a/packages/mui-material/src/OutlinedInput/OutlinedInput.js +++ b/packages/mui-material/src/OutlinedInput/OutlinedInput.js @@ -8,7 +8,7 @@ import useFormControl from '../FormControl/useFormControl'; import formControlState from '../FormControl/formControlState'; import rootShouldForwardProp from '../styles/rootShouldForwardProp'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import outlinedInputClasses, { getOutlinedInputUtilityClass } from './outlinedInputClasses'; import InputBase, { rootOverridesResolver as inputBaseRootOverridesResolver, diff --git a/packages/mui-material/src/Pagination/Pagination.js b/packages/mui-material/src/Pagination/Pagination.js index 12f36c34efbe48..56e2610ee2b4e9 100644 --- a/packages/mui-material/src/Pagination/Pagination.js +++ b/packages/mui-material/src/Pagination/Pagination.js @@ -9,7 +9,7 @@ import usePagination from '../usePagination'; import PaginationItem from '../PaginationItem'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; const useUtilityClasses = (ownerState) => { const { classes, variant } = ownerState; diff --git a/packages/mui-material/src/PaginationItem/PaginationItem.js b/packages/mui-material/src/PaginationItem/PaginationItem.js index 1826929d22e9a1..0a5aca797d497a 100644 --- a/packages/mui-material/src/PaginationItem/PaginationItem.js +++ b/packages/mui-material/src/PaginationItem/PaginationItem.js @@ -15,7 +15,7 @@ import NavigateNextIcon from '../internal/svg-icons/NavigateNext'; import useSlot from '../utils/useSlot'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; const overridesResolver = (props, styles) => { const { ownerState } = props; diff --git a/packages/mui-material/src/Paper/Paper.js b/packages/mui-material/src/Paper/Paper.js index e7be2d10af680e..abb07e7966bed5 100644 --- a/packages/mui-material/src/Paper/Paper.js +++ b/packages/mui-material/src/Paper/Paper.js @@ -7,7 +7,7 @@ import chainPropTypes from '@mui/utils/chainPropTypes'; import composeClasses from '@mui/utils/composeClasses'; import { alpha } from '@mui/system/colorManipulator'; import { styled, useTheme } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import getOverlayAlpha from '../styles/getOverlayAlpha'; import { getPaperUtilityClass } from './paperClasses'; diff --git a/packages/mui-material/src/Popover/Popover.js b/packages/mui-material/src/Popover/Popover.js index 86379c80ff34fa..427818eedef29f 100644 --- a/packages/mui-material/src/Popover/Popover.js +++ b/packages/mui-material/src/Popover/Popover.js @@ -10,7 +10,7 @@ import elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef'; import integerPropType from '@mui/utils/integerPropType'; import chainPropTypes from '@mui/utils/chainPropTypes'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import debounce from '../utils/debounce'; import ownerDocument from '../utils/ownerDocument'; import ownerWindow from '../utils/ownerWindow'; diff --git a/packages/mui-material/src/PropsProvider/index.ts b/packages/mui-material/src/PropsProvider/index.ts deleted file mode 100644 index 456a9a041a4308..00000000000000 --- a/packages/mui-material/src/PropsProvider/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default, useDefaultProps } from './PropsProvider'; diff --git a/packages/mui-material/src/Radio/Radio.js b/packages/mui-material/src/Radio/Radio.js index 6945312179b779..d3b81667586245 100644 --- a/packages/mui-material/src/Radio/Radio.js +++ b/packages/mui-material/src/Radio/Radio.js @@ -14,7 +14,7 @@ import radioClasses, { getRadioUtilityClass } from './radioClasses'; import rootShouldForwardProp from '../styles/rootShouldForwardProp'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; const useUtilityClasses = (ownerState) => { const { classes, color, size } = ownerState; diff --git a/packages/mui-material/src/Rating/Rating.js b/packages/mui-material/src/Rating/Rating.js index 35c52b5bf20b16..3648cfb33d344d 100644 --- a/packages/mui-material/src/Rating/Rating.js +++ b/packages/mui-material/src/Rating/Rating.js @@ -17,7 +17,7 @@ import { import Star from '../internal/svg-icons/Star'; import StarBorder from '../internal/svg-icons/StarBorder'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import slotShouldForwardProp from '../styles/slotShouldForwardProp'; import ratingClasses, { getRatingUtilityClass } from './ratingClasses'; diff --git a/packages/mui-material/src/Skeleton/Skeleton.js b/packages/mui-material/src/Skeleton/Skeleton.js index 05c10df01e896f..9321d08c2afbda 100644 --- a/packages/mui-material/src/Skeleton/Skeleton.js +++ b/packages/mui-material/src/Skeleton/Skeleton.js @@ -5,7 +5,7 @@ import PropTypes from 'prop-types'; import composeClasses from '@mui/utils/composeClasses'; import { alpha, unstable_getUnit as getUnit, unstable_toUnitless as toUnitless } from '../styles'; import { keyframes, css, styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import { getSkeletonUtilityClass } from './skeletonClasses'; const useUtilityClasses = (ownerState) => { diff --git a/packages/mui-material/src/Slider/Slider.js b/packages/mui-material/src/Slider/Slider.js index 9f8c8f22731e7a..ada5fda52457f3 100644 --- a/packages/mui-material/src/Slider/Slider.js +++ b/packages/mui-material/src/Slider/Slider.js @@ -9,7 +9,7 @@ import { useSlider, valueToPercent } from '@mui/base/useSlider'; import { alpha, lighten, darken } from '@mui/system/colorManipulator'; import { useRtl } from '@mui/system/RtlProvider'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import slotShouldForwardProp from '../styles/slotShouldForwardProp'; import shouldSpreadAdditionalProps from '../utils/shouldSpreadAdditionalProps'; import capitalize from '../utils/capitalize'; diff --git a/packages/mui-material/src/Snackbar/Snackbar.js b/packages/mui-material/src/Snackbar/Snackbar.js index ea8cc3899b931e..70abf93913296f 100644 --- a/packages/mui-material/src/Snackbar/Snackbar.js +++ b/packages/mui-material/src/Snackbar/Snackbar.js @@ -6,7 +6,7 @@ import composeClasses from '@mui/utils/composeClasses'; import { ClickAwayListener } from '@mui/base/ClickAwayListener'; import { useSnackbar } from '@mui/base/useSnackbar'; import { styled, useTheme } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import capitalize from '../utils/capitalize'; import Grow from '../Grow'; import SnackbarContent from '../SnackbarContent'; diff --git a/packages/mui-material/src/SnackbarContent/SnackbarContent.js b/packages/mui-material/src/SnackbarContent/SnackbarContent.js index 2ec0a36c3b6a9f..da761faad762f0 100644 --- a/packages/mui-material/src/SnackbarContent/SnackbarContent.js +++ b/packages/mui-material/src/SnackbarContent/SnackbarContent.js @@ -5,7 +5,7 @@ import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { emphasize } from '@mui/system/colorManipulator'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import Paper from '../Paper'; import { getSnackbarContentUtilityClass } from './snackbarContentClasses'; diff --git a/packages/mui-material/src/SpeedDial/SpeedDial.js b/packages/mui-material/src/SpeedDial/SpeedDial.js index a459f4e4de5ace..9c9badd4f085da 100644 --- a/packages/mui-material/src/SpeedDial/SpeedDial.js +++ b/packages/mui-material/src/SpeedDial/SpeedDial.js @@ -7,7 +7,7 @@ import composeClasses from '@mui/utils/composeClasses'; import useTimeout from '@mui/utils/useTimeout'; import clamp from '@mui/utils/clamp'; import { styled, useTheme } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import Zoom from '../Zoom'; import Fab from '../Fab'; import capitalize from '../utils/capitalize'; diff --git a/packages/mui-material/src/SpeedDialAction/SpeedDialAction.js b/packages/mui-material/src/SpeedDialAction/SpeedDialAction.js index 4d03ca94340edd..e93a42155ccddc 100644 --- a/packages/mui-material/src/SpeedDialAction/SpeedDialAction.js +++ b/packages/mui-material/src/SpeedDialAction/SpeedDialAction.js @@ -6,7 +6,7 @@ import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { emphasize } from '@mui/system/colorManipulator'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import Fab from '../Fab'; import Tooltip from '../Tooltip'; import capitalize from '../utils/capitalize'; diff --git a/packages/mui-material/src/SpeedDialIcon/SpeedDialIcon.js b/packages/mui-material/src/SpeedDialIcon/SpeedDialIcon.js index 6fe6320e597e23..9943a79ee0a1d3 100644 --- a/packages/mui-material/src/SpeedDialIcon/SpeedDialIcon.js +++ b/packages/mui-material/src/SpeedDialIcon/SpeedDialIcon.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import AddIcon from '../internal/svg-icons/Add'; import speedDialIconClasses, { getSpeedDialIconUtilityClass } from './speedDialIconClasses'; diff --git a/packages/mui-material/src/Step/Step.js b/packages/mui-material/src/Step/Step.js index 5a3efc1c475866..048efdbb8a03a4 100644 --- a/packages/mui-material/src/Step/Step.js +++ b/packages/mui-material/src/Step/Step.js @@ -7,7 +7,7 @@ import composeClasses from '@mui/utils/composeClasses'; import StepperContext from '../Stepper/StepperContext'; import StepContext from './StepContext'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import { getStepUtilityClass } from './stepClasses'; const useUtilityClasses = (ownerState) => { diff --git a/packages/mui-material/src/StepButton/StepButton.js b/packages/mui-material/src/StepButton/StepButton.js index 436e98d1dc07f7..86b75c33b6a9f7 100644 --- a/packages/mui-material/src/StepButton/StepButton.js +++ b/packages/mui-material/src/StepButton/StepButton.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import ButtonBase from '../ButtonBase'; import StepLabel from '../StepLabel'; import isMuiElement from '../utils/isMuiElement'; diff --git a/packages/mui-material/src/StepConnector/StepConnector.js b/packages/mui-material/src/StepConnector/StepConnector.js index 16660b52eef196..3d6f439096668b 100644 --- a/packages/mui-material/src/StepConnector/StepConnector.js +++ b/packages/mui-material/src/StepConnector/StepConnector.js @@ -5,7 +5,7 @@ import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import capitalize from '../utils/capitalize'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import StepperContext from '../Stepper/StepperContext'; import StepContext from '../Step/StepContext'; import { getStepConnectorUtilityClass } from './stepConnectorClasses'; diff --git a/packages/mui-material/src/StepContent/StepContent.js b/packages/mui-material/src/StepContent/StepContent.js index 4bd6131fcc1f38..8584ea779da836 100644 --- a/packages/mui-material/src/StepContent/StepContent.js +++ b/packages/mui-material/src/StepContent/StepContent.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import Collapse from '../Collapse'; import StepperContext from '../Stepper/StepperContext'; import StepContext from '../Step/StepContext'; diff --git a/packages/mui-material/src/StepIcon/StepIcon.js b/packages/mui-material/src/StepIcon/StepIcon.js index a70f5e228e679c..f51d3c070ef061 100644 --- a/packages/mui-material/src/StepIcon/StepIcon.js +++ b/packages/mui-material/src/StepIcon/StepIcon.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import CheckCircle from '../internal/svg-icons/CheckCircle'; import Warning from '../internal/svg-icons/Warning'; import SvgIcon from '../SvgIcon'; diff --git a/packages/mui-material/src/StepLabel/StepLabel.js b/packages/mui-material/src/StepLabel/StepLabel.js index 11ccc0c43eb778..41441f449525aa 100644 --- a/packages/mui-material/src/StepLabel/StepLabel.js +++ b/packages/mui-material/src/StepLabel/StepLabel.js @@ -7,7 +7,7 @@ import StepContext from '../Step/StepContext'; import StepIcon from '../StepIcon'; import StepperContext from '../Stepper/StepperContext'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import stepLabelClasses, { getStepLabelUtilityClass } from './stepLabelClasses'; import useSlot from '../utils/useSlot'; diff --git a/packages/mui-material/src/Stepper/Stepper.js b/packages/mui-material/src/Stepper/Stepper.js index 2adac549932226..d80c29df95ede0 100644 --- a/packages/mui-material/src/Stepper/Stepper.js +++ b/packages/mui-material/src/Stepper/Stepper.js @@ -5,7 +5,7 @@ import clsx from 'clsx'; import integerPropType from '@mui/utils/integerPropType'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import { getStepperUtilityClass } from './stepperClasses'; import StepConnector from '../StepConnector'; import StepperContext from './StepperContext'; diff --git a/packages/mui-material/src/SvgIcon/SvgIcon.js b/packages/mui-material/src/SvgIcon/SvgIcon.js index 7db91321b7cb34..04d38dac8b3c27 100644 --- a/packages/mui-material/src/SvgIcon/SvgIcon.js +++ b/packages/mui-material/src/SvgIcon/SvgIcon.js @@ -5,7 +5,7 @@ import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import capitalize from '../utils/capitalize'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import { getSvgIconUtilityClass } from './svgIconClasses'; const useUtilityClasses = (ownerState) => { diff --git a/packages/mui-material/src/SwipeableDrawer/SwipeableDrawer.js b/packages/mui-material/src/SwipeableDrawer/SwipeableDrawer.js index 46a35b12b5f860..35a2a03ebb8f14 100644 --- a/packages/mui-material/src/SwipeableDrawer/SwipeableDrawer.js +++ b/packages/mui-material/src/SwipeableDrawer/SwipeableDrawer.js @@ -11,7 +11,7 @@ import ownerWindow from '../utils/ownerWindow'; import useEventCallback from '../utils/useEventCallback'; import useEnhancedEffect from '../utils/useEnhancedEffect'; import { useTheme } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import { getTransitionProps } from '../transitions/utils'; import SwipeArea from './SwipeArea'; diff --git a/packages/mui-material/src/Switch/Switch.js b/packages/mui-material/src/Switch/Switch.js index 3f7f75b02d1436..f69e5e7ffb799c 100644 --- a/packages/mui-material/src/Switch/Switch.js +++ b/packages/mui-material/src/Switch/Switch.js @@ -9,7 +9,7 @@ import { alpha, darken, lighten } from '@mui/system/colorManipulator'; import capitalize from '../utils/capitalize'; import SwitchBase from '../internal/SwitchBase'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import switchClasses, { getSwitchUtilityClass } from './switchClasses'; const useUtilityClasses = (ownerState) => { diff --git a/packages/mui-material/src/Tab/Tab.js b/packages/mui-material/src/Tab/Tab.js index 6ddd06d08a46cd..ed3fd8ac3a3cf6 100644 --- a/packages/mui-material/src/Tab/Tab.js +++ b/packages/mui-material/src/Tab/Tab.js @@ -6,7 +6,7 @@ import composeClasses from '@mui/utils/composeClasses'; import ButtonBase from '../ButtonBase'; import capitalize from '../utils/capitalize'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import unsupportedProp from '../utils/unsupportedProp'; import tabClasses, { getTabUtilityClass } from './tabClasses'; diff --git a/packages/mui-material/src/TabScrollButton/TabScrollButton.js b/packages/mui-material/src/TabScrollButton/TabScrollButton.js index 77211317e99415..a331bde367a628 100644 --- a/packages/mui-material/src/TabScrollButton/TabScrollButton.js +++ b/packages/mui-material/src/TabScrollButton/TabScrollButton.js @@ -10,7 +10,7 @@ import KeyboardArrowLeft from '../internal/svg-icons/KeyboardArrowLeft'; import KeyboardArrowRight from '../internal/svg-icons/KeyboardArrowRight'; import ButtonBase from '../ButtonBase'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import tabScrollButtonClasses, { getTabScrollButtonUtilityClass } from './tabScrollButtonClasses'; const useUtilityClasses = (ownerState) => { diff --git a/packages/mui-material/src/Table/Table.js b/packages/mui-material/src/Table/Table.js index ceff449feb91e5..60ddc6b4626b95 100644 --- a/packages/mui-material/src/Table/Table.js +++ b/packages/mui-material/src/Table/Table.js @@ -5,7 +5,7 @@ import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import TableContext from './TableContext'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import { getTableUtilityClass } from './tableClasses'; const useUtilityClasses = (ownerState) => { diff --git a/packages/mui-material/src/TableBody/TableBody.js b/packages/mui-material/src/TableBody/TableBody.js index f2f0c4ede59a8a..40ad6e652d8fdf 100644 --- a/packages/mui-material/src/TableBody/TableBody.js +++ b/packages/mui-material/src/TableBody/TableBody.js @@ -5,7 +5,7 @@ import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import Tablelvl2Context from '../Table/Tablelvl2Context'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import { getTableBodyUtilityClass } from './tableBodyClasses'; const useUtilityClasses = (ownerState) => { diff --git a/packages/mui-material/src/TableCell/TableCell.js b/packages/mui-material/src/TableCell/TableCell.js index ddf9c56b71eb3a..b4180528e0e370 100644 --- a/packages/mui-material/src/TableCell/TableCell.js +++ b/packages/mui-material/src/TableCell/TableCell.js @@ -8,7 +8,7 @@ import capitalize from '../utils/capitalize'; import TableContext from '../Table/TableContext'; import Tablelvl2Context from '../Table/Tablelvl2Context'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import tableCellClasses, { getTableCellUtilityClass } from './tableCellClasses'; const useUtilityClasses = (ownerState) => { diff --git a/packages/mui-material/src/TableContainer/TableContainer.js b/packages/mui-material/src/TableContainer/TableContainer.js index 15a5dfd131a27e..1140e605cf4220 100644 --- a/packages/mui-material/src/TableContainer/TableContainer.js +++ b/packages/mui-material/src/TableContainer/TableContainer.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import { getTableContainerUtilityClass } from './tableContainerClasses'; const useUtilityClasses = (ownerState) => { diff --git a/packages/mui-material/src/TableFooter/TableFooter.js b/packages/mui-material/src/TableFooter/TableFooter.js index 0ec3683f2cb549..5f652088392255 100644 --- a/packages/mui-material/src/TableFooter/TableFooter.js +++ b/packages/mui-material/src/TableFooter/TableFooter.js @@ -5,7 +5,7 @@ import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import Tablelvl2Context from '../Table/Tablelvl2Context'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import { getTableFooterUtilityClass } from './tableFooterClasses'; const useUtilityClasses = (ownerState) => { diff --git a/packages/mui-material/src/TableHead/TableHead.js b/packages/mui-material/src/TableHead/TableHead.js index 45283a29c009d6..4724d8d0534ef0 100644 --- a/packages/mui-material/src/TableHead/TableHead.js +++ b/packages/mui-material/src/TableHead/TableHead.js @@ -5,7 +5,7 @@ import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import Tablelvl2Context from '../Table/Tablelvl2Context'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import { getTableHeadUtilityClass } from './tableHeadClasses'; const useUtilityClasses = (ownerState) => { diff --git a/packages/mui-material/src/TablePagination/TablePagination.js b/packages/mui-material/src/TablePagination/TablePagination.js index f3e33167b182a2..e55660a64c54f2 100644 --- a/packages/mui-material/src/TablePagination/TablePagination.js +++ b/packages/mui-material/src/TablePagination/TablePagination.js @@ -7,7 +7,7 @@ import chainPropTypes from '@mui/utils/chainPropTypes'; import { isHostComponent } from '@mui/base/utils'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import InputBase from '../InputBase'; import MenuItem from '../MenuItem'; import Select from '../Select'; diff --git a/packages/mui-material/src/TableRow/TableRow.js b/packages/mui-material/src/TableRow/TableRow.js index 34f171b2304b9e..eec9ee944c429c 100644 --- a/packages/mui-material/src/TableRow/TableRow.js +++ b/packages/mui-material/src/TableRow/TableRow.js @@ -6,7 +6,7 @@ import composeClasses from '@mui/utils/composeClasses'; import { alpha } from '@mui/system/colorManipulator'; import Tablelvl2Context from '../Table/Tablelvl2Context'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import tableRowClasses, { getTableRowUtilityClass } from './tableRowClasses'; const useUtilityClasses = (ownerState) => { diff --git a/packages/mui-material/src/TableSortLabel/TableSortLabel.js b/packages/mui-material/src/TableSortLabel/TableSortLabel.js index 7463a7179a5f10..dee42f5355b249 100644 --- a/packages/mui-material/src/TableSortLabel/TableSortLabel.js +++ b/packages/mui-material/src/TableSortLabel/TableSortLabel.js @@ -6,7 +6,7 @@ import * as React from 'react'; import ButtonBase from '../ButtonBase'; import ArrowDownwardIcon from '../internal/svg-icons/ArrowDownward'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import capitalize from '../utils/capitalize'; import tableSortLabelClasses, { getTableSortLabelUtilityClass } from './tableSortLabelClasses'; diff --git a/packages/mui-material/src/Tabs/Tabs.js b/packages/mui-material/src/Tabs/Tabs.js index ba66ca36bf57d1..6d02a527234fb8 100644 --- a/packages/mui-material/src/Tabs/Tabs.js +++ b/packages/mui-material/src/Tabs/Tabs.js @@ -8,7 +8,7 @@ import { useSlotProps } from '@mui/base/utils'; import composeClasses from '@mui/utils/composeClasses'; import { useRtl } from '@mui/system/RtlProvider'; import { styled, useTheme } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import debounce from '../utils/debounce'; import animate from '../internal/animate'; import ScrollbarSize from './ScrollbarSize'; diff --git a/packages/mui-material/src/TextField/TextField.js b/packages/mui-material/src/TextField/TextField.js index cbd2ecfde8d262..4efdcc9124f01a 100644 --- a/packages/mui-material/src/TextField/TextField.js +++ b/packages/mui-material/src/TextField/TextField.js @@ -6,7 +6,7 @@ import composeClasses from '@mui/utils/composeClasses'; import useId from '@mui/utils/useId'; import refType from '@mui/utils/refType'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import Input from '../Input'; import FilledInput from '../FilledInput'; import OutlinedInput from '../OutlinedInput'; diff --git a/packages/mui-material/src/ToggleButton/ToggleButton.js b/packages/mui-material/src/ToggleButton/ToggleButton.js index 0297583767f6f3..4515537658200d 100644 --- a/packages/mui-material/src/ToggleButton/ToggleButton.js +++ b/packages/mui-material/src/ToggleButton/ToggleButton.js @@ -9,7 +9,7 @@ import { alpha } from '@mui/system/colorManipulator'; import ButtonBase from '../ButtonBase'; import capitalize from '../utils/capitalize'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import toggleButtonClasses, { getToggleButtonUtilityClass } from './toggleButtonClasses'; import ToggleButtonGroupContext from '../ToggleButtonGroup/ToggleButtonGroupContext'; import ToggleButtonGroupButtonContext from '../ToggleButtonGroup/ToggleButtonGroupButtonContext'; diff --git a/packages/mui-material/src/ToggleButtonGroup/ToggleButtonGroup.js b/packages/mui-material/src/ToggleButtonGroup/ToggleButtonGroup.js index 41ab56c77a159f..a817027acf3fc2 100644 --- a/packages/mui-material/src/ToggleButtonGroup/ToggleButtonGroup.js +++ b/packages/mui-material/src/ToggleButtonGroup/ToggleButtonGroup.js @@ -6,7 +6,7 @@ import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import getValidReactChildren from '@mui/utils/getValidReactChildren'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import capitalize from '../utils/capitalize'; import toggleButtonGroupClasses, { getToggleButtonGroupUtilityClass, diff --git a/packages/mui-material/src/Toolbar/Toolbar.js b/packages/mui-material/src/Toolbar/Toolbar.js index 0ce2b70b986d1f..3e6458f477c6f8 100644 --- a/packages/mui-material/src/Toolbar/Toolbar.js +++ b/packages/mui-material/src/Toolbar/Toolbar.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { styled } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import { getToolbarUtilityClass } from './toolbarClasses'; const useUtilityClasses = (ownerState) => { diff --git a/packages/mui-material/src/Tooltip/Tooltip.js b/packages/mui-material/src/Tooltip/Tooltip.js index 975edbcf0f64a9..f9425f6f6a3430 100644 --- a/packages/mui-material/src/Tooltip/Tooltip.js +++ b/packages/mui-material/src/Tooltip/Tooltip.js @@ -9,7 +9,7 @@ import composeClasses from '@mui/utils/composeClasses'; import { alpha } from '@mui/system/colorManipulator'; import { useRtl } from '@mui/system/RtlProvider'; import { styled, useTheme } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import capitalize from '../utils/capitalize'; import Grow from '../Grow'; import Popper from '../Popper'; diff --git a/packages/mui-material/src/Typography/Typography.js b/packages/mui-material/src/Typography/Typography.js index 9adc2ba9e9e180..394d708564231a 100644 --- a/packages/mui-material/src/Typography/Typography.js +++ b/packages/mui-material/src/Typography/Typography.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types'; import clsx from 'clsx'; import composeClasses from '@mui/utils/composeClasses'; import { styled, internal_createExtendSxProp } from '../zero-styled'; -import { useDefaultProps } from '../PropsProvider'; +import { useDefaultProps } from '../DefaultPropsProvider'; import capitalize from '../utils/capitalize'; import { getTypographyUtilityClass } from './typographyClasses'; diff --git a/packages/mui-system/src/PropsProvider/PropsProvider.tsx b/packages/mui-system/src/DefaultPropsProvider/DefaultPropsProvider.tsx similarity index 57% rename from packages/mui-system/src/PropsProvider/PropsProvider.tsx rename to packages/mui-system/src/DefaultPropsProvider/DefaultPropsProvider.tsx index babab199c2a16d..31be21aede60b7 100644 --- a/packages/mui-system/src/PropsProvider/PropsProvider.tsx +++ b/packages/mui-system/src/DefaultPropsProvider/DefaultPropsProvider.tsx @@ -1,18 +1,18 @@ 'use client'; import * as React from 'react'; import PropTypes from 'prop-types'; -import getThemeProps from '../useThemeProps/getThemeProps'; +import resolveProps from '@mui/utils/resolveProps'; const PropsContext = React.createContext | undefined>(undefined); -function PropsProvider({ +function DefaultPropsProvider({ value, children, }: React.PropsWithChildren<{ value: Record | undefined }>) { return {children}; } -PropsProvider.propTypes /* remove-proptypes */ = { +DefaultPropsProvider.propTypes /* remove-proptypes */ = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │ @@ -27,9 +27,31 @@ PropsProvider.propTypes /* remove-proptypes */ = { value: PropTypes.object, } as any; -export const useDefaultProps = ({ props, name }: { props: Record; name: string }) => { +function getThemeProps< + Theme extends { + components?: Record; + }, + Props, + Name extends string, +>(params: { props: Props; name: Name; theme?: Theme }): Props { + const { theme, name, props } = params; + + if (!theme || !theme.components || !theme.components[name]) { + return props; + } + const config = theme.components[name]; + + const defaultProps = + !config.defaultProps && !config.styleOverrides && !config.variants + ? config + : config.defaultProps; + + return resolveProps(defaultProps, props); +} + +export function useDefaultProps({ props, name }: { props: Props; name: string }) { const ctx = React.useContext(PropsContext); return getThemeProps({ props, name, theme: { components: ctx } }); -}; +} -export default PropsProvider; +export default DefaultPropsProvider; diff --git a/packages/mui-system/src/DefaultPropsProvider/index.ts b/packages/mui-system/src/DefaultPropsProvider/index.ts new file mode 100644 index 00000000000000..646b9a27128699 --- /dev/null +++ b/packages/mui-system/src/DefaultPropsProvider/index.ts @@ -0,0 +1 @@ +export { default, useDefaultProps } from './DefaultPropsProvider'; diff --git a/packages/mui-system/src/PropsProvider/index.ts b/packages/mui-system/src/PropsProvider/index.ts deleted file mode 100644 index 456a9a041a4308..00000000000000 --- a/packages/mui-system/src/PropsProvider/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default, useDefaultProps } from './PropsProvider'; diff --git a/packages/mui-system/src/ThemeProvider/ThemeProvider.js b/packages/mui-system/src/ThemeProvider/ThemeProvider.js index b45989e883808d..71f7fec85e9095 100644 --- a/packages/mui-system/src/ThemeProvider/ThemeProvider.js +++ b/packages/mui-system/src/ThemeProvider/ThemeProvider.js @@ -9,7 +9,7 @@ import exactProp from '@mui/utils/exactProp'; import { ThemeContext as StyledEngineThemeContext } from '@mui/styled-engine'; import useThemeWithoutDefault from '../useThemeWithoutDefault'; import RtlProvider from '../RtlProvider'; -import PropsProvider from '../PropsProvider'; +import DefaultPropsProvider from '../DefaultPropsProvider'; const EMPTY_THEME = {}; @@ -69,7 +69,7 @@ function ThemeProvider(props) { - {children} + {children} From e9554956235e24f81121f4094e64762fc2cc083e Mon Sep 17 00:00:00 2001 From: siriwatknp Date: Wed, 19 Jun 2024 10:59:43 +0700 Subject: [PATCH 16/18] use custom getThemeProps logic --- .../DefaultPropsProvider/DefaultPropsProvider.tsx | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/mui-system/src/DefaultPropsProvider/DefaultPropsProvider.tsx b/packages/mui-system/src/DefaultPropsProvider/DefaultPropsProvider.tsx index 31be21aede60b7..0c6435addd90c6 100644 --- a/packages/mui-system/src/DefaultPropsProvider/DefaultPropsProvider.tsx +++ b/packages/mui-system/src/DefaultPropsProvider/DefaultPropsProvider.tsx @@ -41,12 +41,16 @@ function getThemeProps< } const config = theme.components[name]; - const defaultProps = - !config.defaultProps && !config.styleOverrides && !config.variants - ? config - : config.defaultProps; + if (config.defaultProps) { + // compatible with v5 signature + return resolveProps(config.defaultProps, props); + } - return resolveProps(defaultProps, props); + if (!config.styleOverrides && !config.variants) { + // v6 signature, no property 'defaultProps' + return resolveProps(config as any, props); + } + return props; } export function useDefaultProps({ props, name }: { props: Props; name: string }) { From 894a6a4f0755b26622117a5a4cdb6c06d6206bcd Mon Sep 17 00:00:00 2001 From: siriwatknp Date: Wed, 19 Jun 2024 11:09:03 +0700 Subject: [PATCH 17/18] fix line mismatch --- .../src/deprecations/tab-classes/test-cases/expected.css | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/mui-codemod/src/deprecations/tab-classes/test-cases/expected.css b/packages/mui-codemod/src/deprecations/tab-classes/test-cases/expected.css index ed5fd401b3661e..526bff95b14ede 100644 --- a/packages/mui-codemod/src/deprecations/tab-classes/test-cases/expected.css +++ b/packages/mui-codemod/src/deprecations/tab-classes/test-cases/expected.css @@ -1,3 +1,4 @@ .MuiTab-root .MuiTab-icon { color: red; } + From f2b658afb73223d897b19282628a649b89b90e95 Mon Sep 17 00:00:00 2001 From: siriwatknp Date: Thu, 20 Jun 2024 17:05:07 +0700 Subject: [PATCH 18/18] restore --- .../src/deprecations/tab-classes/test-cases/expected.css | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/mui-codemod/src/deprecations/tab-classes/test-cases/expected.css b/packages/mui-codemod/src/deprecations/tab-classes/test-cases/expected.css index 526bff95b14ede..ed5fd401b3661e 100644 --- a/packages/mui-codemod/src/deprecations/tab-classes/test-cases/expected.css +++ b/packages/mui-codemod/src/deprecations/tab-classes/test-cases/expected.css @@ -1,4 +1,3 @@ .MuiTab-root .MuiTab-icon { color: red; } -