From 3bb521127f59394816455ba9109bc911918ee9aa Mon Sep 17 00:00:00 2001 From: sai6855 Date: Wed, 10 Apr 2024 09:28:19 +0530 Subject: [PATCH] Merge branch 'next' into deprecate-step-connector-classes --- .circleci/config.yml | 26 +- .github/ISSUE_TEMPLATE/1.bug.yml | 2 +- .github/ISSUE_TEMPLATE/2.feature.yml | 2 +- .github/ISSUE_TEMPLATE/4.docs-feedback.yml | 2 +- .github/ISSUE_TEMPLATE/5.priority-support.yml | 2 +- .github/ISSUE_TEMPLATE/config.yml | 2 +- .../workflows/cherry-pick-next-to-master.yml | 34 + .github/workflows/codeql.yml | 4 +- .../priority-support-validation-prompt.yml | 2 +- .github/workflows/scorecards.yml | 2 +- CHANGELOG.md | 170 +- apps/pigment-css-next-app/package.json | 2 +- apps/pigment-css-next-app/src/app/layout.tsx | 1 + .../src/app/material-ui/page.tsx | 10 +- apps/pigment-css-next-app/src/assets/mui.svg | 1 + apps/pigment-css-vite-app/package.json | 11 +- apps/pigment-css-vite-app/src/main.tsx | 2 +- .../src/pages/material-ui/index.tsx | 20 +- apps/pnpm-lock.yaml | 9205 ----------------- benchmark/package.json | 4 +- docs/data/about/teamMembers.json | 8 + .../icon-libraries/icon-libraries.md | 2 +- .../material/components/app-bar/app-bar.md | 2 +- docs/data/material/components/cards/cards.md | 4 - docs/data/material/components/lists/lists.md | 1 - .../material-icons/material-icons.md | 2 + .../material/components/progress/progress.md | 23 - .../data/material/components/slider/slider.md | 14 - docs/data/material/components/table/table.md | 1 - .../getting-started/overview/overview.md | 2 +- .../supported-platforms.md | 20 +- .../templates/checkout/Checkout.js | 26 +- .../templates/checkout/Checkout.tsx | 26 +- .../templates/checkout/PaymentForm.js | 104 +- .../templates/checkout/PaymentForm.tsx | 104 +- .../templates/checkout/SitemarkIcon.js | 53 + .../templates/checkout/SitemarkIcon.tsx | 53 + .../templates/checkout/ToggleColorMode.tsx | 7 +- .../templates/checkout/getCheckoutTheme.js | 747 +- .../templates/checkout/getCheckoutTheme.tsx | 746 +- .../templates/landing-page/LandingPage.js | 2 +- .../templates/landing-page/LandingPage.tsx | 2 +- .../landing-page/components/AppAppBar.js | 343 +- .../landing-page/components/AppAppBar.tsx | 347 +- .../landing-page/components/Features.js | 108 +- .../landing-page/components/Features.tsx | 108 +- .../landing-page/components/Footer.js | 61 +- .../landing-page/components/Footer.tsx | 61 +- .../templates/landing-page/components/Hero.js | 47 +- .../landing-page/components/Hero.tsx | 47 +- .../landing-page/components/Highlights.js | 5 +- .../landing-page/components/Highlights.tsx | 5 +- .../landing-page/components/Pricing.js | 40 +- .../landing-page/components/Pricing.tsx | 40 +- .../landing-page/components/SitemarkIcon.js | 53 + .../landing-page/components/SitemarkIcon.tsx | 53 + .../components/ToggleColorMode.js | 30 +- .../components/ToggleColorMode.tsx | 37 +- .../templates/landing-page/getLPTheme.js | 631 +- .../templates/landing-page/getLPTheme.tsx | 631 +- .../templates/sign-in-side/Content.js | 11 +- .../templates/sign-in-side/Content.tsx | 11 +- .../templates/sign-in-side/CustomIcons.js | 58 +- .../templates/sign-in-side/CustomIcons.tsx | 49 +- .../templates/sign-in-side/SignInCard.js | 14 +- .../templates/sign-in-side/SignInCard.tsx | 14 +- .../templates/sign-in-side/SignInSide.js | 6 +- .../templates/sign-in-side/SignInSide.tsx | 6 +- .../templates/sign-in-side/SitemarkIcon.js | 85 - .../templates/sign-in-side/SitemarkIcon.tsx | 76 - .../sign-in-side/ToggleColorMode.tsx | 7 +- .../sign-in-side/getSignInSideTheme.js | 644 +- .../sign-in-side/getSignInSideTheme.tsx | 645 +- .../templates/sign-in/CustomIcons.js | 58 +- .../templates/sign-in/CustomIcons.tsx | 49 +- .../templates/sign-in/SignIn.js | 14 +- .../templates/sign-in/SignIn.tsx | 14 +- .../templates/sign-in/ToggleColorMode.tsx | 7 +- .../templates/sign-in/getSignInTheme.js | 637 +- .../templates/sign-in/getSignInTheme.tsx | 638 +- .../templates/sign-up/CustomIcons.js | 58 +- .../templates/sign-up/CustomIcons.tsx | 49 +- .../templates/sign-up/SignUp.js | 49 +- .../templates/sign-up/SignUp.tsx | 49 +- .../templates/sign-up/ToggleColorMode.tsx | 7 +- .../templates/sign-up/getSignUpTheme.js | 644 +- .../templates/sign-up/getSignUpTheme.tsx | 645 +- .../minimizing-bundle-size.md | 11 +- .../migrating-from-deprecated-apis.md | 40 + .../migration/migration-v4/migration-v4.md | 2 +- docs/package.json | 46 +- docs/pages/base-ui.tsx | 2 +- docs/pages/blog.tsx | 239 +- docs/pages/blog/2021-q2-update.md | 2 +- docs/pages/blog/2021-q3-update.md | 2 +- docs/pages/blog/2021.md | 2 +- docs/pages/blog/introducing-base-ui.md | 4 +- docs/pages/blog/mui-core-v5.md | 4 +- docs/pages/blog/mui-x-v7.md | 32 +- docs/pages/blog/remote-award-win-2024.md | 2 +- docs/pages/material-ui/api/tab-panel.json | 7 + .../material-ui/api/toggle-button-group.json | 10 +- .../static/branding/about/jose-quintas.png | Bin 0 -> 137953 bytes .../banner/TableOfContentsBanner.tsx | 3 +- .../components/markdown/MarkdownElement.tsx | 2 +- docs/src/modules/components/Ad.js | 3 +- docs/src/modules/components/AdCarbon.js | 1 + docs/src/modules/components/AdDisplay.js | 13 + docs/src/modules/components/AppFrame.js | 12 +- docs/src/modules/components/AppSearch.js | 9 +- docs/src/modules/components/Demo.js | 1 + docs/src/modules/components/DemoEditor.tsx | 2 +- .../src/modules/components/DiamondSponsors.js | 6 +- docs/src/modules/components/EditPage.js | 1 + .../src/modules/components/MarkdownElement.js | 28 +- docs/src/modules/components/ThemeViewer.tsx | 2 +- docs/src/modules/components/TopLayoutBlog.js | 13 + docs/src/modules/constants.js | 4 + .../api-docs-joy/table/table.json | 4 +- .../api-docs/tab-panel/tab-panel.json | 10 +- docs/translations/api-docs/table/table.json | 4 +- .../toggle-button-group.json | 11 +- package.json | 54 +- packages-internal/docs-utils/package.json | 4 +- packages-internal/scripts/package.json | 14 +- packages/api-docs-builder-core/package.json | 4 +- packages/api-docs-builder/package.json | 10 +- .../eslint-plugin-material-ui/package.json | 4 +- packages/markdown/loader.js | 13 +- packages/markdown/package.json | 4 +- packages/mui-babel-macros/package.json | 8 +- packages/mui-base/package.json | 4 +- packages/mui-codemod/README.md | 37 + packages/mui-codemod/package.json | 8 +- .../src/deprecations/all/deprecations-all.js | 2 + .../src/deprecations/all/postcss.config.js | 4 + .../toggle-button-group-classes/index.js | 1 + .../postcss-plugin.js | 33 + .../postcss.config.js | 5 + .../test-cases/actual.css | 7 + .../test-cases/actual.js | 6 + .../test-cases/expected.css | 7 + .../test-cases/expected.js | 6 + .../toggle-button-group-classes.js | 127 + .../toggle-button-group-classes.test.js | 78 + .../mui-core-downloads-tracker/package.json | 2 +- packages/mui-docs/package.json | 10 +- packages/mui-docs/src/InfoCard/InfoCard.tsx | 2 +- .../mui-docs/src/branding/brandingTheme.ts | 163 +- packages/mui-envinfo/package.json | 2 +- packages/mui-envinfo/test/package.json | 2 +- packages/mui-icons-material/package.json | 4 +- packages/mui-joy/package.json | 4 +- packages/mui-joy/src/Table/Table.tsx | 4 - packages/mui-joy/src/Table/TableProps.ts | 4 - packages/mui-lab/package.json | 4 +- packages/mui-lab/src/TabPanel/TabPanel.d.ts | 5 + packages/mui-lab/src/TabPanel/TabPanel.js | 13 +- .../mui-lab/src/TabPanel/TabPanel.test.tsx | 22 +- .../mui-lab/src/TabPanel/tabPanelClasses.ts | 4 +- packages/mui-material-nextjs/package.json | 2 +- packages/mui-material/package.json | 8 +- packages/mui-material/src/Select/Select.d.ts | 15 +- .../mui-material/src/Select/Select.spec.tsx | 3 + packages/mui-material/src/Slider/Slider.js | 48 +- packages/mui-material/src/Table/Table.d.ts | 2 - packages/mui-material/src/Table/Table.js | 2 - .../ToggleButtonGroup/ToggleButtonGroup.js | 2 +- .../ToggleButtonGroup.test.js | 9 + .../toggleButtonGroupClasses.ts | 11 +- packages/mui-material/src/locale/index.ts | 2 +- packages/mui-private-theming/package.json | 4 +- packages/mui-styled-engine-sc/package.json | 4 +- packages/mui-styled-engine/package.json | 6 +- packages/mui-styles/package.json | 4 +- packages/mui-system/package.json | 6 +- packages/mui-utils/package.json | 6 +- .../pigment-css-nextjs-plugin/package.json | 2 +- .../pigment-css-nextjs-plugin/src/index.ts | 1 + packages/pigment-css-react/README.md | 96 +- packages/pigment-css-react/package.json | 20 +- packages/pigment-css-react/src/Box.d.ts | 2 +- packages/pigment-css-react/src/Box.jsx | 4 +- .../pigment-css-react/src/processors/sx.ts | 29 +- .../src/utils/remove-prop-types-plugin.ts | 5 +- .../pigment-css-react/tests/Box/box.test.tsx | 13 + .../tests/Box/fixtures/box.input.js | 20 + .../tests/Box/fixtures/box.output.css | 9 + .../tests/Box/fixtures/box.output.js | 8 + .../styled/fixtures/styled-theme.input.js | 2 + .../styled/fixtures/styled-theme.output.js | 1 + .../tests/styled/fixtures/styled.input.js | 2 + .../tests/styled/fixtures/styled.output.js | 1 + packages/pigment-css-unplugin/.eslintrc | 5 + packages/pigment-css-unplugin/package.json | 13 +- packages/pigment-css-unplugin/src/index.ts | 57 +- packages/pigment-css-unplugin/src/utils.ts | 66 + .../pigment-css-unplugin/tests/utils.test.ts | 88 + packages/pigment-css-unplugin/tsconfig.json | 3 +- packages/pigment-css-vite-plugin/package.json | 8 +- packages/pigment-css-vite-plugin/src/index.ts | 7 +- packages/rsc-builder/package.json | 2 +- packages/test-utils/package.json | 12 +- .../zero-runtime/src/RtlProvider/index.ts | 1 - pnpm-lock.yaml | 2514 ++--- .../fixtures/create-react-app/package.json | 2 +- test/bundling/fixtures/esbuild/package.json | 2 +- test/bundling/fixtures/gatsby/package.json | 2 +- .../fixtures/next-webpack4/package.json | 2 +- .../fixtures/next-webpack5/package.json | 2 +- test/bundling/fixtures/snowpack/package.json | 2 +- test/bundling/fixtures/vite/package.json | 4 +- test/package.json | 8 +- test/regressions/index.js | 8 +- 214 files changed, 7586 insertions(+), 15434 deletions(-) create mode 100644 .github/workflows/cherry-pick-next-to-master.yml create mode 100644 apps/pigment-css-next-app/src/assets/mui.svg delete mode 100644 apps/pnpm-lock.yaml create mode 100644 docs/data/material/getting-started/templates/checkout/SitemarkIcon.js create mode 100644 docs/data/material/getting-started/templates/checkout/SitemarkIcon.tsx create mode 100644 docs/data/material/getting-started/templates/landing-page/components/SitemarkIcon.js create mode 100644 docs/data/material/getting-started/templates/landing-page/components/SitemarkIcon.tsx delete mode 100644 docs/data/material/getting-started/templates/sign-in-side/SitemarkIcon.js delete mode 100644 docs/data/material/getting-started/templates/sign-in-side/SitemarkIcon.tsx create mode 100644 docs/public/static/branding/about/jose-quintas.png create mode 100644 packages/mui-codemod/src/deprecations/toggle-button-group-classes/index.js create mode 100644 packages/mui-codemod/src/deprecations/toggle-button-group-classes/postcss-plugin.js create mode 100644 packages/mui-codemod/src/deprecations/toggle-button-group-classes/postcss.config.js create mode 100644 packages/mui-codemod/src/deprecations/toggle-button-group-classes/test-cases/actual.css create mode 100644 packages/mui-codemod/src/deprecations/toggle-button-group-classes/test-cases/actual.js create mode 100644 packages/mui-codemod/src/deprecations/toggle-button-group-classes/test-cases/expected.css create mode 100644 packages/mui-codemod/src/deprecations/toggle-button-group-classes/test-cases/expected.js create mode 100644 packages/mui-codemod/src/deprecations/toggle-button-group-classes/toggle-button-group-classes.js create mode 100644 packages/mui-codemod/src/deprecations/toggle-button-group-classes/toggle-button-group-classes.test.js create mode 100644 packages/pigment-css-react/tests/Box/box.test.tsx create mode 100644 packages/pigment-css-react/tests/Box/fixtures/box.input.js create mode 100644 packages/pigment-css-react/tests/Box/fixtures/box.output.css create mode 100644 packages/pigment-css-react/tests/Box/fixtures/box.output.js create mode 100644 packages/pigment-css-unplugin/.eslintrc create mode 100644 packages/pigment-css-unplugin/src/utils.ts create mode 100644 packages/pigment-css-unplugin/tests/utils.test.ts delete mode 100644 packages/zero-runtime/src/RtlProvider/index.ts diff --git a/.circleci/config.yml b/.circleci/config.yml index 305d7ac6155054..5a36ecd48f0849 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -380,7 +380,7 @@ jobs: <<: *default-job resource_class: 'medium+' docker: - - image: mcr.microsoft.com/playwright:v1.42.1-focal + - image: mcr.microsoft.com/playwright:v1.43.0-focal environment: NODE_ENV: development # Needed if playwright is in `devDependencies` steps: @@ -410,7 +410,7 @@ jobs: test_e2e: <<: *default-job docker: - - image: mcr.microsoft.com/playwright:v1.42.1-focal + - image: mcr.microsoft.com/playwright:v1.43.0-focal environment: NODE_ENV: development # Needed if playwright is in `devDependencies` steps: @@ -430,7 +430,7 @@ jobs: # NOTE: This workflow runs after successful docs deploy. See /test/e2e-website/README.md#ci <<: *default-job docker: - - image: mcr.microsoft.com/playwright:v1.42.1-focal + - image: mcr.microsoft.com/playwright:v1.43.0-focal environment: NODE_ENV: development # Needed if playwright is in `devDependencies` steps: @@ -445,7 +445,7 @@ jobs: test_profile: <<: *default-job docker: - - image: mcr.microsoft.com/playwright:v1.42.1-focal + - image: mcr.microsoft.com/playwright:v1.43.0-focal environment: NODE_ENV: development # Needed if playwright is in `devDependencies` steps: @@ -472,7 +472,7 @@ jobs: test_regressions: <<: *default-job docker: - - image: mcr.microsoft.com/playwright:v1.42.1-focal + - image: mcr.microsoft.com/playwright:v1.43.0-focal environment: NODE_ENV: development # Needed if playwright is in `devDependencies` steps: @@ -526,7 +526,7 @@ jobs: <<: *default-job working_directory: /tmp/material-ui/test/bundling/fixtures/next-webpack4/ docker: - - image: mcr.microsoft.com/playwright:v1.42.1-focal + - image: mcr.microsoft.com/playwright:v1.43.0-focal environment: NODE_ENV: development # Needed if playwright is in `devDependencies` steps: @@ -550,7 +550,7 @@ jobs: <<: *default-job working_directory: /tmp/material-ui/test/bundling/fixtures/next-webpack5/ docker: - - image: mcr.microsoft.com/playwright:v1.42.1-focal + - image: mcr.microsoft.com/playwright:v1.43.0-focal environment: NODE_ENV: development # Needed if playwright is in `devDependencies` steps: @@ -574,7 +574,7 @@ jobs: <<: *default-job working_directory: /tmp/material-ui/test/bundling/fixtures/create-react-app/ docker: - - image: mcr.microsoft.com/playwright:v1.42.1-focal + - image: mcr.microsoft.com/playwright:v1.43.0-focal environment: NODE_ENV: development # Needed if playwright is in `devDependencies` steps: @@ -598,7 +598,7 @@ jobs: <<: *default-job working_directory: /tmp/material-ui/test/bundling/fixtures/snowpack/ docker: - - image: mcr.microsoft.com/playwright:v1.42.1-focal + - image: mcr.microsoft.com/playwright:v1.43.0-focal environment: NODE_ENV: development # Needed if playwright is in `devDependencies` steps: @@ -622,7 +622,7 @@ jobs: <<: *default-job working_directory: /tmp/material-ui/test/bundling/fixtures/vite/ docker: - - image: mcr.microsoft.com/playwright:v1.42.1-focal + - image: mcr.microsoft.com/playwright:v1.43.0-focal environment: NODE_ENV: development # Needed if playwright is in `devDependencies` steps: @@ -646,7 +646,7 @@ jobs: <<: *default-job working_directory: /tmp/material-ui/test/bundling/fixtures/esbuild/ docker: - - image: mcr.microsoft.com/playwright:v1.42.1-focal + - image: mcr.microsoft.com/playwright:v1.43.0-focal environment: NODE_ENV: development # Needed if playwright is in `devDependencies` steps: @@ -674,7 +674,7 @@ jobs: <<: *default-job working_directory: /tmp/material-ui/test/bundling/fixtures/gatsby/ docker: - - image: mcr.microsoft.com/playwright:v1.42.1-focal + - image: mcr.microsoft.com/playwright:v1.43.0-focal environment: NODE_ENV: development # Needed if playwright is in `devDependencies` steps: @@ -775,7 +775,7 @@ jobs: test_benchmark: <<: *default-job docker: - - image: mcr.microsoft.com/playwright:v1.42.1-focal + - image: mcr.microsoft.com/playwright:v1.43.0-focal environment: NODE_ENV: development # Needed if playwright is in `devDependencies` steps: diff --git a/.github/ISSUE_TEMPLATE/1.bug.yml b/.github/ISSUE_TEMPLATE/1.bug.yml index 44f994ac9fd282..f1b828fc6d3db3 100644 --- a/.github/ISSUE_TEMPLATE/1.bug.yml +++ b/.github/ISSUE_TEMPLATE/1.bug.yml @@ -1,5 +1,5 @@ name: Bug report 🐛 -description: Create a bug report for Material UI, Base UI, MUI System, or Joy UI. +description: Create a bug report for Material UI, MUI System, or Joy UI. labels: ['status: waiting for maintainer'] body: - type: markdown diff --git a/.github/ISSUE_TEMPLATE/2.feature.yml b/.github/ISSUE_TEMPLATE/2.feature.yml index 080e31177c3b1c..054d5527f7e13a 100644 --- a/.github/ISSUE_TEMPLATE/2.feature.yml +++ b/.github/ISSUE_TEMPLATE/2.feature.yml @@ -1,5 +1,5 @@ name: Feature request 💄 -description: Suggest a new idea for Material UI, Base UI, MUI System, or Joy UI. +description: Suggest a new idea for Material UI, MUI System, or Joy UI. labels: ['status: waiting for maintainer'] body: - type: markdown diff --git a/.github/ISSUE_TEMPLATE/4.docs-feedback.yml b/.github/ISSUE_TEMPLATE/4.docs-feedback.yml index 70d90a31e8a690..21f9ae7ba38356 100644 --- a/.github/ISSUE_TEMPLATE/4.docs-feedback.yml +++ b/.github/ISSUE_TEMPLATE/4.docs-feedback.yml @@ -1,5 +1,5 @@ name: Docs feedback -description: Improve documentation about Material UI, Base UI, MUI System, or Joy UI. +description: Improve documentation about Material UI, MUI System, or Joy UI. labels: ['status: waiting for maintainer', 'support: docs-feedback'] title: '[docs] ' body: diff --git a/.github/ISSUE_TEMPLATE/5.priority-support.yml b/.github/ISSUE_TEMPLATE/5.priority-support.yml index 530a16772a5c62..cf5e0a75321209 100644 --- a/.github/ISSUE_TEMPLATE/5.priority-support.yml +++ b/.github/ISSUE_TEMPLATE/5.priority-support.yml @@ -1,5 +1,5 @@ name: 'Priority Support: SLA ⏰' -description: I'm an MUI X Premium user and we have purchased the Priority Support add-on. I can't find a solution to my problem with Material UI, Base UI, MUI System, or Joy UI. +description: I'm an MUI X Premium user and we have purchased the Priority Support add-on. I can't find a solution to my problem with Material UI, MUI System, or Joy UI. title: '[question] ' labels: ['status: waiting for maintainer', 'support: unknown'] body: diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index 1bc33bd5c715cb..9a2f57519c8df2 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -1,4 +1,4 @@ contact_links: - name: Support ❔ url: https://mui.com/getting-started/support/ - about: I need support with Material UI, Base UI, MUI System, or Joy UI. + about: I need support with Material UI, MUI System, or Joy UI. diff --git a/.github/workflows/cherry-pick-next-to-master.yml b/.github/workflows/cherry-pick-next-to-master.yml new file mode 100644 index 00000000000000..2fe2a126d4c30a --- /dev/null +++ b/.github/workflows/cherry-pick-next-to-master.yml @@ -0,0 +1,34 @@ +name: Cherry pick next to master + +on: + pull_request_target: + branches: + - next + types: ['closed'] + +permissions: {} + +jobs: + cherry_pick_to_master: + runs-on: ubuntu-latest + name: Cherry pick into master + permissions: + pull-requests: write + contents: write + if: ${{ contains(github.event.pull_request.labels.*.name, 'needs cherry-pick') && github.event.pull_request.merged == true }} + steps: + - name: Checkout + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + with: + fetch-depth: 0 + - name: Cherry pick and create the new PR + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + uses: carloscastrojumo/github-cherry-pick-action@503773289f4a459069c832dc628826685b75b4b3 # v1.0.10 + with: + branch: master + body: 'Cherry-pick of #{old_pull_request_id}' + cherry-pick-branch: ${{ format('cherry-pick-{0}', github.event.number) }} + title: '{old_title} (@${{ github.event.pull_request.user.login }})' + labels: | + cherry-pick diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index fc0c4f59babfe7..0aee3528195eb3 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -19,7 +19,7 @@ jobs: uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@1b1aada464948af03b950897e5eb522f92603cc2 # v3.24.9 + uses: github/codeql-action/init@4355270be187e1b672a7a1c7c7bae5afdc1ab94a # v3.24.10 with: languages: typescript config-file: ./.github/codeql/codeql-config.yml @@ -30,4 +30,4 @@ jobs: # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs # queries: security-extended,security-and-quality - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@1b1aada464948af03b950897e5eb522f92603cc2 # v3.24.9 + uses: github/codeql-action/analyze@4355270be187e1b672a7a1c7c7bae5afdc1ab94a # v3.24.10 diff --git a/.github/workflows/priority-support-validation-prompt.yml b/.github/workflows/priority-support-validation-prompt.yml index 61d99765fbd83e..ad69c7604bdea3 100644 --- a/.github/workflows/priority-support-validation-prompt.yml +++ b/.github/workflows/priority-support-validation-prompt.yml @@ -16,7 +16,7 @@ jobs: steps: - name: Find Comment - uses: peter-evans/find-comment@d5fe37641ad8451bdd80312415672ba26c86575e # v3 + uses: peter-evans/find-comment@3eae4d37986fb5a8592848f6a574fdf654e61f9e # v3 id: findComment with: issue-number: ${{ github.event.issue.number }} diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index eb89daf450ca4c..6b65948ab310ff 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -43,6 +43,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: Upload to code-scanning - uses: github/codeql-action/upload-sarif@1b1aada464948af03b950897e5eb522f92603cc2 # v3.24.9 + uses: github/codeql-action/upload-sarif@4355270be187e1b672a7a1c7c7bae5afdc1ab94a # v3.24.10 with: sarif_file: results.sarif diff --git a/CHANGELOG.md b/CHANGELOG.md index 6e3606f96f6738..b359e9a43437de 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,131 @@ # [Versions](https://mui.com/versions/) +## v6.0.0-alpha.2 + + + +_Apr 9, 2024_ + +A big thanks to the 5 contributors who made this release possible. +This release was mostly about 🐛 bug fixes and 📚 documentation improvements. + +### `@mui/material@6.0.0-alpha.2` + +- ​[typescript][Select] Fix `muiName` property TypeScript error (#41726) @EyaOuenniche +- ​[l10n] Fix typo in is-IS locale (#41810) @magnimarels + +### `@pigment-css/react@0.0.6` + +- ​[core] Remove `muiName` during eval phase (#41811) @brijeshb42 + +### `@pigment-css/nextjs-plugin@0.0.6` + +- ​[nextjs] Handle file references passed through imports (#41817) @brijeshb42 +- ​[nextjs] Allow usage of url() CSS function (#41758) @brijeshb42 + +### Docs + +- ​[docs] Fix 301 links @oliviertassinari +- ​[pigment-css][docs] Fix README typo (#41808) @aarongarciah +- ​[pigment-css][docs] Fix output on dynamic styles example (#41805) @aarongarciah +- ​[material-ui][docs] Fix Material 3 message typo (#41821) @aarongarciah +- ​[material-ui][docs] Add stray design tweaks to free templates (#41696) @zanivan + +### Core + +- ​[core] Remove unused files (#41818) @mnajdova +- ​[docs-infra] Fix analytics about inline ads (#41474) (#41819) @alexfauquette +- ​[docs-infra] Fix drawer performances (#41807) @alexfauquette + +All contributors of this release in alphabetical order: @aarongarciah, @alexfauquette, @brijeshb42, @EyaOuenniche, @oliviertassinari + +## v6.0.0-alpha.1 + + + +_Apr 5, 2024_ + +A big thanks to the 19 contributors who made this release possible. Here are some highlights ✨: + +- 🔥 Converted 3 more Material UI components to use Pigment CSS. Current progress is 36%! +- 🚀 Added a spacing CSS variable to the Material UI and Joy UI themes. +- 💫 Added 3 redesigned free Material UI templates: [Sign-in](https://next.mui.com/material-ui/getting-started/templates/sign-in/), [Sign-in side](https://next.mui.com/material-ui/getting-started/templates/sign-in-side/), and [Sign-up](https://next.mui.com/material-ui/getting-started/templates/sign-up/). + +### `@mui/material@6.0.0-alpha.1` + +- [AppBar] Convert to support CSS extraction (#41247) @mnajdova +- [Badge] Deprecate components and componentsProps (#41655) @skmanoj322 +- [Button] Convert to support CSS extraction (#41378) @siriwatknp +- [ButtonGroup] Convert to support CSS extraction (#41666) @zanivan +- [RadioGroup] Apply classnames (#41610) @ZeeshanTamboli +- [Slider] Move palette styles to the bottom (#41676) @siriwatknp +- Add the `spacing` theme token (#40224) @siriwatknp + +### `@mui/system@6.0.0-alpha.1` + +- Add the `spacing` theme token to be used in `theme.spacing()` (#40224) @siriwatknp + +### `@mui/codemod@6.0.0-alpha.1` + +- [codemod] Setup v6 codemod structure (#41668) @DiegoAndai + +### `@mui/lab@6.0.0-alpha.1` + +- [TabPanel] Add keepMounted prop to match Joy UI (#41651) @ppaskaris-plooto + +### `@mui/joy@5.0.0-beta.34` + +- Add `spacing` theme token (#40224) @siriwatknp + +### `@pigment-css/react@0.0.5` + +- Improve sx prop support (#41589) @brijeshb42 +- Fix Emotion styled error (#41699) @siriwatknp +- Fix propTypes removal during eval stage (#41695) @brijeshb42 +- Fix props forwarding (#41688) @siriwatknp +- Fix sx prop transformation on Box (#41705) @brijeshb42 + +### `@pigment-css/vite-plugin@0.0.5` + +- Use constant filename for pigment styles (#41667) @brijeshb42 + +### `@pigment-css/nextjs-plugin@0.0.5` + +- Add missing RTL implementation (#41751) @brijeshb42 + +### Docs + +- [pigment-css] Update README.md installation to use the next tag (#41649) @mnajdova +- [pigment-css] Add "Building design system components" guide with Pigment CSS (#41635) @siriwatknp +- Continue migration of Base UI to sperate repository @oliviertassinari +- Stick to one way to write IE 11 @oliviertassinari +- Fix typo in CONTRIBUTING.md (#41670) @adriancuadrado +- Drop IE 11 official support (#41611) @iammminzzy +- [material-ui] Fix typo on the Accordion page (#41687) @connorshea +- [pigment-css] Add small edits on the README (#41646) @danilo-leal +- [pigment-css] Edit the example app's README files (#41639) @danilo-leal + +### Core + +- [code-infra] Move BrandingProvider/brandingTheme/InfoCard to @mui/docs (#41206) @Janpot +- [core] Automate cherry-pick of PRs from `next` -> `master` (#41741) @aarongarciah +- [core] Update the prettier script to use the next branch (#41637) @mnajdova +- [docs-infra] Skip loading source for non-editable modules (#41588) @bharatkashyap +- [docs-infra] Vale rule for M3 (#41737) @oliviertassinari +- [docs-infra] Allows to remove edit button (#41702) @alexfauquette +- [pigment-css][examples] Add example project with Remix (#41700) @brijeshb42 +- [examples] Update MUI's packages to the next version (#41701) @mnajdova +- [material-ui] Refine the Sign-in and Sign-up templates (#41192) @zanivan +- [test] Add test to display options provided to the options prop even if loading is true. (#41675) @ZeeshanTamboli +- [blog] Refresh the design slightly (#41697) @danilo-leal +- [website] Use en-US over en-UK for career link @oliviertassinari +- [website] Add Aarón to About Us (#41736) @aarongarciah +- [website] Refine button design and other details (#41686) @danilo-leal +- [website] Improve job og image (#41672) @oliviertassinari +- [website] Page should have no dots @oliviertassinari + +All contributors of this release in alphabetical order: @aarongarciah, @adriancuadrado, @alexfauquette, @bharatkashyap, @brijeshb42, @connorshea, @danilo-leal, @DiegoAndai, @iammminzzy, @Janpot, @JCQuintas, @levigunz, @mnajdova, @oliviertassinari, @ppaskaris-plooto, @siriwatknp, @skmanoj322, @zanivan, @ZeeshanTamboli + ## v6.0.0-alpha.0 <!-- generated comparing v5.15.14..next --> @@ -79,6 +205,46 @@ A big thanks to the 18 contributors who made this release possible. Here are som All contributors of this release in alphabetical order: @aacevski, @brijeshb42, @cherniavskii, @cipherlogs, @danilo-leal, @DiegoAndai, @harry-whorlow, @Janpot, @joserodolfofreitas, @michael-land, @michaldudak, @mnajdova, @nekoya, @sai6855, @siriwatknp, @StylesTrip, @zanivan, @ZeeshanTamboli +## v5.15.15 + +<!-- generated comparing v5.15.14..master --> + +_Apr 4, 2024_ + +A big thanks to the 7 contributors who made this release possible. Here are some highlights ✨: +This release was mostly about 🐛 bug fixes and 📚 documentation improvements. + +### `@mui/material@5.15.15` + +- [Autocomplete] Display options provided to the `options` prop even if loading is true (#41677) @ZeeshanTamboli +- [RadioGroup] Apply classnames (#41681) @ZeeshanTamboli + +### `@mui/system@5.15.15` + +- Fix typo to avoid infinite recursion in function call (#41678) @ZeeshanTamboli + +### Docs + +- [material-ui][Slider] Remove `valueLabelFormat` from restricted values demo so that the tooltip thumb label displays the same as the value text (#41679) @ZeeshanTamboli +- [material-ui] Remove deleted page from the sidenav (#41594) @danilo-leal +- [material-ui] Fix typo in CSS theme variables customization (#41680) @ZeeshanTamboli +- Continue migration of Base UI to sperate repository @oliviertassinari +- Add notification for MUI X v7 blog post (#41587) (#41605) @cherniavskii +- Update the versions dropdown to show v6 (#41557) @mnajdova + +### Core + +- [blog] Link to Romain's blog post in MUI X v7 announcement post (#41641) @cherniavskii +- [blog] Blog post with MUI X v7.0.0 annoucement (#41563) (#41604) @cherniavskii +- [blog] Add post about remote (#41565) @danilo-leal +- [core] Continue rename of Toolpad @oliviertassinari +- [docs-infra] Add Toolpad product/category IDs to types (#41551) @bharatkashyap +- [website] Add Aarón to About Us (#41747) @aarongarciah +- [website] Add stray design adjustments throughout the site (#41642) @mnajdova +- [website] Update pricing table (#41606) @cherniavskii + +All contributors of this release in alphabetical order: @aarongarciah, @bharatkashyap, @cherniavskii, @danilo-leal, @mnajdova, @oliviertassinari, @ZeeshanTamboli + ## v5.15.14 <!-- generated comparing v5.15.13..master --> @@ -8001,7 +8167,7 @@ A big thanks to the 25 contributors who made this release possible. Here are som <a href="https://mui.com/components/tables/#unstyled-table"><img width="800" alt="unstyled table" src="https://user-images.githubusercontent.com/4512430/144862194-584356ef-7d9d-462c-a631-186a7e716193.png"></a> - You can follow our progress with unstyled components at https://github.com/mui/material-ui/issues/27170. + You can follow our progress with unstyled components at https://github.com/mui/base-ui/issues/10. - 🎉 We have added an example of how to use MUI with [Remix](https://remix.run/) (#29952) @mnajdova @@ -9471,7 +9637,7 @@ A big thanks to the 17 contributors who made this release possible. Here are som <a href="https://mui.com/components/switches/#unstyled"><img width="832" alt="switch" src="https://user-images.githubusercontent.com/3165635/125192249-236f8a80-e247-11eb-9df9-17d476379a32.png"></a> - You can follow our progress at https://github.com/mui/material-ui/issues/27170. + You can follow our progress at https://github.com/mui/base-ui/issues/10. - 💄 We have updated the default `info` `success` `warning` color to be more accessible (#26817) @siriwatknp. You can find the new [default values](https://mui.com/material-ui/customization/palette/#default-values) in the documentation. diff --git a/apps/pigment-css-next-app/package.json b/apps/pigment-css-next-app/package.json index aedc0b2125a9a7..54e6c80e27a573 100644 --- a/apps/pigment-css-next-app/package.json +++ b/apps/pigment-css-next-app/package.json @@ -29,7 +29,7 @@ "@types/react": "^18.2.55", "@types/react-dom": "^18.2.19", "eslint": "^8.57.0", - "typescript": "^5.4.3" + "typescript": "^5.4.4" }, "nx": { "targets": { diff --git a/apps/pigment-css-next-app/src/app/layout.tsx b/apps/pigment-css-next-app/src/app/layout.tsx index 4ae45924829e53..6cb8bd6887ad1c 100644 --- a/apps/pigment-css-next-app/src/app/layout.tsx +++ b/apps/pigment-css-next-app/src/app/layout.tsx @@ -23,6 +23,7 @@ export default function RootLayout(props: { children: React.ReactNode }) { className={`${inter.className} ${css` background-color: ${({ theme: t }) => t.vars.palette.background.default}; color: ${({ theme: t }) => t.vars.palette.text.primary}; + background-image: url('@/assets/mui.svg'); `}`} > <AppRouterCacheProvider> diff --git a/apps/pigment-css-next-app/src/app/material-ui/page.tsx b/apps/pigment-css-next-app/src/app/material-ui/page.tsx index 3a7c71710986c5..bcea6b4568eaef 100644 --- a/apps/pigment-css-next-app/src/app/material-ui/page.tsx +++ b/apps/pigment-css-next-app/src/app/material-ui/page.tsx @@ -4,6 +4,7 @@ import Link from 'next/link'; import fs from 'fs/promises'; import path from 'path'; import { css } from '@pigment-css/react'; +import Box from '@pigment-css/react/Box'; export default async function MaterialUIPage() { const rootPaths = await fs.readdir(path.join(process.cwd(), `src/app/material-ui`)); @@ -11,8 +12,9 @@ export default async function MaterialUIPage() { <div> <h1>Material UI Components</h1> <nav> - <ul - className={css({ + <Box + as="ul" + sx={{ margin: 0, marginBlock: '1rem', padding: 0, @@ -20,7 +22,7 @@ export default async function MaterialUIPage() { display: 'flex', flexDirection: 'column', gap: '0.5rem', - })} + }} > {rootPaths .filter((item) => !item.match(/\.(js|tsx)$/)) @@ -37,7 +39,7 @@ export default async function MaterialUIPage() { </Link> </li> ))} - </ul> + </Box> </nav> </div> ); diff --git a/apps/pigment-css-next-app/src/assets/mui.svg b/apps/pigment-css-next-app/src/assets/mui.svg new file mode 100644 index 00000000000000..dea1f22374461e --- /dev/null +++ b/apps/pigment-css-next-app/src/assets/mui.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="36" height="32" viewBox="0 0 36 32" fill="none"><path d="M30.343 21.976a1 1 0 00.502-.864l.018-5.787a1 1 0 01.502-.864l3.137-1.802a1 1 0 011.498.867v10.521a1 1 0 01-.502.867l-11.839 6.8a1 1 0 01-.994.001l-9.291-5.314a1 1 0 01-.504-.868v-5.305c0-.006.007-.01.013-.007.005.003.012 0 .012-.007v-.006c0-.004.002-.008.006-.01l7.652-4.396c.007-.004.004-.015-.004-.015a.008.008 0 01-.008-.008l.015-5.201a1 1 0 00-1.5-.87l-5.687 3.277a1 1 0 01-.998 0L6.666 9.7a1 1 0 00-1.499.866v9.4a1 1 0 01-1.496.869l-3.166-1.81a1 1 0 01-.504-.87l.028-16.43A1 1 0 011.527.86l10.845 6.229a1 1 0 00.996 0L24.21.86a1 1 0 011.498.868v16.434a1 1 0 01-.501.867l-5.678 3.27a1 1 0 00.004 1.735l3.132 1.783a1 1 0 00.993-.002l6.685-3.839zM31 7.234a1 1 0 001.514.857l3-1.8A1 1 0 0036 5.434V1.766A1 1 0 0034.486.91l-3 1.8a1 1 0 00-.486.857v3.668z" fill="#007FFF" /></svg> diff --git a/apps/pigment-css-vite-app/package.json b/apps/pigment-css-vite-app/package.json index 883667eb642e00..1e662ef5ad83cf 100644 --- a/apps/pigment-css-vite-app/package.json +++ b/apps/pigment-css-vite-app/package.json @@ -22,7 +22,7 @@ "react-dom": "^18.2.0", "react-error-boundary": "^4.0.13", "react-router": "^6.22.3", - "react-router-dom": "^6.22.1" + "react-router-dom": "^6.22.3" }, "devDependencies": { "@babel/preset-react": "^7.24.1", @@ -33,8 +33,8 @@ "@vitejs/plugin-react": "^4.2.1", "postcss": "^8.4.38", "postcss-combine-media-query": "^1.0.1", - "vite": "5.2.2", - "vite-plugin-pages": "^0.32.0" + "vite": "5.2.8", + "vite-plugin-pages": "^0.32.1" }, "nx": { "targets": { @@ -42,6 +42,11 @@ "dependsOn": [ "^build" ] + }, + "dev": { + "dependsOn": [ + "^build" + ] } } } diff --git a/apps/pigment-css-vite-app/src/main.tsx b/apps/pigment-css-vite-app/src/main.tsx index 9760ba4a72aef3..15e708be89b719 100644 --- a/apps/pigment-css-vite-app/src/main.tsx +++ b/apps/pigment-css-vite-app/src/main.tsx @@ -5,7 +5,7 @@ import { ThemeProvider, createTheme } from '@mui/material/styles'; import CircularProgress from '@mui/material/CircularProgress'; import CssBaseline from '@mui/material/CssBaseline'; import { css } from '@pigment-css/react'; -import { Box } from '@pigment-css/react/Box'; +import Box from '@pigment-css/react/Box'; import { ErrorBoundary } from 'react-error-boundary'; import routes from '~react-pages'; import '@pigment-css/react/styles.css'; diff --git a/apps/pigment-css-vite-app/src/pages/material-ui/index.tsx b/apps/pigment-css-vite-app/src/pages/material-ui/index.tsx index 4f78230508237e..9e7fadd4922b39 100644 --- a/apps/pigment-css-vite-app/src/pages/material-ui/index.tsx +++ b/apps/pigment-css-vite-app/src/pages/material-ui/index.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import { useLocation, matchRoutes, Link } from 'react-router-dom'; -import { css } from '@pigment-css/react'; +import Box from '@pigment-css/react/Box'; import routes from '~react-pages'; import Layout from '../../Layout'; @@ -17,8 +17,9 @@ export default function MaterialIndex() { <div> <h1>Material UI Components</h1> <nav> - <ul - className={css({ + <Box + as="ul" + sx={{ margin: 0, marginBlock: '1rem', padding: 0, @@ -26,24 +27,25 @@ export default function MaterialIndex() { display: 'flex', flexDirection: 'column', gap: '0.5rem', - })} + }} > {childRoutes .filter((item) => !!item.path) .map((item) => ( <li key={item.path}> - <Link + <Box + as={Link} to={`/material-ui/${item.path}`} - className={css({ + sx={{ textDecoration: 'underline', fontSize: '17px', - })} + }} > {item.path} - </Link> + </Box> </li> ))} - </ul> + </Box> </nav> </div> </Layout> diff --git a/apps/pnpm-lock.yaml b/apps/pnpm-lock.yaml deleted file mode 100644 index ecd3a0782023dc..00000000000000 --- a/apps/pnpm-lock.yaml +++ /dev/null @@ -1,9205 +0,0 @@ -lockfileVersion: '6.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -importers: - - ../packages-internal/scripts: - dependencies: - '@babel/core': - specifier: ^7.23.9 - version: 7.23.9 - '@babel/plugin-syntax-class-properties': - specifier: ^7.12.13 - version: 7.12.13(@babel/core@7.23.9) - '@babel/plugin-syntax-jsx': - specifier: ^7.23.3 - version: 7.23.3(@babel/core@7.23.9) - '@babel/plugin-syntax-typescript': - specifier: ^7.23.3 - version: 7.23.3(@babel/core@7.23.9) - '@babel/types': - specifier: ^7.23.9 - version: 7.23.9 - '@mui-internal/docs-utils': - specifier: workspace:^ - version: link:../../packages/docs-utils - doctrine: - specifier: ^3.0.0 - version: 3.0.0 - lodash: - specifier: ^4.17.21 - version: 4.17.21 - typescript: - specifier: ^5.3.3 - version: 5.3.3 - uuid: - specifier: ^9.0.1 - version: 9.0.1 - devDependencies: - '@babel/register': - specifier: ^7.23.7 - version: 7.23.7(@babel/core@7.23.9) - '@types/babel__core': - specifier: ^7.20.5 - version: 7.20.5 - '@types/chai': - specifier: ^4.3.12 - version: 4.3.12 - '@types/doctrine': - specifier: ^0.0.9 - version: 0.0.9 - '@types/lodash': - specifier: ^4.14.202 - version: 4.14.202 - '@types/node': - specifier: ^18.19.22 - version: 18.19.22 - '@types/prettier': - specifier: ^2.7.3 - version: 2.7.3 - '@types/react': - specifier: ^18.2.55 - version: 18.2.55 - '@types/uuid': - specifier: ^9.0.8 - version: 9.0.8 - chai: - specifier: ^4.4.1 - version: 4.4.1 - fast-glob: - specifier: ^3.3.2 - version: 3.3.2 - prettier: - specifier: ^3.2.5 - version: 3.2.5 - rimraf: - specifier: ^5.0.5 - version: 5.0.5 - - ../packages/docs-utils: - dependencies: - rimraf: - specifier: ^5.0.5 - version: 5.0.5 - typescript: - specifier: ^5.3.3 - version: 5.3.3 - - ../packages/mui-babel-macros: - dependencies: - '@babel/helper-module-imports': - specifier: ^7.22.15 - version: 7.22.15 - '@babel/runtime': - specifier: ^7.23.9 - version: 7.23.9 - '@mui/utils': - specifier: ^5.0.0 - version: link:../mui-utils/build - babel-plugin-macros: - specifier: ^3.1.0 - version: 3.1.0 - devDependencies: - '@mui/internal-babel-macros': - specifier: workspace:* - version: 'link:' - '@types/babel-plugin-macros': - specifier: ^3.1.3 - version: 3.1.3 - '@types/chai': - specifier: ^4.3.12 - version: 4.3.12 - '@types/mocha': - specifier: ^10.0.6 - version: 10.0.6 - '@types/node': - specifier: ^18.19.22 - version: 18.19.22 - babel-plugin-tester: - specifier: ^11.0.4 - version: 11.0.4(@babel/core@7.23.9) - chai: - specifier: ^4.4.1 - version: 4.4.1 - - ../packages/mui-base: - dependencies: - '@babel/runtime': - specifier: ^7.23.9 - version: 7.23.9 - '@floating-ui/react-dom': - specifier: ^2.0.8 - version: 2.0.8(react-dom@18.2.0)(react@18.2.0) - '@mui/types': - specifier: workspace:^ - version: link:../mui-types/build - '@mui/utils': - specifier: workspace:^ - version: link:../mui-utils/build - '@popperjs/core': - specifier: ^2.11.8 - version: 2.11.8 - clsx: - specifier: ^2.1.0 - version: 2.1.0 - prop-types: - specifier: ^15.8.1 - version: 15.8.1 - devDependencies: - '@mui-internal/test-utils': - specifier: workspace:^ - version: link:../test-utils - '@mui/internal-babel-macros': - specifier: workspace:^ - version: link:../mui-babel-macros - '@testing-library/react': - specifier: ^14.2.1 - version: 14.2.1(react-dom@18.2.0)(react@18.2.0) - '@testing-library/user-event': - specifier: ^14.5.2 - version: 14.5.2(@testing-library/dom@9.3.4) - '@types/chai': - specifier: ^4.3.12 - version: 4.3.12 - '@types/prop-types': - specifier: ^15.7.11 - version: 15.7.11 - '@types/react': - specifier: 18.2.55 - version: 18.2.55 - '@types/react-dom': - specifier: 18.2.19 - version: 18.2.19 - '@types/sinon': - specifier: ^10.0.20 - version: 10.0.20 - chai: - specifier: ^4.4.1 - version: 4.4.1 - fast-glob: - specifier: ^3.3.2 - version: 3.3.2 - lodash: - specifier: ^4.17.21 - version: 4.17.21 - react: - specifier: ^18.2.0 - version: 18.2.0 - react-dom: - specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) - sinon: - specifier: ^15.2.0 - version: 15.2.0 - publishDirectory: build - - ../packages/mui-codemod: - dependencies: - '@babel/core': - specifier: ^7.23.9 - version: 7.23.9 - '@babel/runtime': - specifier: ^7.23.9 - version: 7.23.9 - '@babel/traverse': - specifier: ^7.23.9 - version: 7.23.9 - jscodeshift: - specifier: ^0.13.1 - version: 0.13.1(@babel/preset-env@7.23.9) - jscodeshift-add-imports: - specifier: ^1.0.10 - version: 1.0.10(jscodeshift@0.13.1) - postcss: - specifier: ^8.4.35 - version: 8.4.35 - postcss-cli: - specifier: ^8.3.1 - version: 8.3.1(postcss@8.4.35) - yargs: - specifier: ^17.7.2 - version: 17.7.2 - devDependencies: - '@types/chai': - specifier: ^4.3.12 - version: 4.3.12 - '@types/jscodeshift': - specifier: 0.11.5 - version: 0.11.5 - chai: - specifier: ^4.4.1 - version: 4.4.1 - publishDirectory: build - - ../packages/mui-core-downloads-tracker: - publishDirectory: build - - ../packages/mui-docs: - dependencies: - '@babel/runtime': - specifier: ^7.23.9 - version: 7.23.9 - '@mui/base': - specifier: workspace:* - version: link:../mui-base/build - '@mui/material': - specifier: workspace:^ - version: link:../mui-material/build - '@mui/utils': - specifier: workspace:^ - version: link:../mui-utils/build - clsx: - specifier: ^2.1.0 - version: 2.1.0 - nprogress: - specifier: ^0.2.0 - version: 0.2.0 - prop-types: - specifier: ^15.8.1 - version: 15.8.1 - devDependencies: - '@types/node': - specifier: ^18.19.22 - version: 18.19.22 - '@types/prop-types': - specifier: ^15.7.11 - version: 15.7.11 - '@types/react': - specifier: ^18.2.55 - version: 18.2.55 - next: - specifier: ^13.5.1 - version: 13.5.1(react-dom@18.2.0)(react@18.2.0) - react: - specifier: ^18.2.0 - version: 18.2.0 - publishDirectory: build - - ../packages/mui-envinfo: - dependencies: - envinfo: - specifier: ^7.11.1 - version: 7.11.1 - devDependencies: - '@types/chai': - specifier: ^4.3.12 - version: 4.3.12 - chai: - specifier: ^4.4.1 - version: 4.4.1 - fs-extra: - specifier: ^11.2.0 - version: 11.2.0 - - ../packages/mui-icons-material: - dependencies: - '@babel/runtime': - specifier: ^7.23.9 - version: 7.23.9 - devDependencies: - '@mui/icons-material': - specifier: workspace:* - version: link:build - '@mui/internal-waterfall': - specifier: workspace:^ - version: link:../waterfall - '@mui/material': - specifier: workspace:^ - version: link:../mui-material/build - '@types/chai': - specifier: ^4.3.12 - version: 4.3.12 - '@types/react': - specifier: ^18.2.55 - version: 18.2.55 - chai: - specifier: ^4.4.1 - version: 4.4.1 - chalk: - specifier: ^5.3.0 - version: 5.3.0 - cross-fetch: - specifier: ^4.0.0 - version: 4.0.0 - fast-glob: - specifier: ^3.3.2 - version: 3.3.2 - fs-extra: - specifier: ^11.2.0 - version: 11.2.0 - lodash: - specifier: ^4.17.21 - version: 4.17.21 - mustache: - specifier: ^4.2.0 - version: 4.2.0 - react: - specifier: ^18.2.0 - version: 18.2.0 - rimraf: - specifier: ^5.0.5 - version: 5.0.5 - shx: - specifier: ^0.3.4 - version: 0.3.4 - svgo: - specifier: ^3.2.0 - version: 3.2.0 - yargs: - specifier: ^17.7.2 - version: 17.7.2 - publishDirectory: build - - ../packages/mui-joy: - dependencies: - '@babel/runtime': - specifier: ^7.23.9 - version: 7.23.9 - '@emotion/react': - specifier: ^11.5.0 - version: 11.11.3(@types/react@18.2.55)(react@18.2.0) - '@emotion/styled': - specifier: ^11.3.0 - version: 11.11.0(@emotion/react@11.11.3)(@types/react@18.2.55)(react@18.2.0) - '@mui/base': - specifier: workspace:* - version: link:../mui-base/build - '@mui/core-downloads-tracker': - specifier: workspace:^ - version: link:../mui-core-downloads-tracker/build - '@mui/system': - specifier: workspace:^ - version: link:../mui-system/build - '@mui/types': - specifier: workspace:^ - version: link:../mui-types/build - '@mui/utils': - specifier: workspace:^ - version: link:../mui-utils/build - clsx: - specifier: ^2.1.0 - version: 2.1.0 - prop-types: - specifier: ^15.8.1 - version: 15.8.1 - devDependencies: - '@mui-internal/test-utils': - specifier: workspace:^ - version: link:../test-utils - '@mui/material': - specifier: workspace:^ - version: link:../mui-material/build - '@types/chai': - specifier: ^4.3.12 - version: 4.3.12 - '@types/prop-types': - specifier: ^15.7.11 - version: 15.7.11 - '@types/react': - specifier: ^18.2.55 - version: 18.2.55 - '@types/react-dom': - specifier: ^18.2.19 - version: 18.2.19 - '@types/sinon': - specifier: ^10.0.20 - version: 10.0.20 - chai: - specifier: ^4.4.1 - version: 4.4.1 - fast-glob: - specifier: ^3.3.2 - version: 3.3.2 - lodash: - specifier: ^4.17.21 - version: 4.17.21 - next: - specifier: ^13.4.19 - version: 13.5.1(react-dom@18.2.0)(react@18.2.0) - react: - specifier: ^18.2.0 - version: 18.2.0 - react-dom: - specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) - sinon: - specifier: ^15.2.0 - version: 15.2.0 - publishDirectory: build - - ../packages/mui-lab: - dependencies: - '@babel/runtime': - specifier: ^7.23.9 - version: 7.23.9 - '@emotion/react': - specifier: ^11.5.0 - version: 11.11.3(@types/react@18.2.55)(react@18.2.0) - '@emotion/styled': - specifier: ^11.3.0 - version: 11.11.0(@emotion/react@11.11.3)(@types/react@18.2.55)(react@18.2.0) - '@mui/base': - specifier: workspace:* - version: link:../mui-base/build - '@mui/material': - specifier: '>=5.15.0' - version: link:../mui-material/build - '@mui/system': - specifier: workspace:^ - version: link:../mui-system/build - '@mui/types': - specifier: workspace:^ - version: link:../mui-types/build - '@mui/utils': - specifier: workspace:^ - version: link:../mui-utils/build - clsx: - specifier: ^2.1.0 - version: 2.1.0 - prop-types: - specifier: ^15.8.1 - version: 15.8.1 - devDependencies: - '@mui-internal/test-utils': - specifier: workspace:^ - version: link:../test-utils - '@types/chai': - specifier: ^4.3.12 - version: 4.3.12 - '@types/prop-types': - specifier: ^15.7.11 - version: 15.7.11 - '@types/react': - specifier: ^18.2.55 - version: 18.2.55 - '@types/react-dom': - specifier: ^18.2.19 - version: 18.2.19 - '@types/sinon': - specifier: ^10.0.20 - version: 10.0.20 - chai: - specifier: ^4.4.1 - version: 4.4.1 - react: - specifier: ^18.2.0 - version: 18.2.0 - react-dom: - specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) - sinon: - specifier: ^15.2.0 - version: 15.2.0 - publishDirectory: build - - ../packages/mui-material: - dependencies: - '@babel/runtime': - specifier: ^7.23.9 - version: 7.23.9 - '@emotion/react': - specifier: ^11.5.0 - version: 11.11.3(@types/react@18.2.55)(react@18.2.0) - '@emotion/styled': - specifier: ^11.3.0 - version: 11.11.0(@emotion/react@11.11.3)(@types/react@18.2.55)(react@18.2.0) - '@mui/base': - specifier: workspace:* - version: link:../mui-base/build - '@mui/core-downloads-tracker': - specifier: workspace:^ - version: link:../mui-core-downloads-tracker/build - '@mui/system': - specifier: workspace:^ - version: link:../mui-system/build - '@mui/types': - specifier: workspace:^ - version: link:../mui-types/build - '@mui/utils': - specifier: workspace:^ - version: link:../mui-utils/build - '@types/react-transition-group': - specifier: ^4.4.10 - version: 4.4.10 - clsx: - specifier: ^2.1.0 - version: 2.1.0 - csstype: - specifier: ^3.1.3 - version: 3.1.3 - prop-types: - specifier: ^15.8.1 - version: 15.8.1 - react-is: - specifier: ^18.2.0 - version: 18.2.0 - react-transition-group: - specifier: ^4.4.5 - version: 4.4.5(react-dom@18.2.0)(react@18.2.0) - devDependencies: - '@mui-internal/test-utils': - specifier: workspace:^ - version: link:../test-utils - '@mui/internal-babel-macros': - specifier: workspace:^ - version: link:../mui-babel-macros - '@popperjs/core': - specifier: ^2.11.8 - version: 2.11.8 - '@rollup/plugin-replace': - specifier: ^5.0.5 - version: 5.0.5(rollup@3.29.4) - '@testing-library/dom': - specifier: ^9.3.4 - version: 9.3.4 - '@testing-library/user-event': - specifier: ^14.5.2 - version: 14.5.2(@testing-library/dom@9.3.4) - '@types/chai': - specifier: ^4.3.12 - version: 4.3.12 - '@types/prop-types': - specifier: ^15.7.11 - version: 15.7.11 - '@types/react': - specifier: ^18.2.55 - version: 18.2.55 - '@types/react-dom': - specifier: ^18.2.19 - version: 18.2.19 - '@types/sinon': - specifier: ^10.0.20 - version: 10.0.20 - chai: - specifier: ^4.4.1 - version: 4.4.1 - css-mediaquery: - specifier: ^0.1.2 - version: 0.1.2 - express: - specifier: ^4.18.3 - version: 4.18.3 - fast-glob: - specifier: ^3.3.2 - version: 3.3.2 - fs-extra: - specifier: ^11.2.0 - version: 11.2.0 - lodash: - specifier: ^4.17.21 - version: 4.17.21 - playwright: - specifier: ^1.42.1 - version: 1.42.1 - react: - specifier: ^18.2.0 - version: 18.2.0 - react-dom: - specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) - react-router-dom: - specifier: ^6.21.3 - version: 6.22.1(react-dom@18.2.0)(react@18.2.0) - rollup: - specifier: ^3.29.4 - version: 3.29.4 - rollup-plugin-babel: - specifier: ^4.4.0 - version: 4.4.0(@babel/core@7.23.9)(rollup@3.29.4) - rollup-plugin-commonjs: - specifier: ^10.1.0 - version: 10.1.0(rollup@3.29.4) - rollup-plugin-node-globals: - specifier: ^1.4.0 - version: 1.4.0 - rollup-plugin-node-resolve: - specifier: ^5.2.0 - version: 5.2.0(rollup@3.29.4) - rollup-plugin-terser: - specifier: ^7.0.2 - version: 7.0.2(rollup@3.29.4) - sinon: - specifier: ^15.2.0 - version: 15.2.0 - publishDirectory: build - - ../packages/mui-material-next: - dependencies: - '@babel/runtime': - specifier: ^7.23.9 - version: 7.23.9 - '@emotion/styled': - specifier: ^11.3.0 - version: 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) - '@mui/base': - specifier: workspace:* - version: link:../mui-base/build - '@mui/material': - specifier: workspace:^ - version: link:../mui-material/build - '@mui/system': - specifier: workspace:^ - version: link:../mui-system/build - '@mui/types': - specifier: workspace:^ - version: link:../mui-types/build - '@mui/utils': - specifier: workspace:^ - version: link:../mui-utils/build - '@types/react-transition-group': - specifier: ^4.4.10 - version: 4.4.10 - clsx: - specifier: ^2.1.0 - version: 2.1.0 - prop-types: - specifier: ^15.8.1 - version: 15.8.1 - react-is: - specifier: ^18.2.0 - version: 18.2.0 - react-transition-group: - specifier: ^4.4.5 - version: 4.4.5(react-dom@18.2.0)(react@18.2.0) - devDependencies: - '@emotion/react': - specifier: ^11.11.4 - version: 11.11.4(@types/react@18.2.55)(react@18.2.0) - '@mui-internal/test-utils': - specifier: workspace:^ - version: link:../test-utils - '@mui/internal-babel-macros': - specifier: workspace:^ - version: link:../mui-babel-macros - '@testing-library/user-event': - specifier: ^14.5.2 - version: 14.5.2(@testing-library/dom@9.3.4) - '@types/chai': - specifier: ^4.3.12 - version: 4.3.12 - '@types/prop-types': - specifier: ^15.7.11 - version: 15.7.11 - '@types/react': - specifier: ^18.2.55 - version: 18.2.55 - '@types/react-dom': - specifier: ^18.2.19 - version: 18.2.19 - '@types/react-is': - specifier: ^18.2.4 - version: 18.2.4 - '@types/sinon': - specifier: ^10.0.20 - version: 10.0.20 - chai: - specifier: ^4.4.1 - version: 4.4.1 - lodash: - specifier: ^4.17.21 - version: 4.17.21 - react: - specifier: ^18.2.0 - version: 18.2.0 - react-dom: - specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) - react-router-dom: - specifier: ^6.21.3 - version: 6.22.1(react-dom@18.2.0)(react@18.2.0) - sinon: - specifier: ^15.2.0 - version: 15.2.0 - publishDirectory: build - - ../packages/mui-material-nextjs: - dependencies: - '@babel/runtime': - specifier: ^7.23.9 - version: 7.23.9 - '@mui/material': - specifier: ^5.0.0 - version: link:../mui-material/build - devDependencies: - '@emotion/cache': - specifier: ^11.11.0 - version: 11.11.0 - '@emotion/react': - specifier: ^11.11.4 - version: 11.11.4(@types/react@18.2.55)(react@18.2.0) - '@emotion/server': - specifier: ^11.11.0 - version: 11.11.0 - '@types/react': - specifier: ^18.2.55 - version: 18.2.55 - next: - specifier: 13.5.1 - version: 13.5.1(react-dom@18.2.0)(react@18.2.0) - react: - specifier: ^18.2.0 - version: 18.2.0 - publishDirectory: build - - ../packages/mui-private-theming: - dependencies: - '@babel/runtime': - specifier: ^7.23.9 - version: 7.23.9 - '@mui/utils': - specifier: workspace:^ - version: link:../mui-utils/build - prop-types: - specifier: ^15.8.1 - version: 15.8.1 - devDependencies: - '@mui-internal/test-utils': - specifier: workspace:^ - version: link:../test-utils - '@mui/types': - specifier: workspace:^ - version: link:../mui-types/build - '@types/chai': - specifier: ^4.3.12 - version: 4.3.12 - '@types/react': - specifier: ^18.2.55 - version: 18.2.55 - chai: - specifier: ^4.4.1 - version: 4.4.1 - react: - specifier: ^18.2.0 - version: 18.2.0 - publishDirectory: build - - ../packages/mui-styled-engine: - dependencies: - '@babel/runtime': - specifier: ^7.23.9 - version: 7.23.9 - '@emotion/cache': - specifier: ^11.11.0 - version: 11.11.0 - csstype: - specifier: ^3.1.3 - version: 3.1.3 - prop-types: - specifier: ^15.8.1 - version: 15.8.1 - devDependencies: - '@emotion/react': - specifier: ^11.11.4 - version: 11.11.4(@types/react@18.2.55)(react@18.2.0) - '@emotion/styled': - specifier: ^11.11.0 - version: 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) - '@mui-internal/test-utils': - specifier: workspace:^ - version: link:../test-utils - '@mui/styled-engine': - specifier: workspace:* - version: link:build - '@types/chai': - specifier: ^4.3.12 - version: 4.3.12 - '@types/react': - specifier: ^18.2.55 - version: 18.2.55 - chai: - specifier: ^4.4.1 - version: 4.4.1 - react: - specifier: ^18.2.0 - version: 18.2.0 - publishDirectory: build - - ../packages/mui-styled-engine-sc: - dependencies: - '@babel/runtime': - specifier: ^7.23.9 - version: 7.23.9 - csstype: - specifier: ^3.1.3 - version: 3.1.3 - hoist-non-react-statics: - specifier: ^3.3.2 - version: 3.3.2 - prop-types: - specifier: ^15.8.1 - version: 15.8.1 - devDependencies: - '@mui-internal/test-utils': - specifier: workspace:^ - version: link:../test-utils - '@mui/styled-engine-sc': - specifier: workspace:* - version: link:build - '@types/chai': - specifier: ^4.3.12 - version: 4.3.12 - '@types/hoist-non-react-statics': - specifier: ^3.3.5 - version: 3.3.5 - '@types/react': - specifier: ^18.2.55 - version: 18.2.55 - chai: - specifier: ^4.4.1 - version: 4.4.1 - react: - specifier: ^18.2.0 - version: 18.2.0 - styled-components: - specifier: ^6.1.8 - version: 6.1.8(react-dom@18.2.0)(react@18.2.0) - publishDirectory: build - - ../packages/mui-styles: - dependencies: - '@babel/runtime': - specifier: ^7.23.9 - version: 7.23.9 - '@emotion/hash': - specifier: ^0.9.1 - version: 0.9.1 - '@mui/private-theming': - specifier: workspace:^ - version: link:../mui-private-theming/build - '@mui/types': - specifier: workspace:^ - version: link:../mui-types/build - '@mui/utils': - specifier: workspace:^ - version: link:../mui-utils/build - clsx: - specifier: ^2.1.0 - version: 2.1.0 - csstype: - specifier: ^3.1.3 - version: 3.1.3 - hoist-non-react-statics: - specifier: ^3.3.2 - version: 3.3.2 - jss: - specifier: ^10.10.0 - version: 10.10.0 - jss-plugin-camel-case: - specifier: ^10.10.0 - version: 10.10.0 - jss-plugin-default-unit: - specifier: ^10.10.0 - version: 10.10.0 - jss-plugin-global: - specifier: ^10.10.0 - version: 10.10.0 - jss-plugin-nested: - specifier: ^10.10.0 - version: 10.10.0 - jss-plugin-props-sort: - specifier: ^10.10.0 - version: 10.10.0 - jss-plugin-rule-value-function: - specifier: ^10.10.0 - version: 10.10.0 - jss-plugin-vendor-prefixer: - specifier: ^10.10.0 - version: 10.10.0 - prop-types: - specifier: ^15.8.1 - version: 15.8.1 - devDependencies: - '@mui-internal/test-utils': - specifier: workspace:^ - version: link:../test-utils - '@mui/material': - specifier: workspace:^ - version: link:../mui-material/build - '@types/chai': - specifier: ^4.3.12 - version: 4.3.12 - '@types/react': - specifier: ^18.2.55 - version: 18.2.55 - '@types/react-dom': - specifier: ^18.2.19 - version: 18.2.19 - '@types/sinon': - specifier: ^10.0.20 - version: 10.0.20 - chai: - specifier: ^4.4.1 - version: 4.4.1 - react: - specifier: ^18.2.0 - version: 18.2.0 - react-dom: - specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) - sinon: - specifier: ^15.2.0 - version: 15.2.0 - publishDirectory: build - - ../packages/mui-system: - dependencies: - '@babel/runtime': - specifier: ^7.23.9 - version: 7.23.9 - '@mui/private-theming': - specifier: workspace:^ - version: link:../mui-private-theming/build - '@mui/styled-engine': - specifier: workspace:^ - version: link:../mui-styled-engine/build - '@mui/types': - specifier: workspace:^ - version: link:../mui-types/build - '@mui/utils': - specifier: workspace:^ - version: link:../mui-utils/build - clsx: - specifier: ^2.1.0 - version: 2.1.0 - csstype: - specifier: ^3.1.3 - version: 3.1.3 - prop-types: - specifier: ^15.8.1 - version: 15.8.1 - devDependencies: - '@emotion/react': - specifier: ^11.11.4 - version: 11.11.4(@types/react@18.2.55)(react@18.2.0) - '@emotion/styled': - specifier: ^11.11.0 - version: 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) - '@mui-internal/test-utils': - specifier: workspace:^ - version: link:../test-utils - '@mui/internal-babel-macros': - specifier: workspace:^ - version: link:../mui-babel-macros - '@mui/system': - specifier: workspace:* - version: link:build - '@types/chai': - specifier: ^4.3.12 - version: 4.3.12 - '@types/prop-types': - specifier: ^15.7.11 - version: 15.7.11 - '@types/react': - specifier: ^18.2.55 - version: 18.2.55 - '@types/sinon': - specifier: ^10.0.20 - version: 10.0.20 - chai: - specifier: ^4.4.1 - version: 4.4.1 - fast-glob: - specifier: ^3.3.2 - version: 3.3.2 - lodash: - specifier: ^4.17.21 - version: 4.17.21 - react: - specifier: ^18.2.0 - version: 18.2.0 - sinon: - specifier: ^15.2.0 - version: 15.2.0 - styled-components: - specifier: ^6.1.8 - version: 6.1.8(react-dom@18.2.0)(react@18.2.0) - publishDirectory: build - - ../packages/mui-types: - devDependencies: - '@mui/types': - specifier: workspace:* - version: link:build - '@types/react': - specifier: ^18.2.55 - version: 18.2.55 - publishDirectory: build - - ../packages/mui-utils: - dependencies: - '@babel/runtime': - specifier: ^7.23.9 - version: 7.23.9 - '@types/prop-types': - specifier: ^15.7.11 - version: 15.7.11 - prop-types: - specifier: ^15.8.1 - version: 15.8.1 - react-is: - specifier: ^18.2.0 - version: 18.2.0 - devDependencies: - '@mui-internal/test-utils': - specifier: workspace:^ - version: link:../test-utils - '@mui/internal-babel-macros': - specifier: workspace:^ - version: link:../mui-babel-macros - '@mui/types': - specifier: workspace:^ - version: link:../mui-types/build - '@types/chai': - specifier: ^4.3.12 - version: 4.3.12 - '@types/mocha': - specifier: ^10.0.6 - version: 10.0.6 - '@types/node': - specifier: ^18.19.22 - version: 18.19.22 - '@types/react': - specifier: ^18.2.55 - version: 18.2.55 - '@types/react-dom': - specifier: ^18.2.19 - version: 18.2.19 - '@types/react-is': - specifier: ^18.2.4 - version: 18.2.4 - '@types/sinon': - specifier: ^10.0.20 - version: 10.0.20 - chai: - specifier: ^4.4.1 - version: 4.4.1 - react: - specifier: ^18.2.0 - version: 18.2.0 - react-dom: - specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) - sinon: - specifier: ^15.2.0 - version: 15.2.0 - publishDirectory: build - - ../packages/pigment-css-nextjs-plugin: - dependencies: - '@pigment-css/unplugin': - specifier: workspace:^ - version: link:../pigment-css-unplugin - devDependencies: - next: - specifier: ^13.5.1 - version: 13.5.1(react-dom@18.2.0)(react@18.2.0) - - ../packages/pigment-css-react: - dependencies: - '@babel/core': - specifier: ^7.23.9 - version: 7.23.9 - '@babel/helper-module-imports': - specifier: ^7.22.15 - version: 7.22.15 - '@babel/helper-plugin-utils': - specifier: ^7.22.5 - version: 7.22.5 - '@babel/parser': - specifier: ^7.23.9 - version: 7.23.9 - '@babel/types': - specifier: ^7.23.9 - version: 7.23.9 - '@emotion/css': - specifier: ^11.11.2 - version: 11.11.2 - '@emotion/react': - specifier: ^11.11.4 - version: 11.11.4(@types/react@18.2.55)(react@18.2.0) - '@emotion/serialize': - specifier: ^1.1.3 - version: 1.1.3 - '@emotion/styled': - specifier: ^11.11.0 - version: 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) - '@mui/system': - specifier: workspace:^ - version: link:../mui-system/build - '@wyw-in-js/processor-utils': - specifier: ^0.5.0 - version: 0.5.0 - '@wyw-in-js/shared': - specifier: ^0.5.0 - version: 0.5.0 - '@wyw-in-js/transform': - specifier: ^0.5.0 - version: 0.5.0(typescript@5.3.3) - clsx: - specifier: ^2.1.0 - version: 2.1.0 - cssesc: - specifier: ^3.0.0 - version: 3.0.0 - csstype: - specifier: ^3.1.3 - version: 3.1.3 - lodash: - specifier: ^4.17.21 - version: 4.17.21 - stylis: - specifier: ^4.3.1 - version: 4.3.1 - devDependencies: - '@babel/plugin-syntax-jsx': - specifier: ^7.23.3 - version: 7.23.3(@babel/core@7.23.9) - '@types/babel__core': - specifier: ^7.20.5 - version: 7.20.5 - '@types/babel__helper-module-imports': - specifier: ^7.18.3 - version: 7.18.3 - '@types/babel__helper-plugin-utils': - specifier: ^7.10.3 - version: 7.10.3 - '@types/chai': - specifier: ^4.3.12 - version: 4.3.12 - '@types/cssesc': - specifier: ^3.0.2 - version: 3.0.2 - '@types/lodash': - specifier: ^4.14.202 - version: 4.14.202 - '@types/mocha': - specifier: ^10.0.6 - version: 10.0.6 - '@types/node': - specifier: ^18.19.22 - version: 18.19.22 - '@types/react': - specifier: ^18.2.55 - version: 18.2.55 - '@types/stylis': - specifier: ^4.2.5 - version: 4.2.5 - chai: - specifier: ^4.4.1 - version: 4.4.1 - prettier: - specifier: ^3.2.5 - version: 3.2.5 - react: - specifier: ^18.2.0 - version: 18.2.0 - - ../packages/pigment-css-unplugin: - dependencies: - '@babel/core': - specifier: ^7.23.9 - version: 7.23.9 - '@pigment-css/react': - specifier: workspace:^ - version: link:../pigment-css-react - '@wyw-in-js/shared': - specifier: ^0.5.0 - version: 0.5.0 - '@wyw-in-js/transform': - specifier: ^0.5.0 - version: 0.5.0(typescript@5.3.3) - babel-plugin-transform-react-remove-prop-types: - specifier: ^0.4.24 - version: 0.4.24 - unplugin: - specifier: ^1.7.1 - version: 1.7.1 - devDependencies: - '@types/babel__core': - specifier: ^7.20.5 - version: 7.20.5 - - ../packages/pigment-css-vite-plugin: - dependencies: - '@babel/core': - specifier: ^7.23.9 - version: 7.23.9 - '@babel/preset-typescript': - specifier: ^7.23.3 - version: 7.23.3(@babel/core@7.23.9) - '@pigment-css/react': - specifier: workspace:^ - version: link:../pigment-css-react - '@wyw-in-js/shared': - specifier: ^0.5.0 - version: 0.5.0 - '@wyw-in-js/transform': - specifier: ^0.5.0 - version: 0.5.0(typescript@5.3.3) - babel-plugin-transform-react-remove-prop-types: - specifier: ^0.4.24 - version: 0.4.24 - devDependencies: - '@types/babel__core': - specifier: ^7.20.5 - version: 7.20.5 - vite: - specifier: ^5.0.12 - version: 5.0.12 - - ../packages/test-utils: - dependencies: - '@babel/plugin-transform-modules-commonjs': - specifier: ^7.23.3 - version: 7.23.3(@babel/core@7.23.9) - '@babel/preset-typescript': - specifier: ^7.23.3 - version: 7.23.3(@babel/core@7.23.9) - '@babel/register': - specifier: ^7.23.7 - version: 7.23.7(@babel/core@7.23.9) - '@babel/runtime': - specifier: ^7.23.9 - version: 7.23.9 - '@emotion/cache': - specifier: ^11.11.0 - version: 11.11.0 - '@emotion/react': - specifier: ^11.11.4 - version: 11.11.4(@types/react@18.2.55)(react@18.2.0) - '@mnajdova/enzyme-adapter-react-18': - specifier: ^0.2.0 - version: 0.2.0(enzyme@3.11.0)(react-dom@18.2.0)(react@18.2.0) - '@testing-library/dom': - specifier: ^9.3.4 - version: 9.3.4 - '@testing-library/react': - specifier: ^14.2.1 - version: 14.2.1(react-dom@18.2.0)(react@18.2.0) - chai: - specifier: ^4.4.1 - version: 4.4.1 - chai-dom: - specifier: ^1.12.0 - version: 1.12.0(chai@4.4.1) - dom-accessibility-api: - specifier: ^0.6.3 - version: 0.6.3 - enzyme: - specifier: ^3.11.0 - version: 3.11.0 - format-util: - specifier: ^1.0.5 - version: 1.0.5 - fs-extra: - specifier: ^11.2.0 - version: 11.2.0 - jsdom: - specifier: ^24.0.0 - version: 24.0.0 - lodash: - specifier: ^4.17.21 - version: 4.17.21 - mocha: - specifier: ^10.3.0 - version: 10.3.0 - playwright: - specifier: ^1.42.1 - version: 1.42.1 - prop-types: - specifier: ^15.8.1 - version: 15.8.1 - react: - specifier: ^18.2.0 - version: 18.2.0 - react-dom: - specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) - react-test-renderer: - specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) - sinon: - specifier: ^15.2.0 - version: 15.2.0 - devDependencies: - '@types/chai': - specifier: ^4.3.12 - version: 4.3.12 - '@types/chai-dom': - specifier: ^1.11.3 - version: 1.11.3 - '@types/enzyme': - specifier: ^3.10.18 - version: 3.10.18 - '@types/format-util': - specifier: ^1.0.4 - version: 1.0.4 - '@types/prop-types': - specifier: ^15.7.11 - version: 15.7.11 - '@types/react': - specifier: ^18.2.55 - version: 18.2.55 - '@types/react-dom': - specifier: ^18.2.19 - version: 18.2.19 - '@types/react-test-renderer': - specifier: ^18.0.7 - version: 18.0.7 - '@types/sinon': - specifier: ^10.0.20 - version: 10.0.20 - typescript: - specifier: ^5.3.3 - version: 5.3.3 - - ../packages/waterfall: {} - - local-ui-lib: - dependencies: - '@pigment-css/react': - specifier: file:../../packages/pigment-css-react - version: file:../packages/pigment-css-react(@types/react@18.2.55)(react@18.2.0)(typescript@5.3.3) - - pigment-css-next-app: - dependencies: - '@emotion/cache': - specifier: latest - version: 11.11.0 - '@mui/base': - specifier: file:../../packages/mui-base/build - version: file:../packages/mui-base/build(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@mui/icons-material': - specifier: file:../../packages/mui-icons-material/build - version: file:../packages/mui-icons-material/build(@mui/material@5.15.13)(@types/react@18.2.55)(react@18.2.0) - '@mui/material': - specifier: file:../../packages/mui-material/build - version: file:../packages/mui-material/build(@emotion/react@11.11.4)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@mui/material-nextjs': - specifier: file:../../packages/mui-material-nextjs/build - version: file:../packages/mui-material-nextjs/build(@emotion/cache@11.11.0)(@mui/material@5.15.13)(@types/react@18.2.55)(next@14.1.3)(react@18.2.0) - '@mui/system': - specifier: file:../../packages/mui-system/build - version: file:../packages/mui-system/build(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) - '@mui/utils': - specifier: file:../../packages/mui-utils/build - version: file:../packages/mui-utils/build(@types/react@18.2.55)(react@18.2.0) - '@pigment-css/react': - specifier: file:../../packages/pigment-css-react - version: file:../packages/pigment-css-react(@types/react@18.2.55)(react@18.2.0)(typescript@5.3.3) - local-ui-lib: - specifier: workspace:^ - version: link:../local-ui-lib - next: - specifier: latest - version: 14.1.3(@babel/core@7.23.9)(react-dom@18.2.0)(react@18.2.0) - react: - specifier: ^18.2.0 - version: 18.2.0 - react-dom: - specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) - devDependencies: - '@pigment-css/nextjs-plugin': - specifier: file:../../packages/pigment-css-nextjs-plugin - version: file:../packages/pigment-css-nextjs-plugin(next@14.1.3) - '@pigment-css/unplugin': - specifier: file:../../packages/pigment-css-unplugin - version: file:../packages/pigment-css-unplugin(typescript@5.3.3) - '@types/node': - specifier: ^20.5.7 - version: 20.11.22 - '@types/react': - specifier: ^18.2.55 - version: 18.2.55 - '@types/react-dom': - specifier: ^18.2.19 - version: 18.2.19 - eslint: - specifier: ^8.56.0 - version: 8.57.0 - typescript: - specifier: ^5.3.3 - version: 5.3.3 - - pigment-css-vite-app: - dependencies: - '@mui/base': - specifier: file:../../packages/mui-base/build - version: file:../packages/mui-base/build(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@mui/icons-material': - specifier: file:../../packages/mui-icons-material/build - version: file:../packages/mui-icons-material/build(@mui/material@5.15.13)(@types/react@18.2.55)(react@18.2.0) - '@mui/material': - specifier: file:../../packages/mui-material/build - version: file:../packages/mui-material/build(@emotion/react@11.11.4)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@mui/system': - specifier: file:../../packages/mui-system/build - version: file:../packages/mui-system/build(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) - '@mui/utils': - specifier: file:../../packages/mui-utils/build - version: file:../packages/mui-utils/build(@types/react@18.2.55)(react@18.2.0) - '@pigment-css/react': - specifier: file:../../packages/pigment-css-react - version: file:../packages/pigment-css-react(@types/react@18.2.55)(react@18.2.0)(typescript@5.3.3) - clsx: - specifier: ^2.1.0 - version: 2.1.0 - local-ui-lib: - specifier: workspace:^ - version: link:../local-ui-lib - react: - specifier: ^18.2.0 - version: 18.2.0 - react-dom: - specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) - react-router: - specifier: ^6.22.1 - version: 6.22.1(react@18.2.0) - react-router-dom: - specifier: ^6.22.1 - version: 6.22.1(react-dom@18.2.0)(react@18.2.0) - devDependencies: - '@babel/preset-env': - specifier: ^7.23.9 - version: 7.23.9(@babel/core@7.23.9) - '@babel/preset-react': - specifier: ^7.23.3 - version: 7.23.3(@babel/core@7.23.9) - '@babel/preset-typescript': - specifier: ^7.23.3 - version: 7.23.3(@babel/core@7.23.9) - '@pigment-css/vite-plugin': - specifier: file:../../packages/pigment-css-vite-plugin - version: file:../packages/pigment-css-vite-plugin(vite@5.0.12) - '@types/react': - specifier: ^18.2.55 - version: 18.2.55 - '@types/react-dom': - specifier: ^18.2.19 - version: 18.2.19 - '@vitejs/plugin-react': - specifier: ^4.2.1 - version: 4.2.1(vite@5.0.12) - postcss: - specifier: ^8.4.35 - version: 8.4.35 - postcss-combine-media-query: - specifier: ^1.0.1 - version: 1.0.1 - vite: - specifier: 5.0.12 - version: 5.0.12 - vite-plugin-pages: - specifier: ^0.32.0 - version: 0.32.0(vite@5.0.12) - -packages: - - /@aashutoshrathi/word-wrap@1.2.6: - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - dev: true - - /@ampproject/remapping@2.2.1: - resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/gen-mapping': 0.3.4 - '@jridgewell/trace-mapping': 0.3.23 - - /@babel/code-frame@7.23.5: - resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.23.4 - chalk: 2.4.2 - - /@babel/compat-data@7.23.5: - resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} - engines: {node: '>=6.9.0'} - - /@babel/core@7.23.9: - resolution: {integrity: sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==} - engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.23.5 - '@babel/generator': 7.23.6 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) - '@babel/helpers': 7.23.9 - '@babel/parser': 7.23.9 - '@babel/template': 7.23.9 - '@babel/traverse': 7.23.9 - '@babel/types': 7.23.9 - convert-source-map: 2.0.0 - debug: 4.3.4(supports-color@8.1.1) - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - /@babel/generator@7.23.6: - resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.9 - '@jridgewell/gen-mapping': 0.3.4 - '@jridgewell/trace-mapping': 0.3.23 - jsesc: 2.5.2 - - /@babel/helper-annotate-as-pure@7.22.5: - resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.9 - - /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: - resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.9 - - /@babel/helper-compilation-targets@7.23.6: - resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/compat-data': 7.23.5 - '@babel/helper-validator-option': 7.23.5 - browserslist: 4.23.0 - lru-cache: 5.1.1 - semver: 6.3.1 - - /@babel/helper-create-class-features-plugin@7.23.10(@babel/core@7.23.9): - resolution: {integrity: sha512-2XpP2XhkXzgxecPNEEK8Vz8Asj9aRxt08oKOqtiZoqV2UGZ5T+EkyP9sXQ9nwMxBIG34a7jmasVqoMop7VdPUw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-member-expression-to-functions': 7.23.0 - '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9) - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - semver: 6.3.1 - - /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.9): - resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 - regexpu-core: 5.3.2 - semver: 6.3.1 - - /@babel/helper-define-polyfill-provider@0.5.0(@babel/core@7.23.9): - resolution: {integrity: sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.22.5 - debug: 4.3.4(supports-color@8.1.1) - lodash.debounce: 4.0.8 - resolve: 1.22.8 - transitivePeerDependencies: - - supports-color - - /@babel/helper-environment-visitor@7.22.20: - resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} - engines: {node: '>=6.9.0'} - - /@babel/helper-function-name@7.23.0: - resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.23.9 - '@babel/types': 7.23.9 - - /@babel/helper-hoist-variables@7.22.5: - resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.9 - - /@babel/helper-member-expression-to-functions@7.23.0: - resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.9 - - /@babel/helper-module-imports@7.22.15: - resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.9 - - /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.20 - - /@babel/helper-optimise-call-expression@7.22.5: - resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.9 - - /@babel/helper-plugin-utils@7.22.5: - resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} - engines: {node: '>=6.9.0'} - - /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.9): - resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-wrap-function': 7.22.20 - - /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.9): - resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-member-expression-to-functions': 7.23.0 - '@babel/helper-optimise-call-expression': 7.22.5 - - /@babel/helper-simple-access@7.22.5: - resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.9 - - /@babel/helper-skip-transparent-expression-wrappers@7.22.5: - resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.9 - - /@babel/helper-split-export-declaration@7.22.6: - resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.9 - - /@babel/helper-string-parser@7.23.4: - resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} - engines: {node: '>=6.9.0'} - - /@babel/helper-validator-identifier@7.22.20: - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} - engines: {node: '>=6.9.0'} - - /@babel/helper-validator-option@7.23.5: - resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} - engines: {node: '>=6.9.0'} - - /@babel/helper-wrap-function@7.22.20: - resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-function-name': 7.23.0 - '@babel/template': 7.23.9 - '@babel/types': 7.23.9 - - /@babel/helpers@7.23.9: - resolution: {integrity: sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.23.9 - '@babel/traverse': 7.23.9 - '@babel/types': 7.23.9 - transitivePeerDependencies: - - supports-color - - /@babel/highlight@7.23.4: - resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.22.20 - chalk: 2.4.2 - js-tokens: 4.0.0 - - /@babel/parser@7.23.9: - resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.23.9 - - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.13.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.9) - - /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.23.9): - resolution: {integrity: sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.23.9): - resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-class-features-plugin': 7.23.10(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - dev: false - - /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.23.9): - resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.9) - dev: false - - /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.23.9): - resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9) - dev: false - - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.9): - resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.9): - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.9): - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.9): - resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.9): - resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.9): - resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-syntax-flow@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - dev: false - - /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.9): - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.9): - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.9): - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.9): - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.9): - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.9): - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.9): - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.9): - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.9): - resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.9): - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.9): - resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-transform-async-generator-functions@7.23.9(@babel/core@7.23.9): - resolution: {integrity: sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.9) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.9) - - /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.9) - - /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.23.9): - resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-class-features-plugin': 7.23.10(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.23.9): - resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.12.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-class-features-plugin': 7.23.10(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.9) - - /@babel/plugin-transform-classes@7.23.8(@babel/core@7.23.9): - resolution: {integrity: sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9) - '@babel/helper-split-export-declaration': 7.22.6 - globals: 11.12.0 - - /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/template': 7.23.9 - - /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.23.9): - resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.9) - - /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.23.9): - resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.9) - - /@babel/plugin-transform-flow-strip-types@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.23.9) - dev: false - - /@babel/plugin-transform-for-of@7.23.6(@babel/core@7.23.9): - resolution: {integrity: sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - - /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.23.9): - resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.9) - - /@babel/plugin-transform-literals@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.23.9): - resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.9) - - /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-simple-access': 7.22.5 - - /@babel/plugin-transform-modules-systemjs@7.23.9(@babel/core@7.23.9): - resolution: {integrity: sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-identifier': 7.22.20 - - /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.9): - resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.23.9): - resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.9) - - /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.23.9): - resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.9) - - /@babel/plugin-transform-object-rest-spread@7.23.4(@babel/core@7.23.9): - resolution: {integrity: sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/compat-data': 7.23.5 - '@babel/core': 7.23.9 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.9) - - /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9) - - /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.23.9): - resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.9) - - /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.23.9): - resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9) - - /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-class-features-plugin': 7.23.10(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.23.9): - resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.23.10(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.9) - - /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-transform-react-display-name@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.23.9): - resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.9) - dev: true - - /@babel/plugin-transform-react-jsx-self@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-react-jsx-source@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.9): - resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.9) - '@babel/types': 7.23.9 - dev: true - - /@babel/plugin-transform-react-pure-annotations@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - regenerator-transform: 0.15.2 - - /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-transform-spread@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - - /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-transform-typescript@7.23.6(@babel/core@7.23.9): - resolution: {integrity: sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.23.10(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.9) - - /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/preset-env@7.23.9(@babel/core@7.23.9): - resolution: {integrity: sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/compat-data': 7.23.5 - '@babel/core': 7.23.9 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.7(@babel/core@7.23.9) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.9) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.9) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.9) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.9) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.9) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.9) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.9) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.9) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.9) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.9) - '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-async-generator-functions': 7.23.9(@babel/core@7.23.9) - '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.23.9) - '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.23.9) - '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-modules-systemjs': 7.23.9(@babel/core@7.23.9) - '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.9) - '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-object-rest-spread': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.23.9) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.23.9) - babel-plugin-polyfill-corejs2: 0.4.8(@babel/core@7.23.9) - babel-plugin-polyfill-corejs3: 0.9.0(@babel/core@7.23.9) - babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.23.9) - core-js-compat: 3.36.0 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - /@babel/preset-flow@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-7yn6hl8RIv+KNk6iIrGZ+D06VhVY35wLVf23Cz/mMu1zOr7u4MMP4j0nZ9tLf8+4ZFpnib8cFYgB/oYg9hfswA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-transform-flow-strip-types': 7.23.3(@babel/core@7.23.9) - dev: false - - /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.9): - resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} - peerDependencies: - '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/types': 7.23.9 - esutils: 2.0.3 - - /@babel/preset-react@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-transform-react-display-name': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.23.9) - '@babel/plugin-transform-react-pure-annotations': 7.23.3(@babel/core@7.23.9) - dev: true - - /@babel/preset-typescript@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.23.9) - - /@babel/register@7.23.7(@babel/core@7.23.9): - resolution: {integrity: sha512-EjJeB6+kvpk+Y5DAkEAmbOBEFkh9OASx0huoEkqYTFxAZHzOAX2Oh5uwAUuL2rUddqfM0SA+KPXV2TbzoZ2kvQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - clone-deep: 4.0.1 - find-cache-dir: 2.1.0 - make-dir: 2.1.0 - pirates: 4.0.6 - source-map-support: 0.5.21 - - /@babel/regjsgen@0.8.0: - resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} - - /@babel/runtime@7.23.9: - resolution: {integrity: sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==} - engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: 0.14.1 - - /@babel/template@7.23.9: - resolution: {integrity: sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.23.5 - '@babel/parser': 7.23.9 - '@babel/types': 7.23.9 - - /@babel/traverse@7.23.9: - resolution: {integrity: sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.23.5 - '@babel/generator': 7.23.6 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.23.9 - '@babel/types': 7.23.9 - debug: 4.3.4(supports-color@8.1.1) - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - /@babel/types@7.23.9: - resolution: {integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.23.4 - '@babel/helper-validator-identifier': 7.22.20 - to-fast-properties: 2.0.0 - - /@emotion/babel-plugin@11.11.0: - resolution: {integrity: sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==} - dependencies: - '@babel/helper-module-imports': 7.22.15 - '@babel/runtime': 7.23.9 - '@emotion/hash': 0.9.1 - '@emotion/memoize': 0.8.1 - '@emotion/serialize': 1.1.3 - babel-plugin-macros: 3.1.0 - convert-source-map: 1.9.0 - escape-string-regexp: 4.0.0 - find-root: 1.1.0 - source-map: 0.5.7 - stylis: 4.2.0 - - /@emotion/cache@11.11.0: - resolution: {integrity: sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==} - dependencies: - '@emotion/memoize': 0.8.1 - '@emotion/sheet': 1.2.2 - '@emotion/utils': 1.2.1 - '@emotion/weak-memoize': 0.3.1 - stylis: 4.2.0 - - /@emotion/css@11.11.2: - resolution: {integrity: sha512-VJxe1ucoMYMS7DkiMdC2T7PWNbrEI0a39YRiyDvK2qq4lXwjRbVP/z4lpG+odCsRzadlR+1ywwrTzhdm5HNdew==} - dependencies: - '@emotion/babel-plugin': 11.11.0 - '@emotion/cache': 11.11.0 - '@emotion/serialize': 1.1.3 - '@emotion/sheet': 1.2.2 - '@emotion/utils': 1.2.1 - dev: false - - /@emotion/hash@0.9.1: - resolution: {integrity: sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==} - - /@emotion/is-prop-valid@1.2.1: - resolution: {integrity: sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==} - dependencies: - '@emotion/memoize': 0.8.1 - - /@emotion/memoize@0.8.1: - resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==} - - /@emotion/react@11.11.3(@types/react@18.2.55)(react@18.2.0): - resolution: {integrity: sha512-Cnn0kuq4DoONOMcnoVsTOR8E+AdnKFf//6kUWc4LCdnxj31pZWn7rIULd6Y7/Js1PiPHzn7SKCM9vB/jBni8eA==} - peerDependencies: - '@types/react': '*' - react: '>=16.8.0' - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - '@emotion/babel-plugin': 11.11.0 - '@emotion/cache': 11.11.0 - '@emotion/serialize': 1.1.3 - '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0) - '@emotion/utils': 1.2.1 - '@emotion/weak-memoize': 0.3.1 - '@types/react': 18.2.55 - hoist-non-react-statics: 3.3.2 - react: 18.2.0 - dev: false - - /@emotion/react@11.11.4(@types/react@18.2.55)(react@18.2.0): - resolution: {integrity: sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw==} - peerDependencies: - '@types/react': '*' - react: '>=16.8.0' - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - '@emotion/babel-plugin': 11.11.0 - '@emotion/cache': 11.11.0 - '@emotion/serialize': 1.1.3 - '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0) - '@emotion/utils': 1.2.1 - '@emotion/weak-memoize': 0.3.1 - '@types/react': 18.2.55 - hoist-non-react-statics: 3.3.2 - react: 18.2.0 - - /@emotion/serialize@1.1.3: - resolution: {integrity: sha512-iD4D6QVZFDhcbH0RAG1uVu1CwVLMWUkCvAqqlewO/rxf8+87yIBAlt4+AxMiiKPLs5hFc0owNk/sLLAOROw3cA==} - dependencies: - '@emotion/hash': 0.9.1 - '@emotion/memoize': 0.8.1 - '@emotion/unitless': 0.8.1 - '@emotion/utils': 1.2.1 - csstype: 3.1.3 - - /@emotion/server@11.11.0: - resolution: {integrity: sha512-6q89fj2z8VBTx9w93kJ5n51hsmtYuFPtZgnc1L8VzRx9ti4EU6EyvF6Nn1H1x3vcCQCF7u2dB2lY4AYJwUW4PA==} - peerDependencies: - '@emotion/css': ^11.0.0-rc.0 - peerDependenciesMeta: - '@emotion/css': - optional: true - dependencies: - '@emotion/utils': 1.2.1 - html-tokenize: 2.0.1 - multipipe: 1.0.2 - through: 2.3.8 - dev: true - - /@emotion/sheet@1.2.2: - resolution: {integrity: sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==} - - /@emotion/styled@11.11.0(@emotion/react@11.11.3)(@types/react@18.2.55)(react@18.2.0): - resolution: {integrity: sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng==} - peerDependencies: - '@emotion/react': ^11.0.0-rc.0 - '@types/react': '*' - react: '>=16.8.0' - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - '@emotion/babel-plugin': 11.11.0 - '@emotion/is-prop-valid': 1.2.1 - '@emotion/react': 11.11.3(@types/react@18.2.55)(react@18.2.0) - '@emotion/serialize': 1.1.3 - '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0) - '@emotion/utils': 1.2.1 - '@types/react': 18.2.55 - react: 18.2.0 - dev: false - - /@emotion/styled@11.11.0(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0): - resolution: {integrity: sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng==} - peerDependencies: - '@emotion/react': ^11.0.0-rc.0 - '@types/react': '*' - react: '>=16.8.0' - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - '@emotion/babel-plugin': 11.11.0 - '@emotion/is-prop-valid': 1.2.1 - '@emotion/react': 11.11.4(@types/react@18.2.55)(react@18.2.0) - '@emotion/serialize': 1.1.3 - '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0) - '@emotion/utils': 1.2.1 - '@types/react': 18.2.55 - react: 18.2.0 - - /@emotion/unitless@0.8.0: - resolution: {integrity: sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==} - dev: true - - /@emotion/unitless@0.8.1: - resolution: {integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==} - - /@emotion/use-insertion-effect-with-fallbacks@1.0.1(react@18.2.0): - resolution: {integrity: sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==} - peerDependencies: - react: '>=16.8.0' - dependencies: - react: 18.2.0 - - /@emotion/utils@1.2.1: - resolution: {integrity: sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==} - - /@emotion/weak-memoize@0.3.1: - resolution: {integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==} - - /@esbuild/aix-ppc64@0.19.12: - resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm64@0.19.12: - resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm@0.19.12: - resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-x64@0.19.12: - resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-arm64@0.19.12: - resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-x64@0.19.12: - resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-arm64@0.19.12: - resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-x64@0.19.12: - resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm64@0.19.12: - resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm@0.19.12: - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ia32@0.19.12: - resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-loong64@0.19.12: - resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-mips64el@0.19.12: - resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ppc64@0.19.12: - resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-riscv64@0.19.12: - resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-s390x@0.19.12: - resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-x64@0.19.12: - resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/netbsd-x64@0.19.12: - resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/openbsd-x64@0.19.12: - resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/sunos-x64@0.19.12: - resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-arm64@0.19.12: - resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-ia32@0.19.12: - resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-x64@0.19.12: - resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.57.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@eslint-community/regexpp@4.10.0: - resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true - - /@eslint/eslintrc@2.1.4: - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.4(supports-color@8.1.1) - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@eslint/js@8.57.0: - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /@floating-ui/core@1.6.0: - resolution: {integrity: sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==} - dependencies: - '@floating-ui/utils': 0.2.1 - dev: false - - /@floating-ui/dom@1.6.3: - resolution: {integrity: sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==} - dependencies: - '@floating-ui/core': 1.6.0 - '@floating-ui/utils': 0.2.1 - dev: false - - /@floating-ui/react-dom@2.0.8(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-HOdqOt3R3OGeTKidaLvJKcgg75S6tibQ3Tif4eyd91QnIJWr0NLvoXFpJA/j8HqkFSL68GDca9AuyWEHlhyClw==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - dependencies: - '@floating-ui/dom': 1.6.3 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - - /@floating-ui/utils@0.2.1: - resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==} - dev: false - - /@humanwhocodes/config-array@0.11.14: - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} - dependencies: - '@humanwhocodes/object-schema': 2.0.2 - debug: 4.3.4(supports-color@8.1.1) - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@humanwhocodes/module-importer@1.0.1: - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - dev: true - - /@humanwhocodes/object-schema@2.0.2: - resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} - dev: true - - /@isaacs/cliui@8.0.2: - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} - dependencies: - string-width: 5.1.2 - string-width-cjs: /string-width@4.2.3 - strip-ansi: 7.1.0 - strip-ansi-cjs: /strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: /wrap-ansi@7.0.0 - - /@jridgewell/gen-mapping@0.3.4: - resolution: {integrity: sha512-Oud2QPM5dHviZNn4y/WhhYKSXksv+1xLEIsNrAbGcFzUN3ubqWRFT5gwPchNc5NuzILOU4tPBDTZ4VwhL8Y7cw==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.23 - - /@jridgewell/resolve-uri@3.1.2: - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} - - /@jridgewell/set-array@1.1.2: - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} - engines: {node: '>=6.0.0'} - - /@jridgewell/source-map@0.3.5: - resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} - dependencies: - '@jridgewell/gen-mapping': 0.3.4 - '@jridgewell/trace-mapping': 0.3.23 - dev: true - - /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - - /@jridgewell/trace-mapping@0.3.23: - resolution: {integrity: sha512-9/4foRoUKp8s96tSkh8DlAAc5A0Ty8vLXld+l9gjKKY6ckwI8G15f0hskGmuLZu78ZlGa1vtsfOa+lnB4vG6Jg==} - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - - /@mnajdova/enzyme-adapter-react-18@0.2.0(enzyme@3.11.0)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-BOnjlVa7FHI1YUnYe+FdUtQu6szI1wLJ+C1lHyqmF3T9gu/J/WCYqqcD44dPkrU+8eYvvk/gQducsqna4HFiAg==} - peerDependencies: - enzyme: ^3.0.0 - react: ^18.0.0 - react-dom: ^18.0.0 - dependencies: - enzyme: 3.11.0 - enzyme-adapter-utils: 1.14.2(react@18.2.0) - enzyme-shallow-equal: 1.0.7 - has: 1.0.4 - object.assign: 4.1.5 - object.values: 1.1.7 - prop-types: 15.8.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-is: 18.2.0 - react-reconciler: 0.29.0(react@18.2.0) - react-test-renderer: 18.2.0(react@18.2.0) - semver: 5.7.2 - dev: false - - /@next/env@13.5.1: - resolution: {integrity: sha512-CIMWiOTyflFn/GFx33iYXkgLSQsMQZV4jB91qaj/TfxGaGOXxn8C1j72TaUSPIyN7ziS/AYG46kGmnvuk1oOpg==} - dev: true - - /@next/env@14.1.3: - resolution: {integrity: sha512-VhgXTvrgeBRxNPjyfBsDIMvgsKDxjlpw4IAUsHCX8Gjl1vtHUYRT3+xfQ/wwvLPDd/6kqfLqk9Pt4+7gysuCKQ==} - - /@next/swc-darwin-arm64@13.5.1: - resolution: {integrity: sha512-Bcd0VFrLHZnMmJy6LqV1CydZ7lYaBao8YBEdQUVzV8Ypn/l5s//j5ffjfvMzpEQ4mzlAj3fIY+Bmd9NxpWhACw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@next/swc-darwin-arm64@14.1.3: - resolution: {integrity: sha512-LALu0yIBPRiG9ANrD5ncB3pjpO0Gli9ZLhxdOu6ZUNf3x1r3ea1rd9Q+4xxUkGrUXLqKVK9/lDkpYIJaCJ6AHQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - optional: true - - /@next/swc-darwin-x64@13.5.1: - resolution: {integrity: sha512-uvTZrZa4D0bdWa1jJ7X1tBGIxzpqSnw/ATxWvoRO9CVBvXSx87JyuISY+BWsfLFF59IRodESdeZwkWM2l6+Kjg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@next/swc-darwin-x64@14.1.3: - resolution: {integrity: sha512-E/9WQeXxkqw2dfcn5UcjApFgUq73jqNKaE5bysDm58hEUdUGedVrnRhblhJM7HbCZNhtVl0j+6TXsK0PuzXTCg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - requiresBuild: true - optional: true - - /@next/swc-linux-arm64-gnu@13.5.1: - resolution: {integrity: sha512-/52ThlqdORPQt3+AlMoO+omicdYyUEDeRDGPAj86ULpV4dg+/GCFCKAmFWT0Q4zChFwsAoZUECLcKbRdcc0SNg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@next/swc-linux-arm64-gnu@14.1.3: - resolution: {integrity: sha512-USArX9B+3rZSXYLFvgy0NVWQgqh6LHWDmMt38O4lmiJNQcwazeI6xRvSsliDLKt+78KChVacNiwvOMbl6g6BBw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - optional: true - - /@next/swc-linux-arm64-musl@13.5.1: - resolution: {integrity: sha512-L4qNXSOHeu1hEAeeNsBgIYVnvm0gg9fj2O2Yx/qawgQEGuFBfcKqlmIE/Vp8z6gwlppxz5d7v6pmHs1NB6R37w==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@next/swc-linux-arm64-musl@14.1.3: - resolution: {integrity: sha512-esk1RkRBLSIEp1qaQXv1+s6ZdYzuVCnDAZySpa62iFTMGTisCyNQmqyCTL9P+cLJ4N9FKCI3ojtSfsyPHJDQNw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - optional: true - - /@next/swc-linux-x64-gnu@13.5.1: - resolution: {integrity: sha512-QVvMrlrFFYvLtABk092kcZ5Mzlmsk2+SV3xYuAu8sbTuIoh0U2+HGNhVklmuYCuM3DAAxdiMQTNlRQmNH11udw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@next/swc-linux-x64-gnu@14.1.3: - resolution: {integrity: sha512-8uOgRlYEYiKo0L8YGeS+3TudHVDWDjPVDUcST+z+dUzgBbTEwSSIaSgF/vkcC1T/iwl4QX9iuUyUdQEl0Kxalg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - optional: true - - /@next/swc-linux-x64-musl@13.5.1: - resolution: {integrity: sha512-bBnr+XuWc28r9e8gQ35XBtyi5KLHLhTbEvrSgcWna8atI48sNggjIK8IyiEBO3KIrcUVXYkldAzGXPEYMnKt1g==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@next/swc-linux-x64-musl@14.1.3: - resolution: {integrity: sha512-DX2zqz05ziElLoxskgHasaJBREC5Y9TJcbR2LYqu4r7naff25B4iXkfXWfcp69uD75/0URmmoSgT8JclJtrBoQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - optional: true - - /@next/swc-win32-arm64-msvc@13.5.1: - resolution: {integrity: sha512-EQGeE4S5c9v06jje9gr4UlxqUEA+zrsgPi6kg9VwR+dQHirzbnVJISF69UfKVkmLntknZJJI9XpWPB6q0Z7mTg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@next/swc-win32-arm64-msvc@14.1.3: - resolution: {integrity: sha512-HjssFsCdsD4GHstXSQxsi2l70F/5FsRTRQp8xNgmQs15SxUfUJRvSI9qKny/jLkY3gLgiCR3+6A7wzzK0DBlfA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - requiresBuild: true - optional: true - - /@next/swc-win32-ia32-msvc@13.5.1: - resolution: {integrity: sha512-1y31Q6awzofVjmbTLtRl92OX3s+W0ZfO8AP8fTnITcIo9a6ATDc/eqa08fd6tSpFu6IFpxOBbdevOjwYTGx/AQ==} - engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@next/swc-win32-ia32-msvc@14.1.3: - resolution: {integrity: sha512-DRuxD5axfDM1/Ue4VahwSxl1O5rn61hX8/sF0HY8y0iCbpqdxw3rB3QasdHn/LJ6Wb2y5DoWzXcz3L1Cr+Thrw==} - engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] - requiresBuild: true - optional: true - - /@next/swc-win32-x64-msvc@13.5.1: - resolution: {integrity: sha512-+9XBQizy7X/GuwNegq+5QkkxAPV7SBsIwapVRQd9WSvvU20YO23B3bZUpevdabi4fsd25y9RJDDncljy/V54ww==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@next/swc-win32-x64-msvc@14.1.3: - resolution: {integrity: sha512-uC2DaDoWH7h1P/aJ4Fok3Xiw6P0Lo4ez7NbowW2VGNXw/Xv6tOuLUcxhBYZxsSUJtpeknCi8/fvnSpyCFp4Rcg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - requiresBuild: true - optional: true - - /@nodelib/fs.scandir@2.1.5: - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - - /@nodelib/fs.stat@2.0.5: - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - - /@nodelib/fs.walk@1.2.8: - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.17.1 - - /@pkgjs/parseargs@0.11.0: - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - requiresBuild: true - optional: true - - /@popperjs/core@2.11.8: - resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} - - /@remix-run/router@1.15.1: - resolution: {integrity: sha512-zcU0gM3z+3iqj8UX45AmWY810l3oUmXM7uH4dt5xtzvMhRtYVhKGOmgOd1877dOPPepfCjUv57w+syamWIYe7w==} - engines: {node: '>=14.0.0'} - - /@rollup/plugin-replace@5.0.5(rollup@3.29.4): - resolution: {integrity: sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - '@rollup/pluginutils': 5.1.0(rollup@3.29.4) - magic-string: 0.30.7 - rollup: 3.29.4 - dev: true - - /@rollup/pluginutils@5.1.0(rollup@3.29.4): - resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - '@types/estree': 1.0.5 - estree-walker: 2.0.2 - picomatch: 2.3.1 - rollup: 3.29.4 - dev: true - - /@rollup/rollup-android-arm-eabi@4.12.0: - resolution: {integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-android-arm64@4.12.0: - resolution: {integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-darwin-arm64@4.12.0: - resolution: {integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-darwin-x64@4.12.0: - resolution: {integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm-gnueabihf@4.12.0: - resolution: {integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-gnu@4.12.0: - resolution: {integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-musl@4.12.0: - resolution: {integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-riscv64-gnu@4.12.0: - resolution: {integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-gnu@4.12.0: - resolution: {integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-musl@4.12.0: - resolution: {integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-arm64-msvc@4.12.0: - resolution: {integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-ia32-msvc@4.12.0: - resolution: {integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-x64-msvc@4.12.0: - resolution: {integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@sinonjs/commons@2.0.0: - resolution: {integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==} - dependencies: - type-detect: 4.0.8 - - /@sinonjs/commons@3.0.1: - resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} - dependencies: - type-detect: 4.0.8 - - /@sinonjs/fake-timers@10.3.0: - resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} - dependencies: - '@sinonjs/commons': 3.0.1 - - /@sinonjs/fake-timers@11.2.2: - resolution: {integrity: sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==} - dependencies: - '@sinonjs/commons': 3.0.1 - - /@sinonjs/samsam@8.0.0: - resolution: {integrity: sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==} - dependencies: - '@sinonjs/commons': 2.0.0 - lodash.get: 4.4.2 - type-detect: 4.0.8 - - /@sinonjs/text-encoding@0.7.2: - resolution: {integrity: sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==} - - /@swc/helpers@0.5.2: - resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==} - dependencies: - tslib: 2.6.2 - - /@testing-library/dom@9.3.4: - resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} - engines: {node: '>=14'} - dependencies: - '@babel/code-frame': 7.23.5 - '@babel/runtime': 7.23.9 - '@types/aria-query': 5.0.4 - aria-query: 5.1.3 - chalk: 4.1.2 - dom-accessibility-api: 0.5.16 - lz-string: 1.5.0 - pretty-format: 27.5.1 - - /@testing-library/react@14.2.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-sGdjws32ai5TLerhvzThYFbpnF9XtL65Cjf+gB0Dhr29BGqK+mAeN7SURSdu+eqgET4ANcWoC7FQpkaiGvBr+A==} - engines: {node: '>=14'} - peerDependencies: - react: ^18.0.0 - react-dom: ^18.0.0 - dependencies: - '@babel/runtime': 7.23.9 - '@testing-library/dom': 9.3.4 - '@types/react-dom': 18.2.19 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - - /@testing-library/user-event@14.5.2(@testing-library/dom@9.3.4): - resolution: {integrity: sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==} - engines: {node: '>=12', npm: '>=6'} - peerDependencies: - '@testing-library/dom': '>=7.21.4' - dependencies: - '@testing-library/dom': 9.3.4 - dev: true - - /@trysound/sax@0.2.0: - resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} - engines: {node: '>=10.13.0'} - dev: true - - /@types/aria-query@5.0.4: - resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} - - /@types/babel-plugin-macros@3.1.3: - resolution: {integrity: sha512-JU+MgpsHK3taY18mBETy5XlwY6LVngte7QXYzUuXEaaX0CN8dBqbjXtADe+gJmkSQE1FJHufzPj++OWZlhRmGw==} - dependencies: - '@types/babel__core': 7.20.5 - dev: true - - /@types/babel__core@7.20.5: - resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} - dependencies: - '@babel/parser': 7.23.9 - '@babel/types': 7.23.9 - '@types/babel__generator': 7.6.8 - '@types/babel__template': 7.4.4 - '@types/babel__traverse': 7.20.5 - dev: true - - /@types/babel__generator@7.6.8: - resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} - dependencies: - '@babel/types': 7.23.9 - dev: true - - /@types/babel__helper-module-imports@7.18.3: - resolution: {integrity: sha512-2pyr9Vlriessj2KI85SEF7qma8vA3vzquQMw3wn6kL5lsfjH/YxJ1Noytk4/FJElpYybUbyaC37CVfEgfyme9A==} - dependencies: - '@types/babel__core': 7.20.5 - '@types/babel__traverse': 7.20.5 - dev: true - - /@types/babel__helper-plugin-utils@7.10.3: - resolution: {integrity: sha512-FcLBBPXInqKfULB2nvOBskQPcnSMZ0s1Y2q76u9H1NPPWaLcTeq38xBeKfF/RBUECK333qeaqRdYoPSwW7rTNQ==} - dependencies: - '@types/babel__core': 7.20.5 - dev: true - - /@types/babel__template@7.4.4: - resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} - dependencies: - '@babel/parser': 7.23.9 - '@babel/types': 7.23.9 - dev: true - - /@types/babel__traverse@7.20.5: - resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==} - dependencies: - '@babel/types': 7.23.9 - dev: true - - /@types/chai-dom@1.11.3: - resolution: {integrity: sha512-EUEZI7uID4ewzxnU7DJXtyvykhQuwe+etJ1wwOiJyQRTH/ifMWKX+ghiXkxCUvNJ6IQDodf0JXhuP6zZcy2qXQ==} - dependencies: - '@types/chai': 4.3.12 - dev: true - - /@types/chai@4.3.12: - resolution: {integrity: sha512-zNKDHG/1yxm8Il6uCCVsm+dRdEsJlFoDu73X17y09bId6UwoYww+vFBsAcRzl8knM1sab3Dp1VRikFQwDOtDDw==} - dev: true - - /@types/cheerio@0.22.35: - resolution: {integrity: sha512-yD57BchKRvTV+JD53UZ6PD8KWY5g5rvvMLRnZR3EQBCZXiDT/HR+pKpMzFGlWNhFrXlo7VPZXtKvIEwZkAWOIA==} - dependencies: - '@types/node': 20.11.22 - dev: true - - /@types/cssesc@3.0.2: - resolution: {integrity: sha512-Qii6nTRktvtI380EloxH/V7MwgrYxkPgBI+NklUjQuhzgAd1AqT3QDJd+eD+0doRADgfwvtagLRo7JFa7aMHXg==} - dev: true - - /@types/debug@4.1.12: - resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - dependencies: - '@types/ms': 0.7.34 - dev: true - - /@types/doctrine@0.0.9: - resolution: {integrity: sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==} - dev: true - - /@types/enzyme@3.10.18: - resolution: {integrity: sha512-RaO/TyyHZvXkpzinbMTZmd/S5biU4zxkvDsn22ujC29t9FMSzq8tnn8f2MxQ2P8GVhFRG5jTAL05DXKyTtpEQQ==} - dependencies: - '@types/cheerio': 0.22.35 - '@types/react': 16.14.57 - dev: true - - /@types/estree@1.0.5: - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - dev: true - - /@types/format-util@1.0.4: - resolution: {integrity: sha512-xrCYOdHh5zA3LUrn6CvspYwlzSWxPso11Lx32WnAG6KvLCRecKZ/Rh21PLXUkzUFsQmrGcx/traJAFjR6dVS5Q==} - dev: true - - /@types/hoist-non-react-statics@3.3.5: - resolution: {integrity: sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==} - dependencies: - '@types/react': 18.2.55 - hoist-non-react-statics: 3.3.2 - dev: true - - /@types/jscodeshift@0.11.5: - resolution: {integrity: sha512-7JV0qdblTeWFigevmwFUgROXX395F+MQx6v0YqPn8Bx0B4Sng6alEejz9PENzgLYpG+zL0O4tGdBzc4gKZH8XA==} - dependencies: - ast-types: 0.14.2 - recast: 0.20.5 - dev: true - - /@types/lodash@4.14.202: - resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==} - dev: true - - /@types/mocha@10.0.6: - resolution: {integrity: sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==} - dev: true - - /@types/ms@0.7.34: - resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} - dev: true - - /@types/node@18.19.22: - resolution: {integrity: sha512-p3pDIfuMg/aXBmhkyanPshdfJuX5c5+bQjYLIikPLXAUycEogij/c50n/C+8XOA5L93cU4ZRXtn+dNQGi0IZqQ==} - dependencies: - undici-types: 5.26.5 - dev: true - - /@types/node@20.11.22: - resolution: {integrity: sha512-/G+IxWxma6V3E+pqK1tSl2Fo1kl41pK1yeCyDsgkF9WlVAme4j5ISYM2zR11bgLFJGLN5sVK40T4RJNuiZbEjA==} - dependencies: - undici-types: 5.26.5 - dev: true - - /@types/parse-json@4.0.2: - resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} - - /@types/prettier@2.7.3: - resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} - dev: true - - /@types/prop-types@15.7.11: - resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==} - - /@types/react-dom@18.2.19: - resolution: {integrity: sha512-aZvQL6uUbIJpjZk4U8JZGbau9KDeAwMfmhyWorxgBkqDIEf6ROjRozcmPIicqsUwPUjbkDfHKgGee1Lq65APcA==} - dependencies: - '@types/react': 18.2.55 - - /@types/react-is@18.2.4: - resolution: {integrity: sha512-wBc7HgmbCcrvw0fZjxbgz/xrrlZKzEqmABBMeSvpTvdm25u6KI6xdIi9pRE2G0C1Lw5ETFdcn4UbYZ4/rpqUYw==} - dependencies: - '@types/react': 18.2.55 - dev: true - - /@types/react-test-renderer@18.0.7: - resolution: {integrity: sha512-1+ANPOWc6rB3IkSnElhjv6VLlKg2dSv/OWClUyZimbLsQyBn8Js9Vtdsi3UICJ2rIQ3k2la06dkB+C92QfhKmg==} - dependencies: - '@types/react': 18.2.55 - dev: true - - /@types/react-transition-group@4.4.10: - resolution: {integrity: sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==} - dependencies: - '@types/react': 18.2.55 - dev: false - - /@types/react@16.14.57: - resolution: {integrity: sha512-fuNq/GV1a6GgqSuVuC457vYeTbm4E1CUBQVZwSPxqYnRhIzSXCJ1gGqyv+PKhqLyfbKCga9dXHJDzv+4XE41fw==} - dependencies: - '@types/prop-types': 15.7.11 - '@types/scheduler': 0.16.8 - csstype: 3.1.3 - dev: true - - /@types/react@18.2.55: - resolution: {integrity: sha512-Y2Tz5P4yz23brwm2d7jNon39qoAtMMmalOQv6+fEFt1mT+FcM3D841wDpoUvFXhaYenuROCy3FZYqdTjM7qVyA==} - dependencies: - '@types/prop-types': 15.7.11 - '@types/scheduler': 0.16.8 - csstype: 3.1.3 - - /@types/resolve@0.0.8: - resolution: {integrity: sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==} - dependencies: - '@types/node': 20.11.22 - dev: true - - /@types/scheduler@0.16.8: - resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==} - - /@types/sinon@10.0.20: - resolution: {integrity: sha512-2APKKruFNCAZgx3daAyACGzWuJ028VVCUDk6o2rw/Z4PXT0ogwdV4KUegW0MwVs0Zu59auPXbbuBJHF12Sx1Eg==} - dependencies: - '@types/sinonjs__fake-timers': 8.1.5 - dev: true - - /@types/sinonjs__fake-timers@8.1.5: - resolution: {integrity: sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==} - dev: true - - /@types/stylis@4.2.0: - resolution: {integrity: sha512-n4sx2bqL0mW1tvDf/loQ+aMX7GQD3lc3fkCMC55VFNDu/vBOabO+LTIeXKM14xK0ppk5TUGcWRjiSpIlUpghKw==} - dev: true - - /@types/stylis@4.2.5: - resolution: {integrity: sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw==} - dev: true - - /@types/uuid@9.0.8: - resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==} - dev: true - - /@ungap/structured-clone@1.2.0: - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - dev: true - - /@vitejs/plugin-react@4.2.1(vite@5.0.12): - resolution: {integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - vite: ^4.2.0 || ^5.0.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.9) - '@types/babel__core': 7.20.5 - react-refresh: 0.14.0 - vite: 5.0.12 - transitivePeerDependencies: - - supports-color - dev: true - - /@wyw-in-js/processor-utils@0.5.0: - resolution: {integrity: sha512-3sRwuDTMy2GmD+44bhCTcBasCrjBexzYRzhxkmMrX49cpVDmQOH+4O7kX5OMRbmzMXe6Z5MsnxIlDlm3bJlcww==} - engines: {node: '>=16.0.0'} - dependencies: - '@babel/generator': 7.23.6 - '@wyw-in-js/shared': 0.5.0 - transitivePeerDependencies: - - supports-color - - /@wyw-in-js/shared@0.5.0: - resolution: {integrity: sha512-W6Uic3cqRs75XZfXGOYH/0fADbl3Wz/kqnNaowgyNTdTN7/9vdlqk/D/gMT5WGolj4t418+rYe2FHHs0LdlmvA==} - engines: {node: '>=16.0.0'} - dependencies: - debug: 4.3.4(supports-color@8.1.1) - find-up: 5.0.0 - minimatch: 9.0.3 - transitivePeerDependencies: - - supports-color - - /@wyw-in-js/transform@0.5.0(typescript@5.3.3): - resolution: {integrity: sha512-tpa2/FsB30fdXB1E+9MmfxQYbRgLv/+VMKzpBKNraDH39zwnA2eGGAEho5gpqK40cEV7NH6zhVbaBcEnV0HQyw==} - engines: {node: '>=16.0.0'} - dependencies: - '@babel/core': 7.23.9 - '@babel/generator': 7.23.6 - '@babel/helper-module-imports': 7.22.15 - '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.9) - '@babel/template': 7.23.9 - '@babel/traverse': 7.23.9 - '@babel/types': 7.23.9 - '@wyw-in-js/processor-utils': 0.5.0 - '@wyw-in-js/shared': 0.5.0 - babel-merge: 3.0.0(@babel/core@7.23.9) - cosmiconfig: 8.3.6(typescript@5.3.3) - happy-dom: 12.10.3 - source-map: 0.7.4 - stylis: 4.3.1 - ts-invariant: 0.10.3 - transitivePeerDependencies: - - supports-color - - typescript - - /accepts@1.3.8: - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} - engines: {node: '>= 0.6'} - dependencies: - mime-types: 2.1.35 - negotiator: 0.6.3 - dev: true - - /acorn-jsx@5.3.2(acorn@8.11.3): - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.11.3 - dev: true - - /acorn@5.7.4: - resolution: {integrity: sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true - - /acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} - engines: {node: '>=0.4.0'} - hasBin: true - - /agent-base@7.1.0: - resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} - engines: {node: '>= 14'} - dependencies: - debug: 4.3.4(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - dev: false - - /airbnb-prop-types@2.16.0(react@18.2.0): - resolution: {integrity: sha512-7WHOFolP/6cS96PhKNrslCLMYAI8yB1Pp6u6XmxozQOiZbsI5ycglZr5cHhBFfuRcQQjzCMith5ZPZdYiJCxUg==} - peerDependencies: - react: ^0.14 || ^15.0.0 || ^16.0.0-alpha - dependencies: - array.prototype.find: 2.2.2 - function.prototype.name: 1.1.6 - is-regex: 1.1.4 - object-is: 1.1.5 - object.assign: 4.1.5 - object.entries: 1.1.7 - prop-types: 15.8.1 - prop-types-exact: 1.2.0 - react: 18.2.0 - react-is: 16.13.1 - dev: false - - /ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true - - /ansi-colors@4.1.1: - resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} - engines: {node: '>=6'} - dev: false - - /ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - - /ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} - engines: {node: '>=12'} - - /ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - dependencies: - color-convert: 1.9.3 - - /ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - - /ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - - /ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - - /anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - - /argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - - /aria-query@5.1.3: - resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} - dependencies: - deep-equal: 2.2.3 - - /arr-diff@4.0.0: - resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} - engines: {node: '>=0.10.0'} - dev: false - - /arr-flatten@1.1.0: - resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} - engines: {node: '>=0.10.0'} - dev: false - - /arr-union@3.1.0: - resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} - engines: {node: '>=0.10.0'} - dev: false - - /array-buffer-byte-length@1.0.1: - resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - is-array-buffer: 3.0.4 - - /array-flatten@1.1.1: - resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - dev: true - - /array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - dev: false - - /array-unique@0.3.2: - resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} - engines: {node: '>=0.10.0'} - dev: false - - /array.prototype.filter@1.0.3: - resolution: {integrity: sha512-VizNcj/RGJiUyQBgzwxzE5oHdeuXY5hSbbmKMlphj1cy1Vl7Pn2asCGbSrru6hSQjmCzqTBPVWAF/whmEOVHbw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.4 - es-array-method-boxes-properly: 1.0.0 - is-string: 1.0.7 - dev: false - - /array.prototype.find@2.2.2: - resolution: {integrity: sha512-DRumkfW97iZGOfn+lIXbkVrXL04sfYKX+EfOodo8XboR5sxPDVvOjZTF/rysusa9lmhmSOeD6Vp6RKQP+eP4Tg==} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.4 - es-shim-unscopables: 1.0.2 - dev: false - - /array.prototype.flat@1.3.2: - resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.4 - es-shim-unscopables: 1.0.2 - dev: false - - /arraybuffer.prototype.slice@1.0.3: - resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} - engines: {node: '>= 0.4'} - dependencies: - array-buffer-byte-length: 1.0.1 - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.4 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - is-array-buffer: 3.0.4 - is-shared-array-buffer: 1.0.3 - dev: false - - /assertion-error@1.1.0: - resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} - - /assign-symbols@1.0.0: - resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} - engines: {node: '>=0.10.0'} - dev: false - - /ast-types@0.14.2: - resolution: {integrity: sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==} - engines: {node: '>=4'} - dependencies: - tslib: 2.6.2 - - /asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - dev: false - - /at-least-node@1.0.0: - resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} - engines: {node: '>= 4.0.0'} - dev: false - - /atob@2.1.2: - resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} - engines: {node: '>= 4.5.0'} - hasBin: true - dev: false - - /available-typed-arrays@1.0.7: - resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} - engines: {node: '>= 0.4'} - dependencies: - possible-typed-array-names: 1.0.0 - - /babel-core@7.0.0-bridge.0(@babel/core@7.23.9): - resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - dev: false - - /babel-merge@3.0.0(@babel/core@7.23.9): - resolution: {integrity: sha512-eBOBtHnzt9xvnjpYNI5HmaPp/b2vMveE5XggzqHnQeHJ8mFIBrBv6WZEVIj5jJ2uwTItkqKo9gWzEEcBxEq0yw==} - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.23.9 - deepmerge: 2.2.1 - object.omit: 3.0.0 - - /babel-plugin-macros@3.1.0: - resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} - engines: {node: '>=10', npm: '>=6'} - dependencies: - '@babel/runtime': 7.23.9 - cosmiconfig: 7.1.0 - resolve: 1.22.8 - - /babel-plugin-polyfill-corejs2@0.4.8(@babel/core@7.23.9): - resolution: {integrity: sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - dependencies: - '@babel/compat-data': 7.23.5 - '@babel/core': 7.23.9 - '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.23.9) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - /babel-plugin-polyfill-corejs3@0.9.0(@babel/core@7.23.9): - resolution: {integrity: sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.23.9) - core-js-compat: 3.36.0 - transitivePeerDependencies: - - supports-color - - /babel-plugin-polyfill-regenerator@0.5.5(@babel/core@7.23.9): - resolution: {integrity: sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.23.9) - transitivePeerDependencies: - - supports-color - - /babel-plugin-tester@11.0.4(@babel/core@7.23.9): - resolution: {integrity: sha512-cqswtpSPo0e++rZB0l/54EG17LL25l9gLgh59yXfnmNxX+2lZTIOpx2zt4YI9QIClVXc8xf63J6yWwKkzy0jNg==} - engines: {node: ^14.20.0 || ^16.16.0 || >=18.5.0} - peerDependencies: - '@babel/core': '>=7.11.6' - dependencies: - '@babel/core': 7.23.9 - core-js: 3.36.0 - debug: 4.3.4(supports-color@8.1.1) - lodash.mergewith: 4.6.2 - prettier: 2.8.8 - strip-indent: 3.0.0 - transitivePeerDependencies: - - supports-color - dev: true - - /babel-plugin-transform-react-remove-prop-types@0.4.24: - resolution: {integrity: sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==} - - /balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - - /base@0.11.2: - resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} - engines: {node: '>=0.10.0'} - dependencies: - cache-base: 1.0.1 - class-utils: 0.3.6 - component-emitter: 1.3.1 - define-property: 1.0.0 - isobject: 3.0.1 - mixin-deep: 1.3.2 - pascalcase: 0.1.1 - dev: false - - /binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} - engines: {node: '>=8'} - - /body-parser@1.20.2: - resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - dependencies: - bytes: 3.1.2 - content-type: 1.0.5 - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - on-finished: 2.4.1 - qs: 6.11.0 - raw-body: 2.5.2 - type-is: 1.6.18 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - dev: true - - /boolbase@1.0.0: - resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - - /brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - - /brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - dependencies: - balanced-match: 1.0.2 - - /braces@2.3.2: - resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} - engines: {node: '>=0.10.0'} - dependencies: - arr-flatten: 1.1.0 - array-unique: 0.3.2 - extend-shallow: 2.0.1 - fill-range: 4.0.0 - isobject: 3.0.1 - repeat-element: 1.1.4 - snapdragon: 0.8.2 - snapdragon-node: 2.1.1 - split-string: 3.1.0 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: false - - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - - /browser-stdout@1.3.1: - resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} - dev: false - - /browserslist@4.23.0: - resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - dependencies: - caniuse-lite: 1.0.30001591 - electron-to-chromium: 1.4.682 - node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.23.0) - - /buffer-es6@4.9.3: - resolution: {integrity: sha512-Ibt+oXxhmeYJSsCkODPqNpPmyegefiD8rfutH1NYGhMZQhSp95Rz7haemgnJ6dxa6LT+JLLbtgOMORRluwKktw==} - dev: true - - /buffer-from@0.1.2: - resolution: {integrity: sha512-RiWIenusJsmI2KcvqQABB83tLxCByE3upSP8QU3rJDMVFGPWLvPQJt/O1Su9moRWeH7d+Q2HYb68f6+v+tw2vg==} - dev: true - - /buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - - /builtin-modules@3.3.0: - resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} - engines: {node: '>=6'} - dev: true - - /busboy@1.6.0: - resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} - engines: {node: '>=10.16.0'} - dependencies: - streamsearch: 1.1.0 - - /bytes@3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} - engines: {node: '>= 0.8'} - dev: true - - /cache-base@1.0.1: - resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} - engines: {node: '>=0.10.0'} - dependencies: - collection-visit: 1.0.0 - component-emitter: 1.3.1 - get-value: 2.0.6 - has-value: 1.0.0 - isobject: 3.0.1 - set-value: 2.0.1 - to-object-path: 0.3.0 - union-value: 1.0.1 - unset-value: 1.0.0 - dev: false - - /call-bind@1.0.7: - resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} - engines: {node: '>= 0.4'} - dependencies: - es-define-property: 1.0.0 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.2.4 - set-function-length: 1.2.1 - - /callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - - /camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - dev: false - - /camelize@1.0.1: - resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==} - dev: true - - /caniuse-lite@1.0.30001591: - resolution: {integrity: sha512-PCzRMei/vXjJyL5mJtzNiUCKP59dm8Apqc3PH8gJkMnMXZGox93RbE76jHsmLwmIo6/3nsYIpJtx0O7u5PqFuQ==} - - /chai-dom@1.12.0(chai@4.4.1): - resolution: {integrity: sha512-pLP8h6IBR8z1AdeQ+EMcJ7dXPdsax/1Q7gdGZjsnAmSBl3/gItQUYSCo32br1qOy4SlcBjvqId7ilAf3uJ2K1w==} - engines: {node: '>= 0.12.0'} - peerDependencies: - chai: '>= 3' - dependencies: - chai: 4.4.1 - dev: false - - /chai@4.4.1: - resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} - engines: {node: '>=4'} - dependencies: - assertion-error: 1.1.0 - check-error: 1.0.3 - deep-eql: 4.1.3 - get-func-name: 2.0.2 - loupe: 2.3.7 - pathval: 1.1.1 - type-detect: 4.0.8 - - /chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - - /chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - - /chalk@5.3.0: - resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - dev: true - - /check-error@1.0.3: - resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} - dependencies: - get-func-name: 2.0.2 - - /cheerio-select@2.1.0: - resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} - dependencies: - boolbase: 1.0.0 - css-select: 5.1.0 - css-what: 6.1.0 - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.1.0 - dev: false - - /cheerio@1.0.0-rc.12: - resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} - engines: {node: '>= 6'} - dependencies: - cheerio-select: 2.1.0 - dom-serializer: 2.0.0 - domhandler: 5.0.3 - domutils: 3.1.0 - htmlparser2: 8.0.2 - parse5: 7.1.2 - parse5-htmlparser2-tree-adapter: 7.0.0 - dev: false - - /chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.3 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - dev: false - - /chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.3 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - - /class-utils@0.3.6: - resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} - engines: {node: '>=0.10.0'} - dependencies: - arr-union: 3.1.0 - define-property: 0.2.5 - isobject: 3.0.1 - static-extend: 0.1.2 - dev: false - - /client-only@0.0.1: - resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} - - /cliui@7.0.4: - resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - dev: false - - /cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - - /clone-deep@4.0.1: - resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} - engines: {node: '>=6'} - dependencies: - is-plain-object: 2.0.4 - kind-of: 6.0.3 - shallow-clone: 3.0.1 - - /clsx@2.1.0: - resolution: {integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==} - engines: {node: '>=6'} - dev: false - - /collection-visit@1.0.0: - resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} - engines: {node: '>=0.10.0'} - dependencies: - map-visit: 1.0.0 - object-visit: 1.0.1 - dev: false - - /color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - dependencies: - color-name: 1.1.3 - - /color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - - /color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - - /color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - - /combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} - dependencies: - delayed-stream: 1.0.0 - dev: false - - /commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - - /commander@7.2.0: - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} - engines: {node: '>= 10'} - dev: true - - /commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - - /component-emitter@1.3.1: - resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==} - dev: false - - /concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - - /content-disposition@0.5.4: - resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} - engines: {node: '>= 0.6'} - dependencies: - safe-buffer: 5.2.1 - dev: true - - /content-type@1.0.5: - resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} - engines: {node: '>= 0.6'} - dev: true - - /convert-source-map@1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} - - /convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - - /cookie-signature@1.0.6: - resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} - dev: true - - /cookie@0.5.0: - resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} - engines: {node: '>= 0.6'} - dev: true - - /copy-descriptor@0.1.1: - resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} - engines: {node: '>=0.10.0'} - dev: false - - /core-js-compat@3.36.0: - resolution: {integrity: sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==} - dependencies: - browserslist: 4.23.0 - - /core-js@3.36.0: - resolution: {integrity: sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==} - requiresBuild: true - dev: true - - /core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - dev: true - - /cosmiconfig@7.1.0: - resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} - engines: {node: '>=10'} - dependencies: - '@types/parse-json': 4.0.2 - import-fresh: 3.3.0 - parse-json: 5.2.0 - path-type: 4.0.0 - yaml: 1.10.2 - - /cosmiconfig@8.3.6(typescript@5.3.3): - resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} - engines: {node: '>=14'} - peerDependencies: - typescript: '>=4.9.5' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - import-fresh: 3.3.0 - js-yaml: 4.1.0 - parse-json: 5.2.0 - path-type: 4.0.0 - typescript: 5.3.3 - - /cross-fetch@4.0.0: - resolution: {integrity: sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==} - dependencies: - node-fetch: 2.7.0 - transitivePeerDependencies: - - encoding - dev: true - - /cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - - /css-color-keywords@1.0.0: - resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==} - engines: {node: '>=4'} - dev: true - - /css-mediaquery@0.1.2: - resolution: {integrity: sha512-COtn4EROW5dBGlE/4PiKnh6rZpAPxDeFLaEEwt4i10jpDMFt2EhQGS79QmmrO+iKCHv0PU/HrOWEhijFd1x99Q==} - dev: true - - /css-select@5.1.0: - resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} - dependencies: - boolbase: 1.0.0 - css-what: 6.1.0 - domhandler: 5.0.3 - domutils: 3.1.0 - nth-check: 2.1.1 - - /css-to-react-native@3.2.0: - resolution: {integrity: sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==} - dependencies: - camelize: 1.0.1 - css-color-keywords: 1.0.0 - postcss-value-parser: 4.2.0 - dev: true - - /css-tree@2.2.1: - resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} - dependencies: - mdn-data: 2.0.28 - source-map-js: 1.0.2 - dev: true - - /css-tree@2.3.1: - resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} - dependencies: - mdn-data: 2.0.30 - source-map-js: 1.0.2 - dev: true - - /css-vendor@2.0.8: - resolution: {integrity: sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==} - dependencies: - '@babel/runtime': 7.23.9 - is-in-browser: 1.1.3 - dev: false - - /css-what@6.1.0: - resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} - engines: {node: '>= 6'} - - /css.escape@1.5.1: - resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} - - /cssesc@3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} - hasBin: true - dev: false - - /csso@5.0.5: - resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} - engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} - dependencies: - css-tree: 2.2.1 - dev: true - - /cssstyle@4.0.1: - resolution: {integrity: sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==} - engines: {node: '>=18'} - dependencies: - rrweb-cssom: 0.6.0 - dev: false - - /csstype@3.1.2: - resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} - dev: true - - /csstype@3.1.3: - resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - - /data-urls@5.0.0: - resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} - engines: {node: '>=18'} - dependencies: - whatwg-mimetype: 4.0.0 - whatwg-url: 14.0.0 - dev: false - - /debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.0.0 - - /debug@4.3.4(supports-color@8.1.1): - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - supports-color: 8.1.1 - - /decamelize@4.0.0: - resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} - engines: {node: '>=10'} - dev: false - - /decimal.js@10.4.3: - resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} - dev: false - - /decode-uri-component@0.2.2: - resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} - engines: {node: '>=0.10'} - dev: false - - /deep-eql@4.1.3: - resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} - engines: {node: '>=6'} - dependencies: - type-detect: 4.0.8 - - /deep-equal@2.2.3: - resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} - engines: {node: '>= 0.4'} - dependencies: - array-buffer-byte-length: 1.0.1 - call-bind: 1.0.7 - es-get-iterator: 1.1.3 - get-intrinsic: 1.2.4 - is-arguments: 1.1.1 - is-array-buffer: 3.0.4 - is-date-object: 1.0.5 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.3 - isarray: 2.0.5 - object-is: 1.1.5 - object-keys: 1.1.1 - object.assign: 4.1.5 - regexp.prototype.flags: 1.5.2 - side-channel: 1.0.5 - which-boxed-primitive: 1.0.2 - which-collection: 1.0.1 - which-typed-array: 1.1.14 - - /deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - dev: true - - /deepmerge@2.2.1: - resolution: {integrity: sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==} - engines: {node: '>=0.10.0'} - - /define-data-property@1.1.4: - resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} - engines: {node: '>= 0.4'} - dependencies: - es-define-property: 1.0.0 - es-errors: 1.3.0 - gopd: 1.0.1 - - /define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} - dependencies: - define-data-property: 1.1.4 - has-property-descriptors: 1.0.2 - object-keys: 1.1.1 - - /define-property@0.2.5: - resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} - engines: {node: '>=0.10.0'} - dependencies: - is-descriptor: 0.1.7 - dev: false - - /define-property@1.0.0: - resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} - engines: {node: '>=0.10.0'} - dependencies: - is-descriptor: 1.0.3 - dev: false - - /define-property@2.0.2: - resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} - engines: {node: '>=0.10.0'} - dependencies: - is-descriptor: 1.0.3 - isobject: 3.0.1 - dev: false - - /delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} - dev: false - - /depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - dev: true - - /dependency-graph@0.9.0: - resolution: {integrity: sha512-9YLIBURXj4DJMFALxXw9K3Y3rwb5Fk0X5/8ipCzaN84+gKxoHK43tVKRNakCQbiEx07E8Uwhuq21BpUagFhZ8w==} - engines: {node: '>= 0.6.0'} - dev: false - - /destroy@1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - dev: true - - /diff@5.0.0: - resolution: {integrity: sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==} - engines: {node: '>=0.3.1'} - dev: false - - /diff@5.2.0: - resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} - engines: {node: '>=0.3.1'} - - /dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - dependencies: - path-type: 4.0.0 - dev: false - - /discontinuous-range@1.0.0: - resolution: {integrity: sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ==} - dev: false - - /doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dependencies: - esutils: 2.0.3 - - /dom-accessibility-api@0.5.16: - resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} - - /dom-accessibility-api@0.6.3: - resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==} - dev: false - - /dom-helpers@5.2.1: - resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} - dependencies: - '@babel/runtime': 7.23.9 - csstype: 3.1.3 - dev: false - - /dom-serializer@2.0.0: - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - entities: 4.5.0 - - /domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - - /domhandler@5.0.3: - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} - engines: {node: '>= 4'} - dependencies: - domelementtype: 2.3.0 - - /domutils@3.1.0: - resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} - dependencies: - dom-serializer: 2.0.0 - domelementtype: 2.3.0 - domhandler: 5.0.3 - - /duplexer2@0.1.4: - resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} - dependencies: - readable-stream: 2.3.8 - dev: true - - /eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - - /ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - dev: true - - /electron-to-chromium@1.4.682: - resolution: {integrity: sha512-oCglfs8yYKs9RQjJFOHonSnhikPK3y+0SvSYc/YpYJV//6rqc0/hbwd0c7vgK4vrl6y2gJAwjkhkSGWK+z4KRA==} - - /emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - - /emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - - /encodeurl@1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} - dev: true - - /entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} - - /envinfo@7.11.1: - resolution: {integrity: sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg==} - engines: {node: '>=4'} - hasBin: true - dev: false - - /enzyme-adapter-utils@1.14.2(react@18.2.0): - resolution: {integrity: sha512-1ZC++RlsYRaiOWE5NRaF5OgsMt7F5rn/VuaJIgc7eW/fmgg8eS1/Ut7EugSPPi7VMdWMLcymRnMF+mJUJ4B8KA==} - peerDependencies: - react: 0.13.x || 0.14.x || ^15.0.0-0 || ^16.0.0-0 - dependencies: - airbnb-prop-types: 2.16.0(react@18.2.0) - function.prototype.name: 1.1.6 - hasown: 2.0.1 - object.assign: 4.1.5 - object.fromentries: 2.0.7 - prop-types: 15.8.1 - react: 18.2.0 - semver: 6.3.1 - dev: false - - /enzyme-shallow-equal@1.0.7: - resolution: {integrity: sha512-/um0GFqUXnpM9SvKtje+9Tjoz3f1fpBC3eXRFrNs8kpYn69JljciYP7KZTqM/YQbUY9KUjvKB4jo/q+L6WGGvg==} - dependencies: - hasown: 2.0.1 - object-is: 1.1.5 - dev: false - - /enzyme@3.11.0: - resolution: {integrity: sha512-Dw8/Gs4vRjxY6/6i9wU0V+utmQO9kvh9XLnz3LIudviOnVYDEe2ec+0k+NQoMamn1VrjKgCUOWj5jG/5M5M0Qw==} - dependencies: - array.prototype.flat: 1.3.2 - cheerio: 1.0.0-rc.12 - enzyme-shallow-equal: 1.0.7 - function.prototype.name: 1.1.6 - has: 1.0.4 - html-element-map: 1.3.1 - is-boolean-object: 1.1.2 - is-callable: 1.2.7 - is-number-object: 1.0.7 - is-regex: 1.1.4 - is-string: 1.0.7 - is-subset: 0.1.1 - lodash.escape: 4.0.1 - lodash.isequal: 4.5.0 - object-inspect: 1.13.1 - object-is: 1.1.5 - object.assign: 4.1.5 - object.entries: 1.1.7 - object.values: 1.1.7 - raf: 3.4.1 - rst-selector-parser: 2.2.3 - string.prototype.trim: 1.2.8 - dev: false - - /error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - dependencies: - is-arrayish: 0.2.1 - - /es-abstract@1.22.4: - resolution: {integrity: sha512-vZYJlk2u6qHYxBOTjAeg7qUxHdNfih64Uu2J8QqWgXZ2cri0ZpJAkzDUK/q593+mvKwlxyaxr6F1Q+3LKoQRgg==} - engines: {node: '>= 0.4'} - dependencies: - array-buffer-byte-length: 1.0.1 - arraybuffer.prototype.slice: 1.0.3 - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - es-define-property: 1.0.0 - es-errors: 1.3.0 - es-set-tostringtag: 2.0.3 - es-to-primitive: 1.2.1 - function.prototype.name: 1.1.6 - get-intrinsic: 1.2.4 - get-symbol-description: 1.0.2 - globalthis: 1.0.3 - gopd: 1.0.1 - has-property-descriptors: 1.0.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - hasown: 2.0.1 - internal-slot: 1.0.7 - is-array-buffer: 3.0.4 - is-callable: 1.2.7 - is-negative-zero: 2.0.3 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.3 - is-string: 1.0.7 - is-typed-array: 1.1.13 - is-weakref: 1.0.2 - object-inspect: 1.13.1 - object-keys: 1.1.1 - object.assign: 4.1.5 - regexp.prototype.flags: 1.5.2 - safe-array-concat: 1.1.0 - safe-regex-test: 1.0.3 - string.prototype.trim: 1.2.8 - string.prototype.trimend: 1.0.7 - string.prototype.trimstart: 1.0.7 - typed-array-buffer: 1.0.2 - typed-array-byte-length: 1.0.1 - typed-array-byte-offset: 1.0.2 - typed-array-length: 1.0.5 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.14 - dev: false - - /es-array-method-boxes-properly@1.0.0: - resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} - dev: false - - /es-define-property@1.0.0: - resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} - engines: {node: '>= 0.4'} - dependencies: - get-intrinsic: 1.2.4 - - /es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} - - /es-get-iterator@1.1.3: - resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - has-symbols: 1.0.3 - is-arguments: 1.1.1 - is-map: 2.0.2 - is-set: 2.0.2 - is-string: 1.0.7 - isarray: 2.0.5 - stop-iteration-iterator: 1.0.0 - - /es-set-tostringtag@2.0.3: - resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} - engines: {node: '>= 0.4'} - dependencies: - get-intrinsic: 1.2.4 - has-tostringtag: 1.0.2 - hasown: 2.0.1 - dev: false - - /es-shim-unscopables@1.0.2: - resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} - dependencies: - hasown: 2.0.1 - dev: false - - /es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} - dependencies: - is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 - dev: false - - /esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/aix-ppc64': 0.19.12 - '@esbuild/android-arm': 0.19.12 - '@esbuild/android-arm64': 0.19.12 - '@esbuild/android-x64': 0.19.12 - '@esbuild/darwin-arm64': 0.19.12 - '@esbuild/darwin-x64': 0.19.12 - '@esbuild/freebsd-arm64': 0.19.12 - '@esbuild/freebsd-x64': 0.19.12 - '@esbuild/linux-arm': 0.19.12 - '@esbuild/linux-arm64': 0.19.12 - '@esbuild/linux-ia32': 0.19.12 - '@esbuild/linux-loong64': 0.19.12 - '@esbuild/linux-mips64el': 0.19.12 - '@esbuild/linux-ppc64': 0.19.12 - '@esbuild/linux-riscv64': 0.19.12 - '@esbuild/linux-s390x': 0.19.12 - '@esbuild/linux-x64': 0.19.12 - '@esbuild/netbsd-x64': 0.19.12 - '@esbuild/openbsd-x64': 0.19.12 - '@esbuild/sunos-x64': 0.19.12 - '@esbuild/win32-arm64': 0.19.12 - '@esbuild/win32-ia32': 0.19.12 - '@esbuild/win32-x64': 0.19.12 - dev: true - - /escalade@3.1.2: - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} - engines: {node: '>=6'} - - /escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - dev: true - - /escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - - /escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - - /eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - dev: true - - /eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 - '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4(supports-color@8.1.1) - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.5.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 - ignore: 5.3.1 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-yaml: 4.1.0 - json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 - natural-compare: 1.4.0 - optionator: 0.9.3 - strip-ansi: 6.0.1 - text-table: 0.2.0 - transitivePeerDependencies: - - supports-color - dev: true - - /espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) - eslint-visitor-keys: 3.4.3 - dev: true - - /esprima-extract-comments@1.1.0: - resolution: {integrity: sha512-sBQUnvJwpeE9QnPrxh7dpI/dp67erYG4WXEAreAMoelPRpMR7NWb4YtwRPn9b+H1uLQKl/qS8WYmyaljTpjIsw==} - engines: {node: '>=4'} - dependencies: - esprima: 4.0.1 - dev: true - - /esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - - /esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} - dependencies: - estraverse: 5.3.0 - dev: true - - /esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - dependencies: - estraverse: 5.3.0 - dev: true - - /estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - dev: true - - /estree-walker@0.5.2: - resolution: {integrity: sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==} - dev: true - - /estree-walker@0.6.1: - resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} - dev: true - - /estree-walker@2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - dev: true - - /esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - - /etag@1.8.1: - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} - engines: {node: '>= 0.6'} - dev: true - - /expand-brackets@2.1.4: - resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} - engines: {node: '>=0.10.0'} - dependencies: - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - posix-character-classes: 0.1.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: false - - /express@4.18.3: - resolution: {integrity: sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==} - engines: {node: '>= 0.10.0'} - dependencies: - accepts: 1.3.8 - array-flatten: 1.1.1 - body-parser: 1.20.2 - content-disposition: 0.5.4 - content-type: 1.0.5 - cookie: 0.5.0 - cookie-signature: 1.0.6 - debug: 2.6.9 - depd: 2.0.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 1.2.0 - fresh: 0.5.2 - http-errors: 2.0.0 - merge-descriptors: 1.0.1 - methods: 1.1.2 - on-finished: 2.4.1 - parseurl: 1.3.3 - path-to-regexp: 0.1.7 - proxy-addr: 2.0.7 - qs: 6.11.0 - range-parser: 1.2.1 - safe-buffer: 5.2.1 - send: 0.18.0 - serve-static: 1.15.0 - setprototypeof: 1.2.0 - statuses: 2.0.1 - type-is: 1.6.18 - utils-merge: 1.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - dev: true - - /extend-shallow@2.0.1: - resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} - engines: {node: '>=0.10.0'} - dependencies: - is-extendable: 0.1.1 - dev: false - - /extend-shallow@3.0.2: - resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} - engines: {node: '>=0.10.0'} - dependencies: - assign-symbols: 1.0.0 - is-extendable: 1.0.1 - dev: false - - /extglob@2.0.4: - resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} - engines: {node: '>=0.10.0'} - dependencies: - array-unique: 0.3.2 - define-property: 1.0.0 - expand-brackets: 2.1.4 - extend-shallow: 2.0.1 - fragment-cache: 0.2.1 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: false - - /extract-comments@1.1.0: - resolution: {integrity: sha512-dzbZV2AdSSVW/4E7Ti5hZdHWbA+Z80RJsJhr5uiL10oyjl/gy7/o+HI1HwK4/WSZhlq4SNKU3oUzXlM13Qx02Q==} - engines: {node: '>=6'} - dependencies: - esprima-extract-comments: 1.1.0 - parse-code-context: 1.0.0 - dev: true - - /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - dev: true - - /fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} - engines: {node: '>=8.6.0'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.5 - - /fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true - - /fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - dev: true - - /fastq@1.17.1: - resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} - dependencies: - reusify: 1.0.4 - - /file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flat-cache: 3.2.0 - dev: true - - /fill-range@4.0.0: - resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 2.0.1 - is-number: 3.0.0 - repeat-string: 1.6.1 - to-regex-range: 2.1.1 - dev: false - - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - - /finalhandler@1.2.0: - resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} - engines: {node: '>= 0.8'} - dependencies: - debug: 2.6.9 - encodeurl: 1.0.2 - escape-html: 1.0.3 - on-finished: 2.4.1 - parseurl: 1.3.3 - statuses: 2.0.1 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - dev: true - - /find-cache-dir@2.1.0: - resolution: {integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==} - engines: {node: '>=6'} - dependencies: - commondir: 1.0.1 - make-dir: 2.1.0 - pkg-dir: 3.0.0 - - /find-root@1.1.0: - resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} - - /find-up@3.0.0: - resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} - engines: {node: '>=6'} - dependencies: - locate-path: 3.0.0 - - /find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - - /flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flatted: 3.3.1 - keyv: 4.5.4 - rimraf: 3.0.2 - dev: true - - /flat@5.0.2: - resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} - hasBin: true - dev: false - - /flatted@3.3.1: - resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - dev: true - - /flow-parser@0.229.2: - resolution: {integrity: sha512-T72XV2Izvl7yV6dhHhLaJ630Y6vOZJl6dnOS6dN0bPW9ExuREu7xGAf3omtcxX76POTuux9TJPu9ZpS48a/rdw==} - engines: {node: '>=0.4.0'} - dev: false - - /for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - dependencies: - is-callable: 1.2.7 - - /for-in@1.0.2: - resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} - engines: {node: '>=0.10.0'} - dev: false - - /foreground-child@3.1.1: - resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} - engines: {node: '>=14'} - dependencies: - cross-spawn: 7.0.3 - signal-exit: 4.1.0 - - /form-data@4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} - engines: {node: '>= 6'} - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - dev: false - - /format-util@1.0.5: - resolution: {integrity: sha512-varLbTj0e0yVyRpqQhuWV+8hlePAgaoFRhNFj50BNjEIrw1/DphHSObtqwskVCPWNgzwPoQrZAbfa/SBiicNeg==} - dev: false - - /forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} - dev: true - - /fragment-cache@0.2.1: - resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} - engines: {node: '>=0.10.0'} - dependencies: - map-cache: 0.2.2 - dev: false - - /fresh@0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} - dev: true - - /fs-extra@11.2.0: - resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} - engines: {node: '>=14.14'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.1 - - /fs-extra@9.1.0: - resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} - engines: {node: '>=10'} - dependencies: - at-least-node: 1.0.0 - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.1 - dev: false - - /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - - /fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - optional: true - - /fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - optional: true - - /function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - - /function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.4 - functions-have-names: 1.2.3 - dev: false - - /functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - - /gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - - /get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - - /get-func-name@2.0.2: - resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - - /get-intrinsic@1.2.4: - resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} - engines: {node: '>= 0.4'} - dependencies: - es-errors: 1.3.0 - function-bind: 1.1.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - hasown: 2.0.1 - - /get-stdin@8.0.0: - resolution: {integrity: sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==} - engines: {node: '>=10'} - dev: false - - /get-symbol-description@1.0.2: - resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - dev: false - - /get-value@2.0.6: - resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} - engines: {node: '>=0.10.0'} - dev: false - - /glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.3 - - /glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - dependencies: - is-glob: 4.0.3 - dev: true - - /glob-to-regexp@0.4.1: - resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - dev: true - - /glob@10.3.10: - resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true - dependencies: - foreground-child: 3.1.1 - jackspeak: 2.3.6 - minimatch: 9.0.3 - minipass: 7.0.4 - path-scurry: 1.10.1 - - /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - - /glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.0.1 - once: 1.4.0 - dev: false - - /globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - - /globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.20.2 - dev: true - - /globalthis@1.0.3: - resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} - engines: {node: '>= 0.4'} - dependencies: - define-properties: 1.2.1 - dev: false - - /globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.2 - ignore: 5.3.1 - merge2: 1.4.1 - slash: 3.0.0 - dev: false - - /gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} - dependencies: - get-intrinsic: 1.2.4 - - /graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - - /graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - dev: true - - /happy-dom@12.10.3: - resolution: {integrity: sha512-JzUXOh0wdNGY54oKng5hliuBkq/+aT1V3YpTM+lrN/GoLQTANZsMaIvmHiHe612rauHvPJnDZkZ+5GZR++1Abg==} - dependencies: - css.escape: 1.5.1 - entities: 4.5.0 - iconv-lite: 0.6.3 - webidl-conversions: 7.0.0 - whatwg-encoding: 2.0.0 - whatwg-mimetype: 3.0.0 - - /has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} - - /has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - - /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - - /has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - dependencies: - es-define-property: 1.0.0 - - /has-proto@1.0.3: - resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} - engines: {node: '>= 0.4'} - - /has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} - - /has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} - dependencies: - has-symbols: 1.0.3 - - /has-value@0.3.1: - resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} - engines: {node: '>=0.10.0'} - dependencies: - get-value: 2.0.6 - has-values: 0.1.4 - isobject: 2.1.0 - dev: false - - /has-value@1.0.0: - resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==} - engines: {node: '>=0.10.0'} - dependencies: - get-value: 2.0.6 - has-values: 1.0.0 - isobject: 3.0.1 - dev: false - - /has-values@0.1.4: - resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==} - engines: {node: '>=0.10.0'} - dev: false - - /has-values@1.0.0: - resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} - engines: {node: '>=0.10.0'} - dependencies: - is-number: 3.0.0 - kind-of: 4.0.0 - dev: false - - /has@1.0.4: - resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} - engines: {node: '>= 0.4.0'} - dev: false - - /hasown@2.0.1: - resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} - engines: {node: '>= 0.4'} - dependencies: - function-bind: 1.1.2 - - /he@1.2.0: - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} - hasBin: true - dev: false - - /hoist-non-react-statics@3.3.2: - resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} - dependencies: - react-is: 16.13.1 - - /html-element-map@1.3.1: - resolution: {integrity: sha512-6XMlxrAFX4UEEGxctfFnmrFaaZFNf9i5fNuV5wZ3WWQ4FVaNP1aX1LkX9j2mfEx1NpjeE/rL3nmgEn23GdFmrg==} - dependencies: - array.prototype.filter: 1.0.3 - call-bind: 1.0.7 - dev: false - - /html-encoding-sniffer@4.0.0: - resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} - engines: {node: '>=18'} - dependencies: - whatwg-encoding: 3.1.1 - dev: false - - /html-tokenize@2.0.1: - resolution: {integrity: sha512-QY6S+hZ0f5m1WT8WffYN+Hg+xm/w5I8XeUcAq/ZYP5wVC8xbKi4Whhru3FtrAebD5EhBW8rmFzkDI6eCAuFe2w==} - hasBin: true - dependencies: - buffer-from: 0.1.2 - inherits: 2.0.4 - minimist: 1.2.8 - readable-stream: 1.0.34 - through2: 0.4.2 - dev: true - - /htmlparser2@8.0.2: - resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.1.0 - entities: 4.5.0 - dev: false - - /http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - dev: true - - /http-proxy-agent@7.0.2: - resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} - engines: {node: '>= 14'} - dependencies: - agent-base: 7.1.0 - debug: 4.3.4(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - dev: false - - /https-proxy-agent@7.0.4: - resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} - engines: {node: '>= 14'} - dependencies: - agent-base: 7.1.0 - debug: 4.3.4(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - dev: false - - /hyphenate-style-name@1.0.4: - resolution: {integrity: sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==} - dev: false - - /iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} - dependencies: - safer-buffer: 2.1.2 - dev: true - - /iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} - dependencies: - safer-buffer: 2.1.2 - - /ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} - engines: {node: '>= 4'} - - /import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - - /imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - - /inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - - /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - - /internal-slot@1.0.7: - resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} - engines: {node: '>= 0.4'} - dependencies: - es-errors: 1.3.0 - hasown: 2.0.1 - side-channel: 1.0.5 - - /interpret@1.4.0: - resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} - engines: {node: '>= 0.10'} - dev: true - - /ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} - dev: true - - /is-accessor-descriptor@1.0.1: - resolution: {integrity: sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==} - engines: {node: '>= 0.10'} - dependencies: - hasown: 2.0.1 - dev: false - - /is-arguments@1.1.1: - resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - - /is-array-buffer@3.0.4: - resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - - /is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - - /is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} - dependencies: - has-bigints: 1.0.2 - - /is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - dependencies: - binary-extensions: 2.2.0 - - /is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - - /is-buffer@1.1.6: - resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} - dev: false - - /is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} - - /is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} - dependencies: - hasown: 2.0.1 - - /is-data-descriptor@1.0.1: - resolution: {integrity: sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==} - engines: {node: '>= 0.4'} - dependencies: - hasown: 2.0.1 - dev: false - - /is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} - engines: {node: '>= 0.4'} - dependencies: - has-tostringtag: 1.0.2 - - /is-descriptor@0.1.7: - resolution: {integrity: sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==} - engines: {node: '>= 0.4'} - dependencies: - is-accessor-descriptor: 1.0.1 - is-data-descriptor: 1.0.1 - dev: false - - /is-descriptor@1.0.3: - resolution: {integrity: sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==} - engines: {node: '>= 0.4'} - dependencies: - is-accessor-descriptor: 1.0.1 - is-data-descriptor: 1.0.1 - dev: false - - /is-extendable@0.1.1: - resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} - engines: {node: '>=0.10.0'} - dev: false - - /is-extendable@1.0.1: - resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} - engines: {node: '>=0.10.0'} - dependencies: - is-plain-object: 2.0.4 - - /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - - /is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - - /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - - /is-in-browser@1.1.3: - resolution: {integrity: sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g==} - dev: false - - /is-map@2.0.2: - resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} - - /is-module@1.0.0: - resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} - dev: true - - /is-negative-zero@2.0.3: - resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} - engines: {node: '>= 0.4'} - dev: false - - /is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} - engines: {node: '>= 0.4'} - dependencies: - has-tostringtag: 1.0.2 - - /is-number@3.0.0: - resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: false - - /is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - - /is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - dev: true - - /is-plain-obj@2.1.0: - resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} - engines: {node: '>=8'} - dev: false - - /is-plain-object@2.0.4: - resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} - engines: {node: '>=0.10.0'} - dependencies: - isobject: 3.0.1 - - /is-potential-custom-element-name@1.0.1: - resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} - dev: false - - /is-reference@1.2.1: - resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} - dependencies: - '@types/estree': 1.0.5 - dev: true - - /is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - - /is-set@2.0.2: - resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} - - /is-shared-array-buffer@1.0.3: - resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - - /is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} - dependencies: - has-tostringtag: 1.0.2 - - /is-subset@0.1.1: - resolution: {integrity: sha512-6Ybun0IkarhmEqxXCNw/C0bna6Zb/TkfUX9UbwJtK6ObwAVCxmAP308WWTHviM/zAqXk05cdhYsUsZeGQh99iw==} - dev: false - - /is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} - dependencies: - has-symbols: 1.0.3 - - /is-typed-array@1.1.13: - resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} - engines: {node: '>= 0.4'} - dependencies: - which-typed-array: 1.1.14 - dev: false - - /is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - dev: false - - /is-weakmap@2.0.1: - resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} - - /is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} - dependencies: - call-bind: 1.0.7 - dev: false - - /is-weakset@2.0.2: - resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - - /is-windows@1.0.2: - resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} - engines: {node: '>=0.10.0'} - dev: false - - /isarray@0.0.1: - resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} - dev: true - - /isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - - /isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - - /isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - - /isobject@2.1.0: - resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} - engines: {node: '>=0.10.0'} - dependencies: - isarray: 1.0.0 - dev: false - - /isobject@3.0.1: - resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} - engines: {node: '>=0.10.0'} - - /jackspeak@2.3.6: - resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} - engines: {node: '>=14'} - dependencies: - '@isaacs/cliui': 8.0.2 - optionalDependencies: - '@pkgjs/parseargs': 0.11.0 - - /jest-worker@26.6.2: - resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} - engines: {node: '>= 10.13.0'} - dependencies: - '@types/node': 20.11.22 - merge-stream: 2.0.0 - supports-color: 7.2.0 - dev: true - - /js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - - /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - dependencies: - argparse: 2.0.1 - - /jscodeshift-add-imports@1.0.10(jscodeshift@0.13.1): - resolution: {integrity: sha512-VUe9DJ3zkWIR62zSRQnmsOVeyt77yD8knvYNna/PzRZlF9j799hJw5sqTZu4EX16XLIqS3FxWz3nXuGuiw9iyQ==} - peerDependencies: - jscodeshift: ^0.7.0 || ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 - dependencies: - '@babel/traverse': 7.23.9 - jscodeshift: 0.13.1(@babel/preset-env@7.23.9) - jscodeshift-find-imports: 2.0.4(jscodeshift@0.13.1) - transitivePeerDependencies: - - supports-color - dev: false - - /jscodeshift-find-imports@2.0.4(jscodeshift@0.13.1): - resolution: {integrity: sha512-HxOzjWDOFFSCf8EKSTQGqCxXeRFqZszOywnZ0HuMB9YPDFHVpxftGRsY+QS+Qq8o2qUojlmNU3JEHts5DWYS1A==} - peerDependencies: - jscodeshift: ^0.7.0 || ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 - dependencies: - jscodeshift: 0.13.1(@babel/preset-env@7.23.9) - dev: false - - /jscodeshift@0.13.1(@babel/preset-env@7.23.9): - resolution: {integrity: sha512-lGyiEbGOvmMRKgWk4vf+lUrCWO/8YR8sUR3FKF1Cq5fovjZDlIcw3Hu5ppLHAnEXshVffvaM0eyuY/AbOeYpnQ==} - hasBin: true - peerDependencies: - '@babel/preset-env': ^7.1.6 - dependencies: - '@babel/core': 7.23.9 - '@babel/parser': 7.23.9 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.23.9) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.23.9) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.23.9) - '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.9) - '@babel/preset-env': 7.23.9(@babel/core@7.23.9) - '@babel/preset-flow': 7.23.3(@babel/core@7.23.9) - '@babel/preset-typescript': 7.23.3(@babel/core@7.23.9) - '@babel/register': 7.23.7(@babel/core@7.23.9) - babel-core: 7.0.0-bridge.0(@babel/core@7.23.9) - chalk: 4.1.2 - flow-parser: 0.229.2 - graceful-fs: 4.2.11 - micromatch: 3.1.10 - neo-async: 2.6.2 - node-dir: 0.1.17 - recast: 0.20.5 - temp: 0.8.4 - write-file-atomic: 2.4.3 - transitivePeerDependencies: - - supports-color - dev: false - - /jsdom@24.0.0: - resolution: {integrity: sha512-UDS2NayCvmXSXVP6mpTj+73JnNQadZlr9N68189xib2tx5Mls7swlTNao26IoHv46BZJFvXygyRtyXd1feAk1A==} - engines: {node: '>=18'} - peerDependencies: - canvas: ^2.11.2 - peerDependenciesMeta: - canvas: - optional: true - dependencies: - cssstyle: 4.0.1 - data-urls: 5.0.0 - decimal.js: 10.4.3 - form-data: 4.0.0 - html-encoding-sniffer: 4.0.0 - http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.4 - is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.7 - parse5: 7.1.2 - rrweb-cssom: 0.6.0 - saxes: 6.0.0 - symbol-tree: 3.2.4 - tough-cookie: 4.1.3 - w3c-xmlserializer: 5.0.0 - webidl-conversions: 7.0.0 - whatwg-encoding: 3.1.1 - whatwg-mimetype: 4.0.0 - whatwg-url: 14.0.0 - ws: 8.16.0 - xml-name-validator: 5.0.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: false - - /jsesc@0.5.0: - resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} - hasBin: true - - /jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true - - /json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - dev: true - - /json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - - /json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true - - /json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - dev: true - - /json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - - /jsonc-parser@3.2.1: - resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} - dev: true - - /jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - dependencies: - universalify: 2.0.1 - optionalDependencies: - graceful-fs: 4.2.11 - - /jss-plugin-camel-case@10.10.0: - resolution: {integrity: sha512-z+HETfj5IYgFxh1wJnUAU8jByI48ED+v0fuTuhKrPR+pRBYS2EDwbusU8aFOpCdYhtRc9zhN+PJ7iNE8pAWyPw==} - dependencies: - '@babel/runtime': 7.23.9 - hyphenate-style-name: 1.0.4 - jss: 10.10.0 - dev: false - - /jss-plugin-default-unit@10.10.0: - resolution: {integrity: sha512-SvpajxIECi4JDUbGLefvNckmI+c2VWmP43qnEy/0eiwzRUsafg5DVSIWSzZe4d2vFX1u9nRDP46WCFV/PXVBGQ==} - dependencies: - '@babel/runtime': 7.23.9 - jss: 10.10.0 - dev: false - - /jss-plugin-global@10.10.0: - resolution: {integrity: sha512-icXEYbMufiNuWfuazLeN+BNJO16Ge88OcXU5ZDC2vLqElmMybA31Wi7lZ3lf+vgufRocvPj8443irhYRgWxP+A==} - dependencies: - '@babel/runtime': 7.23.9 - jss: 10.10.0 - dev: false - - /jss-plugin-nested@10.10.0: - resolution: {integrity: sha512-9R4JHxxGgiZhurDo3q7LdIiDEgtA1bTGzAbhSPyIOWb7ZubrjQe8acwhEQ6OEKydzpl8XHMtTnEwHXCARLYqYA==} - dependencies: - '@babel/runtime': 7.23.9 - jss: 10.10.0 - tiny-warning: 1.0.3 - dev: false - - /jss-plugin-props-sort@10.10.0: - resolution: {integrity: sha512-5VNJvQJbnq/vRfje6uZLe/FyaOpzP/IH1LP+0fr88QamVrGJa0hpRRyAa0ea4U/3LcorJfBFVyC4yN2QC73lJg==} - dependencies: - '@babel/runtime': 7.23.9 - jss: 10.10.0 - dev: false - - /jss-plugin-rule-value-function@10.10.0: - resolution: {integrity: sha512-uEFJFgaCtkXeIPgki8ICw3Y7VMkL9GEan6SqmT9tqpwM+/t+hxfMUdU4wQ0MtOiMNWhwnckBV0IebrKcZM9C0g==} - dependencies: - '@babel/runtime': 7.23.9 - jss: 10.10.0 - tiny-warning: 1.0.3 - dev: false - - /jss-plugin-vendor-prefixer@10.10.0: - resolution: {integrity: sha512-UY/41WumgjW8r1qMCO8l1ARg7NHnfRVWRhZ2E2m0DMYsr2DD91qIXLyNhiX83hHswR7Wm4D+oDYNC1zWCJWtqg==} - dependencies: - '@babel/runtime': 7.23.9 - css-vendor: 2.0.8 - jss: 10.10.0 - dev: false - - /jss@10.10.0: - resolution: {integrity: sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw==} - dependencies: - '@babel/runtime': 7.23.9 - csstype: 3.1.3 - is-in-browser: 1.1.3 - tiny-warning: 1.0.3 - dev: false - - /just-extend@6.2.0: - resolution: {integrity: sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==} - - /keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - dependencies: - json-buffer: 3.0.1 - dev: true - - /kind-of@3.2.2: - resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} - engines: {node: '>=0.10.0'} - dependencies: - is-buffer: 1.1.6 - dev: false - - /kind-of@4.0.0: - resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==} - engines: {node: '>=0.10.0'} - dependencies: - is-buffer: 1.1.6 - dev: false - - /kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - - /levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /lilconfig@2.1.0: - resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} - engines: {node: '>=10'} - dev: false - - /lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - - /local-pkg@0.5.0: - resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} - engines: {node: '>=14'} - dependencies: - mlly: 1.6.1 - pkg-types: 1.0.3 - dev: true - - /locate-path@3.0.0: - resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} - engines: {node: '>=6'} - dependencies: - p-locate: 3.0.0 - path-exists: 3.0.0 - - /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - dependencies: - p-locate: 5.0.0 - - /lodash.debounce@4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - - /lodash.escape@4.0.1: - resolution: {integrity: sha512-nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw==} - dev: false - - /lodash.flattendeep@4.4.0: - resolution: {integrity: sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==} - dev: false - - /lodash.get@4.4.2: - resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} - - /lodash.isequal@4.5.0: - resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} - dev: false - - /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true - - /lodash.mergewith@4.6.2: - resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} - dev: true - - /lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - - /log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - dev: false - - /loose-envify@1.4.0: - resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} - hasBin: true - dependencies: - js-tokens: 4.0.0 - - /loupe@2.3.7: - resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} - dependencies: - get-func-name: 2.0.2 - - /lru-cache@10.2.0: - resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} - engines: {node: 14 || >=16.14} - - /lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - dependencies: - yallist: 3.1.1 - - /lz-string@1.5.0: - resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} - hasBin: true - - /magic-string@0.22.5: - resolution: {integrity: sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==} - dependencies: - vlq: 0.2.3 - dev: true - - /magic-string@0.25.9: - resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} - dependencies: - sourcemap-codec: 1.4.8 - dev: true - - /magic-string@0.30.7: - resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - - /make-dir@2.1.0: - resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} - engines: {node: '>=6'} - dependencies: - pify: 4.0.1 - semver: 5.7.2 - - /map-cache@0.2.2: - resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} - engines: {node: '>=0.10.0'} - dev: false - - /map-visit@1.0.0: - resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} - engines: {node: '>=0.10.0'} - dependencies: - object-visit: 1.0.1 - dev: false - - /mdn-data@2.0.28: - resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} - dev: true - - /mdn-data@2.0.30: - resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} - dev: true - - /media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} - dev: true - - /merge-descriptors@1.0.1: - resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} - dev: true - - /merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true - - /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - - /methods@1.1.2: - resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} - engines: {node: '>= 0.6'} - dev: true - - /micromatch@3.1.10: - resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} - engines: {node: '>=0.10.0'} - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - braces: 2.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - extglob: 2.0.4 - fragment-cache: 0.2.1 - kind-of: 6.0.3 - nanomatch: 1.2.13 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: false - - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} - dependencies: - braces: 3.0.2 - picomatch: 2.3.1 - - /mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - - /mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - dependencies: - mime-db: 1.52.0 - - /mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true - dev: true - - /min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} - dev: true - - /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - dependencies: - brace-expansion: 1.1.11 - - /minimatch@5.0.1: - resolution: {integrity: sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==} - engines: {node: '>=10'} - dependencies: - brace-expansion: 2.0.1 - dev: false - - /minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - brace-expansion: 2.0.1 - - /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - dev: true - - /minipass@7.0.4: - resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} - engines: {node: '>=16 || 14 >=14.17'} - - /mixin-deep@1.3.2: - resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} - engines: {node: '>=0.10.0'} - dependencies: - for-in: 1.0.2 - is-extendable: 1.0.1 - dev: false - - /mlly@1.6.1: - resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} - dependencies: - acorn: 8.11.3 - pathe: 1.1.2 - pkg-types: 1.0.3 - ufo: 1.4.0 - dev: true - - /mocha@10.3.0: - resolution: {integrity: sha512-uF2XJs+7xSLsrmIvn37i/wnc91nw7XjOQB8ccyx5aEgdnohr7n+rEiZP23WkCYHjilR6+EboEnbq/ZQDz4LSbg==} - engines: {node: '>= 14.0.0'} - hasBin: true - dependencies: - ansi-colors: 4.1.1 - browser-stdout: 1.3.1 - chokidar: 3.5.3 - debug: 4.3.4(supports-color@8.1.1) - diff: 5.0.0 - escape-string-regexp: 4.0.0 - find-up: 5.0.0 - glob: 8.1.0 - he: 1.2.0 - js-yaml: 4.1.0 - log-symbols: 4.1.0 - minimatch: 5.0.1 - ms: 2.1.3 - serialize-javascript: 6.0.0 - strip-json-comments: 3.1.1 - supports-color: 8.1.1 - workerpool: 6.2.1 - yargs: 16.2.0 - yargs-parser: 20.2.4 - yargs-unparser: 2.0.0 - dev: false - - /moo@0.5.2: - resolution: {integrity: sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==} - dev: false - - /ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - - /ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - - /multipipe@1.0.2: - resolution: {integrity: sha512-6uiC9OvY71vzSGX8lZvSqscE7ft9nPupJ8fMjrCNRAUy2LREUW42UL+V/NTrogr6rFgRydUrCX4ZitfpSNkSCQ==} - dependencies: - duplexer2: 0.1.4 - object-assign: 4.1.1 - dev: true - - /mustache@4.2.0: - resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} - hasBin: true - dev: true - - /nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - - /nanomatch@1.2.13: - resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} - engines: {node: '>=0.10.0'} - dependencies: - arr-diff: 4.0.0 - array-unique: 0.3.2 - define-property: 2.0.2 - extend-shallow: 3.0.2 - fragment-cache: 0.2.1 - is-windows: 1.0.2 - kind-of: 6.0.3 - object.pick: 1.3.0 - regex-not: 1.0.2 - snapdragon: 0.8.2 - to-regex: 3.0.2 - transitivePeerDependencies: - - supports-color - dev: false - - /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true - - /nearley@2.20.1: - resolution: {integrity: sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==} - hasBin: true - dependencies: - commander: 2.20.3 - moo: 0.5.2 - railroad-diagrams: 1.0.0 - randexp: 0.4.6 - dev: false - - /negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - dev: true - - /neo-async@2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - dev: false - - /next@13.5.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-GIudNR7ggGUZoIL79mSZcxbXK9f5pwAIPZxEM8+j2yLqv5RODg4TkmUlaKSYVqE1bPQueamXSqdC3j7axiTSEg==} - engines: {node: '>=16.14.0'} - hasBin: true - peerDependencies: - '@opentelemetry/api': ^1.1.0 - react: ^18.2.0 - react-dom: ^18.2.0 - sass: ^1.3.0 - peerDependenciesMeta: - '@opentelemetry/api': - optional: true - sass: - optional: true - dependencies: - '@next/env': 13.5.1 - '@swc/helpers': 0.5.2 - busboy: 1.6.0 - caniuse-lite: 1.0.30001591 - postcss: 8.4.14 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(@babel/core@7.23.9)(react@18.2.0) - watchpack: 2.4.0 - zod: 3.21.4 - optionalDependencies: - '@next/swc-darwin-arm64': 13.5.1 - '@next/swc-darwin-x64': 13.5.1 - '@next/swc-linux-arm64-gnu': 13.5.1 - '@next/swc-linux-arm64-musl': 13.5.1 - '@next/swc-linux-x64-gnu': 13.5.1 - '@next/swc-linux-x64-musl': 13.5.1 - '@next/swc-win32-arm64-msvc': 13.5.1 - '@next/swc-win32-ia32-msvc': 13.5.1 - '@next/swc-win32-x64-msvc': 13.5.1 - transitivePeerDependencies: - - '@babel/core' - - babel-plugin-macros - dev: true - - /next@14.1.3(@babel/core@7.23.9)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-oexgMV2MapI0UIWiXKkixF8J8ORxpy64OuJ/J9oVUmIthXOUCcuVEZX+dtpgq7wIfIqtBwQsKEDXejcjTsan9g==} - engines: {node: '>=18.17.0'} - hasBin: true - peerDependencies: - '@opentelemetry/api': ^1.1.0 - react: ^18.2.0 - react-dom: ^18.2.0 - sass: ^1.3.0 - peerDependenciesMeta: - '@opentelemetry/api': - optional: true - sass: - optional: true - dependencies: - '@next/env': 14.1.3 - '@swc/helpers': 0.5.2 - busboy: 1.6.0 - caniuse-lite: 1.0.30001591 - graceful-fs: 4.2.11 - postcss: 8.4.31 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(@babel/core@7.23.9)(react@18.2.0) - optionalDependencies: - '@next/swc-darwin-arm64': 14.1.3 - '@next/swc-darwin-x64': 14.1.3 - '@next/swc-linux-arm64-gnu': 14.1.3 - '@next/swc-linux-arm64-musl': 14.1.3 - '@next/swc-linux-x64-gnu': 14.1.3 - '@next/swc-linux-x64-musl': 14.1.3 - '@next/swc-win32-arm64-msvc': 14.1.3 - '@next/swc-win32-ia32-msvc': 14.1.3 - '@next/swc-win32-x64-msvc': 14.1.3 - transitivePeerDependencies: - - '@babel/core' - - babel-plugin-macros - - /nise@5.1.9: - resolution: {integrity: sha512-qOnoujW4SV6e40dYxJOb3uvuoPHtmLzIk4TFo+j0jPJoC+5Z9xja5qH5JZobEPsa8+YYphMrOSwnrshEhG2qww==} - dependencies: - '@sinonjs/commons': 3.0.1 - '@sinonjs/fake-timers': 11.2.2 - '@sinonjs/text-encoding': 0.7.2 - just-extend: 6.2.0 - path-to-regexp: 6.2.1 - - /node-dir@0.1.17: - resolution: {integrity: sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==} - engines: {node: '>= 0.10.5'} - dependencies: - minimatch: 3.1.2 - dev: false - - /node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - dependencies: - whatwg-url: 5.0.0 - dev: true - - /node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} - - /normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - - /nprogress@0.2.0: - resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} - dev: false - - /nth-check@2.1.1: - resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} - dependencies: - boolbase: 1.0.0 - - /nwsapi@2.2.7: - resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==} - dev: false - - /object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} - - /object-copy@0.1.0: - resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} - engines: {node: '>=0.10.0'} - dependencies: - copy-descriptor: 0.1.1 - define-property: 0.2.5 - kind-of: 3.2.2 - dev: false - - /object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} - - /object-is@1.1.5: - resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - - /object-keys@0.4.0: - resolution: {integrity: sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==} - dev: true - - /object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - - /object-visit@1.0.1: - resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} - engines: {node: '>=0.10.0'} - dependencies: - isobject: 3.0.1 - dev: false - - /object.assign@4.1.5: - resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - has-symbols: 1.0.3 - object-keys: 1.1.1 - - /object.entries@1.1.7: - resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.4 - dev: false - - /object.fromentries@2.0.7: - resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.4 - dev: false - - /object.omit@3.0.0: - resolution: {integrity: sha512-EO+BCv6LJfu+gBIF3ggLicFebFLN5zqzz/WWJlMFfkMyGth+oBkhxzDl0wx2W4GkLzuQs/FsSkXZb2IMWQqmBQ==} - engines: {node: '>=0.10.0'} - dependencies: - is-extendable: 1.0.1 - - /object.pick@1.3.0: - resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} - engines: {node: '>=0.10.0'} - dependencies: - isobject: 3.0.1 - dev: false - - /object.values@1.1.7: - resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.4 - dev: false - - /on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} - dependencies: - ee-first: 1.1.1 - dev: true - - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - dependencies: - wrappy: 1.0.2 - - /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} - engines: {node: '>= 0.8.0'} - dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} - dependencies: - p-try: 2.2.0 - - /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - dependencies: - yocto-queue: 0.1.0 - - /p-locate@3.0.0: - resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} - engines: {node: '>=6'} - dependencies: - p-limit: 2.3.0 - - /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - dependencies: - p-limit: 3.1.0 - - /p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - - /parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - dependencies: - callsites: 3.1.0 - - /parse-code-context@1.0.0: - resolution: {integrity: sha512-OZQaqKaQnR21iqhlnPfVisFjBWjhnMl5J9MgbP8xC+EwoVqbXrq78lp+9Zb3ahmLzrIX5Us/qbvBnaS3hkH6OA==} - engines: {node: '>=6'} - dev: true - - /parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} - dependencies: - '@babel/code-frame': 7.23.5 - error-ex: 1.3.2 - json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.2.4 - - /parse5-htmlparser2-tree-adapter@7.0.0: - resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==} - dependencies: - domhandler: 5.0.3 - parse5: 7.1.2 - dev: false - - /parse5@7.1.2: - resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} - dependencies: - entities: 4.5.0 - dev: false - - /parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} - dev: true - - /pascalcase@0.1.1: - resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} - engines: {node: '>=0.10.0'} - dev: false - - /path-exists@3.0.0: - resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} - engines: {node: '>=4'} - - /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - - /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - - /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - - /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - - /path-scurry@1.10.1: - resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - lru-cache: 10.2.0 - minipass: 7.0.4 - - /path-to-regexp@0.1.7: - resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} - dev: true - - /path-to-regexp@6.2.1: - resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} - - /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - - /pathe@1.1.2: - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} - dev: true - - /pathval@1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} - - /performance-now@2.1.0: - resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} - dev: false - - /picocolors@0.2.1: - resolution: {integrity: sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==} - dev: true - - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - - /pify@2.3.0: - resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} - engines: {node: '>=0.10.0'} - dev: false - - /pify@4.0.1: - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} - engines: {node: '>=6'} - - /pirates@4.0.6: - resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} - engines: {node: '>= 6'} - - /pkg-dir@3.0.0: - resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==} - engines: {node: '>=6'} - dependencies: - find-up: 3.0.0 - - /pkg-types@1.0.3: - resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} - dependencies: - jsonc-parser: 3.2.1 - mlly: 1.6.1 - pathe: 1.1.2 - dev: true - - /playwright-core@1.42.1: - resolution: {integrity: sha512-mxz6zclokgrke9p1vtdy/COWBH+eOZgYUVVU34C73M+4j4HLlQJHtfcqiqqxpP0o8HhMkflvfbquLX5dg6wlfA==} - engines: {node: '>=16'} - hasBin: true - - /playwright@1.42.1: - resolution: {integrity: sha512-PgwB03s2DZBcNRoW+1w9E+VkLBxweib6KTXM0M3tkiT4jVxKSi6PmVJ591J+0u10LUrgxB7dLRbiJqO5s2QPMg==} - engines: {node: '>=16'} - hasBin: true - dependencies: - playwright-core: 1.42.1 - optionalDependencies: - fsevents: 2.3.2 - - /posix-character-classes@0.1.1: - resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} - engines: {node: '>=0.10.0'} - dev: false - - /possible-typed-array-names@1.0.0: - resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} - engines: {node: '>= 0.4'} - - /postcss-cli@8.3.1(postcss@8.4.35): - resolution: {integrity: sha512-leHXsQRq89S3JC9zw/tKyiVV2jAhnfQe0J8VI4eQQbUjwIe0XxVqLrR+7UsahF1s9wi4GlqP6SJ8ydf44cgF2Q==} - engines: {node: '>=10'} - hasBin: true - peerDependencies: - postcss: ^8.0.0 - dependencies: - chalk: 4.1.2 - chokidar: 3.6.0 - dependency-graph: 0.9.0 - fs-extra: 9.1.0 - get-stdin: 8.0.0 - globby: 11.1.0 - postcss: 8.4.35 - postcss-load-config: 3.1.4(postcss@8.4.35) - postcss-reporter: 7.1.0(postcss@8.4.35) - pretty-hrtime: 1.0.3 - read-cache: 1.0.0 - slash: 3.0.0 - yargs: 16.2.0 - transitivePeerDependencies: - - ts-node - dev: false - - /postcss-combine-media-query@1.0.1: - resolution: {integrity: sha512-DFSXuYy3ltDkC2esIF0ORoS9DCjlyfWhtoQkG9brZMuJY1ABOER95sm3dvccR6IEgSrYX4RgqiHD4Lq3JGrxyw==} - dependencies: - postcss: 7.0.39 - dev: true - - /postcss-load-config@3.1.4(postcss@8.4.35): - resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} - engines: {node: '>= 10'} - peerDependencies: - postcss: '>=8.0.9' - ts-node: '>=9.0.0' - peerDependenciesMeta: - postcss: - optional: true - ts-node: - optional: true - dependencies: - lilconfig: 2.1.0 - postcss: 8.4.35 - yaml: 1.10.2 - dev: false - - /postcss-reporter@7.1.0(postcss@8.4.35): - resolution: {integrity: sha512-/eoEylGWyy6/DOiMP5lmFRdmDKThqgn7D6hP2dXKJI/0rJSO1ADFNngZfDzxL0YAxFvws+Rtpuji1YIHj4mySA==} - engines: {node: '>=10'} - peerDependencies: - postcss: ^8.1.0 - dependencies: - picocolors: 1.0.0 - postcss: 8.4.35 - thenby: 1.3.4 - dev: false - - /postcss-value-parser@4.2.0: - resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - dev: true - - /postcss@7.0.39: - resolution: {integrity: sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==} - engines: {node: '>=6.0.0'} - dependencies: - picocolors: 0.2.1 - source-map: 0.6.1 - dev: true - - /postcss@8.4.14: - resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: true - - /postcss@8.4.31: - resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - - /postcss@8.4.35: - resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - - /prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true - - /prettier@2.8.8: - resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} - engines: {node: '>=10.13.0'} - hasBin: true - dev: true - - /prettier@3.2.5: - resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} - engines: {node: '>=14'} - hasBin: true - dev: true - - /pretty-format@27.5.1: - resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - ansi-regex: 5.0.1 - ansi-styles: 5.2.0 - react-is: 17.0.2 - - /pretty-hrtime@1.0.3: - resolution: {integrity: sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==} - engines: {node: '>= 0.8'} - dev: false - - /process-es6@0.11.6: - resolution: {integrity: sha512-GYBRQtL4v3wgigq10Pv58jmTbFXlIiTbSfgnNqZLY0ldUPqy1rRxDI5fCjoCpnM6TqmHQI8ydzTBXW86OYc0gA==} - dev: true - - /process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - dev: true - - /prop-types-exact@1.2.0: - resolution: {integrity: sha512-K+Tk3Kd9V0odiXFP9fwDHUYRyvK3Nun3GVyPapSIs5OBkITAm15W0CPFD/YKTkMUAbc0b9CUwRQp2ybiBIq+eA==} - dependencies: - has: 1.0.4 - object.assign: 4.1.5 - reflect.ownkeys: 0.2.0 - dev: false - - /prop-types@15.8.1: - resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} - dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - react-is: 16.13.1 - dev: false - - /proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 - dev: true - - /psl@1.9.0: - resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} - dev: false - - /punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} - - /qs@6.11.0: - resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} - engines: {node: '>=0.6'} - dependencies: - side-channel: 1.0.5 - dev: true - - /querystringify@2.2.0: - resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} - dev: false - - /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - - /raf@3.4.1: - resolution: {integrity: sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==} - dependencies: - performance-now: 2.1.0 - dev: false - - /railroad-diagrams@1.0.0: - resolution: {integrity: sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==} - dev: false - - /randexp@0.4.6: - resolution: {integrity: sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==} - engines: {node: '>=0.12'} - dependencies: - discontinuous-range: 1.0.0 - ret: 0.1.15 - dev: false - - /randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - dependencies: - safe-buffer: 5.2.1 - - /range-parser@1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} - dev: true - - /raw-body@2.5.2: - resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} - engines: {node: '>= 0.8'} - dependencies: - bytes: 3.1.2 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - unpipe: 1.0.0 - dev: true - - /react-dom@18.2.0(react@18.2.0): - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} - peerDependencies: - react: ^18.2.0 - dependencies: - loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 - - /react-is@16.13.1: - resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - - /react-is@17.0.2: - resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} - - /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - dev: false - - /react-reconciler@0.29.0(react@18.2.0): - resolution: {integrity: sha512-wa0fGj7Zht1EYMRhKWwoo1H9GApxYLBuhoAuXN0TlltESAjDssB+Apf0T/DngVqaMyPypDmabL37vw/2aRM98Q==} - engines: {node: '>=0.10.0'} - peerDependencies: - react: ^18.2.0 - dependencies: - loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 - dev: false - - /react-refresh@0.14.0: - resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==} - engines: {node: '>=0.10.0'} - dev: true - - /react-router-dom@6.22.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-iwMyyyrbL7zkKY7MRjOVRy+TMnS/OPusaFVxM2P11x9dzSzGmLsebkCvYirGq0DWB9K9hOspHYYtDz33gE5Duw==} - engines: {node: '>=14.0.0'} - peerDependencies: - react: '>=16.8' - react-dom: '>=16.8' - dependencies: - '@remix-run/router': 1.15.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-router: 6.22.1(react@18.2.0) - - /react-router@6.22.1(react@18.2.0): - resolution: {integrity: sha512-0pdoRGwLtemnJqn1K0XHUbnKiX0S4X8CgvVVmHGOWmofESj31msHo/1YiqcJWK7Wxfq2a4uvvtS01KAQyWK/CQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - react: '>=16.8' - dependencies: - '@remix-run/router': 1.15.1 - react: 18.2.0 - - /react-shallow-renderer@16.15.0(react@18.2.0): - resolution: {integrity: sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==} - peerDependencies: - react: ^16.0.0 || ^17.0.0 || ^18.0.0 - dependencies: - object-assign: 4.1.1 - react: 18.2.0 - react-is: 18.2.0 - dev: false - - /react-test-renderer@18.2.0(react@18.2.0): - resolution: {integrity: sha512-JWD+aQ0lh2gvh4NM3bBM42Kx+XybOxCpgYK7F8ugAlpaTSnWsX+39Z4XkOykGZAHrjwwTZT3x3KxswVWxHPUqA==} - peerDependencies: - react: ^18.2.0 - dependencies: - react: 18.2.0 - react-is: 18.2.0 - react-shallow-renderer: 16.15.0(react@18.2.0) - scheduler: 0.23.0 - dev: false - - /react-transition-group@4.4.5(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==} - peerDependencies: - react: '>=16.6.0' - react-dom: '>=16.6.0' - dependencies: - '@babel/runtime': 7.23.9 - dom-helpers: 5.2.1 - loose-envify: 1.4.0 - prop-types: 15.8.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - - /react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} - engines: {node: '>=0.10.0'} - dependencies: - loose-envify: 1.4.0 - - /read-cache@1.0.0: - resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} - dependencies: - pify: 2.3.0 - dev: false - - /readable-stream@1.0.34: - resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==} - dependencies: - core-util-is: 1.0.3 - inherits: 2.0.4 - isarray: 0.0.1 - string_decoder: 0.10.31 - dev: true - - /readable-stream@2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} - dependencies: - core-util-is: 1.0.3 - inherits: 2.0.4 - isarray: 1.0.0 - process-nextick-args: 2.0.1 - safe-buffer: 5.1.2 - string_decoder: 1.1.1 - util-deprecate: 1.0.2 - dev: true - - /readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - dependencies: - picomatch: 2.3.1 - - /recast@0.20.5: - resolution: {integrity: sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==} - engines: {node: '>= 4'} - dependencies: - ast-types: 0.14.2 - esprima: 4.0.1 - source-map: 0.6.1 - tslib: 2.6.2 - - /rechoir@0.6.2: - resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} - engines: {node: '>= 0.10'} - dependencies: - resolve: 1.22.8 - dev: true - - /reflect.ownkeys@0.2.0: - resolution: {integrity: sha512-qOLsBKHCpSOFKK1NUOCGC5VyeufB6lEsFe92AL2bhIJsacZS1qdoOZSbPk3MYKuT2cFlRDnulKXuuElIrMjGUg==} - dev: false - - /regenerate-unicode-properties@10.1.1: - resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} - engines: {node: '>=4'} - dependencies: - regenerate: 1.4.2 - - /regenerate@1.4.2: - resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - - /regenerator-runtime@0.14.1: - resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - - /regenerator-transform@0.15.2: - resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} - dependencies: - '@babel/runtime': 7.23.9 - - /regex-not@1.0.2: - resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 3.0.2 - safe-regex: 1.1.0 - dev: false - - /regexp.prototype.flags@1.5.2: - resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-errors: 1.3.0 - set-function-name: 2.0.2 - - /regexpu-core@5.3.2: - resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} - engines: {node: '>=4'} - dependencies: - '@babel/regjsgen': 0.8.0 - regenerate: 1.4.2 - regenerate-unicode-properties: 10.1.1 - regjsparser: 0.9.1 - unicode-match-property-ecmascript: 2.0.0 - unicode-match-property-value-ecmascript: 2.1.0 - - /regjsparser@0.9.1: - resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} - hasBin: true - dependencies: - jsesc: 0.5.0 - - /repeat-element@1.1.4: - resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} - engines: {node: '>=0.10.0'} - dev: false - - /repeat-string@1.6.1: - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} - engines: {node: '>=0.10'} - dev: false - - /require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - - /requires-port@1.0.0: - resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - dev: false - - /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - - /resolve-url@0.2.1: - resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} - deprecated: https://github.com/lydell/resolve-url#deprecated - dev: false - - /resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - - /ret@0.1.15: - resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} - engines: {node: '>=0.12'} - dev: false - - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - - /rimraf@2.6.3: - resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} - hasBin: true - dependencies: - glob: 7.2.3 - dev: false - - /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true - dependencies: - glob: 7.2.3 - dev: true - - /rimraf@5.0.5: - resolution: {integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==} - engines: {node: '>=14'} - hasBin: true - dependencies: - glob: 10.3.10 - - /rollup-plugin-babel@4.4.0(@babel/core@7.23.9)(rollup@3.29.4): - resolution: {integrity: sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw==} - deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-babel. - peerDependencies: - '@babel/core': 7 || ^7.0.0-rc.2 - rollup: '>=0.60.0 <3' - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-module-imports': 7.22.15 - rollup: 3.29.4 - rollup-pluginutils: 2.8.2 - dev: true - - /rollup-plugin-commonjs@10.1.0(rollup@3.29.4): - resolution: {integrity: sha512-jlXbjZSQg8EIeAAvepNwhJj++qJWNJw1Cl0YnOqKtP5Djx+fFGkp3WRh+W0ASCaFG5w1jhmzDxgu3SJuVxPF4Q==} - deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-commonjs. - peerDependencies: - rollup: '>=1.12.0' - dependencies: - estree-walker: 0.6.1 - is-reference: 1.2.1 - magic-string: 0.25.9 - resolve: 1.22.8 - rollup: 3.29.4 - rollup-pluginutils: 2.8.2 - dev: true - - /rollup-plugin-node-globals@1.4.0: - resolution: {integrity: sha512-xRkB+W/m1KLIzPUmG0ofvR+CPNcvuCuNdjVBVS7ALKSxr3EDhnzNceGkGi1m8MToSli13AzKFYH4ie9w3I5L3g==} - dependencies: - acorn: 5.7.4 - buffer-es6: 4.9.3 - estree-walker: 0.5.2 - magic-string: 0.22.5 - process-es6: 0.11.6 - rollup-pluginutils: 2.8.2 - dev: true - - /rollup-plugin-node-resolve@5.2.0(rollup@3.29.4): - resolution: {integrity: sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw==} - deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-node-resolve. - peerDependencies: - rollup: '>=1.11.0' - dependencies: - '@types/resolve': 0.0.8 - builtin-modules: 3.3.0 - is-module: 1.0.0 - resolve: 1.22.8 - rollup: 3.29.4 - rollup-pluginutils: 2.8.2 - dev: true - - /rollup-plugin-terser@7.0.2(rollup@3.29.4): - resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} - deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser - peerDependencies: - rollup: ^2.0.0 - dependencies: - '@babel/code-frame': 7.23.5 - jest-worker: 26.6.2 - rollup: 3.29.4 - serialize-javascript: 4.0.0 - terser: 5.28.1 - dev: true - - /rollup-pluginutils@2.8.2: - resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} - dependencies: - estree-walker: 0.6.1 - dev: true - - /rollup@3.29.4: - resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} - engines: {node: '>=14.18.0', npm: '>=8.0.0'} - hasBin: true - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /rollup@4.12.0: - resolution: {integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - dependencies: - '@types/estree': 1.0.5 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.12.0 - '@rollup/rollup-android-arm64': 4.12.0 - '@rollup/rollup-darwin-arm64': 4.12.0 - '@rollup/rollup-darwin-x64': 4.12.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.12.0 - '@rollup/rollup-linux-arm64-gnu': 4.12.0 - '@rollup/rollup-linux-arm64-musl': 4.12.0 - '@rollup/rollup-linux-riscv64-gnu': 4.12.0 - '@rollup/rollup-linux-x64-gnu': 4.12.0 - '@rollup/rollup-linux-x64-musl': 4.12.0 - '@rollup/rollup-win32-arm64-msvc': 4.12.0 - '@rollup/rollup-win32-ia32-msvc': 4.12.0 - '@rollup/rollup-win32-x64-msvc': 4.12.0 - fsevents: 2.3.3 - dev: true - - /rrweb-cssom@0.6.0: - resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} - dev: false - - /rst-selector-parser@2.2.3: - resolution: {integrity: sha512-nDG1rZeP6oFTLN6yNDV/uiAvs1+FS/KlrEwh7+y7dpuApDBy6bI2HTBcc0/V8lv9OTqfyD34eF7au2pm8aBbhA==} - dependencies: - lodash.flattendeep: 4.4.0 - nearley: 2.20.1 - dev: false - - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - dependencies: - queue-microtask: 1.2.3 - - /safe-array-concat@1.1.0: - resolution: {integrity: sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==} - engines: {node: '>=0.4'} - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - has-symbols: 1.0.3 - isarray: 2.0.5 - dev: false - - /safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - dev: true - - /safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - - /safe-regex-test@1.0.3: - resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-regex: 1.1.4 - dev: false - - /safe-regex@1.1.0: - resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} - dependencies: - ret: 0.1.15 - dev: false - - /safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - - /saxes@6.0.0: - resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} - engines: {node: '>=v12.22.7'} - dependencies: - xmlchars: 2.2.0 - dev: false - - /scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} - dependencies: - loose-envify: 1.4.0 - - /semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} - hasBin: true - - /semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - - /send@0.18.0: - resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} - engines: {node: '>= 0.8.0'} - dependencies: - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 0.5.2 - http-errors: 2.0.0 - mime: 1.6.0 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color - dev: true - - /serialize-javascript@4.0.0: - resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==} - dependencies: - randombytes: 2.1.0 - dev: true - - /serialize-javascript@6.0.0: - resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} - dependencies: - randombytes: 2.1.0 - dev: false - - /serve-static@1.15.0: - resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} - engines: {node: '>= 0.8.0'} - dependencies: - encodeurl: 1.0.2 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 0.18.0 - transitivePeerDependencies: - - supports-color - dev: true - - /set-function-length@1.2.1: - resolution: {integrity: sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==} - engines: {node: '>= 0.4'} - dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.2.4 - gopd: 1.0.1 - has-property-descriptors: 1.0.2 - - /set-function-name@2.0.2: - resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} - engines: {node: '>= 0.4'} - dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - functions-have-names: 1.2.3 - has-property-descriptors: 1.0.2 - - /set-value@2.0.1: - resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 2.0.1 - is-extendable: 0.1.1 - is-plain-object: 2.0.4 - split-string: 3.1.0 - dev: false - - /setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - dev: true - - /shallow-clone@3.0.1: - resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} - engines: {node: '>=8'} - dependencies: - kind-of: 6.0.3 - - /shallowequal@1.1.0: - resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} - dev: true - - /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - dependencies: - shebang-regex: 3.0.0 - - /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - - /shelljs@0.8.5: - resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} - engines: {node: '>=4'} - hasBin: true - dependencies: - glob: 7.2.3 - interpret: 1.4.0 - rechoir: 0.6.2 - dev: true - - /shx@0.3.4: - resolution: {integrity: sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g==} - engines: {node: '>=6'} - hasBin: true - dependencies: - minimist: 1.2.8 - shelljs: 0.8.5 - dev: true - - /side-channel@1.0.5: - resolution: {integrity: sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - object-inspect: 1.13.1 - - /signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - dev: false - - /signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - - /sinon@15.2.0: - resolution: {integrity: sha512-nPS85arNqwBXaIsFCkolHjGIkFo+Oxu9vbgmBJizLAhqe6P2o3Qmj3KCUoRkfhHtvgDhZdWD3risLHAUJ8npjw==} - deprecated: 16.1.1 - dependencies: - '@sinonjs/commons': 3.0.1 - '@sinonjs/fake-timers': 10.3.0 - '@sinonjs/samsam': 8.0.0 - diff: 5.2.0 - nise: 5.1.9 - supports-color: 7.2.0 - - /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: false - - /snapdragon-node@2.1.1: - resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} - engines: {node: '>=0.10.0'} - dependencies: - define-property: 1.0.0 - isobject: 3.0.1 - snapdragon-util: 3.0.1 - dev: false - - /snapdragon-util@3.0.1: - resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: false - - /snapdragon@0.8.2: - resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} - engines: {node: '>=0.10.0'} - dependencies: - base: 0.11.2 - debug: 2.6.9 - define-property: 0.2.5 - extend-shallow: 2.0.1 - map-cache: 0.2.2 - source-map: 0.5.7 - source-map-resolve: 0.5.3 - use: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: false - - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} - - /source-map-resolve@0.5.3: - resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} - deprecated: See https://github.com/lydell/source-map-resolve#deprecated - dependencies: - atob: 2.1.2 - decode-uri-component: 0.2.2 - resolve-url: 0.2.1 - source-map-url: 0.4.1 - urix: 0.1.0 - dev: false - - /source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - - /source-map-url@0.4.1: - resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} - deprecated: See https://github.com/lydell/source-map-url#deprecated - dev: false - - /source-map@0.5.7: - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} - engines: {node: '>=0.10.0'} - - /source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - - /source-map@0.7.4: - resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} - engines: {node: '>= 8'} - - /sourcemap-codec@1.4.8: - resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} - deprecated: Please use @jridgewell/sourcemap-codec instead - dev: true - - /split-string@3.1.0: - resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} - engines: {node: '>=0.10.0'} - dependencies: - extend-shallow: 3.0.2 - dev: false - - /static-extend@0.1.2: - resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} - engines: {node: '>=0.10.0'} - dependencies: - define-property: 0.2.5 - object-copy: 0.1.0 - dev: false - - /statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - dev: true - - /stop-iteration-iterator@1.0.0: - resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} - engines: {node: '>= 0.4'} - dependencies: - internal-slot: 1.0.7 - - /streamsearch@1.1.0: - resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} - engines: {node: '>=10.0.0'} - - /string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - - /string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} - dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.1.0 - - /string.prototype.trim@1.2.8: - resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.4 - dev: false - - /string.prototype.trimend@1.0.7: - resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.4 - dev: false - - /string.prototype.trimstart@1.0.7: - resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.4 - dev: false - - /string_decoder@0.10.31: - resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} - dev: true - - /string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} - dependencies: - safe-buffer: 5.1.2 - dev: true - - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - dependencies: - ansi-regex: 5.0.1 - - /strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} - dependencies: - ansi-regex: 6.0.1 - - /strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} - dependencies: - min-indent: 1.0.1 - dev: true - - /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - - /styled-components@6.1.8(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-PQ6Dn+QxlWyEGCKDS71NGsXoVLKfE1c3vApkvDYS5KAK+V8fNWGhbSUEo9Gg2iaID2tjLXegEW3bZDUGpofRWw==} - engines: {node: '>= 16'} - peerDependencies: - react: '>= 16.8.0' - react-dom: '>= 16.8.0' - dependencies: - '@emotion/is-prop-valid': 1.2.1 - '@emotion/unitless': 0.8.0 - '@types/stylis': 4.2.0 - css-to-react-native: 3.2.0 - csstype: 3.1.2 - postcss: 8.4.31 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - shallowequal: 1.1.0 - stylis: 4.3.1 - tslib: 2.5.0 - dev: true - - /styled-jsx@5.1.1(@babel/core@7.23.9)(react@18.2.0): - resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} - engines: {node: '>= 12.0.0'} - peerDependencies: - '@babel/core': '*' - babel-plugin-macros: '*' - react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' - peerDependenciesMeta: - '@babel/core': - optional: true - babel-plugin-macros: - optional: true - dependencies: - '@babel/core': 7.23.9 - client-only: 0.0.1 - react: 18.2.0 - - /stylis@4.2.0: - resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} - - /stylis@4.3.1: - resolution: {integrity: sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ==} - - /supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - dependencies: - has-flag: 3.0.0 - - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - - /supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - dependencies: - has-flag: 4.0.0 - - /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - - /svgo@3.2.0: - resolution: {integrity: sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ==} - engines: {node: '>=14.0.0'} - hasBin: true - dependencies: - '@trysound/sax': 0.2.0 - commander: 7.2.0 - css-select: 5.1.0 - css-tree: 2.3.1 - css-what: 6.1.0 - csso: 5.0.5 - picocolors: 1.0.0 - dev: true - - /symbol-tree@3.2.4: - resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} - dev: false - - /temp@0.8.4: - resolution: {integrity: sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==} - engines: {node: '>=6.0.0'} - dependencies: - rimraf: 2.6.3 - dev: false - - /terser@5.28.1: - resolution: {integrity: sha512-wM+bZp54v/E9eRRGXb5ZFDvinrJIOaTapx3WUokyVGZu5ucVCK55zEgGd5Dl2fSr3jUo5sDiERErUWLY6QPFyA==} - engines: {node: '>=10'} - hasBin: true - dependencies: - '@jridgewell/source-map': 0.3.5 - acorn: 8.11.3 - commander: 2.20.3 - source-map-support: 0.5.21 - dev: true - - /text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - dev: true - - /thenby@1.3.4: - resolution: {integrity: sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ==} - dev: false - - /through2@0.4.2: - resolution: {integrity: sha512-45Llu+EwHKtAZYTPPVn3XZHBgakWMN3rokhEv5hu596XP+cNgplMg+Gj+1nmAvj+L0K7+N49zBKx5rah5u0QIQ==} - dependencies: - readable-stream: 1.0.34 - xtend: 2.1.2 - dev: true - - /through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - dev: true - - /tiny-warning@1.0.3: - resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} - dev: false - - /to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - - /to-object-path@0.3.0: - resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} - engines: {node: '>=0.10.0'} - dependencies: - kind-of: 3.2.2 - dev: false - - /to-regex-range@2.1.1: - resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==} - engines: {node: '>=0.10.0'} - dependencies: - is-number: 3.0.0 - repeat-string: 1.6.1 - dev: false - - /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - dependencies: - is-number: 7.0.0 - - /to-regex@3.0.2: - resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} - engines: {node: '>=0.10.0'} - dependencies: - define-property: 2.0.2 - extend-shallow: 3.0.2 - regex-not: 1.0.2 - safe-regex: 1.1.0 - dev: false - - /toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - dev: true - - /tough-cookie@4.1.3: - resolution: {integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==} - engines: {node: '>=6'} - dependencies: - psl: 1.9.0 - punycode: 2.3.1 - universalify: 0.2.0 - url-parse: 1.5.10 - dev: false - - /tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - dev: true - - /tr46@5.0.0: - resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==} - engines: {node: '>=18'} - dependencies: - punycode: 2.3.1 - dev: false - - /ts-invariant@0.10.3: - resolution: {integrity: sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ==} - engines: {node: '>=8'} - dependencies: - tslib: 2.6.2 - - /tslib@2.5.0: - resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} - dev: true - - /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - - /type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - dev: true - - /type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - - /type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - dev: true - - /type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 - dev: true - - /typed-array-buffer@1.0.2: - resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-typed-array: 1.1.13 - dev: false - - /typed-array-byte-length@1.0.1: - resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - dev: false - - /typed-array-byte-offset@1.0.2: - resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} - engines: {node: '>= 0.4'} - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - dev: false - - /typed-array-length@1.0.5: - resolution: {integrity: sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - possible-typed-array-names: 1.0.0 - dev: false - - /typescript@5.3.3: - resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} - engines: {node: '>=14.17'} - hasBin: true - - /ufo@1.4.0: - resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} - dev: true - - /unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} - dependencies: - call-bind: 1.0.7 - has-bigints: 1.0.2 - has-symbols: 1.0.3 - which-boxed-primitive: 1.0.2 - dev: false - - /undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - dev: true - - /unicode-canonical-property-names-ecmascript@2.0.0: - resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} - engines: {node: '>=4'} - - /unicode-match-property-ecmascript@2.0.0: - resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} - engines: {node: '>=4'} - dependencies: - unicode-canonical-property-names-ecmascript: 2.0.0 - unicode-property-aliases-ecmascript: 2.1.0 - - /unicode-match-property-value-ecmascript@2.1.0: - resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} - engines: {node: '>=4'} - - /unicode-property-aliases-ecmascript@2.1.0: - resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} - engines: {node: '>=4'} - - /union-value@1.0.1: - resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} - engines: {node: '>=0.10.0'} - dependencies: - arr-union: 3.1.0 - get-value: 2.0.6 - is-extendable: 0.1.1 - set-value: 2.0.1 - dev: false - - /universalify@0.2.0: - resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} - engines: {node: '>= 4.0.0'} - dev: false - - /universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} - - /unpipe@1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} - dev: true - - /unplugin@1.7.1: - resolution: {integrity: sha512-JqzORDAPxxs8ErLV4x+LL7bk5pk3YlcWqpSNsIkAZj972KzFZLClc/ekppahKkOczGkwIG6ElFgdOgOlK4tXZw==} - dependencies: - acorn: 8.11.3 - chokidar: 3.6.0 - webpack-sources: 3.2.3 - webpack-virtual-modules: 0.6.1 - - /unset-value@1.0.0: - resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} - engines: {node: '>=0.10.0'} - dependencies: - has-value: 0.3.1 - isobject: 3.0.1 - dev: false - - /update-browserslist-db@1.0.13(browserslist@4.23.0): - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - dependencies: - browserslist: 4.23.0 - escalade: 3.1.2 - picocolors: 1.0.0 - - /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - dependencies: - punycode: 2.3.1 - dev: true - - /urix@0.1.0: - resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} - deprecated: Please see https://github.com/lydell/urix#deprecated - dev: false - - /url-parse@1.5.10: - resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} - dependencies: - querystringify: 2.2.0 - requires-port: 1.0.0 - dev: false - - /use@3.1.1: - resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} - engines: {node: '>=0.10.0'} - dev: false - - /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - dev: true - - /utils-merge@1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} - engines: {node: '>= 0.4.0'} - dev: true - - /uuid@9.0.1: - resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} - hasBin: true - dev: false - - /vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - dev: true - - /vite-plugin-pages@0.32.0(vite@5.0.12): - resolution: {integrity: sha512-OxS3n0zUo5wsfgNCAuw2FiG/KD1ipgQV+2Flst4RyeI2iPv+m0YueVq+nx41k5NOWJj/zhqEas6I0b7HXveXjA==} - peerDependencies: - '@vue/compiler-sfc': ^2.7.0 || ^3.0.0 - vite: ^2.0.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0 - peerDependenciesMeta: - '@vue/compiler-sfc': - optional: true - dependencies: - '@types/debug': 4.1.12 - debug: 4.3.4(supports-color@8.1.1) - deep-equal: 2.2.3 - extract-comments: 1.1.0 - fast-glob: 3.3.2 - json5: 2.2.3 - local-pkg: 0.5.0 - picocolors: 1.0.0 - vite: 5.0.12 - yaml: 2.4.0 - transitivePeerDependencies: - - supports-color - dev: true - - /vite@5.0.12: - resolution: {integrity: sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - esbuild: 0.19.12 - postcss: 8.4.35 - rollup: 4.12.0 - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /vlq@0.2.3: - resolution: {integrity: sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==} - dev: true - - /w3c-xmlserializer@5.0.0: - resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} - engines: {node: '>=18'} - dependencies: - xml-name-validator: 5.0.0 - dev: false - - /watchpack@2.4.0: - resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} - engines: {node: '>=10.13.0'} - dependencies: - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - dev: true - - /webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - dev: true - - /webidl-conversions@7.0.0: - resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} - engines: {node: '>=12'} - - /webpack-sources@3.2.3: - resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} - engines: {node: '>=10.13.0'} - - /webpack-virtual-modules@0.6.1: - resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==} - - /whatwg-encoding@2.0.0: - resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} - engines: {node: '>=12'} - dependencies: - iconv-lite: 0.6.3 - - /whatwg-encoding@3.1.1: - resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} - engines: {node: '>=18'} - dependencies: - iconv-lite: 0.6.3 - dev: false - - /whatwg-mimetype@3.0.0: - resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} - engines: {node: '>=12'} - - /whatwg-mimetype@4.0.0: - resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} - engines: {node: '>=18'} - dev: false - - /whatwg-url@14.0.0: - resolution: {integrity: sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==} - engines: {node: '>=18'} - dependencies: - tr46: 5.0.0 - webidl-conversions: 7.0.0 - dev: false - - /whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 - dev: true - - /which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} - dependencies: - is-bigint: 1.0.4 - is-boolean-object: 1.1.2 - is-number-object: 1.0.7 - is-string: 1.0.7 - is-symbol: 1.0.4 - - /which-collection@1.0.1: - resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} - dependencies: - is-map: 2.0.2 - is-set: 2.0.2 - is-weakmap: 2.0.1 - is-weakset: 2.0.2 - - /which-typed-array@1.1.14: - resolution: {integrity: sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==} - engines: {node: '>= 0.4'} - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.2 - - /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - dependencies: - isexe: 2.0.0 - - /workerpool@6.2.1: - resolution: {integrity: sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==} - dev: false - - /wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - - /wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} - dependencies: - ansi-styles: 6.2.1 - string-width: 5.1.2 - strip-ansi: 7.1.0 - - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - /write-file-atomic@2.4.3: - resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==} - dependencies: - graceful-fs: 4.2.11 - imurmurhash: 0.1.4 - signal-exit: 3.0.7 - dev: false - - /ws@8.16.0: - resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: false - - /xml-name-validator@5.0.0: - resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} - engines: {node: '>=18'} - dev: false - - /xmlchars@2.2.0: - resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} - dev: false - - /xtend@2.1.2: - resolution: {integrity: sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==} - engines: {node: '>=0.4'} - dependencies: - object-keys: 0.4.0 - dev: true - - /y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - - /yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - - /yaml@1.10.2: - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} - engines: {node: '>= 6'} - - /yaml@2.4.0: - resolution: {integrity: sha512-j9iR8g+/t0lArF4V6NE/QCfT+CO7iLqrXAHZbJdo+LfjqP1vR8Fg5bSiaq6Q2lOD1AUEVrEVIgABvBFYojJVYQ==} - engines: {node: '>= 14'} - hasBin: true - dev: true - - /yargs-parser@20.2.4: - resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==} - engines: {node: '>=10'} - dev: false - - /yargs-parser@20.2.9: - resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} - engines: {node: '>=10'} - dev: false - - /yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - - /yargs-unparser@2.0.0: - resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} - engines: {node: '>=10'} - dependencies: - camelcase: 6.3.0 - decamelize: 4.0.0 - flat: 5.0.2 - is-plain-obj: 2.1.0 - dev: false - - /yargs@16.2.0: - resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} - engines: {node: '>=10'} - dependencies: - cliui: 7.0.4 - escalade: 3.1.2 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 20.2.9 - dev: false - - /yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} - dependencies: - cliui: 8.0.1 - escalade: 3.1.2 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.1.1 - - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - - /zod@3.21.4: - resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} - dev: true - - file:../packages/mui-base/build(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): - resolution: {directory: ../packages/mui-base/build, type: directory} - id: file:../packages/mui-base/build - name: '@mui/base' - engines: {node: '>=12.0.0'} - peerDependencies: - '@types/react': ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - react-dom: ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - '@floating-ui/react-dom': 2.0.8(react-dom@18.2.0)(react@18.2.0) - '@mui/types': link:../packages/mui-types/build - '@mui/utils': link:../packages/mui-utils/build - '@popperjs/core': 2.11.8 - '@types/react': 18.2.55 - clsx: 2.1.0 - prop-types: 15.8.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - - file:../packages/mui-icons-material/build(@mui/material@5.15.13)(@types/react@18.2.55)(react@18.2.0): - resolution: {directory: ../packages/mui-icons-material/build, type: directory} - id: file:../packages/mui-icons-material/build - name: '@mui/icons-material' - engines: {node: '>=12.0.0'} - peerDependencies: - '@mui/material': ^5.0.0 - '@types/react': ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - '@mui/material': file:../packages/mui-material/build(@emotion/react@11.11.4)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.55 - react: 18.2.0 - dev: false - - file:../packages/mui-material-nextjs/build(@emotion/cache@11.11.0)(@mui/material@5.15.13)(@types/react@18.2.55)(next@14.1.3)(react@18.2.0): - resolution: {directory: ../packages/mui-material-nextjs/build, type: directory} - id: file:../packages/mui-material-nextjs/build - name: '@mui/material-nextjs' - engines: {node: '>=12.0.0'} - peerDependencies: - '@emotion/cache': ^11.11.0 - '@emotion/server': ^11.11.0 - '@mui/material': ^5.0.0 - '@types/react': ^17.0.0 || ^18.0.0 - next: ^13.0.0 || ^14.0.0 - react: ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@emotion/cache': - optional: true - '@emotion/server': - optional: true - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - '@emotion/cache': 11.11.0 - '@mui/material': file:../packages/mui-material/build(@emotion/react@11.11.4)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.55 - next: 14.1.3(@babel/core@7.23.9)(react-dom@18.2.0)(react@18.2.0) - react: 18.2.0 - dev: false - - file:../packages/mui-material/build(@emotion/react@11.11.4)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): - resolution: {directory: ../packages/mui-material/build, type: directory} - id: file:../packages/mui-material/build - name: '@mui/material' - engines: {node: '>=12.0.0'} - peerDependencies: - '@emotion/react': ^11.5.0 - '@emotion/styled': ^11.3.0 - '@types/react': ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - react-dom: ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@emotion/react': - optional: true - '@emotion/styled': - optional: true - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - '@emotion/react': 11.11.4(@types/react@18.2.55)(react@18.2.0) - '@mui/base': link:../packages/mui-base/build - '@mui/core-downloads-tracker': link:../packages/mui-core-downloads-tracker/build - '@mui/system': link:../packages/mui-system/build - '@mui/types': link:../packages/mui-types/build - '@mui/utils': link:../packages/mui-utils/build - '@types/react': 18.2.55 - '@types/react-transition-group': 4.4.10 - clsx: 2.1.0 - csstype: 3.1.3 - prop-types: 15.8.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-is: 18.2.0 - react-transition-group: 4.4.5(react-dom@18.2.0)(react@18.2.0) - dev: false - - file:../packages/mui-system/build(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0): - resolution: {directory: ../packages/mui-system/build, type: directory} - id: file:../packages/mui-system/build - name: '@mui/system' - engines: {node: '>=12.0.0'} - peerDependencies: - '@emotion/react': ^11.5.0 - '@emotion/styled': ^11.3.0 - '@types/react': ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@emotion/react': - optional: true - '@emotion/styled': - optional: true - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - '@emotion/react': 11.11.4(@types/react@18.2.55)(react@18.2.0) - '@mui/private-theming': link:../packages/mui-private-theming/build - '@mui/styled-engine': link:../packages/mui-styled-engine/build - '@mui/types': link:../packages/mui-types/build - '@mui/utils': link:../packages/mui-utils/build - '@types/react': 18.2.55 - clsx: 2.1.0 - csstype: 3.1.3 - prop-types: 15.8.1 - react: 18.2.0 - dev: false - - file:../packages/mui-utils/build(@types/react@18.2.55)(react@18.2.0): - resolution: {directory: ../packages/mui-utils/build, type: directory} - id: file:../packages/mui-utils/build - name: '@mui/utils' - engines: {node: '>=12.0.0'} - peerDependencies: - '@types/react': ^17.0.0 || ^18.0.0 - react: ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - dependencies: - '@babel/runtime': 7.23.9 - '@types/prop-types': 15.7.11 - '@types/react': 18.2.55 - prop-types: 15.8.1 - react: 18.2.0 - react-is: 18.2.0 - dev: false - - file:../packages/pigment-css-nextjs-plugin(next@14.1.3): - resolution: {directory: ../packages/pigment-css-nextjs-plugin, type: directory} - id: file:../packages/pigment-css-nextjs-plugin - name: '@pigment-css/nextjs-plugin' - peerDependencies: - next: ^12.0.0 || ^13.0.0 || ^14.0.0 - dependencies: - '@pigment-css/unplugin': link:../packages/pigment-css-unplugin - next: 14.1.3(@babel/core@7.23.9)(react-dom@18.2.0)(react@18.2.0) - dev: true - - file:../packages/pigment-css-react(@types/react@18.2.55)(react@18.2.0)(typescript@5.3.3): - resolution: {directory: ../packages/pigment-css-react, type: directory} - id: file:../packages/pigment-css-react - name: '@pigment-css/react' - peerDependencies: - react: ^17.0.0 || ^18.0.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/parser': 7.23.9 - '@babel/types': 7.23.9 - '@emotion/css': 11.11.2 - '@emotion/react': 11.11.4(@types/react@18.2.55)(react@18.2.0) - '@emotion/serialize': 1.1.3 - '@emotion/styled': 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) - '@mui/system': link:../packages/mui-system/build - '@wyw-in-js/processor-utils': 0.5.0 - '@wyw-in-js/shared': 0.5.0 - '@wyw-in-js/transform': 0.5.0(typescript@5.3.3) - clsx: 2.1.0 - cssesc: 3.0.0 - csstype: 3.1.3 - lodash: 4.17.21 - react: 18.2.0 - stylis: 4.3.1 - transitivePeerDependencies: - - '@types/react' - - supports-color - - typescript - dev: false - - file:../packages/pigment-css-unplugin(typescript@5.3.3): - resolution: {directory: ../packages/pigment-css-unplugin, type: directory} - id: file:../packages/pigment-css-unplugin - name: '@pigment-css/unplugin' - dependencies: - '@babel/core': 7.23.9 - '@pigment-css/react': link:../packages/pigment-css-react - '@wyw-in-js/shared': 0.5.0 - '@wyw-in-js/transform': 0.5.0(typescript@5.3.3) - babel-plugin-transform-react-remove-prop-types: 0.4.24 - unplugin: 1.7.1 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - - file:../packages/pigment-css-vite-plugin(vite@5.0.12): - resolution: {directory: ../packages/pigment-css-vite-plugin, type: directory} - id: file:../packages/pigment-css-vite-plugin - name: '@pigment-css/vite-plugin' - peerDependencies: - vite: ^4.0.0 || ^5.0.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/preset-typescript': 7.23.3(@babel/core@7.23.9) - '@pigment-css/react': link:../packages/pigment-css-react - '@wyw-in-js/shared': 0.5.0 - '@wyw-in-js/transform': 0.5.0(typescript@5.3.3) - babel-plugin-transform-react-remove-prop-types: 0.4.24 - vite: 5.0.12 - transitivePeerDependencies: - - supports-color - - typescript - dev: true diff --git a/benchmark/package.json b/benchmark/package.json index 5716765dcb00c3..8434c75feb5ca0 100644 --- a/benchmark/package.json +++ b/benchmark/package.json @@ -14,7 +14,7 @@ "@chakra-ui/system": "^2.6.2", "@emotion/react": "^11.11.4", "@emotion/server": "^11.11.0", - "@emotion/styled": "^11.11.0", + "@emotion/styled": "^11.11.5", "@mui/material": "workspace:^", "@mui/styles": "workspace:^", "@mui/system": "workspace:^", @@ -24,7 +24,7 @@ "express": "^4.19.2", "fs-extra": "^11.2.0", "jss": "^10.10.0", - "playwright": "^1.42.1", + "playwright": "^1.43.0", "prop-types": "^15.8.1", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/docs/data/about/teamMembers.json b/docs/data/about/teamMembers.json index 6cff3e88422ca9..e6b3607816325a 100644 --- a/docs/data/about/teamMembers.json +++ b/docs/data/about/teamMembers.json @@ -282,5 +282,13 @@ "about": "Minimalism, web development, user experience, football, cycling", "twitter": "aarongarciah", "github": "aarongarciah" + }, + { + "name": "Jose Quintas", + "title": "React Engineer - X", + "location": "Amsterdam, Netherlands", + "locationCountry": "nl", + "about": "A general knowledge gatherer. Gamer and programmer in the off hours.", + "github": "JCQuintas" } ] diff --git a/docs/data/joy/integrations/icon-libraries/icon-libraries.md b/docs/data/joy/integrations/icon-libraries/icon-libraries.md index bd0192f0351031..6e0ed174b76a69 100644 --- a/docs/data/joy/integrations/icon-libraries/icon-libraries.md +++ b/docs/data/joy/integrations/icon-libraries/icon-libraries.md @@ -189,7 +189,7 @@ Here is a collection of well-known icon libraries that you can use with Joy UI. ### Font Awesome Icons - [Browse icons](https://fontawesome.com/icons) -- [Installation](https://fontawesome.com/docs/web/use-with/react/) +- [Installation](https://docs.fontawesome.com/web/use-with/react) <iframe src="https://codesandbox.io/embed/joy-ui-fontawesome-kjbnqj?fontsize=12&hidenavigation=1&module=%2Fdemo.tsx&theme=dark" style="width:100%; height:250px; border:0; border-radius: 12px; overflow:hidden;" diff --git a/docs/data/material/components/app-bar/app-bar.md b/docs/data/material/components/app-bar/app-bar.md index cadf49e610d6ea..10ea9272ec4390 100644 --- a/docs/data/material/components/app-bar/app-bar.md +++ b/docs/data/material/components/app-bar/app-bar.md @@ -62,7 +62,7 @@ A prominent app bar. When you render the app bar position fixed, the dimension of the element doesn't impact the rest of the page. This can cause some part of your content to be invisible, behind the app bar. Here are 3 possible solutions: -1. You can use `position="sticky"` instead of fixed. ⚠️ sticky is not supported by IE 11. +1. You can use `position="sticky"` instead of fixed. 2. You can render a second `<Toolbar />` component: ```jsx diff --git a/docs/data/material/components/cards/cards.md b/docs/data/material/components/cards/cards.md index 764ce8c558cb8f..fa18974f8bd743 100644 --- a/docs/data/material/components/cards/cards.md +++ b/docs/data/material/components/cards/cards.md @@ -59,10 +59,6 @@ By default, we use the combination of a `<div>` element and a _background image_ {{"demo": "ImgMediaCard.js", "bg": true}} -:::warning -When `component="img"`, CardMedia relies on `object-fit` for centering the image. It's not supported by IE 11. -::: - ## Primary action Often a card allow users to interact with the entirety of its surface to trigger its main action, be it an expansion, a link to another screen or some other behavior. The action area of the card can be specified by wrapping its contents in a `CardActionArea` component. diff --git a/docs/data/material/components/lists/lists.md b/docs/data/material/components/lists/lists.md index 9a9e213a003db5..0f9fd925005ecb 100644 --- a/docs/data/material/components/lists/lists.md +++ b/docs/data/material/components/lists/lists.md @@ -97,7 +97,6 @@ The switch is the secondary action and a separate target. Upon scrolling, subheaders remain pinned to the top of the screen until pushed off screen by the next subheader. This feature relies on CSS sticky positioning. -(⚠️ no IE 11 support) {{"demo": "PinnedSubheaderList.js", "bg": true}} diff --git a/docs/data/material/components/material-icons/material-icons.md b/docs/data/material/components/material-icons/material-icons.md index bb54929acc1204..ae09f5b703ff71 100644 --- a/docs/data/material/components/material-icons/material-icons.md +++ b/docs/data/material/components/material-icons/material-icons.md @@ -44,6 +44,8 @@ See the [Installation](/material-ui/getting-started/installation/) page for addi <hr/> +## Search Material Icons + Browse through the icons below to find the one you need. The search field supports synonyms—for example, try searching for "hamburger" or "logout." diff --git a/docs/data/material/components/progress/progress.md b/docs/data/material/components/progress/progress.md index a21cf09fa9e0ce..74893d02d8496a 100644 --- a/docs/data/material/components/progress/progress.md +++ b/docs/data/material/components/progress/progress.md @@ -127,26 +127,3 @@ If you need to perform 30 re-renders per second or more, we recommend disabling transition: none; } ``` - -### IE 11 - -The circular progress component animation on IE 11 is degraded. -The stroke dash animation is not working (equivalent to `disableShrink`) and the circular animation wobbles. -You can solve the latter with: - -```css -.MuiCircularProgress-indeterminate { - animation: circular-rotate 1.4s linear infinite; -} - -@keyframes circular-rotate { - 0% { - transform: rotate(0deg); - /* Fix IE 11 wobbly */ - transform-origin: 50% 50%; - } - 100% { - transform: rotate(360deg); - } -} -``` diff --git a/docs/data/material/components/slider/slider.md b/docs/data/material/components/slider/slider.md index 2420303b5989cb..3c902577906cd6 100644 --- a/docs/data/material/components/slider/slider.md +++ b/docs/data/material/components/slider/slider.md @@ -151,17 +151,3 @@ However, you need to make sure that: - Each thumb has a user-friendly text for its current value. This is not required if the value matches the semantics of the label. You can change the name with the `getAriaValueText` or `aria-valuetext` prop. - -## Limitations - -### IE 11 - -The slider's value label is not centered in IE 11. -The alignment is not handled to make customizations easier with the latest browsers. -You can solve the issue with: - -```css -.MuiSlider-valueLabel { - left: calc(-50% - 4px); -} -``` diff --git a/docs/data/material/components/table/table.md b/docs/data/material/components/table/table.md index 51a333e5c0d763..948ff6a25f8dda 100644 --- a/docs/data/material/components/table/table.md +++ b/docs/data/material/components/table/table.md @@ -88,7 +88,6 @@ The `ActionsComponent` prop of the `TablePagination` component allows the implem Here is an example of a table with scrollable rows and fixed column headers. It leverages the `stickyHeader` prop. -(⚠️ no IE 11 support) {{"demo": "StickyHeadTable.js", "bg": true}} diff --git a/docs/data/material/getting-started/overview/overview.md b/docs/data/material/getting-started/overview/overview.md index d337d170b89db9..89111a0c318083 100644 --- a/docs/data/material/getting-started/overview/overview.md +++ b/docs/data/material/getting-started/overview/overview.md @@ -14,7 +14,7 @@ It includes a comprehensive collection of prebuilt components that are ready for :::info Material UI v5 supports Material Design 2. -Adoption of Material Design 3 is tentatively planned for Material UI v6—see [the announcement blog post](/blog/2023-material-ui-v6-and-beyond/) for more details. +Adoption of Material Design 3 is tentatively planned for Material UI v7—see [the announcement blog post](/blog/2023-material-ui-v6-and-beyond/) for more details. You can follow [this GitHub issue](https://github.com/mui/material-ui/issues/29345) for future updates. ::: diff --git a/docs/data/material/getting-started/supported-platforms/supported-platforms.md b/docs/data/material/getting-started/supported-platforms/supported-platforms.md index 51b971f5c4e50e..c490ec2d5b4e8d 100644 --- a/docs/data/material/getting-started/supported-platforms/supported-platforms.md +++ b/docs/data/material/getting-started/supported-platforms/supported-platforms.md @@ -9,9 +9,9 @@ You don't need to provide any JavaScript polyfill as it manages unsupported brow <!-- #stable-snapshot --> -| Edge | Firefox | Chrome | Safari (macOS) | Safari (iOS) | IE | -| :----- | :------ | :----- | :------------- | :----------- | :------------------- | -| >= 121 | >= 115 | >= 109 | >= 15.4 | >= 15.4 | 11 (partial support) | +| Edge | Firefox | Chrome | Safari (macOS) | Safari (iOS) | +| :----- | :------ | :----- | :------------- | :----------- | +| >= 121 | >= 115 | >= 109 | >= 15.4 | >= 15.4 | <!-- #default-branch-switch --> @@ -21,20 +21,6 @@ Because Googlebot uses a web rendering service (WRS) to index the page content, [WRS regularly updates the rendering engine it uses](https://webmasters.googleblog.com/2019/05/the-new-evergreen-googlebot.html). You can expect Material UI's components to render without major issues. -### IE 11 - -Material UI provides **partial** supports for IE 11. Be aware of the following: - -- Some of the components have no support. For instance, the new components, the data grid, the date picker. -- Some of the components have degraded support. For instance, the outlined input border radius is missing, the combobox doesn't remove diacritics, the circular progress animation is wobbling. -- The documentation itself might crash. -- You need to install the [legacy bundle](/material-ui/guides/minimizing-bundle-size/#legacy-bundle). -- You might need to install polyfills. For instance for the [popper.js transitive dependency](https://popper.js.org/docs/v2/browser-support/#ie11). - -Overall, the library doesn't prioritize the support of IE 11 if it harms the most common use cases. For instance, we will close new issues opened about IE 11 and might not merge pull requests that improve IE 11 support. - -v6 will completely remove the support of IE 11. - ## Server <!-- #stable-snapshot --> diff --git a/docs/data/material/getting-started/templates/checkout/Checkout.js b/docs/data/material/getting-started/templates/checkout/Checkout.js index d87b040ac4259a..d0929cac54591d 100644 --- a/docs/data/material/getting-started/templates/checkout/Checkout.js +++ b/docs/data/material/getting-started/templates/checkout/Checkout.js @@ -29,6 +29,7 @@ import InfoMobile from './InfoMobile'; import PaymentForm from './PaymentForm'; import Review from './Review'; import ToggleColorMode from './ToggleColorMode'; +import SitemarkIcon from './SitemarkIcon'; function ToggleCustomTheme({ showCustomTheme, toggleCustomTheme }) { return ( @@ -47,7 +48,7 @@ function ToggleCustomTheme({ showCustomTheme, toggleCustomTheme }) { exclusive value={showCustomTheme} onChange={toggleCustomTheme} - aria-label="Platform" + aria-label="Toggle design language" sx={{ backgroundColor: 'background.default', '& .Mui-selected': { @@ -74,13 +75,6 @@ ToggleCustomTheme.propTypes = { const steps = ['Shipping address', 'Payment details', 'Review your order']; -const logoStyle = { - width: '140px', - height: '56px', - marginLeft: '-4px', - marginRight: '-8px', -}; - function getStepContent(step) { switch (step) { case 0: @@ -152,13 +146,7 @@ export default function Checkout() { sx={{ ml: '-8px' }} > Back to - <img - src={ - 'https://assets-global.website-files.com/61ed56ae9da9fd7e0ef0a967/61f12e6faf73568658154dae_SitemarkDefault.svg' - } - style={logoStyle} - alt="Sitemark's logo" - /> + <SitemarkIcon /> </Button> </Box> <Box @@ -214,13 +202,7 @@ export default function Checkout() { sx={{ alignSelf: 'start' }} > Back to - <img - src={ - 'https://assets-global.website-files.com/61ed56ae9da9fd7e0ef0a967/61f12e6faf73568658154dae_SitemarkDefault.svg' - } - style={logoStyle} - alt="Sitemark's logo" - /> + <SitemarkIcon /> </Button> <ToggleColorMode mode={mode} toggleColorMode={toggleColorMode} /> </Box> diff --git a/docs/data/material/getting-started/templates/checkout/Checkout.tsx b/docs/data/material/getting-started/templates/checkout/Checkout.tsx index f89270bc220afc..6c34f1ac523ef4 100644 --- a/docs/data/material/getting-started/templates/checkout/Checkout.tsx +++ b/docs/data/material/getting-started/templates/checkout/Checkout.tsx @@ -29,6 +29,7 @@ import InfoMobile from './InfoMobile'; import PaymentForm from './PaymentForm'; import Review from './Review'; import ToggleColorMode from './ToggleColorMode'; +import SitemarkIcon from './SitemarkIcon'; interface ToggleCustomThemeProps { showCustomTheme: Boolean; @@ -55,7 +56,7 @@ function ToggleCustomTheme({ exclusive value={showCustomTheme} onChange={toggleCustomTheme} - aria-label="Platform" + aria-label="Toggle design language" sx={{ backgroundColor: 'background.default', '& .Mui-selected': { @@ -75,13 +76,6 @@ function ToggleCustomTheme({ const steps = ['Shipping address', 'Payment details', 'Review your order']; -const logoStyle = { - width: '140px', - height: '56px', - marginLeft: '-4px', - marginRight: '-8px', -}; - function getStepContent(step: number) { switch (step) { case 0: @@ -153,13 +147,7 @@ export default function Checkout() { sx={{ ml: '-8px' }} > Back to - <img - src={ - 'https://assets-global.website-files.com/61ed56ae9da9fd7e0ef0a967/61f12e6faf73568658154dae_SitemarkDefault.svg' - } - style={logoStyle} - alt="Sitemark's logo" - /> + <SitemarkIcon /> </Button> </Box> <Box @@ -215,13 +203,7 @@ export default function Checkout() { sx={{ alignSelf: 'start' }} > Back to - <img - src={ - 'https://assets-global.website-files.com/61ed56ae9da9fd7e0ef0a967/61f12e6faf73568658154dae_SitemarkDefault.svg' - } - style={logoStyle} - alt="Sitemark's logo" - /> + <SitemarkIcon /> </Button> <ToggleColorMode mode={mode} toggleColorMode={toggleColorMode} /> </Box> diff --git a/docs/data/material/getting-started/templates/checkout/PaymentForm.js b/docs/data/material/getting-started/templates/checkout/PaymentForm.js index 219a48e8cade76..3c8e573a1e3005 100644 --- a/docs/data/material/getting-started/templates/checkout/PaymentForm.js +++ b/docs/data/material/getting-started/templates/checkout/PaymentForm.js @@ -73,39 +73,101 @@ export default function PaymentForm() { }} > <Card - raised={paymentType === 'creditCard'} - sx={{ + sx={(theme) => ({ maxWidth: { sm: '100%', md: '50%' }, flexGrow: 1, - outline: '1px solid', - outlineColor: - paymentType === 'creditCard' ? 'primary.main' : 'divider', - backgroundColor: - paymentType === 'creditCard' ? 'background.default' : '', - }} + border: '1px solid', + borderColor: 'divider', + '&:hover': { + background: + theme.palette.mode === 'light' + ? 'linear-gradient(to bottom right, hsla(210, 100%, 97%, 0.5) 25%, hsla(210, 100%, 90%, 0.3) 100%)' + : 'linear-gradient(to right bottom, hsla(210, 100%, 12%, 0.2) 25%, hsla(210, 100%, 16%, 0.2) 100%)', + borderColor: + theme.palette.mode === 'light' ? 'primary.light' : 'primary.dark', + boxShadow: + theme.palette.mode === 'light' + ? '0px 2px 8px hsla(0, 0%, 0%, 0.1)' + : '0px 1px 8px hsla(210, 100%, 25%, 0.5) ', + }, + ...(paymentType === 'creditCard' && { + backgroundColor: 'action.selected', + borderColor: + theme.palette.mode === 'light' ? 'primary.light' : 'primary.dark', + }), + })} > - <CardActionArea onClick={() => setPaymentType('creditCard')}> + <CardActionArea + onClick={() => setPaymentType('creditCard')} + sx={{ + '.MuiCardActionArea-focusHighlight': { + backgroundColor: 'transparent', + }, + '&:focus-visible': { + backgroundColor: 'action.hover', + }, + }} + > <CardContent sx={{ display: 'flex', alignItems: 'center', gap: 1 }}> - <CreditCardRoundedIcon color="primary" fontSize="small" /> + <CreditCardRoundedIcon + fontSize="small" + sx={(theme) => ({ + color: theme.palette.mode === 'light' ? 'grey.400' : 'grey.600', + ...(paymentType === 'creditCard' && { + color: 'primary.main', + }), + })} + /> <Typography fontWeight="medium">Card</Typography> </CardContent> </CardActionArea> </Card> <Card - raised={paymentType === 'bankTransfer'} - sx={{ + sx={(theme) => ({ maxWidth: { sm: '100%', md: '50%' }, flexGrow: 1, - outline: '1px solid', - outlineColor: - paymentType === 'bankTransfer' ? 'primary.main' : 'divider', - backgroundColor: - paymentType === 'bankTransfer' ? 'background.default' : '', - }} + border: '1px solid', + borderColor: 'divider', + '&:hover': { + background: + theme.palette.mode === 'light' + ? 'linear-gradient(to bottom right, hsla(210, 100%, 97%, 0.5) 25%, hsla(210, 100%, 90%, 0.3) 100%)' + : 'linear-gradient(to right bottom, hsla(210, 100%, 12%, 0.2) 25%, hsla(210, 100%, 16%, 0.2) 100%)', + borderColor: + theme.palette.mode === 'light' ? 'primary.light' : 'primary.dark', + boxShadow: + theme.palette.mode === 'light' + ? '0px 2px 8px hsla(0, 0%, 0%, 0.1)' + : '0px 1px 8px hsla(210, 100%, 25%, 0.5) ', + }, + ...(paymentType === 'bankTransfer' && { + backgroundColor: 'action.selected', + borderColor: + theme.palette.mode === 'light' ? 'primary.light' : 'primary.dark', + }), + })} > - <CardActionArea onClick={() => setPaymentType('bankTransfer')}> + <CardActionArea + onClick={() => setPaymentType('bankTransfer')} + sx={{ + '.MuiCardActionArea-focusHighlight': { + backgroundColor: 'transparent', + }, + '&:focus-visible': { + backgroundColor: 'action.hover', + }, + }} + > <CardContent sx={{ display: 'flex', alignItems: 'center', gap: 1 }}> - <AccountBalanceRoundedIcon color="primary" fontSize="small" /> + <AccountBalanceRoundedIcon + fontSize="small" + sx={(theme) => ({ + color: theme.palette.mode === 'light' ? 'grey.400' : 'grey.600', + ...(paymentType === 'bankTransfer' && { + color: 'primary.main', + }), + })} + /> <Typography fontWeight="medium">Bank account</Typography> </CardContent> </CardActionArea> @@ -132,7 +194,7 @@ export default function PaymentForm() { border: '1px solid ', borderColor: 'divider', backgroundColor: 'background.paper', - boxShadow: '0px 4px 8px rgba(0, 0, 0, 0.05)', + boxShadow: '0px 4px 8px hsla(210, 0%, 0%, 0.05)', }} > <Box sx={{ display: 'flex', justifyContent: 'space-between' }}> diff --git a/docs/data/material/getting-started/templates/checkout/PaymentForm.tsx b/docs/data/material/getting-started/templates/checkout/PaymentForm.tsx index 86bd90611d6ec9..d6db3289ae9970 100644 --- a/docs/data/material/getting-started/templates/checkout/PaymentForm.tsx +++ b/docs/data/material/getting-started/templates/checkout/PaymentForm.tsx @@ -75,39 +75,101 @@ export default function PaymentForm() { }} > <Card - raised={paymentType === 'creditCard'} - sx={{ + sx={(theme) => ({ maxWidth: { sm: '100%', md: '50%' }, flexGrow: 1, - outline: '1px solid', - outlineColor: - paymentType === 'creditCard' ? 'primary.main' : 'divider', - backgroundColor: - paymentType === 'creditCard' ? 'background.default' : '', - }} + border: '1px solid', + borderColor: 'divider', + '&:hover': { + background: + theme.palette.mode === 'light' + ? 'linear-gradient(to bottom right, hsla(210, 100%, 97%, 0.5) 25%, hsla(210, 100%, 90%, 0.3) 100%)' + : 'linear-gradient(to right bottom, hsla(210, 100%, 12%, 0.2) 25%, hsla(210, 100%, 16%, 0.2) 100%)', + borderColor: + theme.palette.mode === 'light' ? 'primary.light' : 'primary.dark', + boxShadow: + theme.palette.mode === 'light' + ? '0px 2px 8px hsla(0, 0%, 0%, 0.1)' + : '0px 1px 8px hsla(210, 100%, 25%, 0.5) ', + }, + ...(paymentType === 'creditCard' && { + backgroundColor: 'action.selected', + borderColor: + theme.palette.mode === 'light' ? 'primary.light' : 'primary.dark', + }), + })} > - <CardActionArea onClick={() => setPaymentType('creditCard')}> + <CardActionArea + onClick={() => setPaymentType('creditCard')} + sx={{ + '.MuiCardActionArea-focusHighlight': { + backgroundColor: 'transparent', + }, + '&:focus-visible': { + backgroundColor: 'action.hover', + }, + }} + > <CardContent sx={{ display: 'flex', alignItems: 'center', gap: 1 }}> - <CreditCardRoundedIcon color="primary" fontSize="small" /> + <CreditCardRoundedIcon + fontSize="small" + sx={(theme) => ({ + color: theme.palette.mode === 'light' ? 'grey.400' : 'grey.600', + ...(paymentType === 'creditCard' && { + color: 'primary.main', + }), + })} + /> <Typography fontWeight="medium">Card</Typography> </CardContent> </CardActionArea> </Card> <Card - raised={paymentType === 'bankTransfer'} - sx={{ + sx={(theme) => ({ maxWidth: { sm: '100%', md: '50%' }, flexGrow: 1, - outline: '1px solid', - outlineColor: - paymentType === 'bankTransfer' ? 'primary.main' : 'divider', - backgroundColor: - paymentType === 'bankTransfer' ? 'background.default' : '', - }} + border: '1px solid', + borderColor: 'divider', + '&:hover': { + background: + theme.palette.mode === 'light' + ? 'linear-gradient(to bottom right, hsla(210, 100%, 97%, 0.5) 25%, hsla(210, 100%, 90%, 0.3) 100%)' + : 'linear-gradient(to right bottom, hsla(210, 100%, 12%, 0.2) 25%, hsla(210, 100%, 16%, 0.2) 100%)', + borderColor: + theme.palette.mode === 'light' ? 'primary.light' : 'primary.dark', + boxShadow: + theme.palette.mode === 'light' + ? '0px 2px 8px hsla(0, 0%, 0%, 0.1)' + : '0px 1px 8px hsla(210, 100%, 25%, 0.5) ', + }, + ...(paymentType === 'bankTransfer' && { + backgroundColor: 'action.selected', + borderColor: + theme.palette.mode === 'light' ? 'primary.light' : 'primary.dark', + }), + })} > - <CardActionArea onClick={() => setPaymentType('bankTransfer')}> + <CardActionArea + onClick={() => setPaymentType('bankTransfer')} + sx={{ + '.MuiCardActionArea-focusHighlight': { + backgroundColor: 'transparent', + }, + '&:focus-visible': { + backgroundColor: 'action.hover', + }, + }} + > <CardContent sx={{ display: 'flex', alignItems: 'center', gap: 1 }}> - <AccountBalanceRoundedIcon color="primary" fontSize="small" /> + <AccountBalanceRoundedIcon + fontSize="small" + sx={(theme) => ({ + color: theme.palette.mode === 'light' ? 'grey.400' : 'grey.600', + ...(paymentType === 'bankTransfer' && { + color: 'primary.main', + }), + })} + /> <Typography fontWeight="medium">Bank account</Typography> </CardContent> </CardActionArea> @@ -134,7 +196,7 @@ export default function PaymentForm() { border: '1px solid ', borderColor: 'divider', backgroundColor: 'background.paper', - boxShadow: '0px 4px 8px rgba(0, 0, 0, 0.05)', + boxShadow: '0px 4px 8px hsla(210, 0%, 0%, 0.05)', }} > <Box sx={{ display: 'flex', justifyContent: 'space-between' }}> diff --git a/docs/data/material/getting-started/templates/checkout/SitemarkIcon.js b/docs/data/material/getting-started/templates/checkout/SitemarkIcon.js new file mode 100644 index 00000000000000..f313221f7f9a3c --- /dev/null +++ b/docs/data/material/getting-started/templates/checkout/SitemarkIcon.js @@ -0,0 +1,53 @@ +import * as React from 'react'; +import SvgIcon from '@mui/material/SvgIcon'; + +export default function SitemarkIcon() { + return ( + <SvgIcon sx={{ height: 21, width: 100, ml: 1 }}> + <svg + width={86} + height={19} + viewBox="0 0 86 19" + fill="none" + xmlns="http://www.w3.org/2000/svg" + > + <path + fill="#B4C0D3" + d="m.787 12.567 6.055-2.675 3.485 2.006.704 6.583-4.295-.035.634-4.577-.74-.422-3.625 2.817-2.218-3.697Z" + /> + <path + fill="#00D3AB" + d="m10.714 11.616 5.352 3.908 2.112-3.767-4.295-1.725v-.845l4.295-1.76-2.112-3.732-5.352 3.908v4.013Z" + /> + <path + fill="#4876EF" + d="m10.327 7.286.704-6.583-4.295.07.634 4.577-.74.422-3.66-2.816L.786 6.617l6.055 2.676 3.485-2.007Z" + /> + <path + fill="#4876EE" + d="M32.507 8.804v6.167h2.312v-7.86h-3.366v1.693h1.054ZM32.435 6.006c.212.22.535.33.968.33.434 0 .751-.11.953-.33.213-.23.318-.516.318-.86 0-.354-.105-.641-.318-.86-.202-.23-.52-.345-.953-.345-.433 0-.756.115-.968.344-.202.22-.303.507-.303.86 0 .345.101.632.303.861ZM24.46 14.799c.655.296 1.46.444 2.413.444.896 0 1.667-.139 2.312-.416.645-.277 1.141-.664 1.488-1.162.357-.506.535-1.094.535-1.764 0-.65-.169-1.2-.506-1.649-.328-.459-.785-.818-1.373-1.076-.587-.267-1.266-.435-2.037-.502l-.809-.071c-.481-.039-.828-.168-1.04-.388a1.08 1.08 0 0 1-.318-.774c0-.23.058-.44.173-.631.116-.201.29-.359.52-.474.241-.114.535-.172.882-.172.366 0 .67.067.91.201.053.029.104.059.15.09l.012.009.052.037c.146.111.263.243.35.395.125.21.188.444.188.703h2.311c0-.689-.159-1.286-.476-1.793-.318-.516-.776-.913-1.373-1.19-.588-.287-1.296-.43-2.124-.43-.79 0-1.474.133-2.052.4a3.131 3.131 0 0 0-1.358 1.12c-.318.487-.477 1.066-.477 1.735 0 .927.314 1.673.94 2.237.626.564 1.464.89 2.514.976l.794.071c.645.058 1.113.187 1.401.388a.899.899 0 0 1 .434.788 1.181 1.181 0 0 1-.231.717c-.154.201-.38.36-.68.474-.298.115-.669.172-1.112.172-.49 0-.89-.067-1.199-.2-.308-.144-.539-.33-.694-.56a1.375 1.375 0 0 1-.216-.746h-2.297c0 .679.168 1.281.505 1.807.337.517.834.928 1.489 1.234ZM39.977 15.07c-.8 0-1.445-.095-1.936-.286a2.03 2.03 0 0 1-1.084-.99c-.221-.469-.332-1.1-.332-1.893V8.789h-1.2V7.11h1.2V4.988h2.153V7.11h2.312V8.79h-2.312v3.198c0 .373.096.66.289.86.202.192.486.287.852.287h1.17v1.937h-1.112Z" + /> + <path + fill="#4876EE" + fillRule="evenodd" + d="M43.873 14.899c.52.23 1.117.344 1.791.344.665 0 1.252-.115 1.763-.344.51-.23.934-.55 1.271-.96.337-.412.564-.88.679-1.407h-2.124c-.096.24-.279.44-.549.603-.27.162-.616.244-1.04.244-.262 0-.497-.031-.704-.093a1.572 1.572 0 0 1-.423-.194 1.662 1.662 0 0 1-.636-.803 3.159 3.159 0 0 1-.163-.645h5.784v-.775a4.28 4.28 0 0 0-.463-1.98 3.686 3.686 0 0 0-1.343-1.477c-.578-.382-1.291-.574-2.139-.574-.645 0-1.223.115-1.733.345-.501.22-.92.52-1.257.903a4.178 4.178 0 0 0-.78 1.305c-.174.478-.26.98-.26 1.506v.287c0 .507.086 1.004.26 1.492.183.478.443.913.78 1.305.347.382.775.688 1.286.918Zm-.094-4.674.02-.09a2.507 2.507 0 0 1 .117-.356c.145-.354.356-.622.636-.804.104-.067.217-.123.339-.165.204-.071.433-.107.686-.107.395 0 .723.09.983.272.27.173.472.426.607.76a2.487 2.487 0 0 1 .16.603h-3.57c.006-.038.013-.076.022-.113Z" + clipRule="evenodd" + /> + <path + fill="#4876EE" + d="M50.476 14.97V7.112h1.835v1.98a4.54 4.54 0 0 1 .173-.603c.202-.536.506-.937.91-1.205.405-.277.9-.416 1.488-.416h.101c.598 0 1.094.139 1.489.416.404.268.707.67.91 1.205l.016.04.013.037.028-.077c.212-.536.52-.937.925-1.205.405-.277.901-.416 1.489-.416h.1c.598 0 1.098.139 1.503.416.414.268.727.67.94 1.205.211.535.317 1.205.317 2.008v4.475h-2.312v-4.604c0-.43-.115-.78-.346-1.047-.222-.268-.54-.402-.954-.402-.414 0-.742.139-.982.416-.241.268-.362.626-.362 1.076v4.56h-2.326v-4.603c0-.43-.115-.78-.346-1.047-.222-.268-.535-.402-.94-.402-.423 0-.756.139-.996.416-.241.268-.362.626-.362 1.076v4.56h-2.311Z" + /> + <path + fill="#4876EE" + fillRule="evenodd" + d="M68.888 13.456v1.515h1.834v-4.82c0-.726-.144-1.319-.433-1.778-.289-.468-.712-.817-1.271-1.047-.549-.23-1.228-.344-2.037-.344a27.76 27.76 0 0 0-.896.014c-.318.01-.626.024-.924.043l-.229.016a36.79 36.79 0 0 0-.552.042v1.936a81.998 81.998 0 0 1 1.733-.09 37.806 37.806 0 0 1 1.171-.025c.424 0 .732.1.925.301.193.201.289.502.289.904v.029h-1.43c-.704 0-1.325.09-1.864.272-.54.172-.959.445-1.257.818-.299.363-.448.832-.448 1.405 0 .526.12.98.361 1.363.24.373.573.66.997.86.433.201.934.302 1.502.302.55 0 1.012-.1 1.388-.302.385-.2.683-.487.895-.86a2.443 2.443 0 0 0 .228-.498l.018-.056Zm-.39-1.397v-.63h-1.445c-.405 0-.718.1-.939.3-.212.192-.318.455-.318.79 0 .157.026.3.08.429a.99.99 0 0 0 .238.345c.221.191.534.287.939.287a2.125 2.125 0 0 0 .394-.038c.106-.021.206-.052.3-.092.212-.095.385-.253.52-.473.135-.22.212-.526.23-.918Z" + clipRule="evenodd" + /> + <path + fill="#4876EE" + d="M72.106 14.97V7.11h1.835v2.595c.088-.74.31-1.338.665-1.791.481-.603 1.174-.904 2.08-.904h.303v1.98h-.578c-.635 0-1.127.172-1.473.516-.347.334-.52.822-.52 1.463v4.001h-2.312ZM79.92 11.298h.767l2.499 3.672h2.6l-3.169-4.51 2.606-3.35h-2.427l-2.875 3.737V4.5h-2.312v10.47h2.312v-3.672Z" + /> + </svg> + </SvgIcon> + ); +} diff --git a/docs/data/material/getting-started/templates/checkout/SitemarkIcon.tsx b/docs/data/material/getting-started/templates/checkout/SitemarkIcon.tsx new file mode 100644 index 00000000000000..f313221f7f9a3c --- /dev/null +++ b/docs/data/material/getting-started/templates/checkout/SitemarkIcon.tsx @@ -0,0 +1,53 @@ +import * as React from 'react'; +import SvgIcon from '@mui/material/SvgIcon'; + +export default function SitemarkIcon() { + return ( + <SvgIcon sx={{ height: 21, width: 100, ml: 1 }}> + <svg + width={86} + height={19} + viewBox="0 0 86 19" + fill="none" + xmlns="http://www.w3.org/2000/svg" + > + <path + fill="#B4C0D3" + d="m.787 12.567 6.055-2.675 3.485 2.006.704 6.583-4.295-.035.634-4.577-.74-.422-3.625 2.817-2.218-3.697Z" + /> + <path + fill="#00D3AB" + d="m10.714 11.616 5.352 3.908 2.112-3.767-4.295-1.725v-.845l4.295-1.76-2.112-3.732-5.352 3.908v4.013Z" + /> + <path + fill="#4876EF" + d="m10.327 7.286.704-6.583-4.295.07.634 4.577-.74.422-3.66-2.816L.786 6.617l6.055 2.676 3.485-2.007Z" + /> + <path + fill="#4876EE" + d="M32.507 8.804v6.167h2.312v-7.86h-3.366v1.693h1.054ZM32.435 6.006c.212.22.535.33.968.33.434 0 .751-.11.953-.33.213-.23.318-.516.318-.86 0-.354-.105-.641-.318-.86-.202-.23-.52-.345-.953-.345-.433 0-.756.115-.968.344-.202.22-.303.507-.303.86 0 .345.101.632.303.861ZM24.46 14.799c.655.296 1.46.444 2.413.444.896 0 1.667-.139 2.312-.416.645-.277 1.141-.664 1.488-1.162.357-.506.535-1.094.535-1.764 0-.65-.169-1.2-.506-1.649-.328-.459-.785-.818-1.373-1.076-.587-.267-1.266-.435-2.037-.502l-.809-.071c-.481-.039-.828-.168-1.04-.388a1.08 1.08 0 0 1-.318-.774c0-.23.058-.44.173-.631.116-.201.29-.359.52-.474.241-.114.535-.172.882-.172.366 0 .67.067.91.201.053.029.104.059.15.09l.012.009.052.037c.146.111.263.243.35.395.125.21.188.444.188.703h2.311c0-.689-.159-1.286-.476-1.793-.318-.516-.776-.913-1.373-1.19-.588-.287-1.296-.43-2.124-.43-.79 0-1.474.133-2.052.4a3.131 3.131 0 0 0-1.358 1.12c-.318.487-.477 1.066-.477 1.735 0 .927.314 1.673.94 2.237.626.564 1.464.89 2.514.976l.794.071c.645.058 1.113.187 1.401.388a.899.899 0 0 1 .434.788 1.181 1.181 0 0 1-.231.717c-.154.201-.38.36-.68.474-.298.115-.669.172-1.112.172-.49 0-.89-.067-1.199-.2-.308-.144-.539-.33-.694-.56a1.375 1.375 0 0 1-.216-.746h-2.297c0 .679.168 1.281.505 1.807.337.517.834.928 1.489 1.234ZM39.977 15.07c-.8 0-1.445-.095-1.936-.286a2.03 2.03 0 0 1-1.084-.99c-.221-.469-.332-1.1-.332-1.893V8.789h-1.2V7.11h1.2V4.988h2.153V7.11h2.312V8.79h-2.312v3.198c0 .373.096.66.289.86.202.192.486.287.852.287h1.17v1.937h-1.112Z" + /> + <path + fill="#4876EE" + fillRule="evenodd" + d="M43.873 14.899c.52.23 1.117.344 1.791.344.665 0 1.252-.115 1.763-.344.51-.23.934-.55 1.271-.96.337-.412.564-.88.679-1.407h-2.124c-.096.24-.279.44-.549.603-.27.162-.616.244-1.04.244-.262 0-.497-.031-.704-.093a1.572 1.572 0 0 1-.423-.194 1.662 1.662 0 0 1-.636-.803 3.159 3.159 0 0 1-.163-.645h5.784v-.775a4.28 4.28 0 0 0-.463-1.98 3.686 3.686 0 0 0-1.343-1.477c-.578-.382-1.291-.574-2.139-.574-.645 0-1.223.115-1.733.345-.501.22-.92.52-1.257.903a4.178 4.178 0 0 0-.78 1.305c-.174.478-.26.98-.26 1.506v.287c0 .507.086 1.004.26 1.492.183.478.443.913.78 1.305.347.382.775.688 1.286.918Zm-.094-4.674.02-.09a2.507 2.507 0 0 1 .117-.356c.145-.354.356-.622.636-.804.104-.067.217-.123.339-.165.204-.071.433-.107.686-.107.395 0 .723.09.983.272.27.173.472.426.607.76a2.487 2.487 0 0 1 .16.603h-3.57c.006-.038.013-.076.022-.113Z" + clipRule="evenodd" + /> + <path + fill="#4876EE" + d="M50.476 14.97V7.112h1.835v1.98a4.54 4.54 0 0 1 .173-.603c.202-.536.506-.937.91-1.205.405-.277.9-.416 1.488-.416h.101c.598 0 1.094.139 1.489.416.404.268.707.67.91 1.205l.016.04.013.037.028-.077c.212-.536.52-.937.925-1.205.405-.277.901-.416 1.489-.416h.1c.598 0 1.098.139 1.503.416.414.268.727.67.94 1.205.211.535.317 1.205.317 2.008v4.475h-2.312v-4.604c0-.43-.115-.78-.346-1.047-.222-.268-.54-.402-.954-.402-.414 0-.742.139-.982.416-.241.268-.362.626-.362 1.076v4.56h-2.326v-4.603c0-.43-.115-.78-.346-1.047-.222-.268-.535-.402-.94-.402-.423 0-.756.139-.996.416-.241.268-.362.626-.362 1.076v4.56h-2.311Z" + /> + <path + fill="#4876EE" + fillRule="evenodd" + d="M68.888 13.456v1.515h1.834v-4.82c0-.726-.144-1.319-.433-1.778-.289-.468-.712-.817-1.271-1.047-.549-.23-1.228-.344-2.037-.344a27.76 27.76 0 0 0-.896.014c-.318.01-.626.024-.924.043l-.229.016a36.79 36.79 0 0 0-.552.042v1.936a81.998 81.998 0 0 1 1.733-.09 37.806 37.806 0 0 1 1.171-.025c.424 0 .732.1.925.301.193.201.289.502.289.904v.029h-1.43c-.704 0-1.325.09-1.864.272-.54.172-.959.445-1.257.818-.299.363-.448.832-.448 1.405 0 .526.12.98.361 1.363.24.373.573.66.997.86.433.201.934.302 1.502.302.55 0 1.012-.1 1.388-.302.385-.2.683-.487.895-.86a2.443 2.443 0 0 0 .228-.498l.018-.056Zm-.39-1.397v-.63h-1.445c-.405 0-.718.1-.939.3-.212.192-.318.455-.318.79 0 .157.026.3.08.429a.99.99 0 0 0 .238.345c.221.191.534.287.939.287a2.125 2.125 0 0 0 .394-.038c.106-.021.206-.052.3-.092.212-.095.385-.253.52-.473.135-.22.212-.526.23-.918Z" + clipRule="evenodd" + /> + <path + fill="#4876EE" + d="M72.106 14.97V7.11h1.835v2.595c.088-.74.31-1.338.665-1.791.481-.603 1.174-.904 2.08-.904h.303v1.98h-.578c-.635 0-1.127.172-1.473.516-.347.334-.52.822-.52 1.463v4.001h-2.312ZM79.92 11.298h.767l2.499 3.672h2.6l-3.169-4.51 2.606-3.35h-2.427l-2.875 3.737V4.5h-2.312v10.47h2.312v-3.672Z" + /> + </svg> + </SvgIcon> + ); +} diff --git a/docs/data/material/getting-started/templates/checkout/ToggleColorMode.tsx b/docs/data/material/getting-started/templates/checkout/ToggleColorMode.tsx index 3783eb9d80714d..1fd99c941fe0ab 100644 --- a/docs/data/material/getting-started/templates/checkout/ToggleColorMode.tsx +++ b/docs/data/material/getting-started/templates/checkout/ToggleColorMode.tsx @@ -11,7 +11,10 @@ interface ToggleColorModeProps { toggleColorMode: () => void; } -function ToggleColorMode({ mode, toggleColorMode }: ToggleColorModeProps) { +export default function ToggleColorMode({ + mode, + toggleColorMode, +}: ToggleColorModeProps) { return ( <IconButton onClick={toggleColorMode} @@ -26,5 +29,3 @@ function ToggleColorMode({ mode, toggleColorMode }: ToggleColorModeProps) { </IconButton> ); } - -export default ToggleColorMode; diff --git a/docs/data/material/getting-started/templates/checkout/getCheckoutTheme.js b/docs/data/material/getting-started/templates/checkout/getCheckoutTheme.js index ba208dfca5bb32..300aba317f8cf6 100644 --- a/docs/data/material/getting-started/templates/checkout/getCheckoutTheme.js +++ b/docs/data/material/getting-started/templates/checkout/getCheckoutTheme.js @@ -1,69 +1,75 @@ -import { alpha } from '@mui/material/styles'; -import { red } from '@mui/material/colors'; +import * as React from 'react'; -export const brand = { - 50: '#F0F7FF', - 100: '#CEE5FD', - 200: '#9CCCFC', - 300: '#55A6F6', - 400: '#0A66C2', - 500: '#0959AA', - 600: '#064079', - 700: '#033363', - 800: '#02294F', - 900: '#021F3B', -}; +import { createTheme, alpha } from '@mui/material/styles'; + +import CheckBoxOutlineBlankRoundedIcon from '@mui/icons-material/CheckBoxOutlineBlankRounded'; +import CheckRoundedIcon from '@mui/icons-material/CheckRounded'; -export const secondary = { - 50: '#F9F0FF', - 100: '#E9CEFD', - 200: '#D49CFC', - 300: '#B355F6', - 400: '#750AC2', - 500: '#6709AA', - 600: '#490679', - 700: '#3B0363', - 800: '#2F024F', - 900: '#23023B', +const customTheme = createTheme(); + +export const brand = { + 50: 'hsl(210, 100%, 97%)', + 100: 'hsl(210, 100%, 90%)', + 200: 'hsl(210, 100%, 80%)', + 300: 'hsl(210, 100%, 65%)', + 400: 'hsl(210, 98%, 48%)', + 500: 'hsl(210, 98%, 42%)', + 600: 'hsl(210, 98%, 55%)', + 700: 'hsl(210, 100%, 35%)', + 800: 'hsl(210, 100%, 16%)', + 900: 'hsl(210, 100%, 21%)', }; export const gray = { - 50: '#FBFCFE', - 100: '#EAF0F5', - 200: '#D6E2EB', - 300: '#BFCCD9', - 400: '#94A6B8', - 500: '#5B6B7C', - 600: '#4C5967', - 700: '#364049', - 800: '#131B20', - 900: '#090E10', + 50: 'hsl(220, 60%, 99%)', + 100: 'hsl(220, 35%, 94%)', + 200: 'hsl(220, 35%, 88%)', + 300: 'hsl(220, 25%, 80%)', + 400: 'hsl(220, 20%, 65%)', + 500: 'hsl(220, 20%, 42%)', + 600: 'hsl(220, 25%, 35%)', + 700: 'hsl(220, 25%, 25%)', + 800: 'hsl(220, 25%, 10%)', + 900: 'hsl(220, 30%, 5%)', }; export const green = { - 50: '#F6FEF6', - 100: '#E3FBE3', - 200: '#C7F7C7', - 300: '#A1E8A1', - 400: '#51BC51', - 500: '#1F7A1F', - 600: '#136C13', - 700: '#0A470A', - 800: '#042F04', - 900: '#021D02', + 50: 'hsl(120, 80%, 98%)', + 100: 'hsl(120, 75%, 94%)', + 200: 'hsl(120, 75%, 87%)', + 300: 'hsl(120, 61%, 77%)', + 400: 'hsl(120, 44%, 53%)', + 500: 'hsl(120, 59%, 30%)', + 600: 'hsl(120, 70%, 25%)', + 700: 'hsl(120, 75%, 16%)', + 800: 'hsl(120, 84%, 10%)', + 900: 'hsl(120, 87%, 6%)', }; export const orange = { - 50: '#FFFBF0', - 100: '#FDF1CE', - 200: '#FCE49C', - 300: '#F6CE55', - 400: '#C2940A', - 500: '#AA8109', - 600: '#795C06', - 700: '#634B03', - 800: '#4F3C02', - 900: '#3B2D02', + 50: 'hsl(45, 100%, 97%)', + 100: 'hsl(45, 92%, 90%)', + 200: 'hsl(45, 94%, 80%)', + 300: 'hsl(45, 90%, 65%)', + 400: 'hsl(45, 90%, 40%)', + 500: 'hsl(45, 90%, 35%)', + 600: 'hsl(45, 91%, 25%)', + 700: 'hsl(45, 94%, 20%)', + 800: 'hsl(45, 95%, 16%)', + 900: 'hsl(45, 93%, 12%)', +}; + +export const red = { + 50: 'hsl(0, 100%, 97%)', + 100: 'hsl(0, 92%, 90%)', + 200: 'hsl(0, 94%, 80%)', + 300: 'hsl(0, 90%, 65%)', + 400: 'hsl(0, 90%, 40%)', + 500: 'hsl(0, 90%, 30%)', + 600: 'hsl(0, 91%, 25%)', + 700: 'hsl(0, 94%, 20%)', + 800: 'hsl(0, 95%, 16%)', + 900: 'hsl(0, 93%, 12%)', }; const getDesignTokens = (mode) => ({ @@ -81,26 +87,25 @@ const getDesignTokens = (mode) => ({ dark: brand[800], }), }, - secondary: { - light: secondary[300], - main: secondary[500], - dark: secondary[800], + warning: { + light: orange[300], + main: orange[400], + dark: orange[800], ...(mode === 'dark' && { - light: secondary[400], - main: secondary[500], - dark: secondary[900], + light: orange[400], + main: orange[500], + dark: orange[700], }), }, - warning: { - main: '#F7B538', - dark: '#F79F00', - ...(mode === 'dark' && { main: '#F7B538', dark: '#F79F00' }), - }, error: { - light: red[50], - main: red[500], - dark: red[700], - ...(mode === 'dark' && { light: '#D32F2F', main: '#D32F2F', dark: '#B22A2A' }), + light: red[300], + main: red[400], + dark: red[800], + ...(mode === 'dark' && { + light: red[400], + main: red[500], + dark: red[700], + }), }, success: { light: green[300], @@ -113,27 +118,18 @@ const getDesignTokens = (mode) => ({ }), }, grey: { - 50: gray[50], - 100: gray[100], - 200: gray[200], - 300: gray[300], - 400: gray[400], - 500: gray[500], - 600: gray[600], - 700: gray[700], - 800: gray[800], - 900: gray[900], + ...gray, }, divider: mode === 'dark' ? alpha(gray[600], 0.3) : alpha(gray[300], 0.5), background: { - default: '#fff', - paper: gray[50], - ...(mode === 'dark' && { default: gray[900], paper: gray[800] }), + default: 'hsl(0, 0%, 100%)', + paper: gray[100], + ...(mode === 'dark' && { default: 'hsl(220, 30%, 3%)', paper: gray[900] }), }, text: { primary: gray[800], secondary: gray[600], - ...(mode === 'dark' && { primary: '#fff', secondary: gray[400] }), + ...(mode === 'dark' && { primary: 'hsl(0, 0%, 100%)', secondary: gray[400] }), }, action: { selected: `${alpha(brand[200], 0.2)}`, @@ -145,51 +141,54 @@ const getDesignTokens = (mode) => ({ typography: { fontFamily: ['"Inter", "sans-serif"'].join(','), h1: { - fontSize: 60, + fontSize: customTheme.typography.pxToRem(60), fontWeight: 600, - lineHeight: 78 / 70, - letterSpacing: -0.2, + lineHeight: 1.2, + letterSpacing: -0.5, }, h2: { - fontSize: 48, + fontSize: customTheme.typography.pxToRem(48), fontWeight: 600, lineHeight: 1.2, }, h3: { - fontSize: 42, + fontSize: customTheme.typography.pxToRem(42), lineHeight: 1.2, }, h4: { - fontSize: 36, + fontSize: customTheme.typography.pxToRem(36), fontWeight: 500, lineHeight: 1.5, }, h5: { - fontSize: 20, + fontSize: customTheme.typography.pxToRem(20), fontWeight: 600, }, h6: { - fontSize: 18, + fontSize: customTheme.typography.pxToRem(18), }, subtitle1: { - fontSize: 18, + fontSize: customTheme.typography.pxToRem(18), }, subtitle2: { - fontSize: 16, + fontSize: customTheme.typography.pxToRem(16), }, body1: { + fontSize: customTheme.typography.pxToRem(15), fontWeight: 400, - fontSize: 15, }, body2: { + fontSize: customTheme.typography.pxToRem(14), fontWeight: 400, - fontSize: 14, }, caption: { + fontSize: customTheme.typography.pxToRem(12), fontWeight: 400, - fontSize: 12, }, }, + shape: { + borderRadius: 12, + }, }); export default function getCheckoutTheme(mode) { @@ -213,38 +212,6 @@ export default function getCheckoutTheme(mode) { }), }, }, - MuiToggleButtonGroup: { - styleOverrides: { - root: ({ theme }) => ({ - borderRadius: '10px', - boxShadow: `0 4px 16px ${alpha(gray[400], 0.2)}`, - '& .Mui-selected': { - color: brand[500], - }, - ...(theme.palette.mode === 'dark' && { - '& .Mui-selected': { - color: '#fff', - }, - boxShadow: `0 4px 16px ${alpha(brand[700], 0.5)}`, - }), - }), - }, - }, - MuiToggleButton: { - styleOverrides: { - root: ({ theme }) => ({ - padding: '12px 16px', - textTransform: 'none', - borderRadius: '10px', - fontWeight: 500, - ...(theme.palette.mode === 'dark' && { - color: gray[400], - boxShadow: '0 4px 16px rgba(0, 0, 0, 0.5)', - '&.Mui-selected': { color: brand[300] }, - }), - }), - }, - }, MuiButtonBase: { defaultProps: { disableTouchRipple: true, @@ -253,9 +220,9 @@ export default function getCheckoutTheme(mode) { styleOverrides: { root: { boxSizing: 'border-box', - transition: 'all 100ms ease-in', + transition: 'all 100ms ease', '&:focus-visible': { - outline: `3px solid ${alpha(brand[500], 0.5)}`, + outline: `3px solid ${alpha(brand[400], 0.5)}`, outlineOffset: '2px', }, }, @@ -265,74 +232,125 @@ export default function getCheckoutTheme(mode) { styleOverrides: { root: ({ theme, ownerState }) => ({ boxShadow: 'none', - borderRadius: '10px', + borderRadius: theme.shape.borderRadius, textTransform: 'none', ...(ownerState.size === 'small' && { - maxHeight: '32px', + height: '2rem', // 32px + padding: '0 0.5rem', }), ...(ownerState.size === 'medium' && { - height: '40px', + height: '2.5rem', // 40px }), ...(ownerState.variant === 'contained' && ownerState.color === 'primary' && { - color: brand[50], - backgroundColor: brand[500], - backgroundImage: `linear-gradient(to bottom, ${brand[400]}, ${brand[500]})`, - boxShadow: `inset 0 1px ${alpha( - brand[300], - 0.5, - )}, inset 0 -2px ${alpha(brand[700], 0.5)}`, + color: 'white', + backgroundColor: brand[300], + backgroundImage: `linear-gradient(to bottom, ${alpha(brand[400], 0.8)}, ${brand[500]})`, + boxShadow: `inset 0 2px 0 ${alpha(brand[200], 0.2)}, inset 0 -2px 0 ${alpha(brand[700], 0.4)}`, border: `1px solid ${brand[500]}`, '&:hover': { - backgroundColor: brand[400], - backgroundImage: 'none', - boxShadow: `0 0 0 1px ${alpha(brand[300], 0.5)}`, + backgroundColor: brand[700], + boxShadow: 'none', + }, + '&:active': { + backgroundColor: brand[700], + boxShadow: `inset 0 2.5px 0 ${alpha(brand[700], 0.4)}`, }, }), ...(ownerState.variant === 'outlined' && { + color: brand[700], backgroundColor: alpha(brand[300], 0.1), - borderColor: brand[300], - color: brand[500], + borderColor: alpha(brand[200], 0.8), + boxShadow: `inset 0 2px ${alpha(brand[50], 0.5)}, inset 0 -2px ${alpha(brand[200], 0.2)}`, '&:hover': { - backgroundColor: alpha(brand[300], 0.3), - borderColor: brand[200], + backgroundColor: alpha(brand[300], 0.2), + borderColor: alpha(brand[300], 0.5), + boxShadow: 'none', }, - }), - ...(ownerState.variant === 'text' && { - color: brand[500], - '&:hover': { + '&:active': { backgroundColor: alpha(brand[300], 0.3), - borderColor: brand[200], + boxShadow: `inset 0 2.5px 0 ${alpha(brand[400], 0.2)}`, + backgroundImage: 'none', }, }), - ...(theme.palette.mode === 'dark' && { - ...(ownerState.variant === 'contained' && - ownerState.color === 'primary' && { - border: `1px solid ${brand[600]}`, + ...(ownerState.variant === 'outlined' && + ownerState.color === 'secondary' && { + backgroundColor: alpha(gray[300], 0.1), + borderColor: alpha(gray[300], 0.5), + color: gray[700], + '&:hover': { + backgroundColor: alpha(gray[300], 0.3), + borderColor: alpha(gray[300], 0.5), + boxShadow: 'none', + }, + '&:active': { + backgroundColor: alpha(gray[300], 0.4), + boxShadow: `inset 0 2.5px 0 ${alpha(gray[400], 0.2)}`, backgroundImage: 'none', - backgroundColor: brand[500], - '&:hover': { - background: brand[600], - backgroundImage: 'none', - boxShadow: `0 0 0 1px ${alpha(brand[700], 0.5)}`, - }, - }), - ...(ownerState.variant === 'outlined' && { - backgroundColor: alpha(brand[600], 0.1), - borderColor: brand[700], - color: brand[300], + }, + }), + ...(ownerState.variant === 'text' && + ownerState.color === 'primary' && { + color: brand[700], + '&:hover': { + backgroundColor: alpha(brand[300], 0.3), + }, + }), + ...(ownerState.variant === 'text' && + ownerState.color === 'info' && { + color: gray[700], '&:hover': { - backgroundColor: alpha(brand[600], 0.3), - borderColor: brand[700], + backgroundColor: alpha(gray[300], 0.3), }, }), - ...(ownerState.variant === 'text' && { - color: brand[300], + ...(theme.palette.mode === 'dark' && { + ...(ownerState.variant === 'outlined' && { + color: brand[200], + backgroundColor: alpha(brand[600], 0.1), + borderColor: alpha(brand[600], 0.6), + boxShadow: `inset 0 2.5px ${alpha(brand[400], 0.1)}, inset 0 -2px ${alpha(gray[900], 0.5)}`, '&:hover': { - backgroundColor: alpha(brand[600], 0.3), - borderColor: brand[700], + backgroundColor: alpha(brand[700], 0.2), + borderColor: alpha(brand[700], 0.5), + boxShadow: 'none', + }, + '&:active': { + backgroundColor: alpha(brand[800], 0.2), + boxShadow: `inset 0 2.5px 0 ${alpha(brand[900], 0.4)}`, + backgroundImage: 'none', }, }), + ...(ownerState.variant === 'text' && + ownerState.color === 'info' && { + color: gray[200], + '&:hover': { + backgroundColor: alpha(gray[700], 0.3), + }, + }), + ...(ownerState.variant === 'outlined' && + ownerState.color === 'secondary' && { + color: gray[300], + backgroundColor: alpha(gray[600], 0.1), + borderColor: alpha(gray[700], 0.5), + boxShadow: `inset 0 2.5px ${alpha(gray[600], 0.1)}, inset 0 -2px ${alpha(gray[900], 0.5)}`, + '&:hover': { + backgroundColor: alpha(gray[700], 0.2), + borderColor: alpha(gray[700], 0.5), + boxShadow: 'none', + }, + '&:active': { + backgroundColor: alpha(gray[800], 0.2), + boxShadow: `inset 0 2.5px 0 ${alpha(gray[900], 0.4)}`, + backgroundImage: 'none', + }, + }), + ...(ownerState.variant === 'text' && + ownerState.color === 'primary' && { + color: brand[200], + '&:hover': { + backgroundColor: alpha(brand[700], 0.3), + }, + }), }), }), }, @@ -340,118 +358,93 @@ export default function getCheckoutTheme(mode) { MuiCard: { styleOverrides: { root: ({ theme, ownerState }) => ({ + transition: 'all 100ms ease', backgroundColor: gray[50], - borderRadius: 10, - outline: `1px solid ${alpha(gray[200], 0.8)}`, + borderRadius: theme.shape.borderRadius, + border: `1px solid ${alpha(gray[200], 0.5)}`, boxShadow: 'none', - transition: 'background-color, border, 80ms ease', ...(ownerState.variant === 'outlined' && { - boxSizing: 'border-box', - background: `linear-gradient(to bottom, #FFF, ${gray[50]})`, - '&:hover': { - borderColor: brand[300], - boxShadow: `0 0 24px ${brand[100]}`, - }, + border: `1px solid ${gray[200]}`, + boxShadow: 'none', + background: `linear-gradient(to bottom, hsl(0, 0%, 100%), ${gray[50]})`, }), ...(theme.palette.mode === 'dark' && { backgroundColor: alpha(gray[800], 0.6), - outline: `1px solid ${alpha(gray[700], 0.3)}`, + border: `1px solid ${alpha(gray[700], 0.3)}`, ...(ownerState.variant === 'outlined' && { - boxSizing: 'border-box', + border: `1px solid ${alpha(gray[700], 0.4)}`, + boxShadow: 'none', background: `linear-gradient(to bottom, ${gray[900]}, ${alpha( gray[800], 0.5, )})`, - '&:hover': { - borderColor: brand[700], - boxShadow: `0 0 24px ${brand[800]}`, - }, }), }), }), }, }, - MuiDivider: { - styleOverrides: { - root: ({ theme }) => ({ - borderColor: `${alpha(gray[200], 0.8)}`, - ...(theme.palette.mode === 'dark' && { - borderColor: `${alpha(gray[700], 0.4)}`, - }), - }), - }, - }, - MuiPaper: { - styleOverrides: { - root: ({ theme }) => ({ - backgroundImage: 'none', - backgroundColor: gray[100], - ...(theme.palette.mode === 'dark' && { - backgroundColor: gray[800], - }), - }), + MuiCheckbox: { + defaultProps: { + disableRipple: true, + icon: ( + <CheckBoxOutlineBlankRoundedIcon + sx={{ color: 'hsla(210, 0%, 0%, 0.0)' }} + /> + ), + checkedIcon: <CheckRoundedIcon sx={{ height: 14, width: 14 }} />, }, - }, - MuiOutlinedInput: { styleOverrides: { - notchedOutline: { - border: 'none', - }, root: ({ theme }) => ({ - '& .MuiInputBase-input': { - '&::placeholder': { - opacity: 0.7, - color: gray[500], - }, - }, - boxSizing: 'border-box', - flexGrow: 1, - maxHeight: 40, - height: '100%', - borderRadius: '10px', - border: '1px solid', - borderColor: gray[200], - boxShadow: '0px 1px 1px rgba(0, 0, 0, 0.1)', + margin: 10, + height: 16, + width: 16, + borderRadius: 5, + border: '1px solid ', + borderColor: alpha(gray[300], 0.8), + boxShadow: '0 0 0 1.5px hsla(210, 0%, 0%, 0.04) inset', transition: 'border-color 120ms ease-in', backgroundColor: alpha(gray[100], 0.4), '&:hover': { borderColor: brand[300], }, - '&.Mui-focused': { + '&.Mui-focusVisible': { + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '2px', borderColor: brand[400], - outline: '4px solid', - outlineColor: brand[200], }, - ...(theme.palette.mode === 'dark' && { - '& .MuiInputBase-input': { - '&::placeholder': { - opacity: 1, - color: gray[500], - }, + '&.Mui-checked': { + color: 'white', + backgroundColor: brand[500], + borderColor: brand[500], + boxShadow: `none`, + '&:hover': { + backgroundColor: brand[600], }, - boxSizing: 'border-box', - flexGrow: 1, - minHeight: 40, - height: '100%', - borderRadius: '10px', - border: '1px solid', - borderColor: gray[700], - boxShadow: '0px 2px 2px rgb(0, 0, 0)', - backgroundColor: alpha(gray[800], 0.4), - transition: 'border-color 120ms ease-in', + }, + ...(theme.palette.mode === 'dark' && { + borderColor: alpha(gray[700], 0.5), + boxShadow: '0 0 0 1.5px hsl(210, 0%, 0%) inset', + backgroundColor: alpha(gray[900], 0.8), '&:hover': { borderColor: brand[300], }, - '&.Mui-focused': { + '&.Mui-focusVisible': { borderColor: brand[400], - outline: '4px solid', - outlineColor: alpha(brand[500], 0.5), + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '2px', }, }), }), - input: { - paddingLeft: 10, - }, + }, + }, + MuiDivider: { + styleOverrides: { + root: ({ theme }) => ({ + borderColor: `${alpha(gray[200], 0.8)}`, + ...(theme.palette.mode === 'dark' && { + borderColor: `${alpha(gray[700], 0.4)}`, + }), + }), }, }, MuiFormLabel: { @@ -462,6 +455,32 @@ export default function getCheckoutTheme(mode) { }), }, }, + MuiIconButton: { + styleOverrides: { + root: ({ theme, ownerState }) => ({ + ...(ownerState.size === 'small' && { + height: '2rem', + width: '2rem', + }), + ...(ownerState.size === 'medium' && { + height: '2.5rem', + width: '2.5rem', + }), + color: brand[500], + '&:hover': { + backgroundColor: alpha(brand[300], 0.3), + borderColor: brand[200], + }, + ...(theme.palette.mode === 'dark' && { + color: brand[200], + '&:hover': { + backgroundColor: alpha(brand[600], 0.3), + borderColor: brand[700], + }, + }), + }), + }, + }, MuiInputBase: { styleOverrides: { root: { @@ -469,102 +488,133 @@ export default function getCheckoutTheme(mode) { }, }, }, - MuiTextField: { + MuiLink: { + defaultProps: { + underline: 'none', + }, + styleOverrides: { + root: ({ theme }) => ({ + color: brand[700], + fontWeight: 500, + position: 'relative', + textDecoration: 'none', + '&::before': { + content: '""', + position: 'absolute', + width: 0, + height: '1px', + bottom: 0, + left: 0, + backgroundColor: brand[200], + opacity: 0.7, + transition: 'width 0.3s ease, opacity 0.3s ease', + }, + '&:hover::before': { + width: '100%', + opacity: 1, + }, + '&:focus-visible': { + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '4px', + borderRadius: '2px', + }, + ...(theme.palette.mode === 'dark' && { + color: brand[200], + }), + }), + }, + }, + MuiOutlinedInput: { styleOverrides: { + notchedOutline: { + border: 'none', + }, + input: { + paddingLeft: 10, + }, root: ({ theme, ownerState }) => ({ - '& label .Mui-focused': { - color: 'white', + 'input:-webkit-autofill': { + WebkitBoxShadow: `0 0 0 1000px ${brand[100]} inset, 0 0 0 1px ${brand[200]}`, + maxHeight: '4px', + borderRadius: '8px', }, '& .MuiInputBase-input': { + fontSize: '1rem', '&::placeholder': { opacity: 0.7, color: gray[500], }, }, - '& .MuiOutlinedInput-root': { - boxSizing: 'border-box', - minWidth: 280, - minHeight: 40, - height: '100%', - borderRadius: '10px', - '& fieldset': { - border: 'none', - boxShadow: '0px 2px 4px rgba(0, 0, 0, 0.1)', - background: `${alpha('#FFF', 0.3)}`, - }, - '&:hover': { - borderColor: brand[300], - }, - '&.Mui-focused': { - borderColor: brand[400], - outline: '4px solid', - outlineColor: brand[200], - }, + boxSizing: 'border-box', + flexGrow: 1, + height: '40px', + borderRadius: theme.shape.borderRadius, + border: '1px solid', + borderColor: alpha(gray[300], 0.8), + boxShadow: '0 0 0 1.5px hsla(210, 0%, 0%, 0.02) inset', + transition: 'border-color 120ms ease-in', + backgroundColor: alpha(gray[100], 0.4), + '&:hover': { + borderColor: brand[300], }, - ...(ownerState.variant === 'standard' && { - '&.MuiTextField-root': { - '& .MuiInput-root:hover:not(.Mui-disabled, .Mui-error):before': { - borderColor: brand[200], - }, - }, - '& :before': { - borderBottom: '1px solid', - borderColor: gray[200], - }, - '&:hover': { - '& :before': { - borderColor: brand[300], - }, + '&.Mui-focused': { + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '2px', + borderColor: brand[400], + }, + ...(ownerState.color === 'error' && { + borderColor: red[200], + color: red[500], + '& + .MuiFormHelperText-root': { + color: red[500], }, }), ...(theme.palette.mode === 'dark' && { + 'input:-webkit-autofill': { + WebkitBoxShadow: `0 0 0 1000px ${brand[900]} inset, 0 0 0 1px ${brand[600]}`, + maxHeight: '6px', + borderRadius: '8px', + }, '& .MuiInputBase-input': { + fontSize: '1rem', '&::placeholder': { opacity: 1, color: gray[500], }, }, - '& .MuiOutlinedInput-root': { - boxSizing: 'border-box', - minWidth: 280, - minHeight: 40, - height: '100%', - borderRadius: '10px', - transition: 'border-color 120ms ease-in', - '& fieldset': { - border: 'none', - boxShadow: ' 0px 2px 4px rgba(0, 0, 0, 0.4)', - background: `${alpha(gray[800], 0.4)}`, - }, - '&:hover': { - borderColor: brand[300], - }, - '&.Mui-focused': { - borderColor: brand[400], - outline: '4px solid', - outlineColor: alpha(brand[500], 0.5), - }, + borderColor: alpha(gray[700], 0.5), + boxShadow: '0 0 0 1.5px hsl(210, 0%, 0%) inset', + backgroundColor: alpha(gray[900], 0.8), + transition: 'border-color 120ms ease-in', + '&:hover': { + borderColor: brand[300], }, - ...(ownerState.variant === 'standard' && { - '&.MuiTextField-root': { - '& .MuiInput-root:hover:not(.Mui-disabled, .Mui-error):before': { - borderColor: brand[200], - }, - }, - '& :before': { - borderBottom: '1px solid', - borderColor: gray[700], - }, - '&:hover': { - '& :before': { - borderColor: brand[300], - }, + '&.Mui-focused': { + borderColor: brand[400], + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '2px', + }, + ...(ownerState.color === 'error' && { + borderColor: red[700], + color: red[300], + '& + .MuiFormHelperText-root': { + color: red[300], }, }), }), }), }, }, + MuiPaper: { + defaultProps: { + elevation: 0, + }, + }, + MuiStack: { + defaultProps: { + useFlexGap: true, + }, + }, MuiStepConnector: { styleOverrides: { line: ({ theme }) => ({ @@ -575,16 +625,6 @@ export default function getCheckoutTheme(mode) { }), }, }, - MuiStepLabel: { - styleOverrides: { - label: ({ theme }) => ({ - '&.Mui-completed': { - opacity: 0.4, - ...(theme.palette.mode === 'dark' && { opacity: 0.3 }), - }, - }), - }, - }, MuiStepIcon: { variants: [ { @@ -627,6 +667,47 @@ export default function getCheckoutTheme(mode) { }), }, }, + MuiStepLabel: { + styleOverrides: { + label: ({ theme }) => ({ + '&.Mui-completed': { + opacity: 0.6, + ...(theme.palette.mode === 'dark' && { opacity: 0.5 }), + }, + }), + }, + }, + MuiToggleButtonGroup: { + styleOverrides: { + root: ({ theme }) => ({ + borderRadius: theme.shape.borderRadius, + boxShadow: `0 1px 2px hsla(210, 0%, 0%, 0.05), 0 2px 12px ${alpha(brand[200], 0.5)}`, + '& .Mui-selected': { + color: brand[500], + }, + ...(theme.palette.mode === 'dark' && { + '& .Mui-selected': { + color: 'hsl(0, 0%, 100%)', + }, + boxShadow: `0 0 0 1px hsla(210, 0%, 0%, 0.5), 0 2px 12px ${alpha(brand[700], 0.5)}`, + }), + }), + }, + }, + MuiToggleButton: { + styleOverrides: { + root: ({ theme }) => ({ + padding: '12px 16px', + textTransform: 'none', + borderRadius: theme.shape.borderRadius, + fontWeight: 500, + ...(theme.palette.mode === 'dark' && { + color: gray[400], + '&.Mui-selected': { color: brand[300] }, + }), + }), + }, + }, }, }; } diff --git a/docs/data/material/getting-started/templates/checkout/getCheckoutTheme.tsx b/docs/data/material/getting-started/templates/checkout/getCheckoutTheme.tsx index 507e386b5627e9..89ddbb5ec4c39d 100644 --- a/docs/data/material/getting-started/templates/checkout/getCheckoutTheme.tsx +++ b/docs/data/material/getting-started/templates/checkout/getCheckoutTheme.tsx @@ -1,8 +1,11 @@ +import * as React from 'react'; import type {} from '@mui/material/themeCssVarsAugmentation'; -import { ThemeOptions, alpha } from '@mui/material/styles'; -import { red } from '@mui/material/colors'; +import { createTheme, ThemeOptions, alpha } from '@mui/material/styles'; import { PaletteMode } from '@mui/material'; +import CheckBoxOutlineBlankRoundedIcon from '@mui/icons-material/CheckBoxOutlineBlankRounded'; +import CheckRoundedIcon from '@mui/icons-material/CheckRounded'; + declare module '@mui/material/styles/createPalette' { interface ColorRange { 50: string; @@ -20,69 +23,71 @@ declare module '@mui/material/styles/createPalette' { interface PaletteColor extends ColorRange {} } -export const brand = { - 50: '#F0F7FF', - 100: '#CEE5FD', - 200: '#9CCCFC', - 300: '#55A6F6', - 400: '#0A66C2', - 500: '#0959AA', - 600: '#064079', - 700: '#033363', - 800: '#02294F', - 900: '#021F3B', -}; +const customTheme = createTheme(); -export const secondary = { - 50: '#F9F0FF', - 100: '#E9CEFD', - 200: '#D49CFC', - 300: '#B355F6', - 400: '#750AC2', - 500: '#6709AA', - 600: '#490679', - 700: '#3B0363', - 800: '#2F024F', - 900: '#23023B', +export const brand = { + 50: 'hsl(210, 100%, 97%)', + 100: 'hsl(210, 100%, 90%)', + 200: 'hsl(210, 100%, 80%)', + 300: 'hsl(210, 100%, 65%)', + 400: 'hsl(210, 98%, 48%)', + 500: 'hsl(210, 98%, 42%)', + 600: 'hsl(210, 98%, 55%)', + 700: 'hsl(210, 100%, 35%)', + 800: 'hsl(210, 100%, 16%)', + 900: 'hsl(210, 100%, 21%)', }; export const gray = { - 50: '#FBFCFE', - 100: '#EAF0F5', - 200: '#D6E2EB', - 300: '#BFCCD9', - 400: '#94A6B8', - 500: '#5B6B7C', - 600: '#4C5967', - 700: '#364049', - 800: '#131B20', - 900: '#090E10', + 50: 'hsl(220, 60%, 99%)', + 100: 'hsl(220, 35%, 94%)', + 200: 'hsl(220, 35%, 88%)', + 300: 'hsl(220, 25%, 80%)', + 400: 'hsl(220, 20%, 65%)', + 500: 'hsl(220, 20%, 42%)', + 600: 'hsl(220, 25%, 35%)', + 700: 'hsl(220, 25%, 25%)', + 800: 'hsl(220, 25%, 10%)', + 900: 'hsl(220, 30%, 5%)', }; export const green = { - 50: '#F6FEF6', - 100: '#E3FBE3', - 200: '#C7F7C7', - 300: '#A1E8A1', - 400: '#51BC51', - 500: '#1F7A1F', - 600: '#136C13', - 700: '#0A470A', - 800: '#042F04', - 900: '#021D02', + 50: 'hsl(120, 80%, 98%)', + 100: 'hsl(120, 75%, 94%)', + 200: 'hsl(120, 75%, 87%)', + 300: 'hsl(120, 61%, 77%)', + 400: 'hsl(120, 44%, 53%)', + 500: 'hsl(120, 59%, 30%)', + 600: 'hsl(120, 70%, 25%)', + 700: 'hsl(120, 75%, 16%)', + 800: 'hsl(120, 84%, 10%)', + 900: 'hsl(120, 87%, 6%)', }; export const orange = { - 50: '#FFFBF0', - 100: '#FDF1CE', - 200: '#FCE49C', - 300: '#F6CE55', - 400: '#C2940A', - 500: '#AA8109', - 600: '#795C06', - 700: '#634B03', - 800: '#4F3C02', - 900: '#3B2D02', + 50: 'hsl(45, 100%, 97%)', + 100: 'hsl(45, 92%, 90%)', + 200: 'hsl(45, 94%, 80%)', + 300: 'hsl(45, 90%, 65%)', + 400: 'hsl(45, 90%, 40%)', + 500: 'hsl(45, 90%, 35%)', + 600: 'hsl(45, 91%, 25%)', + 700: 'hsl(45, 94%, 20%)', + 800: 'hsl(45, 95%, 16%)', + 900: 'hsl(45, 93%, 12%)', +}; + +export const red = { + 50: 'hsl(0, 100%, 97%)', + 100: 'hsl(0, 92%, 90%)', + 200: 'hsl(0, 94%, 80%)', + 300: 'hsl(0, 90%, 65%)', + 400: 'hsl(0, 90%, 40%)', + 500: 'hsl(0, 90%, 30%)', + 600: 'hsl(0, 91%, 25%)', + 700: 'hsl(0, 94%, 20%)', + 800: 'hsl(0, 95%, 16%)', + 900: 'hsl(0, 93%, 12%)', }; const getDesignTokens = (mode: PaletteMode) => ({ @@ -100,26 +105,25 @@ const getDesignTokens = (mode: PaletteMode) => ({ dark: brand[800], }), }, - secondary: { - light: secondary[300], - main: secondary[500], - dark: secondary[800], + warning: { + light: orange[300], + main: orange[400], + dark: orange[800], ...(mode === 'dark' && { - light: secondary[400], - main: secondary[500], - dark: secondary[900], + light: orange[400], + main: orange[500], + dark: orange[700], }), }, - warning: { - main: '#F7B538', - dark: '#F79F00', - ...(mode === 'dark' && { main: '#F7B538', dark: '#F79F00' }), - }, error: { - light: red[50], - main: red[500], - dark: red[700], - ...(mode === 'dark' && { light: '#D32F2F', main: '#D32F2F', dark: '#B22A2A' }), + light: red[300], + main: red[400], + dark: red[800], + ...(mode === 'dark' && { + light: red[400], + main: red[500], + dark: red[700], + }), }, success: { light: green[300], @@ -132,27 +136,18 @@ const getDesignTokens = (mode: PaletteMode) => ({ }), }, grey: { - 50: gray[50], - 100: gray[100], - 200: gray[200], - 300: gray[300], - 400: gray[400], - 500: gray[500], - 600: gray[600], - 700: gray[700], - 800: gray[800], - 900: gray[900], + ...gray, }, divider: mode === 'dark' ? alpha(gray[600], 0.3) : alpha(gray[300], 0.5), background: { - default: '#fff', - paper: gray[50], - ...(mode === 'dark' && { default: gray[900], paper: gray[800] }), + default: 'hsl(0, 0%, 100%)', + paper: gray[100], + ...(mode === 'dark' && { default: 'hsl(220, 30%, 3%)', paper: gray[900] }), }, text: { primary: gray[800], secondary: gray[600], - ...(mode === 'dark' && { primary: '#fff', secondary: gray[400] }), + ...(mode === 'dark' && { primary: 'hsl(0, 0%, 100%)', secondary: gray[400] }), }, action: { selected: `${alpha(brand[200], 0.2)}`, @@ -164,51 +159,54 @@ const getDesignTokens = (mode: PaletteMode) => ({ typography: { fontFamily: ['"Inter", "sans-serif"'].join(','), h1: { - fontSize: 60, + fontSize: customTheme.typography.pxToRem(60), fontWeight: 600, - lineHeight: 78 / 70, - letterSpacing: -0.2, + lineHeight: 1.2, + letterSpacing: -0.5, }, h2: { - fontSize: 48, + fontSize: customTheme.typography.pxToRem(48), fontWeight: 600, lineHeight: 1.2, }, h3: { - fontSize: 42, + fontSize: customTheme.typography.pxToRem(42), lineHeight: 1.2, }, h4: { - fontSize: 36, + fontSize: customTheme.typography.pxToRem(36), fontWeight: 500, lineHeight: 1.5, }, h5: { - fontSize: 20, + fontSize: customTheme.typography.pxToRem(20), fontWeight: 600, }, h6: { - fontSize: 18, + fontSize: customTheme.typography.pxToRem(18), }, subtitle1: { - fontSize: 18, + fontSize: customTheme.typography.pxToRem(18), }, subtitle2: { - fontSize: 16, + fontSize: customTheme.typography.pxToRem(16), }, body1: { + fontSize: customTheme.typography.pxToRem(15), fontWeight: 400, - fontSize: 15, }, body2: { + fontSize: customTheme.typography.pxToRem(14), fontWeight: 400, - fontSize: 14, }, caption: { + fontSize: customTheme.typography.pxToRem(12), fontWeight: 400, - fontSize: 12, }, }, + shape: { + borderRadius: 12, + }, }); export default function getCheckoutTheme(mode: PaletteMode): ThemeOptions { @@ -232,38 +230,6 @@ export default function getCheckoutTheme(mode: PaletteMode): ThemeOptions { }), }, }, - MuiToggleButtonGroup: { - styleOverrides: { - root: ({ theme }) => ({ - borderRadius: '10px', - boxShadow: `0 4px 16px ${alpha(gray[400], 0.2)}`, - '& .Mui-selected': { - color: brand[500], - }, - ...(theme.palette.mode === 'dark' && { - '& .Mui-selected': { - color: '#fff', - }, - boxShadow: `0 4px 16px ${alpha(brand[700], 0.5)}`, - }), - }), - }, - }, - MuiToggleButton: { - styleOverrides: { - root: ({ theme }) => ({ - padding: '12px 16px', - textTransform: 'none', - borderRadius: '10px', - fontWeight: 500, - ...(theme.palette.mode === 'dark' && { - color: gray[400], - boxShadow: '0 4px 16px rgba(0, 0, 0, 0.5)', - '&.Mui-selected': { color: brand[300] }, - }), - }), - }, - }, MuiButtonBase: { defaultProps: { disableTouchRipple: true, @@ -272,9 +238,9 @@ export default function getCheckoutTheme(mode: PaletteMode): ThemeOptions { styleOverrides: { root: { boxSizing: 'border-box', - transition: 'all 100ms ease-in', + transition: 'all 100ms ease', '&:focus-visible': { - outline: `3px solid ${alpha(brand[500], 0.5)}`, + outline: `3px solid ${alpha(brand[400], 0.5)}`, outlineOffset: '2px', }, }, @@ -284,74 +250,125 @@ export default function getCheckoutTheme(mode: PaletteMode): ThemeOptions { styleOverrides: { root: ({ theme, ownerState }) => ({ boxShadow: 'none', - borderRadius: '10px', + borderRadius: theme.shape.borderRadius, textTransform: 'none', ...(ownerState.size === 'small' && { - maxHeight: '32px', + height: '2rem', // 32px + padding: '0 0.5rem', }), ...(ownerState.size === 'medium' && { - height: '40px', + height: '2.5rem', // 40px }), ...(ownerState.variant === 'contained' && ownerState.color === 'primary' && { - color: brand[50], - backgroundColor: brand[500], - backgroundImage: `linear-gradient(to bottom, ${brand[400]}, ${brand[500]})`, - boxShadow: `inset 0 1px ${alpha( - brand[300], - 0.5, - )}, inset 0 -2px ${alpha(brand[700], 0.5)}`, + color: 'white', + backgroundColor: brand[300], + backgroundImage: `linear-gradient(to bottom, ${alpha(brand[400], 0.8)}, ${brand[500]})`, + boxShadow: `inset 0 2px 0 ${alpha(brand[200], 0.2)}, inset 0 -2px 0 ${alpha(brand[700], 0.4)}`, border: `1px solid ${brand[500]}`, '&:hover': { - backgroundColor: brand[400], - backgroundImage: 'none', - boxShadow: `0 0 0 1px ${alpha(brand[300], 0.5)}`, + backgroundColor: brand[700], + boxShadow: 'none', + }, + '&:active': { + backgroundColor: brand[700], + boxShadow: `inset 0 2.5px 0 ${alpha(brand[700], 0.4)}`, }, }), ...(ownerState.variant === 'outlined' && { + color: brand[700], backgroundColor: alpha(brand[300], 0.1), - borderColor: brand[300], - color: brand[500], + borderColor: alpha(brand[200], 0.8), + boxShadow: `inset 0 2px ${alpha(brand[50], 0.5)}, inset 0 -2px ${alpha(brand[200], 0.2)}`, '&:hover': { - backgroundColor: alpha(brand[300], 0.3), - borderColor: brand[200], + backgroundColor: alpha(brand[300], 0.2), + borderColor: alpha(brand[300], 0.5), + boxShadow: 'none', }, - }), - ...(ownerState.variant === 'text' && { - color: brand[500], - '&:hover': { + '&:active': { backgroundColor: alpha(brand[300], 0.3), - borderColor: brand[200], + boxShadow: `inset 0 2.5px 0 ${alpha(brand[400], 0.2)}`, + backgroundImage: 'none', }, }), - ...(theme.palette.mode === 'dark' && { - ...(ownerState.variant === 'contained' && - ownerState.color === 'primary' && { - border: `1px solid ${brand[600]}`, + ...(ownerState.variant === 'outlined' && + ownerState.color === 'secondary' && { + backgroundColor: alpha(gray[300], 0.1), + borderColor: alpha(gray[300], 0.5), + color: gray[700], + '&:hover': { + backgroundColor: alpha(gray[300], 0.3), + borderColor: alpha(gray[300], 0.5), + boxShadow: 'none', + }, + '&:active': { + backgroundColor: alpha(gray[300], 0.4), + boxShadow: `inset 0 2.5px 0 ${alpha(gray[400], 0.2)}`, backgroundImage: 'none', - backgroundColor: brand[500], - '&:hover': { - background: brand[600], - backgroundImage: 'none', - boxShadow: `0 0 0 1px ${alpha(brand[700], 0.5)}`, - }, - }), - ...(ownerState.variant === 'outlined' && { - backgroundColor: alpha(brand[600], 0.1), - borderColor: brand[700], - color: brand[300], + }, + }), + ...(ownerState.variant === 'text' && + ownerState.color === 'primary' && { + color: brand[700], '&:hover': { - backgroundColor: alpha(brand[600], 0.3), - borderColor: brand[700], + backgroundColor: alpha(brand[300], 0.3), }, }), - ...(ownerState.variant === 'text' && { - color: brand[300], + ...(ownerState.variant === 'text' && + ownerState.color === 'info' && { + color: gray[700], '&:hover': { - backgroundColor: alpha(brand[600], 0.3), - borderColor: brand[700], + backgroundColor: alpha(gray[300], 0.3), }, }), + ...(theme.palette.mode === 'dark' && { + ...(ownerState.variant === 'outlined' && { + color: brand[200], + backgroundColor: alpha(brand[600], 0.1), + borderColor: alpha(brand[600], 0.6), + boxShadow: `inset 0 2.5px ${alpha(brand[400], 0.1)}, inset 0 -2px ${alpha(gray[900], 0.5)}`, + '&:hover': { + backgroundColor: alpha(brand[700], 0.2), + borderColor: alpha(brand[700], 0.5), + boxShadow: 'none', + }, + '&:active': { + backgroundColor: alpha(brand[800], 0.2), + boxShadow: `inset 0 2.5px 0 ${alpha(brand[900], 0.4)}`, + backgroundImage: 'none', + }, + }), + ...(ownerState.variant === 'text' && + ownerState.color === 'info' && { + color: gray[200], + '&:hover': { + backgroundColor: alpha(gray[700], 0.3), + }, + }), + ...(ownerState.variant === 'outlined' && + ownerState.color === 'secondary' && { + color: gray[300], + backgroundColor: alpha(gray[600], 0.1), + borderColor: alpha(gray[700], 0.5), + boxShadow: `inset 0 2.5px ${alpha(gray[600], 0.1)}, inset 0 -2px ${alpha(gray[900], 0.5)}`, + '&:hover': { + backgroundColor: alpha(gray[700], 0.2), + borderColor: alpha(gray[700], 0.5), + boxShadow: 'none', + }, + '&:active': { + backgroundColor: alpha(gray[800], 0.2), + boxShadow: `inset 0 2.5px 0 ${alpha(gray[900], 0.4)}`, + backgroundImage: 'none', + }, + }), + ...(ownerState.variant === 'text' && + ownerState.color === 'primary' && { + color: brand[200], + '&:hover': { + backgroundColor: alpha(brand[700], 0.3), + }, + }), }), }), }, @@ -359,118 +376,93 @@ export default function getCheckoutTheme(mode: PaletteMode): ThemeOptions { MuiCard: { styleOverrides: { root: ({ theme, ownerState }) => ({ + transition: 'all 100ms ease', backgroundColor: gray[50], - borderRadius: 10, - outline: `1px solid ${alpha(gray[200], 0.8)}`, + borderRadius: theme.shape.borderRadius, + border: `1px solid ${alpha(gray[200], 0.5)}`, boxShadow: 'none', - transition: 'background-color, border, 80ms ease', ...(ownerState.variant === 'outlined' && { - boxSizing: 'border-box', - background: `linear-gradient(to bottom, #FFF, ${gray[50]})`, - '&:hover': { - borderColor: brand[300], - boxShadow: `0 0 24px ${brand[100]}`, - }, + border: `1px solid ${gray[200]}`, + boxShadow: 'none', + background: `linear-gradient(to bottom, hsl(0, 0%, 100%), ${gray[50]})`, }), ...(theme.palette.mode === 'dark' && { backgroundColor: alpha(gray[800], 0.6), - outline: `1px solid ${alpha(gray[700], 0.3)}`, + border: `1px solid ${alpha(gray[700], 0.3)}`, ...(ownerState.variant === 'outlined' && { - boxSizing: 'border-box', + border: `1px solid ${alpha(gray[700], 0.4)}`, + boxShadow: 'none', background: `linear-gradient(to bottom, ${gray[900]}, ${alpha( gray[800], 0.5, )})`, - '&:hover': { - borderColor: brand[700], - boxShadow: `0 0 24px ${brand[800]}`, - }, }), }), }), }, }, - MuiDivider: { - styleOverrides: { - root: ({ theme }) => ({ - borderColor: `${alpha(gray[200], 0.8)}`, - ...(theme.palette.mode === 'dark' && { - borderColor: `${alpha(gray[700], 0.4)}`, - }), - }), - }, - }, - MuiPaper: { - styleOverrides: { - root: ({ theme }) => ({ - backgroundImage: 'none', - backgroundColor: gray[100], - ...(theme.palette.mode === 'dark' && { - backgroundColor: gray[800], - }), - }), + MuiCheckbox: { + defaultProps: { + disableRipple: true, + icon: ( + <CheckBoxOutlineBlankRoundedIcon + sx={{ color: 'hsla(210, 0%, 0%, 0.0)' }} + /> + ), + checkedIcon: <CheckRoundedIcon sx={{ height: 14, width: 14 }} />, }, - }, - MuiOutlinedInput: { styleOverrides: { - notchedOutline: { - border: 'none', - }, root: ({ theme }) => ({ - '& .MuiInputBase-input': { - '&::placeholder': { - opacity: 0.7, - color: gray[500], - }, - }, - boxSizing: 'border-box', - flexGrow: 1, - maxHeight: 40, - height: '100%', - borderRadius: '10px', - border: '1px solid', - borderColor: gray[200], - boxShadow: '0px 1px 1px rgba(0, 0, 0, 0.1)', + margin: 10, + height: 16, + width: 16, + borderRadius: 5, + border: '1px solid ', + borderColor: alpha(gray[300], 0.8), + boxShadow: '0 0 0 1.5px hsla(210, 0%, 0%, 0.04) inset', transition: 'border-color 120ms ease-in', backgroundColor: alpha(gray[100], 0.4), '&:hover': { borderColor: brand[300], }, - '&.Mui-focused': { + '&.Mui-focusVisible': { + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '2px', borderColor: brand[400], - outline: '4px solid', - outlineColor: brand[200], }, - ...(theme.palette.mode === 'dark' && { - '& .MuiInputBase-input': { - '&::placeholder': { - opacity: 1, - color: gray[500], - }, + '&.Mui-checked': { + color: 'white', + backgroundColor: brand[500], + borderColor: brand[500], + boxShadow: `none`, + '&:hover': { + backgroundColor: brand[600], }, - boxSizing: 'border-box', - flexGrow: 1, - minHeight: 40, - height: '100%', - borderRadius: '10px', - border: '1px solid', - borderColor: gray[700], - boxShadow: '0px 2px 2px rgb(0, 0, 0)', - backgroundColor: alpha(gray[800], 0.4), - transition: 'border-color 120ms ease-in', + }, + ...(theme.palette.mode === 'dark' && { + borderColor: alpha(gray[700], 0.5), + boxShadow: '0 0 0 1.5px hsl(210, 0%, 0%) inset', + backgroundColor: alpha(gray[900], 0.8), '&:hover': { borderColor: brand[300], }, - '&.Mui-focused': { + '&.Mui-focusVisible': { borderColor: brand[400], - outline: '4px solid', - outlineColor: alpha(brand[500], 0.5), + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '2px', }, }), }), - input: { - paddingLeft: 10, - }, + }, + }, + MuiDivider: { + styleOverrides: { + root: ({ theme }) => ({ + borderColor: `${alpha(gray[200], 0.8)}`, + ...(theme.palette.mode === 'dark' && { + borderColor: `${alpha(gray[700], 0.4)}`, + }), + }), }, }, MuiFormLabel: { @@ -481,6 +473,32 @@ export default function getCheckoutTheme(mode: PaletteMode): ThemeOptions { }), }, }, + MuiIconButton: { + styleOverrides: { + root: ({ theme, ownerState }) => ({ + ...(ownerState.size === 'small' && { + height: '2rem', + width: '2rem', + }), + ...(ownerState.size === 'medium' && { + height: '2.5rem', + width: '2.5rem', + }), + color: brand[500], + '&:hover': { + backgroundColor: alpha(brand[300], 0.3), + borderColor: brand[200], + }, + ...(theme.palette.mode === 'dark' && { + color: brand[200], + '&:hover': { + backgroundColor: alpha(brand[600], 0.3), + borderColor: brand[700], + }, + }), + }), + }, + }, MuiInputBase: { styleOverrides: { root: { @@ -488,102 +506,133 @@ export default function getCheckoutTheme(mode: PaletteMode): ThemeOptions { }, }, }, - MuiTextField: { + MuiLink: { + defaultProps: { + underline: 'none', + }, + styleOverrides: { + root: ({ theme }) => ({ + color: brand[700], + fontWeight: 500, + position: 'relative', + textDecoration: 'none', + '&::before': { + content: '""', + position: 'absolute', + width: 0, + height: '1px', + bottom: 0, + left: 0, + backgroundColor: brand[200], + opacity: 0.7, + transition: 'width 0.3s ease, opacity 0.3s ease', + }, + '&:hover::before': { + width: '100%', + opacity: 1, + }, + '&:focus-visible': { + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '4px', + borderRadius: '2px', + }, + ...(theme.palette.mode === 'dark' && { + color: brand[200], + }), + }), + }, + }, + MuiOutlinedInput: { styleOverrides: { + notchedOutline: { + border: 'none', + }, + input: { + paddingLeft: 10, + }, root: ({ theme, ownerState }) => ({ - '& label .Mui-focused': { - color: 'white', + 'input:-webkit-autofill': { + WebkitBoxShadow: `0 0 0 1000px ${brand[100]} inset, 0 0 0 1px ${brand[200]}`, + maxHeight: '4px', + borderRadius: '8px', }, '& .MuiInputBase-input': { + fontSize: '1rem', '&::placeholder': { opacity: 0.7, color: gray[500], }, }, - '& .MuiOutlinedInput-root': { - boxSizing: 'border-box', - minWidth: 280, - minHeight: 40, - height: '100%', - borderRadius: '10px', - '& fieldset': { - border: 'none', - boxShadow: '0px 2px 4px rgba(0, 0, 0, 0.1)', - background: `${alpha('#FFF', 0.3)}`, - }, - '&:hover': { - borderColor: brand[300], - }, - '&.Mui-focused': { - borderColor: brand[400], - outline: '4px solid', - outlineColor: brand[200], - }, + boxSizing: 'border-box', + flexGrow: 1, + height: '40px', + borderRadius: theme.shape.borderRadius, + border: '1px solid', + borderColor: alpha(gray[300], 0.8), + boxShadow: '0 0 0 1.5px hsla(210, 0%, 0%, 0.02) inset', + transition: 'border-color 120ms ease-in', + backgroundColor: alpha(gray[100], 0.4), + '&:hover': { + borderColor: brand[300], }, - ...(ownerState.variant === 'standard' && { - '&.MuiTextField-root': { - '& .MuiInput-root:hover:not(.Mui-disabled, .Mui-error):before': { - borderColor: brand[200], - }, - }, - '& :before': { - borderBottom: '1px solid', - borderColor: gray[200], - }, - '&:hover': { - '& :before': { - borderColor: brand[300], - }, + '&.Mui-focused': { + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '2px', + borderColor: brand[400], + }, + ...(ownerState.color === 'error' && { + borderColor: red[200], + color: red[500], + '& + .MuiFormHelperText-root': { + color: red[500], }, }), ...(theme.palette.mode === 'dark' && { + 'input:-webkit-autofill': { + WebkitBoxShadow: `0 0 0 1000px ${brand[900]} inset, 0 0 0 1px ${brand[600]}`, + maxHeight: '6px', + borderRadius: '8px', + }, '& .MuiInputBase-input': { + fontSize: '1rem', '&::placeholder': { opacity: 1, color: gray[500], }, }, - '& .MuiOutlinedInput-root': { - boxSizing: 'border-box', - minWidth: 280, - minHeight: 40, - height: '100%', - borderRadius: '10px', - transition: 'border-color 120ms ease-in', - '& fieldset': { - border: 'none', - boxShadow: ' 0px 2px 4px rgba(0, 0, 0, 0.4)', - background: `${alpha(gray[800], 0.4)}`, - }, - '&:hover': { - borderColor: brand[300], - }, - '&.Mui-focused': { - borderColor: brand[400], - outline: '4px solid', - outlineColor: alpha(brand[500], 0.5), - }, + borderColor: alpha(gray[700], 0.5), + boxShadow: '0 0 0 1.5px hsl(210, 0%, 0%) inset', + backgroundColor: alpha(gray[900], 0.8), + transition: 'border-color 120ms ease-in', + '&:hover': { + borderColor: brand[300], }, - ...(ownerState.variant === 'standard' && { - '&.MuiTextField-root': { - '& .MuiInput-root:hover:not(.Mui-disabled, .Mui-error):before': { - borderColor: brand[200], - }, - }, - '& :before': { - borderBottom: '1px solid', - borderColor: gray[700], - }, - '&:hover': { - '& :before': { - borderColor: brand[300], - }, + '&.Mui-focused': { + borderColor: brand[400], + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '2px', + }, + ...(ownerState.color === 'error' && { + borderColor: red[700], + color: red[300], + '& + .MuiFormHelperText-root': { + color: red[300], }, }), }), }), }, }, + MuiPaper: { + defaultProps: { + elevation: 0, + }, + }, + MuiStack: { + defaultProps: { + useFlexGap: true, + }, + }, MuiStepConnector: { styleOverrides: { line: ({ theme }) => ({ @@ -594,16 +643,6 @@ export default function getCheckoutTheme(mode: PaletteMode): ThemeOptions { }), }, }, - MuiStepLabel: { - styleOverrides: { - label: ({ theme }) => ({ - '&.Mui-completed': { - opacity: 0.4, - ...(theme.palette.mode === 'dark' && { opacity: 0.3 }), - }, - }), - }, - }, MuiStepIcon: { variants: [ { @@ -646,6 +685,47 @@ export default function getCheckoutTheme(mode: PaletteMode): ThemeOptions { }), }, }, + MuiStepLabel: { + styleOverrides: { + label: ({ theme }) => ({ + '&.Mui-completed': { + opacity: 0.6, + ...(theme.palette.mode === 'dark' && { opacity: 0.5 }), + }, + }), + }, + }, + MuiToggleButtonGroup: { + styleOverrides: { + root: ({ theme }) => ({ + borderRadius: theme.shape.borderRadius, + boxShadow: `0 1px 2px hsla(210, 0%, 0%, 0.05), 0 2px 12px ${alpha(brand[200], 0.5)}`, + '& .Mui-selected': { + color: brand[500], + }, + ...(theme.palette.mode === 'dark' && { + '& .Mui-selected': { + color: 'hsl(0, 0%, 100%)', + }, + boxShadow: `0 0 0 1px hsla(210, 0%, 0%, 0.5), 0 2px 12px ${alpha(brand[700], 0.5)}`, + }), + }), + }, + }, + MuiToggleButton: { + styleOverrides: { + root: ({ theme }) => ({ + padding: '12px 16px', + textTransform: 'none', + borderRadius: theme.shape.borderRadius, + fontWeight: 500, + ...(theme.palette.mode === 'dark' && { + color: gray[400], + '&.Mui-selected': { color: brand[300] }, + }), + }), + }, + }, }, }; } diff --git a/docs/data/material/getting-started/templates/landing-page/LandingPage.js b/docs/data/material/getting-started/templates/landing-page/LandingPage.js index e3d1172c1e9997..93382f406f9515 100644 --- a/docs/data/material/getting-started/templates/landing-page/LandingPage.js +++ b/docs/data/material/getting-started/templates/landing-page/LandingPage.js @@ -36,7 +36,7 @@ function ToggleCustomTheme({ showCustomTheme, toggleCustomTheme }) { exclusive value={showCustomTheme} onChange={toggleCustomTheme} - aria-label="Platform" + aria-label="Toggle design language" sx={{ backgroundColor: 'background.default', '& .Mui-selected': { diff --git a/docs/data/material/getting-started/templates/landing-page/LandingPage.tsx b/docs/data/material/getting-started/templates/landing-page/LandingPage.tsx index 9ea74b32eabe95..cd4441df77760f 100644 --- a/docs/data/material/getting-started/templates/landing-page/LandingPage.tsx +++ b/docs/data/material/getting-started/templates/landing-page/LandingPage.tsx @@ -43,7 +43,7 @@ function ToggleCustomTheme({ exclusive value={showCustomTheme} onChange={toggleCustomTheme} - aria-label="Platform" + aria-label="Toggle design language" sx={{ backgroundColor: 'background.default', '& .Mui-selected': { diff --git a/docs/data/material/getting-started/templates/landing-page/components/AppAppBar.js b/docs/data/material/getting-started/templates/landing-page/components/AppAppBar.js index 51dd0fca296196..c7fcb939cb8b6b 100644 --- a/docs/data/material/getting-started/templates/landing-page/components/AppAppBar.js +++ b/docs/data/material/getting-started/templates/landing-page/components/AppAppBar.js @@ -5,19 +5,16 @@ import Box from '@mui/material/Box'; import AppBar from '@mui/material/AppBar'; import Toolbar from '@mui/material/Toolbar'; import Button from '@mui/material/Button'; +import IconButton from '@mui/material/IconButton'; import Container from '@mui/material/Container'; import Divider from '@mui/material/Divider'; -import Typography from '@mui/material/Typography'; import MenuItem from '@mui/material/MenuItem'; import Drawer from '@mui/material/Drawer'; import MenuIcon from '@mui/icons-material/Menu'; +import CloseRoundedIcon from '@mui/icons-material/CloseRounded'; import ToggleColorMode from './ToggleColorMode'; -const logoStyle = { - width: '140px', - height: 'auto', - cursor: 'pointer', -}; +import Sitemark from './SitemarkIcon'; function AppAppBar({ mode, toggleColorMode }) { const [open, setOpen] = React.useState(false); @@ -41,201 +38,187 @@ function AppAppBar({ mode, toggleColorMode }) { }; return ( - <div> - <AppBar - position="fixed" - sx={{ - boxShadow: 0, - bgcolor: 'transparent', - backgroundImage: 'none', - mt: 2, - }} - > - <Container maxWidth="lg"> - <Toolbar - variant="regular" - sx={(theme) => ({ + <AppBar + position="fixed" + sx={{ + boxShadow: 0, + bgcolor: 'transparent', + backgroundImage: 'none', + mt: 2, + }} + > + <Container maxWidth="lg"> + <Toolbar + variant="regular" + sx={(theme) => ({ + display: 'flex', + alignItems: 'center', + justifyContent: 'space-between', + flexShrink: 0, + borderRadius: '999px', + bgcolor: + theme.palette.mode === 'light' + ? 'hsla(220, 60%, 99%, 0.6)' + : 'hsla(220, 0%, 0%, 0.7)', + backdropFilter: 'blur(24px)', + maxHeight: 40, + border: '1px solid', + borderColor: 'divider', + boxShadow: + theme.palette.mode === 'light' + ? '0 1px 2px hsla(210, 0%, 0%, 0.05), 0 2px 12px hsla(210, 100%, 80%, 0.5)' + : '0 1px 2px hsla(210, 0%, 0%, 0.5), 0 2px 12px hsla(210, 100%, 25%, 0.3)', + })} + > + <Box + sx={{ + flexGrow: 1, display: 'flex', alignItems: 'center', - justifyContent: 'space-between', - flexShrink: 0, - borderRadius: '999px', - bgcolor: - theme.palette.mode === 'light' - ? 'rgba(255, 255, 255, 0.4)' - : 'rgba(0, 0, 0, 0.4)', - backdropFilter: 'blur(24px)', - maxHeight: 40, - border: '1px solid', - borderColor: 'divider', - boxShadow: - theme.palette.mode === 'light' - ? `0 0 1px rgba(85, 166, 246, 0.1), 1px 1.5px 2px -1px rgba(85, 166, 246, 0.15), 4px 4px 12px -2.5px rgba(85, 166, 246, 0.15)` - : '0 0 1px rgba(2, 31, 59, 0.7), 1px 1.5px 2px -1px rgba(2, 31, 59, 0.65), 4px 4px 12px -2.5px rgba(2, 31, 59, 0.65)', - })} + px: 0, + }} > - <Box - sx={{ - flexGrow: 1, - display: 'flex', - alignItems: 'center', - ml: '-18px', - px: 0, - }} - > - <img - src={ - 'https://assets-global.website-files.com/61ed56ae9da9fd7e0ef0a967/61f12e6faf73568658154dae_SitemarkDefault.svg' - } - style={logoStyle} - alt="logo of sitemark" - /> - <Box sx={{ display: { xs: 'none', md: 'flex' } }}> - <MenuItem - onClick={() => scrollToSection('features')} - sx={{ py: '6px', px: '12px' }} - > - <Typography variant="body2" color="text.primary"> - Features - </Typography> - </MenuItem> - <MenuItem - onClick={() => scrollToSection('testimonials')} - sx={{ py: '6px', px: '12px' }} - > - <Typography variant="body2" color="text.primary"> - Testimonials - </Typography> - </MenuItem> - <MenuItem - onClick={() => scrollToSection('highlights')} - sx={{ py: '6px', px: '12px' }} - > - <Typography variant="body2" color="text.primary"> - Highlights - </Typography> - </MenuItem> - <MenuItem - onClick={() => scrollToSection('pricing')} - sx={{ py: '6px', px: '12px' }} - > - <Typography variant="body2" color="text.primary"> - Pricing - </Typography> - </MenuItem> - <MenuItem - onClick={() => scrollToSection('faq')} - sx={{ py: '6px', px: '12px' }} - > - <Typography variant="body2" color="text.primary"> - FAQ - </Typography> - </MenuItem> - </Box> - </Box> - <Box - sx={{ - display: { xs: 'none', md: 'flex' }, - gap: 0.5, - alignItems: 'center', - }} - > - <ToggleColorMode mode={mode} toggleColorMode={toggleColorMode} /> + <Sitemark /> + <Box sx={{ display: { xs: 'none', md: 'flex' } }}> <Button - color="primary" variant="text" + color="info" size="small" - component="a" - href="/material-ui/getting-started/templates/sign-in/" - target="_blank" + onClick={() => scrollToSection('features')} > - Sign in + Features </Button> <Button - color="primary" - variant="contained" + variant="text" + color="info" size="small" - component="a" - href="/material-ui/getting-started/templates/sign-up/" - target="_blank" + onClick={() => scrollToSection('testimonials')} > - Sign up + Testimonials </Button> - </Box> - <Box sx={{ display: { sm: '', md: 'none' } }}> <Button variant="text" - color="primary" - aria-label="menu" - onClick={toggleDrawer(true)} - sx={{ minWidth: '30px', p: '4px' }} + color="info" + size="small" + onClick={() => scrollToSection('highlights')} + > + Highlights + </Button> + <Button + variant="text" + color="info" + size="small" + onClick={() => scrollToSection('pricing')} > - <MenuIcon /> + Pricing </Button> - <Drawer anchor="right" open={open} onClose={toggleDrawer(false)}> + <Button + variant="text" + color="info" + size="small" + onClick={() => scrollToSection('faq')} + sx={{ minWidth: 0 }} + > + FAQ + </Button> + </Box> + </Box> + <Box + sx={{ + display: { xs: 'none', md: 'flex' }, + gap: 0.5, + alignItems: 'center', + }} + > + <ToggleColorMode mode={mode} toggleColorMode={toggleColorMode} /> + <Button + color="primary" + variant="text" + size="small" + component="a" + href="/material-ui/getting-started/templates/sign-in/" + target="_blank" + > + Sign in + </Button> + <Button + color="primary" + variant="contained" + size="small" + component="a" + href="/material-ui/getting-started/templates/sign-up/" + target="_blank" + > + Sign up + </Button> + </Box> + <Box sx={{ display: { sm: 'flex', md: 'none' } }}> + <IconButton aria-label="Menu button" onClick={toggleDrawer(true)}> + <MenuIcon /> + </IconButton> + <Drawer anchor="top" open={open} onClose={toggleDrawer(false)}> + <Box + sx={{ + p: 2, + backgroundColor: 'background.default', + }} + > <Box sx={{ - minWidth: '60dvw', - p: 2, - backgroundColor: 'background.paper', - flexGrow: 1, + display: 'flex', + alignItems: 'center', + justifyContent: 'space-between', }} > - <Box - sx={{ - display: 'flex', - flexDirection: 'column', - alignItems: 'end', - flexGrow: 1, - }} - > - <ToggleColorMode mode={mode} toggleColorMode={toggleColorMode} /> - </Box> - <MenuItem onClick={() => scrollToSection('features')}> - Features - </MenuItem> - <MenuItem onClick={() => scrollToSection('testimonials')}> - Testimonials - </MenuItem> - <MenuItem onClick={() => scrollToSection('highlights')}> - Highlights - </MenuItem> - <MenuItem onClick={() => scrollToSection('pricing')}> - Pricing - </MenuItem> - <MenuItem onClick={() => scrollToSection('faq')}>FAQ</MenuItem> - <Divider /> - <MenuItem> - <Button - color="primary" - variant="contained" - component="a" - href="/material-ui/getting-started/templates/sign-up/" - target="_blank" - sx={{ width: '100%' }} - > - Sign up - </Button> - </MenuItem> - <MenuItem> - <Button - color="primary" - variant="outlined" - component="a" - href="/material-ui/getting-started/templates/sign-in/" - target="_blank" - sx={{ width: '100%' }} - > - Sign in - </Button> - </MenuItem> + <ToggleColorMode mode={mode} toggleColorMode={toggleColorMode} /> + <IconButton onClick={toggleDrawer(false)}> + <CloseRoundedIcon /> + </IconButton> </Box> - </Drawer> - </Box> - </Toolbar> - </Container> - </AppBar> - </div> + <Divider sx={{ my: 3 }} /> + <MenuItem onClick={() => scrollToSection('features')}> + Features + </MenuItem> + <MenuItem onClick={() => scrollToSection('testimonials')}> + Testimonials + </MenuItem> + <MenuItem onClick={() => scrollToSection('highlights')}> + Highlights + </MenuItem> + <MenuItem onClick={() => scrollToSection('pricing')}> + Pricing + </MenuItem> + <MenuItem onClick={() => scrollToSection('faq')}>FAQ</MenuItem> + <MenuItem> + <Button + color="primary" + variant="contained" + component="a" + href="/material-ui/getting-started/templates/sign-up/" + target="_blank" + fullWidth + > + Sign up + </Button> + </MenuItem> + <MenuItem> + <Button + color="primary" + variant="outlined" + component="a" + href="/material-ui/getting-started/templates/sign-in/" + target="_blank" + fullWidth + > + Sign in + </Button> + </MenuItem> + </Box> + </Drawer> + </Box> + </Toolbar> + </Container> + </AppBar> ); } diff --git a/docs/data/material/getting-started/templates/landing-page/components/AppAppBar.tsx b/docs/data/material/getting-started/templates/landing-page/components/AppAppBar.tsx index d9f387f32de999..d0b2a9b6e99a98 100644 --- a/docs/data/material/getting-started/templates/landing-page/components/AppAppBar.tsx +++ b/docs/data/material/getting-started/templates/landing-page/components/AppAppBar.tsx @@ -4,26 +4,23 @@ import Box from '@mui/material/Box'; import AppBar from '@mui/material/AppBar'; import Toolbar from '@mui/material/Toolbar'; import Button from '@mui/material/Button'; +import IconButton from '@mui/material/IconButton'; import Container from '@mui/material/Container'; import Divider from '@mui/material/Divider'; -import Typography from '@mui/material/Typography'; import MenuItem from '@mui/material/MenuItem'; import Drawer from '@mui/material/Drawer'; import MenuIcon from '@mui/icons-material/Menu'; +import CloseRoundedIcon from '@mui/icons-material/CloseRounded'; import ToggleColorMode from './ToggleColorMode'; -const logoStyle = { - width: '140px', - height: 'auto', - cursor: 'pointer', -}; +import Sitemark from './SitemarkIcon'; interface AppAppBarProps { mode: PaletteMode; toggleColorMode: () => void; } -function AppAppBar({ mode, toggleColorMode }: AppAppBarProps) { +export default function AppAppBar({ mode, toggleColorMode }: AppAppBarProps) { const [open, setOpen] = React.useState(false); const toggleDrawer = (newOpen: boolean) => () => { @@ -45,202 +42,186 @@ function AppAppBar({ mode, toggleColorMode }: AppAppBarProps) { }; return ( - <div> - <AppBar - position="fixed" - sx={{ - boxShadow: 0, - bgcolor: 'transparent', - backgroundImage: 'none', - mt: 2, - }} - > - <Container maxWidth="lg"> - <Toolbar - variant="regular" - sx={(theme) => ({ + <AppBar + position="fixed" + sx={{ + boxShadow: 0, + bgcolor: 'transparent', + backgroundImage: 'none', + mt: 2, + }} + > + <Container maxWidth="lg"> + <Toolbar + variant="regular" + sx={(theme) => ({ + display: 'flex', + alignItems: 'center', + justifyContent: 'space-between', + flexShrink: 0, + borderRadius: '999px', + bgcolor: + theme.palette.mode === 'light' + ? 'hsla(220, 60%, 99%, 0.6)' + : 'hsla(220, 0%, 0%, 0.7)', + backdropFilter: 'blur(24px)', + maxHeight: 40, + border: '1px solid', + borderColor: 'divider', + boxShadow: + theme.palette.mode === 'light' + ? '0 1px 2px hsla(210, 0%, 0%, 0.05), 0 2px 12px hsla(210, 100%, 80%, 0.5)' + : '0 1px 2px hsla(210, 0%, 0%, 0.5), 0 2px 12px hsla(210, 100%, 25%, 0.3)', + })} + > + <Box + sx={{ + flexGrow: 1, display: 'flex', alignItems: 'center', - justifyContent: 'space-between', - flexShrink: 0, - borderRadius: '999px', - bgcolor: - theme.palette.mode === 'light' - ? 'rgba(255, 255, 255, 0.4)' - : 'rgba(0, 0, 0, 0.4)', - backdropFilter: 'blur(24px)', - maxHeight: 40, - border: '1px solid', - borderColor: 'divider', - boxShadow: - theme.palette.mode === 'light' - ? `0 0 1px rgba(85, 166, 246, 0.1), 1px 1.5px 2px -1px rgba(85, 166, 246, 0.15), 4px 4px 12px -2.5px rgba(85, 166, 246, 0.15)` - : '0 0 1px rgba(2, 31, 59, 0.7), 1px 1.5px 2px -1px rgba(2, 31, 59, 0.65), 4px 4px 12px -2.5px rgba(2, 31, 59, 0.65)', - })} + px: 0, + }} > - <Box - sx={{ - flexGrow: 1, - display: 'flex', - alignItems: 'center', - ml: '-18px', - px: 0, - }} - > - <img - src={ - 'https://assets-global.website-files.com/61ed56ae9da9fd7e0ef0a967/61f12e6faf73568658154dae_SitemarkDefault.svg' - } - style={logoStyle} - alt="logo of sitemark" - /> - <Box sx={{ display: { xs: 'none', md: 'flex' } }}> - <MenuItem - onClick={() => scrollToSection('features')} - sx={{ py: '6px', px: '12px' }} - > - <Typography variant="body2" color="text.primary"> - Features - </Typography> - </MenuItem> - <MenuItem - onClick={() => scrollToSection('testimonials')} - sx={{ py: '6px', px: '12px' }} - > - <Typography variant="body2" color="text.primary"> - Testimonials - </Typography> - </MenuItem> - <MenuItem - onClick={() => scrollToSection('highlights')} - sx={{ py: '6px', px: '12px' }} - > - <Typography variant="body2" color="text.primary"> - Highlights - </Typography> - </MenuItem> - <MenuItem - onClick={() => scrollToSection('pricing')} - sx={{ py: '6px', px: '12px' }} - > - <Typography variant="body2" color="text.primary"> - Pricing - </Typography> - </MenuItem> - <MenuItem - onClick={() => scrollToSection('faq')} - sx={{ py: '6px', px: '12px' }} - > - <Typography variant="body2" color="text.primary"> - FAQ - </Typography> - </MenuItem> - </Box> - </Box> - <Box - sx={{ - display: { xs: 'none', md: 'flex' }, - gap: 0.5, - alignItems: 'center', - }} - > - <ToggleColorMode mode={mode} toggleColorMode={toggleColorMode} /> + <Sitemark /> + <Box sx={{ display: { xs: 'none', md: 'flex' } }}> <Button - color="primary" variant="text" + color="info" size="small" - component="a" - href="/material-ui/getting-started/templates/sign-in/" - target="_blank" + onClick={() => scrollToSection('features')} > - Sign in + Features </Button> <Button - color="primary" - variant="contained" + variant="text" + color="info" size="small" - component="a" - href="/material-ui/getting-started/templates/sign-up/" - target="_blank" + onClick={() => scrollToSection('testimonials')} > - Sign up + Testimonials </Button> - </Box> - <Box sx={{ display: { sm: '', md: 'none' } }}> <Button variant="text" - color="primary" - aria-label="menu" - onClick={toggleDrawer(true)} - sx={{ minWidth: '30px', p: '4px' }} + color="info" + size="small" + onClick={() => scrollToSection('highlights')} > - <MenuIcon /> + Highlights </Button> - <Drawer anchor="right" open={open} onClose={toggleDrawer(false)}> + <Button + variant="text" + color="info" + size="small" + onClick={() => scrollToSection('pricing')} + > + Pricing + </Button> + <Button + variant="text" + color="info" + size="small" + onClick={() => scrollToSection('faq')} + sx={{ minWidth: 0 }} + > + FAQ + </Button> + </Box> + </Box> + <Box + sx={{ + display: { xs: 'none', md: 'flex' }, + gap: 0.5, + alignItems: 'center', + }} + > + <ToggleColorMode mode={mode} toggleColorMode={toggleColorMode} /> + <Button + color="primary" + variant="text" + size="small" + component="a" + href="/material-ui/getting-started/templates/sign-in/" + target="_blank" + > + Sign in + </Button> + <Button + color="primary" + variant="contained" + size="small" + component="a" + href="/material-ui/getting-started/templates/sign-up/" + target="_blank" + > + Sign up + </Button> + </Box> + <Box sx={{ display: { sm: 'flex', md: 'none' } }}> + <IconButton aria-label="Menu button" onClick={toggleDrawer(true)}> + <MenuIcon /> + </IconButton> + <Drawer anchor="top" open={open} onClose={toggleDrawer(false)}> + <Box + sx={{ + p: 2, + backgroundColor: 'background.default', + }} + > <Box sx={{ - minWidth: '60dvw', - p: 2, - backgroundColor: 'background.paper', - flexGrow: 1, + display: 'flex', + alignItems: 'center', + justifyContent: 'space-between', }} > - <Box - sx={{ - display: 'flex', - flexDirection: 'column', - alignItems: 'end', - flexGrow: 1, - }} - > - <ToggleColorMode mode={mode} toggleColorMode={toggleColorMode} /> - </Box> - <MenuItem onClick={() => scrollToSection('features')}> - Features - </MenuItem> - <MenuItem onClick={() => scrollToSection('testimonials')}> - Testimonials - </MenuItem> - <MenuItem onClick={() => scrollToSection('highlights')}> - Highlights - </MenuItem> - <MenuItem onClick={() => scrollToSection('pricing')}> - Pricing - </MenuItem> - <MenuItem onClick={() => scrollToSection('faq')}>FAQ</MenuItem> - <Divider /> - <MenuItem> - <Button - color="primary" - variant="contained" - component="a" - href="/material-ui/getting-started/templates/sign-up/" - target="_blank" - sx={{ width: '100%' }} - > - Sign up - </Button> - </MenuItem> - <MenuItem> - <Button - color="primary" - variant="outlined" - component="a" - href="/material-ui/getting-started/templates/sign-in/" - target="_blank" - sx={{ width: '100%' }} - > - Sign in - </Button> - </MenuItem> + <ToggleColorMode mode={mode} toggleColorMode={toggleColorMode} /> + <IconButton onClick={toggleDrawer(false)}> + <CloseRoundedIcon /> + </IconButton> </Box> - </Drawer> - </Box> - </Toolbar> - </Container> - </AppBar> - </div> + <Divider sx={{ my: 3 }} /> + <MenuItem onClick={() => scrollToSection('features')}> + Features + </MenuItem> + <MenuItem onClick={() => scrollToSection('testimonials')}> + Testimonials + </MenuItem> + <MenuItem onClick={() => scrollToSection('highlights')}> + Highlights + </MenuItem> + <MenuItem onClick={() => scrollToSection('pricing')}> + Pricing + </MenuItem> + <MenuItem onClick={() => scrollToSection('faq')}>FAQ</MenuItem> + <MenuItem> + <Button + color="primary" + variant="contained" + component="a" + href="/material-ui/getting-started/templates/sign-up/" + target="_blank" + fullWidth + > + Sign up + </Button> + </MenuItem> + <MenuItem> + <Button + color="primary" + variant="outlined" + component="a" + href="/material-ui/getting-started/templates/sign-in/" + target="_blank" + fullWidth + > + Sign in + </Button> + </MenuItem> + </Box> + </Drawer> + </Box> + </Toolbar> + </Container> + </AppBar> ); } - -export default AppAppBar; diff --git a/docs/data/material/getting-started/templates/landing-page/components/Features.js b/docs/data/material/getting-started/templates/landing-page/components/Features.js index f409b6b31d1a55..565084d9b210a9 100644 --- a/docs/data/material/getting-started/templates/landing-page/components/Features.js +++ b/docs/data/material/getting-started/templates/landing-page/components/Features.js @@ -62,9 +62,9 @@ export default function Features() { color="text.secondary" sx={{ mb: { xs: 2, sm: 4 } }} > - Here you can provide a brief overview of the key features of the - product. For example, you could list the number of features, the types - of features, add-ons, or the benefits of the features. + Provide a brief overview of the key features of the product. For + example, you could list the number of features, their types or + benefits, and add-ons. </Typography> </div> <Grid container item gap={1} sx={{ display: { xs: 'auto', sm: 'none' } }}> @@ -73,29 +73,24 @@ export default function Features() { key={index} label={title} onClick={() => handleItemClick(index)} - sx={{ - borderColor: (theme) => { - if (theme.palette.mode === 'light') { - return selectedItemIndex === index ? 'primary.light' : ''; - } - return selectedItemIndex === index ? 'primary.light' : ''; - }, - background: (theme) => { - if (theme.palette.mode === 'light') { - return selectedItemIndex === index ? 'none' : ''; - } - return selectedItemIndex === index ? 'none' : ''; - }, - backgroundColor: selectedItemIndex === index ? 'primary.main' : '', - '& .MuiChip-label': { - color: selectedItemIndex === index ? '#fff' : '', - }, - }} + sx={(theme) => ({ + ...(selectedItemIndex === index && { + borderColor: + theme.palette.mode === 'light' + ? 'primary.light' + : 'primary.dark', + background: + 'linear-gradient(to bottom right, hsl(210, 98%, 48%), hsl(210, 98%, 35%))', + color: 'hsl(0, 0%, 100%)', + '& .MuiChip-label': { + color: 'hsl(0, 0%, 100%)', + }, + }), + })} /> ))} </Grid> - <Box - component={Card} + <Card variant="outlined" sx={{ display: { xs: 'auto', sm: 'none' }, @@ -114,10 +109,10 @@ export default function Features() { }} /> <Box sx={{ px: 2, pb: 2 }}> - <Typography color="text.primary" variant="body2" fontWeight="bold"> + <Typography color="text.primary" fontWeight="medium" gutterBottom> {selectedFeature.title} </Typography> - <Typography color="text.secondary" variant="body2" sx={{ my: 0.5 }}> + <Typography color="text.secondary" variant="body2" sx={{ mb: 1.5 }}> {selectedFeature.description} </Typography> <Link @@ -138,7 +133,7 @@ export default function Features() { /> </Link> </Box> - </Box> + </Card> <Stack direction="column" justifyContent="center" @@ -150,25 +145,35 @@ export default function Features() { {items.map(({ icon, title, description }, index) => ( <Card key={index} - variant="outlined" component={Button} onClick={() => handleItemClick(index)} - sx={{ + sx={(theme) => ({ p: 3, height: 'fit-content', width: '100%', background: 'none', - backgroundColor: - selectedItemIndex === index ? 'action.selected' : undefined, - borderColor: (theme) => { - if (theme.palette.mode === 'light') { - return selectedItemIndex === index + ...(selectedItemIndex === index && { + backgroundColor: 'action.selected', + borderColor: + theme.palette.mode === 'light' ? 'primary.light' - : 'grey.200'; - } - return selectedItemIndex === index ? 'primary.dark' : 'grey.800'; + : 'primary.dark', + }), + '&:hover': { + background: + theme.palette.mode === 'light' + ? 'linear-gradient(to bottom right, hsla(210, 100%, 97%, 0.5) 25%, hsla(210, 100%, 90%, 0.3) 100%)' + : 'linear-gradient(to right bottom, hsla(210, 100%, 12%, 0.2) 25%, hsla(210, 100%, 16%, 0.2) 100%)', + borderColor: + theme.palette.mode === 'light' + ? 'primary.light' + : 'primary.dark', + boxShadow: + theme.palette.mode === 'light' + ? '0px 2px 8px hsla(0, 0%, 0%, 0.1)' + : '0px 1px 8px hsla(210, 100%, 25%, 0.5) ', }, - }} + })} > <Box sx={{ @@ -181,33 +186,28 @@ export default function Features() { }} > <Box - sx={{ - color: (theme) => { - if (theme.palette.mode === 'light') { - return selectedItemIndex === index - ? 'primary.main' - : 'grey.300'; - } - return selectedItemIndex === index - ? 'primary.main' - : 'grey.700'; - }, - }} + sx={(theme) => ({ + color: + theme.palette.mode === 'light' ? 'grey.400' : 'grey.600', + ...(selectedItemIndex === index && { + color: 'primary.main', + }), + })} > {icon} </Box> - <Box sx={{ textTransform: 'none' }}> + <div> <Typography color="text.primary" - variant="body2" - fontWeight="bold" + fontWeight="medium" + gutterBottom > {title} </Typography> <Typography color="text.secondary" variant="body2" - sx={{ my: 0.5 }} + sx={{ mb: 1.5 }} > {description} </Typography> @@ -231,7 +231,7 @@ export default function Features() { sx={{ mt: '1px', ml: '2px' }} /> </Link> - </Box> + </div> </Box> </Card> ))} diff --git a/docs/data/material/getting-started/templates/landing-page/components/Features.tsx b/docs/data/material/getting-started/templates/landing-page/components/Features.tsx index dd1ecf351e6096..f02afaa5483979 100644 --- a/docs/data/material/getting-started/templates/landing-page/components/Features.tsx +++ b/docs/data/material/getting-started/templates/landing-page/components/Features.tsx @@ -62,9 +62,9 @@ export default function Features() { color="text.secondary" sx={{ mb: { xs: 2, sm: 4 } }} > - Here you can provide a brief overview of the key features of the - product. For example, you could list the number of features, the types - of features, add-ons, or the benefits of the features. + Provide a brief overview of the key features of the product. For + example, you could list the number of features, their types or + benefits, and add-ons. </Typography> </div> <Grid container item gap={1} sx={{ display: { xs: 'auto', sm: 'none' } }}> @@ -73,29 +73,24 @@ export default function Features() { key={index} label={title} onClick={() => handleItemClick(index)} - sx={{ - borderColor: (theme) => { - if (theme.palette.mode === 'light') { - return selectedItemIndex === index ? 'primary.light' : ''; - } - return selectedItemIndex === index ? 'primary.light' : ''; - }, - background: (theme) => { - if (theme.palette.mode === 'light') { - return selectedItemIndex === index ? 'none' : ''; - } - return selectedItemIndex === index ? 'none' : ''; - }, - backgroundColor: selectedItemIndex === index ? 'primary.main' : '', - '& .MuiChip-label': { - color: selectedItemIndex === index ? '#fff' : '', - }, - }} + sx={(theme) => ({ + ...(selectedItemIndex === index && { + borderColor: + theme.palette.mode === 'light' + ? 'primary.light' + : 'primary.dark', + background: + 'linear-gradient(to bottom right, hsl(210, 98%, 48%), hsl(210, 98%, 35%))', + color: 'hsl(0, 0%, 100%)', + '& .MuiChip-label': { + color: 'hsl(0, 0%, 100%)', + }, + }), + })} /> ))} </Grid> - <Box - component={Card} + <Card variant="outlined" sx={{ display: { xs: 'auto', sm: 'none' }, @@ -114,10 +109,10 @@ export default function Features() { }} /> <Box sx={{ px: 2, pb: 2 }}> - <Typography color="text.primary" variant="body2" fontWeight="bold"> + <Typography color="text.primary" fontWeight="medium" gutterBottom> {selectedFeature.title} </Typography> - <Typography color="text.secondary" variant="body2" sx={{ my: 0.5 }}> + <Typography color="text.secondary" variant="body2" sx={{ mb: 1.5 }}> {selectedFeature.description} </Typography> <Link @@ -138,7 +133,7 @@ export default function Features() { /> </Link> </Box> - </Box> + </Card> <Stack direction="column" justifyContent="center" @@ -150,25 +145,35 @@ export default function Features() { {items.map(({ icon, title, description }, index) => ( <Card key={index} - variant="outlined" component={Button} onClick={() => handleItemClick(index)} - sx={{ + sx={(theme) => ({ p: 3, height: 'fit-content', width: '100%', background: 'none', - backgroundColor: - selectedItemIndex === index ? 'action.selected' : undefined, - borderColor: (theme) => { - if (theme.palette.mode === 'light') { - return selectedItemIndex === index + ...(selectedItemIndex === index && { + backgroundColor: 'action.selected', + borderColor: + theme.palette.mode === 'light' ? 'primary.light' - : 'grey.200'; - } - return selectedItemIndex === index ? 'primary.dark' : 'grey.800'; + : 'primary.dark', + }), + '&:hover': { + background: + theme.palette.mode === 'light' + ? 'linear-gradient(to bottom right, hsla(210, 100%, 97%, 0.5) 25%, hsla(210, 100%, 90%, 0.3) 100%)' + : 'linear-gradient(to right bottom, hsla(210, 100%, 12%, 0.2) 25%, hsla(210, 100%, 16%, 0.2) 100%)', + borderColor: + theme.palette.mode === 'light' + ? 'primary.light' + : 'primary.dark', + boxShadow: + theme.palette.mode === 'light' + ? '0px 2px 8px hsla(0, 0%, 0%, 0.1)' + : '0px 1px 8px hsla(210, 100%, 25%, 0.5) ', }, - }} + })} > <Box sx={{ @@ -181,33 +186,28 @@ export default function Features() { }} > <Box - sx={{ - color: (theme) => { - if (theme.palette.mode === 'light') { - return selectedItemIndex === index - ? 'primary.main' - : 'grey.300'; - } - return selectedItemIndex === index - ? 'primary.main' - : 'grey.700'; - }, - }} + sx={(theme) => ({ + color: + theme.palette.mode === 'light' ? 'grey.400' : 'grey.600', + ...(selectedItemIndex === index && { + color: 'primary.main', + }), + })} > {icon} </Box> - <Box sx={{ textTransform: 'none' }}> + <div> <Typography color="text.primary" - variant="body2" - fontWeight="bold" + fontWeight="medium" + gutterBottom > {title} </Typography> <Typography color="text.secondary" variant="body2" - sx={{ my: 0.5 }} + sx={{ mb: 1.5 }} > {description} </Typography> @@ -231,7 +231,7 @@ export default function Features() { sx={{ mt: '1px', ml: '2px' }} /> </Link> - </Box> + </div> </Box> </Card> ))} diff --git a/docs/data/material/getting-started/templates/landing-page/components/Footer.js b/docs/data/material/getting-started/templates/landing-page/components/Footer.js index 190eb078df052b..d635e85d260315 100644 --- a/docs/data/material/getting-started/templates/landing-page/components/Footer.js +++ b/docs/data/material/getting-started/templates/landing-page/components/Footer.js @@ -3,19 +3,19 @@ import Box from '@mui/material/Box'; import Button from '@mui/material/Button'; import Container from '@mui/material/Container'; import IconButton from '@mui/material/IconButton'; +import InputLabel from '@mui/material/InputLabel'; import Link from '@mui/material/Link'; import Stack from '@mui/material/Stack'; import TextField from '@mui/material/TextField'; import Typography from '@mui/material/Typography'; +import { visuallyHidden } from '@mui/utils'; + import FacebookIcon from '@mui/icons-material/GitHub'; import LinkedInIcon from '@mui/icons-material/LinkedIn'; import TwitterIcon from '@mui/icons-material/X'; -const logoStyle = { - width: '140px', - height: 'auto', -}; +import SitemarkIcon from './SitemarkIcon'; function Copyright() { return ( @@ -56,24 +56,19 @@ export default function Footer() { }} > <Box sx={{ width: { xs: '100%', sm: '60%' } }}> - <Box sx={{ ml: '-15px' }}> - <img - src={ - 'https://assets-global.website-files.com/61ed56ae9da9fd7e0ef0a967/61f12e6faf73568658154dae_SitemarkDefault.svg' - } - style={logoStyle} - alt="logo of sitemark" - /> - </Box> - <Typography variant="body2" fontWeight={600} gutterBottom> - Newsletter + <SitemarkIcon /> + <Typography variant="body2" fontWeight={600} gutterBottom sx={{ mt: 2 }}> + Join the newsletter </Typography> <Typography variant="body2" color="text.secondary" mb={2}> - Subscribe to our newsletter for weekly updates and promotions. + Subscribe for weekly updates. No spams ever! </Typography> <Stack direction="row" spacing={1} useFlexGap> + <InputLabel htmlFor="email-newsletter" sx={visuallyHidden}> + Email + </InputLabel> <TextField - id="outlined-basic" + id="email-newsletter" hiddenLabel size="small" variant="outlined" @@ -98,22 +93,22 @@ export default function Footer() { gap: 1, }} > - <Typography variant="body2" fontWeight={600}> + <Typography variant="body2" fontWeight="medium"> Product </Typography> - <Link color="text.secondary" href="#"> + <Link color="text.secondary" variant="body2" href="#"> Features </Link> - <Link color="text.secondary" href="#"> + <Link color="text.secondary" variant="body2" href="#"> Testimonials </Link> - <Link color="text.secondary" href="#"> + <Link color="text.secondary" variant="body2" href="#"> Highlights </Link> - <Link color="text.secondary" href="#"> + <Link color="text.secondary" variant="body2" href="#"> Pricing </Link> - <Link color="text.secondary" href="#"> + <Link color="text.secondary" variant="body2" href="#"> FAQs </Link> </Box> @@ -124,16 +119,16 @@ export default function Footer() { gap: 1, }} > - <Typography variant="body2" fontWeight={600}> + <Typography variant="body2" fontWeight="medium"> Company </Typography> - <Link color="text.secondary" href="#"> + <Link color="text.secondary" variant="body2" href="#"> About us </Link> - <Link color="text.secondary" href="#"> + <Link color="text.secondary" variant="body2" href="#"> Careers </Link> - <Link color="text.secondary" href="#"> + <Link color="text.secondary" variant="body2" href="#"> Press </Link> </Box> @@ -144,16 +139,16 @@ export default function Footer() { gap: 1, }} > - <Typography variant="body2" fontWeight={600}> + <Typography variant="body2" fontWeight="medium"> Legal </Typography> - <Link color="text.secondary" href="#"> + <Link color="text.secondary" variant="body2" href="#"> Terms </Link> - <Link color="text.secondary" href="#"> + <Link color="text.secondary" variant="body2" href="#"> Privacy </Link> - <Link color="text.secondary" href="#"> + <Link color="text.secondary" variant="body2" href="#"> Contact </Link> </Box> @@ -169,13 +164,13 @@ export default function Footer() { }} > <div> - <Link color="text.secondary" href="#"> + <Link color="text.secondary" variant="body2" href="#"> Privacy Policy </Link> <Typography display="inline" sx={{ mx: 0.5, opacity: 0.5 }}>  •  </Typography> - <Link color="text.secondary" href="#"> + <Link color="text.secondary" variant="body2" href="#"> Terms of Service </Link> <Copyright /> diff --git a/docs/data/material/getting-started/templates/landing-page/components/Footer.tsx b/docs/data/material/getting-started/templates/landing-page/components/Footer.tsx index 190eb078df052b..d635e85d260315 100644 --- a/docs/data/material/getting-started/templates/landing-page/components/Footer.tsx +++ b/docs/data/material/getting-started/templates/landing-page/components/Footer.tsx @@ -3,19 +3,19 @@ import Box from '@mui/material/Box'; import Button from '@mui/material/Button'; import Container from '@mui/material/Container'; import IconButton from '@mui/material/IconButton'; +import InputLabel from '@mui/material/InputLabel'; import Link from '@mui/material/Link'; import Stack from '@mui/material/Stack'; import TextField from '@mui/material/TextField'; import Typography from '@mui/material/Typography'; +import { visuallyHidden } from '@mui/utils'; + import FacebookIcon from '@mui/icons-material/GitHub'; import LinkedInIcon from '@mui/icons-material/LinkedIn'; import TwitterIcon from '@mui/icons-material/X'; -const logoStyle = { - width: '140px', - height: 'auto', -}; +import SitemarkIcon from './SitemarkIcon'; function Copyright() { return ( @@ -56,24 +56,19 @@ export default function Footer() { }} > <Box sx={{ width: { xs: '100%', sm: '60%' } }}> - <Box sx={{ ml: '-15px' }}> - <img - src={ - 'https://assets-global.website-files.com/61ed56ae9da9fd7e0ef0a967/61f12e6faf73568658154dae_SitemarkDefault.svg' - } - style={logoStyle} - alt="logo of sitemark" - /> - </Box> - <Typography variant="body2" fontWeight={600} gutterBottom> - Newsletter + <SitemarkIcon /> + <Typography variant="body2" fontWeight={600} gutterBottom sx={{ mt: 2 }}> + Join the newsletter </Typography> <Typography variant="body2" color="text.secondary" mb={2}> - Subscribe to our newsletter for weekly updates and promotions. + Subscribe for weekly updates. No spams ever! </Typography> <Stack direction="row" spacing={1} useFlexGap> + <InputLabel htmlFor="email-newsletter" sx={visuallyHidden}> + Email + </InputLabel> <TextField - id="outlined-basic" + id="email-newsletter" hiddenLabel size="small" variant="outlined" @@ -98,22 +93,22 @@ export default function Footer() { gap: 1, }} > - <Typography variant="body2" fontWeight={600}> + <Typography variant="body2" fontWeight="medium"> Product </Typography> - <Link color="text.secondary" href="#"> + <Link color="text.secondary" variant="body2" href="#"> Features </Link> - <Link color="text.secondary" href="#"> + <Link color="text.secondary" variant="body2" href="#"> Testimonials </Link> - <Link color="text.secondary" href="#"> + <Link color="text.secondary" variant="body2" href="#"> Highlights </Link> - <Link color="text.secondary" href="#"> + <Link color="text.secondary" variant="body2" href="#"> Pricing </Link> - <Link color="text.secondary" href="#"> + <Link color="text.secondary" variant="body2" href="#"> FAQs </Link> </Box> @@ -124,16 +119,16 @@ export default function Footer() { gap: 1, }} > - <Typography variant="body2" fontWeight={600}> + <Typography variant="body2" fontWeight="medium"> Company </Typography> - <Link color="text.secondary" href="#"> + <Link color="text.secondary" variant="body2" href="#"> About us </Link> - <Link color="text.secondary" href="#"> + <Link color="text.secondary" variant="body2" href="#"> Careers </Link> - <Link color="text.secondary" href="#"> + <Link color="text.secondary" variant="body2" href="#"> Press </Link> </Box> @@ -144,16 +139,16 @@ export default function Footer() { gap: 1, }} > - <Typography variant="body2" fontWeight={600}> + <Typography variant="body2" fontWeight="medium"> Legal </Typography> - <Link color="text.secondary" href="#"> + <Link color="text.secondary" variant="body2" href="#"> Terms </Link> - <Link color="text.secondary" href="#"> + <Link color="text.secondary" variant="body2" href="#"> Privacy </Link> - <Link color="text.secondary" href="#"> + <Link color="text.secondary" variant="body2" href="#"> Contact </Link> </Box> @@ -169,13 +164,13 @@ export default function Footer() { }} > <div> - <Link color="text.secondary" href="#"> + <Link color="text.secondary" variant="body2" href="#"> Privacy Policy </Link> <Typography display="inline" sx={{ mx: 0.5, opacity: 0.5 }}>  •  </Typography> - <Link color="text.secondary" href="#"> + <Link color="text.secondary" variant="body2" href="#"> Terms of Service </Link> <Copyright /> diff --git a/docs/data/material/getting-started/templates/landing-page/components/Hero.js b/docs/data/material/getting-started/templates/landing-page/components/Hero.js index 6813d4c96f4376..a8e9b21b0c2ef9 100644 --- a/docs/data/material/getting-started/templates/landing-page/components/Hero.js +++ b/docs/data/material/getting-started/templates/landing-page/components/Hero.js @@ -1,13 +1,15 @@ import * as React from 'react'; -import { alpha } from '@mui/material'; import Box from '@mui/material/Box'; import Button from '@mui/material/Button'; import Container from '@mui/material/Container'; +import InputLabel from '@mui/material/InputLabel'; import Link from '@mui/material/Link'; import Stack from '@mui/material/Stack'; import TextField from '@mui/material/TextField'; import Typography from '@mui/material/Typography'; +import { visuallyHidden } from '@mui/utils'; + export default function Hero() { return ( <Box @@ -16,9 +18,8 @@ export default function Hero() { width: '100%', backgroundImage: theme.palette.mode === 'light' - ? 'linear-gradient(180deg, #CEE5FD, #FFF)' - : `linear-gradient(#02294F, ${alpha('#090E10', 0.0)})`, - backgroundSize: '100% 20%', + ? 'radial-gradient(ellipse 80% 50% at 50% -20%, hsl(210, 100%, 90%), transparent)' + : 'radial-gradient(ellipse 80% 50% at 50% -20%, hsl(210, 100%, 16%), transparent)', backgroundRepeat: 'no-repeat', })} > @@ -31,23 +32,27 @@ export default function Hero() { pb: { xs: 8, sm: 12 }, }} > - <Stack spacing={2} useFlexGap sx={{ width: { xs: '100%', sm: '70%' } }}> + <Stack + spacing={2} + alignItems="center" + useFlexGap + sx={{ width: { xs: '100%', sm: '70%' } }} + > <Typography variant="h1" sx={{ display: 'flex', - flexDirection: { xs: 'column', md: 'row' }, - alignSelf: 'center', - textAlign: 'center', - fontSize: 'clamp(3.5rem, 10vw, 4rem)', + flexDirection: { xs: 'column', sm: 'row' }, + alignItems: 'center', + fontSize: 'clamp(3rem, 10vw, 3.5rem)', }} > - Our latest  + Our latest  <Typography component="span" variant="h1" sx={{ - fontSize: 'clamp(3rem, 10vw, 4rem)', + fontSize: 'inherit', color: (theme) => theme.palette.mode === 'light' ? 'primary.main' : 'primary.light', }} @@ -58,7 +63,7 @@ export default function Hero() { <Typography textAlign="center" color="text.secondary" - sx={{ alignSelf: 'center', width: { sm: '100%', md: '80%' } }} + sx={{ width: { sm: '100%', md: '80%' } }} > Explore our cutting-edge dashboard, delivering high-quality solutions tailored to your needs. Elevate your experience with top-tier features @@ -66,13 +71,15 @@ export default function Hero() { </Typography> <Stack direction={{ xs: 'column', sm: 'row' }} - alignSelf="center" spacing={1} useFlexGap sx={{ pt: 2, width: { xs: '100%', sm: 'auto' } }} > + <InputLabel htmlFor="email-hero" sx={visuallyHidden}> + Email + </InputLabel> <TextField - id="outlined-basic" + id="email-hero" hiddenLabel size="small" variant="outlined" @@ -87,7 +94,7 @@ export default function Hero() { Start now </Button> </Stack> - <Typography variant="caption" textAlign="center" sx={{ opacity: 0.8 }}> + <Typography variant="caption" textAlign="center"> By clicking "Start now" you agree to our  <Link href="#" color="primary"> Terms & Conditions @@ -107,16 +114,16 @@ export default function Hero() { ? 'url("/static/images/templates/templates-images/hero-light.png")' : 'url("/static/images/templates/templates-images/hero-dark.png")', backgroundSize: 'cover', - borderRadius: '10px', + borderRadius: '12px', outline: '1px solid', outlineColor: theme.palette.mode === 'light' - ? alpha('#BFCCD9', 0.5) - : alpha('#9CCCFC', 0.1), + ? 'hsla(220, 25%, 80%, 0.5)' + : 'hsla(210, 100%, 80%, 0.1)', boxShadow: theme.palette.mode === 'light' - ? `0 0 12px 8px ${alpha('#9CCCFC', 0.2)}` - : `0 0 24px 12px ${alpha('#033363', 0.2)}`, + ? '0 0 12px 8px hsla(220, 25%, 80%, 0.2)' + : '0 0 24px 12px hsla(210, 100%, 25%, 0.2)', })} /> </Container> diff --git a/docs/data/material/getting-started/templates/landing-page/components/Hero.tsx b/docs/data/material/getting-started/templates/landing-page/components/Hero.tsx index 6813d4c96f4376..a8e9b21b0c2ef9 100644 --- a/docs/data/material/getting-started/templates/landing-page/components/Hero.tsx +++ b/docs/data/material/getting-started/templates/landing-page/components/Hero.tsx @@ -1,13 +1,15 @@ import * as React from 'react'; -import { alpha } from '@mui/material'; import Box from '@mui/material/Box'; import Button from '@mui/material/Button'; import Container from '@mui/material/Container'; +import InputLabel from '@mui/material/InputLabel'; import Link from '@mui/material/Link'; import Stack from '@mui/material/Stack'; import TextField from '@mui/material/TextField'; import Typography from '@mui/material/Typography'; +import { visuallyHidden } from '@mui/utils'; + export default function Hero() { return ( <Box @@ -16,9 +18,8 @@ export default function Hero() { width: '100%', backgroundImage: theme.palette.mode === 'light' - ? 'linear-gradient(180deg, #CEE5FD, #FFF)' - : `linear-gradient(#02294F, ${alpha('#090E10', 0.0)})`, - backgroundSize: '100% 20%', + ? 'radial-gradient(ellipse 80% 50% at 50% -20%, hsl(210, 100%, 90%), transparent)' + : 'radial-gradient(ellipse 80% 50% at 50% -20%, hsl(210, 100%, 16%), transparent)', backgroundRepeat: 'no-repeat', })} > @@ -31,23 +32,27 @@ export default function Hero() { pb: { xs: 8, sm: 12 }, }} > - <Stack spacing={2} useFlexGap sx={{ width: { xs: '100%', sm: '70%' } }}> + <Stack + spacing={2} + alignItems="center" + useFlexGap + sx={{ width: { xs: '100%', sm: '70%' } }} + > <Typography variant="h1" sx={{ display: 'flex', - flexDirection: { xs: 'column', md: 'row' }, - alignSelf: 'center', - textAlign: 'center', - fontSize: 'clamp(3.5rem, 10vw, 4rem)', + flexDirection: { xs: 'column', sm: 'row' }, + alignItems: 'center', + fontSize: 'clamp(3rem, 10vw, 3.5rem)', }} > - Our latest  + Our latest  <Typography component="span" variant="h1" sx={{ - fontSize: 'clamp(3rem, 10vw, 4rem)', + fontSize: 'inherit', color: (theme) => theme.palette.mode === 'light' ? 'primary.main' : 'primary.light', }} @@ -58,7 +63,7 @@ export default function Hero() { <Typography textAlign="center" color="text.secondary" - sx={{ alignSelf: 'center', width: { sm: '100%', md: '80%' } }} + sx={{ width: { sm: '100%', md: '80%' } }} > Explore our cutting-edge dashboard, delivering high-quality solutions tailored to your needs. Elevate your experience with top-tier features @@ -66,13 +71,15 @@ export default function Hero() { </Typography> <Stack direction={{ xs: 'column', sm: 'row' }} - alignSelf="center" spacing={1} useFlexGap sx={{ pt: 2, width: { xs: '100%', sm: 'auto' } }} > + <InputLabel htmlFor="email-hero" sx={visuallyHidden}> + Email + </InputLabel> <TextField - id="outlined-basic" + id="email-hero" hiddenLabel size="small" variant="outlined" @@ -87,7 +94,7 @@ export default function Hero() { Start now </Button> </Stack> - <Typography variant="caption" textAlign="center" sx={{ opacity: 0.8 }}> + <Typography variant="caption" textAlign="center"> By clicking "Start now" you agree to our  <Link href="#" color="primary"> Terms & Conditions @@ -107,16 +114,16 @@ export default function Hero() { ? 'url("/static/images/templates/templates-images/hero-light.png")' : 'url("/static/images/templates/templates-images/hero-dark.png")', backgroundSize: 'cover', - borderRadius: '10px', + borderRadius: '12px', outline: '1px solid', outlineColor: theme.palette.mode === 'light' - ? alpha('#BFCCD9', 0.5) - : alpha('#9CCCFC', 0.1), + ? 'hsla(220, 25%, 80%, 0.5)' + : 'hsla(210, 100%, 80%, 0.1)', boxShadow: theme.palette.mode === 'light' - ? `0 0 12px 8px ${alpha('#9CCCFC', 0.2)}` - : `0 0 24px 12px ${alpha('#033363', 0.2)}`, + ? '0 0 12px 8px hsla(220, 25%, 80%, 0.2)' + : '0 0 24px 12px hsla(210, 100%, 25%, 0.2)', })} /> </Container> diff --git a/docs/data/material/getting-started/templates/landing-page/components/Highlights.js b/docs/data/material/getting-started/templates/landing-page/components/Highlights.js index cc8ec2b628aa7e..8adc8f06911b6e 100644 --- a/docs/data/material/getting-started/templates/landing-page/components/Highlights.js +++ b/docs/data/material/getting-started/templates/landing-page/components/Highlights.js @@ -59,7 +59,7 @@ export default function Highlights() { pt: { xs: 4, sm: 12 }, pb: { xs: 8, sm: 16 }, color: 'white', - bgcolor: '#06090a', + bgcolor: 'hsl(220, 30%, 2%)', }} > <Container @@ -99,9 +99,10 @@ export default function Highlights() { p: 3, height: '100%', border: '1px solid', - borderColor: 'grey.800', + borderColor: 'hsla(220, 25%, 25%, .3)', background: 'transparent', backgroundColor: 'grey.900', + boxShadow: 'none', }} > <Box sx={{ opacity: '50%' }}>{item.icon}</Box> diff --git a/docs/data/material/getting-started/templates/landing-page/components/Highlights.tsx b/docs/data/material/getting-started/templates/landing-page/components/Highlights.tsx index cc8ec2b628aa7e..8adc8f06911b6e 100644 --- a/docs/data/material/getting-started/templates/landing-page/components/Highlights.tsx +++ b/docs/data/material/getting-started/templates/landing-page/components/Highlights.tsx @@ -59,7 +59,7 @@ export default function Highlights() { pt: { xs: 4, sm: 12 }, pb: { xs: 8, sm: 16 }, color: 'white', - bgcolor: '#06090a', + bgcolor: 'hsl(220, 30%, 2%)', }} > <Container @@ -99,9 +99,10 @@ export default function Highlights() { p: 3, height: '100%', border: '1px solid', - borderColor: 'grey.800', + borderColor: 'hsla(220, 25%, 25%, .3)', background: 'transparent', backgroundColor: 'grey.900', + boxShadow: 'none', }} > <Box sx={{ opacity: '50%' }}>{item.icon}</Box> diff --git a/docs/data/material/getting-started/templates/landing-page/components/Pricing.js b/docs/data/material/getting-started/templates/landing-page/components/Pricing.js index 8892d3aa411850..54a00b4a03dcd8 100644 --- a/docs/data/material/getting-started/templates/landing-page/components/Pricing.js +++ b/docs/data/material/getting-started/templates/landing-page/components/Pricing.js @@ -9,6 +9,7 @@ import Container from '@mui/material/Container'; import Divider from '@mui/material/Divider'; import Grid from '@mui/material/Grid'; import Typography from '@mui/material/Typography'; + import AutoAwesomeIcon from '@mui/icons-material/AutoAwesome'; import CheckCircleRoundedIcon from '@mui/icons-material/CheckCircleRounded'; @@ -94,19 +95,21 @@ export default function Pricing() { md={4} > <Card - sx={{ + sx={(theme) => ({ p: 2, display: 'flex', flexDirection: 'column', gap: 4, - border: tier.title === 'Professional' ? '1px solid' : undefined, - borderColor: - tier.title === 'Professional' ? 'primary.main' : undefined, - background: - tier.title === 'Professional' - ? 'linear-gradient(#033363, #021F3B)' - : undefined, - }} + ...(tier.title === 'Professional' && { + border: 'none', + boxShadow: + theme.palette.mode === 'light' + ? `0 8px 12px hsla(210, 98%, 42%, 0.2)` + : `0 8px 12px hsla(0, 0%, 0%, 0.8)`, + background: + 'radial-gradient(circle at 50% 0%, hsl(210, 98%, 35%), hsl(210, 100%, 16%))', + }), + })} > <CardContent> <Box @@ -115,6 +118,7 @@ export default function Pricing() { display: 'flex', justifyContent: 'space-between', alignItems: 'center', + gap: 2, color: tier.title === 'Professional' ? 'grey.100' : '', }} > @@ -127,14 +131,13 @@ export default function Pricing() { label={tier.subheader} size="small" sx={{ - background: (theme) => - theme.palette.mode === 'light' ? '' : 'none', - backgroundColor: 'primary.contrastText', + borderColor: 'hsla(220, 60%, 99%, 0.3)', + backgroundColor: 'hsla(220, 60%, 99%, 0.1)', '& .MuiChip-label': { - color: 'primary.dark', + color: 'hsl(0, 0%, 100%)', }, '& .MuiChip-icon': { - color: 'primary.dark', + color: 'primary.light', }, }} /> @@ -157,8 +160,8 @@ export default function Pricing() { <Divider sx={{ my: 2, - opacity: 0.2, - borderColor: 'grey.500', + opacity: 0.8, + borderColor: 'divider', }} /> {tier.description.map((line) => ( @@ -181,11 +184,10 @@ export default function Pricing() { }} /> <Typography - component="text" variant="subtitle2" + component={'span'} sx={{ - color: - tier.title === 'Professional' ? 'grey.200' : undefined, + color: tier.title === 'Professional' ? 'grey.50' : undefined, }} > {line} diff --git a/docs/data/material/getting-started/templates/landing-page/components/Pricing.tsx b/docs/data/material/getting-started/templates/landing-page/components/Pricing.tsx index bcb8ca47d33478..52ca695ee1ff1e 100644 --- a/docs/data/material/getting-started/templates/landing-page/components/Pricing.tsx +++ b/docs/data/material/getting-started/templates/landing-page/components/Pricing.tsx @@ -9,6 +9,7 @@ import Container from '@mui/material/Container'; import Divider from '@mui/material/Divider'; import Grid from '@mui/material/Grid'; import Typography from '@mui/material/Typography'; + import AutoAwesomeIcon from '@mui/icons-material/AutoAwesome'; import CheckCircleRoundedIcon from '@mui/icons-material/CheckCircleRounded'; @@ -94,19 +95,21 @@ export default function Pricing() { md={4} > <Card - sx={{ + sx={(theme) => ({ p: 2, display: 'flex', flexDirection: 'column', gap: 4, - border: tier.title === 'Professional' ? '1px solid' : undefined, - borderColor: - tier.title === 'Professional' ? 'primary.main' : undefined, - background: - tier.title === 'Professional' - ? 'linear-gradient(#033363, #021F3B)' - : undefined, - }} + ...(tier.title === 'Professional' && { + border: 'none', + boxShadow: + theme.palette.mode === 'light' + ? `0 8px 12px hsla(210, 98%, 42%, 0.2)` + : `0 8px 12px hsla(0, 0%, 0%, 0.8)`, + background: + 'radial-gradient(circle at 50% 0%, hsl(210, 98%, 35%), hsl(210, 100%, 16%))', + }), + })} > <CardContent> <Box @@ -115,6 +118,7 @@ export default function Pricing() { display: 'flex', justifyContent: 'space-between', alignItems: 'center', + gap: 2, color: tier.title === 'Professional' ? 'grey.100' : '', }} > @@ -127,14 +131,13 @@ export default function Pricing() { label={tier.subheader} size="small" sx={{ - background: (theme) => - theme.palette.mode === 'light' ? '' : 'none', - backgroundColor: 'primary.contrastText', + borderColor: 'hsla(220, 60%, 99%, 0.3)', + backgroundColor: 'hsla(220, 60%, 99%, 0.1)', '& .MuiChip-label': { - color: 'primary.dark', + color: 'hsl(0, 0%, 100%)', }, '& .MuiChip-icon': { - color: 'primary.dark', + color: 'primary.light', }, }} /> @@ -157,8 +160,8 @@ export default function Pricing() { <Divider sx={{ my: 2, - opacity: 0.2, - borderColor: 'grey.500', + opacity: 0.8, + borderColor: 'divider', }} /> {tier.description.map((line) => ( @@ -181,11 +184,10 @@ export default function Pricing() { }} /> <Typography - component="text" variant="subtitle2" + component={'span'} sx={{ - color: - tier.title === 'Professional' ? 'grey.200' : undefined, + color: tier.title === 'Professional' ? 'grey.50' : undefined, }} > {line} diff --git a/docs/data/material/getting-started/templates/landing-page/components/SitemarkIcon.js b/docs/data/material/getting-started/templates/landing-page/components/SitemarkIcon.js new file mode 100644 index 00000000000000..eaa718dc5360d2 --- /dev/null +++ b/docs/data/material/getting-started/templates/landing-page/components/SitemarkIcon.js @@ -0,0 +1,53 @@ +import * as React from 'react'; +import SvgIcon from '@mui/material/SvgIcon'; + +export default function SitemarkIcon() { + return ( + <SvgIcon sx={{ height: 21, width: 100, mr: 2 }}> + <svg + width={86} + height={19} + viewBox="0 0 86 19" + fill="none" + xmlns="http://www.w3.org/2000/svg" + > + <path + fill="#B4C0D3" + d="m.787 12.567 6.055-2.675 3.485 2.006.704 6.583-4.295-.035.634-4.577-.74-.422-3.625 2.817-2.218-3.697Z" + /> + <path + fill="#00D3AB" + d="m10.714 11.616 5.352 3.908 2.112-3.767-4.295-1.725v-.845l4.295-1.76-2.112-3.732-5.352 3.908v4.013Z" + /> + <path + fill="#4876EF" + d="m10.327 7.286.704-6.583-4.295.07.634 4.577-.74.422-3.66-2.816L.786 6.617l6.055 2.676 3.485-2.007Z" + /> + <path + fill="#4876EE" + d="M32.507 8.804v6.167h2.312v-7.86h-3.366v1.693h1.054ZM32.435 6.006c.212.22.535.33.968.33.434 0 .751-.11.953-.33.213-.23.318-.516.318-.86 0-.354-.105-.641-.318-.86-.202-.23-.52-.345-.953-.345-.433 0-.756.115-.968.344-.202.22-.303.507-.303.86 0 .345.101.632.303.861ZM24.46 14.799c.655.296 1.46.444 2.413.444.896 0 1.667-.139 2.312-.416.645-.277 1.141-.664 1.488-1.162.357-.506.535-1.094.535-1.764 0-.65-.169-1.2-.506-1.649-.328-.459-.785-.818-1.373-1.076-.587-.267-1.266-.435-2.037-.502l-.809-.071c-.481-.039-.828-.168-1.04-.388a1.08 1.08 0 0 1-.318-.774c0-.23.058-.44.173-.631.116-.201.29-.359.52-.474.241-.114.535-.172.882-.172.366 0 .67.067.91.201.053.029.104.059.15.09l.012.009.052.037c.146.111.263.243.35.395.125.21.188.444.188.703h2.311c0-.689-.159-1.286-.476-1.793-.318-.516-.776-.913-1.373-1.19-.588-.287-1.296-.43-2.124-.43-.79 0-1.474.133-2.052.4a3.131 3.131 0 0 0-1.358 1.12c-.318.487-.477 1.066-.477 1.735 0 .927.314 1.673.94 2.237.626.564 1.464.89 2.514.976l.794.071c.645.058 1.113.187 1.401.388a.899.899 0 0 1 .434.788 1.181 1.181 0 0 1-.231.717c-.154.201-.38.36-.68.474-.298.115-.669.172-1.112.172-.49 0-.89-.067-1.199-.2-.308-.144-.539-.33-.694-.56a1.375 1.375 0 0 1-.216-.746h-2.297c0 .679.168 1.281.505 1.807.337.517.834.928 1.489 1.234ZM39.977 15.07c-.8 0-1.445-.095-1.936-.286a2.03 2.03 0 0 1-1.084-.99c-.221-.469-.332-1.1-.332-1.893V8.789h-1.2V7.11h1.2V4.988h2.153V7.11h2.312V8.79h-2.312v3.198c0 .373.096.66.289.86.202.192.486.287.852.287h1.17v1.937h-1.112Z" + /> + <path + fill="#4876EE" + fillRule="evenodd" + d="M43.873 14.899c.52.23 1.117.344 1.791.344.665 0 1.252-.115 1.763-.344.51-.23.934-.55 1.271-.96.337-.412.564-.88.679-1.407h-2.124c-.096.24-.279.44-.549.603-.27.162-.616.244-1.04.244-.262 0-.497-.031-.704-.093a1.572 1.572 0 0 1-.423-.194 1.662 1.662 0 0 1-.636-.803 3.159 3.159 0 0 1-.163-.645h5.784v-.775a4.28 4.28 0 0 0-.463-1.98 3.686 3.686 0 0 0-1.343-1.477c-.578-.382-1.291-.574-2.139-.574-.645 0-1.223.115-1.733.345-.501.22-.92.52-1.257.903a4.178 4.178 0 0 0-.78 1.305c-.174.478-.26.98-.26 1.506v.287c0 .507.086 1.004.26 1.492.183.478.443.913.78 1.305.347.382.775.688 1.286.918Zm-.094-4.674.02-.09a2.507 2.507 0 0 1 .117-.356c.145-.354.356-.622.636-.804.104-.067.217-.123.339-.165.204-.071.433-.107.686-.107.395 0 .723.09.983.272.27.173.472.426.607.76a2.487 2.487 0 0 1 .16.603h-3.57c.006-.038.013-.076.022-.113Z" + clipRule="evenodd" + /> + <path + fill="#4876EE" + d="M50.476 14.97V7.112h1.835v1.98a4.54 4.54 0 0 1 .173-.603c.202-.536.506-.937.91-1.205.405-.277.9-.416 1.488-.416h.101c.598 0 1.094.139 1.489.416.404.268.707.67.91 1.205l.016.04.013.037.028-.077c.212-.536.52-.937.925-1.205.405-.277.901-.416 1.489-.416h.1c.598 0 1.098.139 1.503.416.414.268.727.67.94 1.205.211.535.317 1.205.317 2.008v4.475h-2.312v-4.604c0-.43-.115-.78-.346-1.047-.222-.268-.54-.402-.954-.402-.414 0-.742.139-.982.416-.241.268-.362.626-.362 1.076v4.56h-2.326v-4.603c0-.43-.115-.78-.346-1.047-.222-.268-.535-.402-.94-.402-.423 0-.756.139-.996.416-.241.268-.362.626-.362 1.076v4.56h-2.311Z" + /> + <path + fill="#4876EE" + fillRule="evenodd" + d="M68.888 13.456v1.515h1.834v-4.82c0-.726-.144-1.319-.433-1.778-.289-.468-.712-.817-1.271-1.047-.549-.23-1.228-.344-2.037-.344a27.76 27.76 0 0 0-.896.014c-.318.01-.626.024-.924.043l-.229.016a36.79 36.79 0 0 0-.552.042v1.936a81.998 81.998 0 0 1 1.733-.09 37.806 37.806 0 0 1 1.171-.025c.424 0 .732.1.925.301.193.201.289.502.289.904v.029h-1.43c-.704 0-1.325.09-1.864.272-.54.172-.959.445-1.257.818-.299.363-.448.832-.448 1.405 0 .526.12.98.361 1.363.24.373.573.66.997.86.433.201.934.302 1.502.302.55 0 1.012-.1 1.388-.302.385-.2.683-.487.895-.86a2.443 2.443 0 0 0 .228-.498l.018-.056Zm-.39-1.397v-.63h-1.445c-.405 0-.718.1-.939.3-.212.192-.318.455-.318.79 0 .157.026.3.08.429a.99.99 0 0 0 .238.345c.221.191.534.287.939.287a2.125 2.125 0 0 0 .394-.038c.106-.021.206-.052.3-.092.212-.095.385-.253.52-.473.135-.22.212-.526.23-.918Z" + clipRule="evenodd" + /> + <path + fill="#4876EE" + d="M72.106 14.97V7.11h1.835v2.595c.088-.74.31-1.338.665-1.791.481-.603 1.174-.904 2.08-.904h.303v1.98h-.578c-.635 0-1.127.172-1.473.516-.347.334-.52.822-.52 1.463v4.001h-2.312ZM79.92 11.298h.767l2.499 3.672h2.6l-3.169-4.51 2.606-3.35h-2.427l-2.875 3.737V4.5h-2.312v10.47h2.312v-3.672Z" + /> + </svg> + </SvgIcon> + ); +} diff --git a/docs/data/material/getting-started/templates/landing-page/components/SitemarkIcon.tsx b/docs/data/material/getting-started/templates/landing-page/components/SitemarkIcon.tsx new file mode 100644 index 00000000000000..eaa718dc5360d2 --- /dev/null +++ b/docs/data/material/getting-started/templates/landing-page/components/SitemarkIcon.tsx @@ -0,0 +1,53 @@ +import * as React from 'react'; +import SvgIcon from '@mui/material/SvgIcon'; + +export default function SitemarkIcon() { + return ( + <SvgIcon sx={{ height: 21, width: 100, mr: 2 }}> + <svg + width={86} + height={19} + viewBox="0 0 86 19" + fill="none" + xmlns="http://www.w3.org/2000/svg" + > + <path + fill="#B4C0D3" + d="m.787 12.567 6.055-2.675 3.485 2.006.704 6.583-4.295-.035.634-4.577-.74-.422-3.625 2.817-2.218-3.697Z" + /> + <path + fill="#00D3AB" + d="m10.714 11.616 5.352 3.908 2.112-3.767-4.295-1.725v-.845l4.295-1.76-2.112-3.732-5.352 3.908v4.013Z" + /> + <path + fill="#4876EF" + d="m10.327 7.286.704-6.583-4.295.07.634 4.577-.74.422-3.66-2.816L.786 6.617l6.055 2.676 3.485-2.007Z" + /> + <path + fill="#4876EE" + d="M32.507 8.804v6.167h2.312v-7.86h-3.366v1.693h1.054ZM32.435 6.006c.212.22.535.33.968.33.434 0 .751-.11.953-.33.213-.23.318-.516.318-.86 0-.354-.105-.641-.318-.86-.202-.23-.52-.345-.953-.345-.433 0-.756.115-.968.344-.202.22-.303.507-.303.86 0 .345.101.632.303.861ZM24.46 14.799c.655.296 1.46.444 2.413.444.896 0 1.667-.139 2.312-.416.645-.277 1.141-.664 1.488-1.162.357-.506.535-1.094.535-1.764 0-.65-.169-1.2-.506-1.649-.328-.459-.785-.818-1.373-1.076-.587-.267-1.266-.435-2.037-.502l-.809-.071c-.481-.039-.828-.168-1.04-.388a1.08 1.08 0 0 1-.318-.774c0-.23.058-.44.173-.631.116-.201.29-.359.52-.474.241-.114.535-.172.882-.172.366 0 .67.067.91.201.053.029.104.059.15.09l.012.009.052.037c.146.111.263.243.35.395.125.21.188.444.188.703h2.311c0-.689-.159-1.286-.476-1.793-.318-.516-.776-.913-1.373-1.19-.588-.287-1.296-.43-2.124-.43-.79 0-1.474.133-2.052.4a3.131 3.131 0 0 0-1.358 1.12c-.318.487-.477 1.066-.477 1.735 0 .927.314 1.673.94 2.237.626.564 1.464.89 2.514.976l.794.071c.645.058 1.113.187 1.401.388a.899.899 0 0 1 .434.788 1.181 1.181 0 0 1-.231.717c-.154.201-.38.36-.68.474-.298.115-.669.172-1.112.172-.49 0-.89-.067-1.199-.2-.308-.144-.539-.33-.694-.56a1.375 1.375 0 0 1-.216-.746h-2.297c0 .679.168 1.281.505 1.807.337.517.834.928 1.489 1.234ZM39.977 15.07c-.8 0-1.445-.095-1.936-.286a2.03 2.03 0 0 1-1.084-.99c-.221-.469-.332-1.1-.332-1.893V8.789h-1.2V7.11h1.2V4.988h2.153V7.11h2.312V8.79h-2.312v3.198c0 .373.096.66.289.86.202.192.486.287.852.287h1.17v1.937h-1.112Z" + /> + <path + fill="#4876EE" + fillRule="evenodd" + d="M43.873 14.899c.52.23 1.117.344 1.791.344.665 0 1.252-.115 1.763-.344.51-.23.934-.55 1.271-.96.337-.412.564-.88.679-1.407h-2.124c-.096.24-.279.44-.549.603-.27.162-.616.244-1.04.244-.262 0-.497-.031-.704-.093a1.572 1.572 0 0 1-.423-.194 1.662 1.662 0 0 1-.636-.803 3.159 3.159 0 0 1-.163-.645h5.784v-.775a4.28 4.28 0 0 0-.463-1.98 3.686 3.686 0 0 0-1.343-1.477c-.578-.382-1.291-.574-2.139-.574-.645 0-1.223.115-1.733.345-.501.22-.92.52-1.257.903a4.178 4.178 0 0 0-.78 1.305c-.174.478-.26.98-.26 1.506v.287c0 .507.086 1.004.26 1.492.183.478.443.913.78 1.305.347.382.775.688 1.286.918Zm-.094-4.674.02-.09a2.507 2.507 0 0 1 .117-.356c.145-.354.356-.622.636-.804.104-.067.217-.123.339-.165.204-.071.433-.107.686-.107.395 0 .723.09.983.272.27.173.472.426.607.76a2.487 2.487 0 0 1 .16.603h-3.57c.006-.038.013-.076.022-.113Z" + clipRule="evenodd" + /> + <path + fill="#4876EE" + d="M50.476 14.97V7.112h1.835v1.98a4.54 4.54 0 0 1 .173-.603c.202-.536.506-.937.91-1.205.405-.277.9-.416 1.488-.416h.101c.598 0 1.094.139 1.489.416.404.268.707.67.91 1.205l.016.04.013.037.028-.077c.212-.536.52-.937.925-1.205.405-.277.901-.416 1.489-.416h.1c.598 0 1.098.139 1.503.416.414.268.727.67.94 1.205.211.535.317 1.205.317 2.008v4.475h-2.312v-4.604c0-.43-.115-.78-.346-1.047-.222-.268-.54-.402-.954-.402-.414 0-.742.139-.982.416-.241.268-.362.626-.362 1.076v4.56h-2.326v-4.603c0-.43-.115-.78-.346-1.047-.222-.268-.535-.402-.94-.402-.423 0-.756.139-.996.416-.241.268-.362.626-.362 1.076v4.56h-2.311Z" + /> + <path + fill="#4876EE" + fillRule="evenodd" + d="M68.888 13.456v1.515h1.834v-4.82c0-.726-.144-1.319-.433-1.778-.289-.468-.712-.817-1.271-1.047-.549-.23-1.228-.344-2.037-.344a27.76 27.76 0 0 0-.896.014c-.318.01-.626.024-.924.043l-.229.016a36.79 36.79 0 0 0-.552.042v1.936a81.998 81.998 0 0 1 1.733-.09 37.806 37.806 0 0 1 1.171-.025c.424 0 .732.1.925.301.193.201.289.502.289.904v.029h-1.43c-.704 0-1.325.09-1.864.272-.54.172-.959.445-1.257.818-.299.363-.448.832-.448 1.405 0 .526.12.98.361 1.363.24.373.573.66.997.86.433.201.934.302 1.502.302.55 0 1.012-.1 1.388-.302.385-.2.683-.487.895-.86a2.443 2.443 0 0 0 .228-.498l.018-.056Zm-.39-1.397v-.63h-1.445c-.405 0-.718.1-.939.3-.212.192-.318.455-.318.79 0 .157.026.3.08.429a.99.99 0 0 0 .238.345c.221.191.534.287.939.287a2.125 2.125 0 0 0 .394-.038c.106-.021.206-.052.3-.092.212-.095.385-.253.52-.473.135-.22.212-.526.23-.918Z" + clipRule="evenodd" + /> + <path + fill="#4876EE" + d="M72.106 14.97V7.11h1.835v2.595c.088-.74.31-1.338.665-1.791.481-.603 1.174-.904 2.08-.904h.303v1.98h-.578c-.635 0-1.127.172-1.473.516-.347.334-.52.822-.52 1.463v4.001h-2.312ZM79.92 11.298h.767l2.499 3.672h2.6l-3.169-4.51 2.606-3.35h-2.427l-2.875 3.737V4.5h-2.312v10.47h2.312v-3.672Z" + /> + </svg> + </SvgIcon> + ); +} diff --git a/docs/data/material/getting-started/templates/landing-page/components/ToggleColorMode.js b/docs/data/material/getting-started/templates/landing-page/components/ToggleColorMode.js index 5732175df5bd92..bcb83d384743d2 100644 --- a/docs/data/material/getting-started/templates/landing-page/components/ToggleColorMode.js +++ b/docs/data/material/getting-started/templates/landing-page/components/ToggleColorMode.js @@ -1,29 +1,25 @@ import * as React from 'react'; import PropTypes from 'prop-types'; -import Box from '@mui/material/Box'; -import Button from '@mui/material/Button'; +import IconButton from '@mui/material/IconButton'; import WbSunnyRoundedIcon from '@mui/icons-material/WbSunnyRounded'; import ModeNightRoundedIcon from '@mui/icons-material/ModeNightRounded'; function ToggleColorMode({ mode, toggleColorMode }) { return ( - <Box sx={{ maxWidth: '32px' }}> - <Button - variant="text" - onClick={toggleColorMode} - size="small" - aria-label="button to toggle theme" - sx={{ minWidth: '32px', height: '32px', p: '4px' }} - > - {mode === 'dark' ? ( - <WbSunnyRoundedIcon fontSize="small" /> - ) : ( - <ModeNightRoundedIcon fontSize="small" /> - )} - </Button> - </Box> + <IconButton + onClick={toggleColorMode} + color="primary" + aria-label="Theme toggle button" + size="small" + > + {mode === 'dark' ? ( + <WbSunnyRoundedIcon fontSize="small" /> + ) : ( + <ModeNightRoundedIcon fontSize="small" /> + )} + </IconButton> ); } diff --git a/docs/data/material/getting-started/templates/landing-page/components/ToggleColorMode.tsx b/docs/data/material/getting-started/templates/landing-page/components/ToggleColorMode.tsx index 6fdd215fa2e8a3..9ccb9982009d24 100644 --- a/docs/data/material/getting-started/templates/landing-page/components/ToggleColorMode.tsx +++ b/docs/data/material/getting-started/templates/landing-page/components/ToggleColorMode.tsx @@ -1,7 +1,6 @@ import * as React from 'react'; import { PaletteMode } from '@mui/material'; -import Box from '@mui/material/Box'; -import Button from '@mui/material/Button'; +import IconButton from '@mui/material/IconButton'; import WbSunnyRoundedIcon from '@mui/icons-material/WbSunnyRounded'; import ModeNightRoundedIcon from '@mui/icons-material/ModeNightRounded'; @@ -11,24 +10,22 @@ interface ToggleColorModeProps { toggleColorMode: () => void; } -function ToggleColorMode({ mode, toggleColorMode }: ToggleColorModeProps) { +export default function ToggleColorMode({ + mode, + toggleColorMode, +}: ToggleColorModeProps) { return ( - <Box sx={{ maxWidth: '32px' }}> - <Button - variant="text" - onClick={toggleColorMode} - size="small" - aria-label="button to toggle theme" - sx={{ minWidth: '32px', height: '32px', p: '4px' }} - > - {mode === 'dark' ? ( - <WbSunnyRoundedIcon fontSize="small" /> - ) : ( - <ModeNightRoundedIcon fontSize="small" /> - )} - </Button> - </Box> + <IconButton + onClick={toggleColorMode} + color="primary" + aria-label="Theme toggle button" + size="small" + > + {mode === 'dark' ? ( + <WbSunnyRoundedIcon fontSize="small" /> + ) : ( + <ModeNightRoundedIcon fontSize="small" /> + )} + </IconButton> ); } - -export default ToggleColorMode; diff --git a/docs/data/material/getting-started/templates/landing-page/getLPTheme.js b/docs/data/material/getting-started/templates/landing-page/getLPTheme.js index f4f27dfbc6c137..8ae6d57199e6fc 100644 --- a/docs/data/material/getting-started/templates/landing-page/getLPTheme.js +++ b/docs/data/material/getting-started/templates/landing-page/getLPTheme.js @@ -1,56 +1,70 @@ -import { alpha } from '@mui/material/styles'; -import { red } from '@mui/material/colors'; +import { createTheme, alpha } from '@mui/material/styles'; -export const brand = { - 50: '#F0F7FF', - 100: '#CEE5FD', - 200: '#9CCCFC', - 300: '#55A6F6', - 400: '#0A66C2', - 500: '#0959AA', - 600: '#064079', - 700: '#033363', - 800: '#02294F', - 900: '#021F3B', -}; +const customTheme = createTheme(); -export const secondary = { - 50: '#F9F0FF', - 100: '#E9CEFD', - 200: '#D49CFC', - 300: '#B355F6', - 400: '#750AC2', - 500: '#6709AA', - 600: '#490679', - 700: '#3B0363', - 800: '#2F024F', - 900: '#23023B', +export const brand = { + 50: 'hsl(210, 100%, 97%)', + 100: 'hsl(210, 100%, 90%)', + 200: 'hsl(210, 100%, 80%)', + 300: 'hsl(210, 100%, 65%)', + 400: 'hsl(210, 98%, 48%)', + 500: 'hsl(210, 98%, 42%)', + 600: 'hsl(210, 98%, 55%)', + 700: 'hsl(210, 100%, 35%)', + 800: 'hsl(210, 100%, 16%)', + 900: 'hsl(210, 100%, 21%)', }; export const gray = { - 50: '#FBFCFE', - 100: '#EAF0F5', - 200: '#D6E2EB', - 300: '#BFCCD9', - 400: '#94A6B8', - 500: '#5B6B7C', - 600: '#4C5967', - 700: '#364049', - 800: '#131B20', - 900: '#090E10', + 50: 'hsl(220, 60%, 99%)', + 100: 'hsl(220, 35%, 94%)', + 200: 'hsl(220, 35%, 88%)', + 300: 'hsl(220, 25%, 80%)', + 400: 'hsl(220, 20%, 65%)', + 500: 'hsl(220, 20%, 42%)', + 600: 'hsl(220, 25%, 35%)', + 700: 'hsl(220, 25%, 25%)', + 800: 'hsl(220, 25%, 10%)', + 900: 'hsl(220, 30%, 5%)', }; export const green = { - 50: '#F6FEF6', - 100: '#E3FBE3', - 200: '#C7F7C7', - 300: '#A1E8A1', - 400: '#51BC51', - 500: '#1F7A1F', - 600: '#136C13', - 700: '#0A470A', - 800: '#042F04', - 900: '#021D02', + 50: 'hsl(120, 80%, 98%)', + 100: 'hsl(120, 75%, 94%)', + 200: 'hsl(120, 75%, 87%)', + 300: 'hsl(120, 61%, 77%)', + 400: 'hsl(120, 44%, 53%)', + 500: 'hsl(120, 59%, 30%)', + 600: 'hsl(120, 70%, 25%)', + 700: 'hsl(120, 75%, 16%)', + 800: 'hsl(120, 84%, 10%)', + 900: 'hsl(120, 87%, 6%)', +}; + +export const orange = { + 50: 'hsl(45, 100%, 97%)', + 100: 'hsl(45, 92%, 90%)', + 200: 'hsl(45, 94%, 80%)', + 300: 'hsl(45, 90%, 65%)', + 400: 'hsl(45, 90%, 40%)', + 500: 'hsl(45, 90%, 35%)', + 600: 'hsl(45, 91%, 25%)', + 700: 'hsl(45, 94%, 20%)', + 800: 'hsl(45, 95%, 16%)', + 900: 'hsl(45, 93%, 12%)', +}; + +export const red = { + 50: 'hsl(0, 100%, 97%)', + 100: 'hsl(0, 92%, 90%)', + 200: 'hsl(0, 94%, 80%)', + 300: 'hsl(0, 90%, 65%)', + 400: 'hsl(0, 90%, 40%)', + 500: 'hsl(0, 90%, 30%)', + 600: 'hsl(0, 91%, 25%)', + 700: 'hsl(0, 94%, 20%)', + 800: 'hsl(0, 95%, 16%)', + 900: 'hsl(0, 93%, 12%)', }; const getDesignTokens = (mode) => ({ @@ -62,32 +76,43 @@ const getDesignTokens = (mode) => ({ dark: brand[800], contrastText: brand[50], ...(mode === 'dark' && { - contrastText: brand[100], + contrastText: brand[50], light: brand[300], main: brand[400], dark: brand[800], }), }, - secondary: { - light: secondary[300], - main: secondary[500], - dark: secondary[800], + info: { + light: brand[100], + main: brand[300], + dark: brand[600], + contrastText: gray[50], ...(mode === 'dark' && { - light: secondary[400], - main: secondary[500], - dark: secondary[900], + contrastText: brand[300], + light: brand[500], + main: brand[700], + dark: brand[900], }), }, warning: { - main: '#F7B538', - dark: '#F79F00', - ...(mode === 'dark' && { main: '#F7B538', dark: '#F79F00' }), + light: orange[300], + main: orange[400], + dark: orange[800], + ...(mode === 'dark' && { + light: orange[400], + main: orange[500], + dark: orange[700], + }), }, error: { - light: red[50], - main: red[500], - dark: red[700], - ...(mode === 'dark' && { light: '#D32F2F', main: '#D32F2F', dark: '#B22A2A' }), + light: red[300], + main: red[400], + dark: red[800], + ...(mode === 'dark' && { + light: red[400], + main: red[500], + dark: red[700], + }), }, success: { light: green[300], @@ -100,27 +125,18 @@ const getDesignTokens = (mode) => ({ }), }, grey: { - 50: gray[50], - 100: gray[100], - 200: gray[200], - 300: gray[300], - 400: gray[400], - 500: gray[500], - 600: gray[600], - 700: gray[700], - 800: gray[800], - 900: gray[900], + ...gray, }, divider: mode === 'dark' ? alpha(gray[600], 0.3) : alpha(gray[300], 0.5), background: { - default: '#fff', - paper: gray[50], - ...(mode === 'dark' && { default: gray[900], paper: gray[800] }), + default: 'hsl(0, 0%, 100%)', + paper: gray[100], + ...(mode === 'dark' && { default: 'hsl(220, 30%, 3%)', paper: gray[900] }), }, text: { primary: gray[800], secondary: gray[600], - ...(mode === 'dark' && { primary: '#fff', secondary: gray[400] }), + ...(mode === 'dark' && { primary: 'hsl(0, 0%, 100%)', secondary: gray[400] }), }, action: { selected: `${alpha(brand[200], 0.2)}`, @@ -132,51 +148,54 @@ const getDesignTokens = (mode) => ({ typography: { fontFamily: ['"Inter", "sans-serif"'].join(','), h1: { - fontSize: 60, + fontSize: customTheme.typography.pxToRem(60), fontWeight: 600, - lineHeight: 78 / 70, - letterSpacing: -0.2, + lineHeight: 1.2, + letterSpacing: -0.5, }, h2: { - fontSize: 48, + fontSize: customTheme.typography.pxToRem(48), fontWeight: 600, lineHeight: 1.2, }, h3: { - fontSize: 42, + fontSize: customTheme.typography.pxToRem(42), lineHeight: 1.2, }, h4: { - fontSize: 36, + fontSize: customTheme.typography.pxToRem(36), fontWeight: 500, lineHeight: 1.5, }, h5: { - fontSize: 20, + fontSize: customTheme.typography.pxToRem(20), fontWeight: 600, }, h6: { - fontSize: 18, + fontSize: customTheme.typography.pxToRem(18), }, subtitle1: { - fontSize: 18, + fontSize: customTheme.typography.pxToRem(18), }, subtitle2: { - fontSize: 16, + fontSize: customTheme.typography.pxToRem(16), }, body1: { + fontSize: customTheme.typography.pxToRem(15), fontWeight: 400, - fontSize: 15, }, body2: { + fontSize: customTheme.typography.pxToRem(14), fontWeight: 400, - fontSize: 14, }, caption: { + fontSize: customTheme.typography.pxToRem(12), fontWeight: 400, - fontSize: 12, }, }, + shape: { + borderRadius: 12, + }, }); export default function getLPTheme(mode) { @@ -192,7 +211,7 @@ export default function getLPTheme(mode) { root: ({ theme }) => ({ padding: 8, overflow: 'clip', - backgroundColor: '#fff', + backgroundColor: 'hsl(0, 0%, 100%)', border: '1px solid', borderColor: gray[100], ':before': { @@ -219,6 +238,7 @@ export default function getLPTheme(mode) { border: 'none', borderRadius: 8, '&:hover': { backgroundColor: gray[100] }, + '&:focus-visible': { backgroundColor: 'transparent' }, ...(theme.palette.mode === 'dark' && { '&:hover': { backgroundColor: gray[800] }, }), @@ -230,38 +250,6 @@ export default function getLPTheme(mode) { root: { mb: 20, border: 'none' }, }, }, - MuiToggleButtonGroup: { - styleOverrides: { - root: ({ theme }) => ({ - borderRadius: '10px', - boxShadow: `0 4px 16px ${alpha(gray[400], 0.2)}`, - '& .Mui-selected': { - color: brand[500], - }, - ...(theme.palette.mode === 'dark' && { - '& .Mui-selected': { - color: '#fff', - }, - boxShadow: `0 4px 16px ${alpha(brand[700], 0.5)}`, - }), - }), - }, - }, - MuiToggleButton: { - styleOverrides: { - root: ({ theme }) => ({ - padding: '12px 16px', - textTransform: 'none', - borderRadius: '10px', - fontWeight: 500, - ...(theme.palette.mode === 'dark' && { - color: gray[400], - boxShadow: '0 4px 16px rgba(0, 0, 0, 0.5)', - '&.Mui-selected': { color: brand[300] }, - }), - }), - }, - }, MuiButtonBase: { defaultProps: { disableTouchRipple: true, @@ -270,9 +258,9 @@ export default function getLPTheme(mode) { styleOverrides: { root: { boxSizing: 'border-box', - transition: 'all 100ms ease-in', + transition: 'all 100ms ease', '&:focus-visible': { - outline: `3px solid ${alpha(brand[500], 0.5)}`, + outline: `3px solid ${alpha(brand[400], 0.5)}`, outlineOffset: '2px', }, }, @@ -281,65 +269,126 @@ export default function getLPTheme(mode) { MuiButton: { styleOverrides: { root: ({ theme, ownerState }) => ({ - boxSizing: 'border-box', boxShadow: 'none', - borderRadius: '10px', + borderRadius: theme.shape.borderRadius, textTransform: 'none', - '&:active': { - transform: 'scale(0.98)', - }, ...(ownerState.size === 'small' && { - maxHeight: '32px', + height: '2rem', // 32px + padding: '0 0.5rem', }), ...(ownerState.size === 'medium' && { - height: '40px', + height: '2.5rem', // 40px }), ...(ownerState.variant === 'contained' && ownerState.color === 'primary' && { - color: brand[50], - background: brand[500], - backgroundImage: `linear-gradient(to bottom, ${brand[400]}, ${brand[600]})`, - boxShadow: `inset 0 1px ${alpha(brand[300], 0.4)}`, - outline: `1px solid ${brand[700]}`, + color: 'white', + backgroundColor: brand[300], + backgroundImage: `linear-gradient(to bottom, ${alpha(brand[400], 0.8)}, ${brand[500]})`, + boxShadow: `inset 0 2px 0 ${alpha(brand[200], 0.2)}, inset 0 -2px 0 ${alpha(brand[700], 0.4)}`, + border: `1px solid ${brand[500]}`, '&:hover': { - background: brand[400], - backgroundImage: 'none', - boxShadow: `0 0 0 1px ${alpha(brand[300], 0.5)}`, + backgroundColor: brand[700], + boxShadow: 'none', + }, + '&:active': { + backgroundColor: brand[700], + boxShadow: `inset 0 2.5px 0 ${alpha(brand[700], 0.4)}`, }, }), ...(ownerState.variant === 'outlined' && { + color: brand[700], backgroundColor: alpha(brand[300], 0.1), - borderColor: brand[300], - color: brand[500], + borderColor: alpha(brand[200], 0.8), + boxShadow: `inset 0 2px ${alpha(brand[50], 0.5)}, inset 0 -2px ${alpha(brand[200], 0.2)}`, '&:hover': { - backgroundColor: alpha(brand[300], 0.3), - borderColor: brand[200], + backgroundColor: alpha(brand[300], 0.2), + borderColor: alpha(brand[300], 0.5), + boxShadow: 'none', }, - }), - ...(ownerState.variant === 'text' && { - color: brand[500], - '&:hover': { + '&:active': { backgroundColor: alpha(brand[300], 0.3), - borderColor: brand[200], + boxShadow: `inset 0 2.5px 0 ${alpha(brand[400], 0.2)}`, + backgroundImage: 'none', }, }), + ...(ownerState.variant === 'outlined' && + ownerState.color === 'secondary' && { + backgroundColor: alpha(gray[300], 0.1), + borderColor: alpha(gray[300], 0.5), + color: gray[700], + '&:hover': { + backgroundColor: alpha(gray[300], 0.3), + borderColor: alpha(gray[300], 0.5), + boxShadow: 'none', + }, + '&:active': { + backgroundColor: alpha(gray[300], 0.4), + boxShadow: `inset 0 2.5px 0 ${alpha(gray[400], 0.2)}`, + backgroundImage: 'none', + }, + }), + ...(ownerState.variant === 'text' && + ownerState.color === 'primary' && { + color: brand[700], + '&:hover': { + backgroundColor: alpha(brand[300], 0.3), + }, + }), + ...(ownerState.variant === 'text' && + ownerState.color === 'info' && { + color: gray[700], + '&:hover': { + backgroundColor: alpha(gray[300], 0.3), + }, + }), ...(theme.palette.mode === 'dark' && { ...(ownerState.variant === 'outlined' && { + color: brand[200], backgroundColor: alpha(brand[600], 0.1), - borderColor: brand[700], - color: brand[300], + borderColor: alpha(brand[600], 0.6), + boxShadow: `inset 0 2.5px ${alpha(brand[400], 0.1)}, inset 0 -2px ${alpha(gray[900], 0.5)}`, '&:hover': { - backgroundColor: alpha(brand[600], 0.3), - borderColor: brand[700], + backgroundColor: alpha(brand[700], 0.2), + borderColor: alpha(brand[700], 0.5), + boxShadow: 'none', }, - }), - ...(ownerState.variant === 'text' && { - color: brand[300], - '&:hover': { - backgroundColor: alpha(brand[600], 0.3), - borderColor: brand[700], + '&:active': { + backgroundColor: alpha(brand[800], 0.2), + boxShadow: `inset 0 2.5px 0 ${alpha(brand[900], 0.4)}`, + backgroundImage: 'none', }, }), + ...(ownerState.variant === 'text' && + ownerState.color === 'info' && { + color: gray[200], + '&:hover': { + backgroundColor: alpha(gray[700], 0.3), + }, + }), + ...(ownerState.variant === 'outlined' && + ownerState.color === 'secondary' && { + color: gray[300], + backgroundColor: alpha(gray[600], 0.1), + borderColor: alpha(gray[700], 0.5), + boxShadow: `inset 0 2.5px ${alpha(gray[600], 0.1)}, inset 0 -2px ${alpha(gray[900], 0.5)}`, + '&:hover': { + backgroundColor: alpha(gray[700], 0.2), + borderColor: alpha(gray[700], 0.5), + boxShadow: 'none', + }, + '&:active': { + backgroundColor: alpha(gray[800], 0.2), + boxShadow: `inset 0 2.5px 0 ${alpha(gray[900], 0.4)}`, + backgroundImage: 'none', + }, + }), + ...(ownerState.variant === 'text' && + ownerState.color === 'primary' && { + color: brand[200], + '&:hover': { + backgroundColor: alpha(brand[700], 0.3), + }, + }), }), }), }, @@ -347,30 +396,26 @@ export default function getLPTheme(mode) { MuiCard: { styleOverrides: { root: ({ theme, ownerState }) => ({ + transition: 'all 100ms ease', backgroundColor: gray[50], - borderRadius: 10, - border: `1px solid ${alpha(gray[200], 0.8)}`, + borderRadius: theme.shape.borderRadius, + border: `1px solid ${alpha(gray[200], 0.5)}`, boxShadow: 'none', - transition: 'background-color, border, 80ms ease', ...(ownerState.variant === 'outlined' && { - background: `linear-gradient(to bottom, #FFF, ${gray[50]})`, - '&:hover': { - borderColor: brand[300], - boxShadow: `0 0 24px ${brand[100]}`, - }, + border: `1px solid ${gray[200]}`, + boxShadow: 'none', + background: `linear-gradient(to bottom, hsl(0, 0%, 100%), ${gray[50]})`, }), ...(theme.palette.mode === 'dark' && { backgroundColor: alpha(gray[800], 0.6), border: `1px solid ${alpha(gray[700], 0.3)}`, ...(ownerState.variant === 'outlined' && { + border: `1px solid ${alpha(gray[700], 0.4)}`, + boxShadow: 'none', background: `linear-gradient(to bottom, ${gray[900]}, ${alpha( gray[800], 0.5, )})`, - '&:hover': { - borderColor: brand[700], - boxShadow: `0 0 24px ${brand[800]}`, - }, }), }), }), @@ -379,18 +424,17 @@ export default function getLPTheme(mode) { MuiChip: { styleOverrides: { root: ({ theme }) => ({ - alignSelf: 'center', py: 1.5, px: 0.5, - background: `linear-gradient(to bottom right, ${brand[50]}, ${brand[100]})`, border: '1px solid', - borderColor: `${alpha(brand[500], 0.3)}`, - fontWeight: '600', + borderColor: brand[100], + fontWeight: 600, + backgroundColor: brand[50], '&:hover': { backgroundColor: brand[500], }, '&:focus-visible': { - borderColor: brand[800], + borderColor: brand[300], backgroundColor: brand[200], }, '& .MuiChip-label': { @@ -400,14 +444,14 @@ export default function getLPTheme(mode) { color: brand[500], }, ...(theme.palette.mode === 'dark' && { - background: `linear-gradient(to bottom right, ${brand[700]}, ${brand[900]})`, - borderColor: `${alpha(brand[500], 0.5)}`, + borderColor: `${alpha(brand[500], 0.2)}`, + backgroundColor: `${alpha(brand[900], 0.5)}`, '&:hover': { backgroundColor: brand[600], }, '&:focus-visible': { - borderColor: brand[200], - backgroundColor: brand[600], + borderColor: brand[500], + backgroundColor: brand[800], }, '& .MuiChip-label': { color: brand[200], @@ -429,13 +473,54 @@ export default function getLPTheme(mode) { }), }, }, + MuiFormLabel: { + styleOverrides: { + root: ({ theme }) => ({ + typography: theme.typography.caption, + marginBottom: 8, + }), + }, + }, + MuiIconButton: { + styleOverrides: { + root: ({ theme, ownerState }) => ({ + ...(ownerState.size === 'small' && { + height: '2rem', + width: '2rem', + }), + ...(ownerState.size === 'medium' && { + height: '2.5rem', + width: '2.5rem', + }), + color: brand[500], + '&:hover': { + backgroundColor: alpha(brand[300], 0.3), + borderColor: brand[200], + }, + ...(theme.palette.mode === 'dark' && { + color: brand[200], + '&:hover': { + backgroundColor: alpha(brand[600], 0.3), + borderColor: brand[700], + }, + }), + }), + }, + }, + MuiInputBase: { + styleOverrides: { + root: { + border: 'none', + }, + }, + }, MuiLink: { defaultProps: { underline: 'none', }, styleOverrides: { root: ({ theme }) => ({ - color: brand[600], + color: brand[700], fontWeight: 500, position: 'relative', textDecoration: 'none', @@ -454,6 +539,11 @@ export default function getLPTheme(mode) { width: '100%', opacity: 1, }, + '&:focus-visible': { + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '4px', + borderRadius: '2px', + }, ...(theme.palette.mode === 'dark' && { color: brand[200], }), @@ -463,26 +553,109 @@ export default function getLPTheme(mode) { MuiMenuItem: { styleOverrides: { root: ({ theme }) => ({ - borderRadius: '99px', - color: gray[500], + paddingRight: 6, + paddingLeft: 6, + color: gray[700], + fontSize: '0.875rem', fontWeight: 500, + borderRadius: theme.shape.borderRadius, ...(theme.palette.mode === 'dark' && { - color: gray[300], + color: gray[200], }), }), }, }, - MuiPaper: { + MuiOutlinedInput: { styleOverrides: { - root: ({ theme }) => ({ - backgroundImage: 'none', - backgroundColor: gray[100], + notchedOutline: { + border: 'none', + }, + input: { + paddingLeft: 10, + }, + root: ({ theme, ownerState }) => ({ + 'input:-webkit-autofill': { + WebkitBoxShadow: `0 0 0 1000px ${brand[100]} inset, 0 0 0 1px ${brand[200]}`, + maxHeight: '4px', + borderRadius: '8px', + }, + '& .MuiInputBase-input': { + fontSize: '1rem', + '&::placeholder': { + opacity: 0.7, + color: gray[500], + }, + }, + boxSizing: 'border-box', + flexGrow: 1, + height: '40px', + borderRadius: theme.shape.borderRadius, + border: '1px solid', + borderColor: alpha(gray[300], 0.8), + boxShadow: '0 0 0 1.5px hsla(210, 0%, 0%, 0.02) inset', + transition: 'border-color 120ms ease-in', + backgroundColor: alpha(gray[100], 0.4), + '&:hover': { + borderColor: brand[300], + }, + '&.Mui-focused': { + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '2px', + borderColor: brand[400], + }, + ...(ownerState.color === 'error' && { + borderColor: red[200], + color: red[500], + '& + .MuiFormHelperText-root': { + color: red[500], + }, + }), ...(theme.palette.mode === 'dark' && { - backgroundColor: alpha(gray[900], 0.6), + 'input:-webkit-autofill': { + WebkitBoxShadow: `0 0 0 1000px ${brand[900]} inset, 0 0 0 1px ${brand[600]}`, + maxHeight: '6px', + borderRadius: '8px', + }, + '& .MuiInputBase-input': { + fontSize: '1rem', + '&::placeholder': { + opacity: 1, + color: gray[500], + }, + }, + borderColor: alpha(gray[700], 0.5), + boxShadow: '0 0 0 1.5px hsl(210, 0%, 0%) inset', + backgroundColor: alpha(gray[900], 0.8), + transition: 'border-color 120ms ease-in', + '&:hover': { + borderColor: brand[300], + }, + '&.Mui-focused': { + borderColor: brand[400], + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '2px', + }, + ...(ownerState.color === 'error' && { + borderColor: red[700], + color: red[300], + '& + .MuiFormHelperText-root': { + color: red[300], + }, + }), }), }), }, }, + MuiPaper: { + defaultProps: { + elevation: 0, + }, + }, + MuiStack: { + defaultProps: { + useFlexGap: true, + }, + }, MuiSwitch: { styleOverrides: { root: ({ theme }) => ({ @@ -505,8 +678,8 @@ export default function getLPTheme(mode) { borderRadius: 50, }, '& .MuiSwitch-thumb': { - boxShadow: '0 0 2px 2px rgba(0, 0, 0, 0.2)', - backgroundColor: '#FFF', + boxShadow: '0 0 2px 2px hsla(220, 0%, 0%, 0.2)', + backgroundColor: 'hsl(0, 0%, 100%)', width: 16, height: 16, margin: 2, @@ -527,8 +700,8 @@ export default function getLPTheme(mode) { }, }, '& .MuiSwitch-thumb': { - boxShadow: '0 0 2px 2px rgba(0, 0, 0, 0.2)', - backgroundColor: '#FFF', + boxShadow: '0 0 2px 2px hsla(220, 0%, 0%, 0.2)', + backgroundColor: 'hsl(0, 0%, 100%)', width: 16, height: 16, margin: 2, @@ -539,72 +712,40 @@ export default function getLPTheme(mode) { height: 24, width: 24, padding: 0, - color: '#fff', + color: 'hsl(0, 0%, 100%)', '&.Mui-checked + .MuiSwitch-track': { opacity: 1, }, }, }, }, - MuiTextField: { + MuiToggleButtonGroup: { styleOverrides: { root: ({ theme }) => ({ - '& label .Mui-focused': { - color: 'white', - }, - '& .MuiInputBase-input': { - boxSizing: 'border-box', - '&::placeholder': { - opacity: 0.7, - }, - }, - '& .MuiOutlinedInput-root': { - boxSizing: 'border-box', - minWidth: 280, - minHeight: 40, - height: '100%', - borderRadius: '10px', - border: '1px solid', - borderColor: gray[200], - transition: 'border-color 120ms ease-in', - '& fieldset': { - border: 'none', - boxShadow: '0px 2px 4px rgba(0, 0, 0, 0.1)', - background: `${alpha('#FFF', 0.3)}`, - }, - '&:hover': { - borderColor: brand[300], - }, - '&.Mui-focused': { - borderColor: brand[400], - outline: '4px solid', - outlineColor: brand[200], - }, + borderRadius: theme.shape.borderRadius, + boxShadow: `0 1px 2px hsla(210, 0%, 0%, 0.05), 0 2px 12px ${alpha(brand[200], 0.5)}`, + '& .Mui-selected': { + color: brand[500], }, ...(theme.palette.mode === 'dark' && { - '& .MuiOutlinedInput-root': { - boxSizing: 'border-box', - minWidth: 280, - minHeight: 40, - height: '100%', - borderRadius: '10px', - border: '1px solid', - borderColor: gray[600], - transition: 'border-color 120ms ease-in', - '& fieldset': { - border: 'none', - boxShadow: ' 0px 2px 4px rgba(0, 0, 0, 0.4)', - background: `${alpha(gray[800], 0.4)}`, - }, - '&:hover': { - borderColor: brand[300], - }, - '&.Mui-focused': { - borderColor: brand[400], - outline: '4px solid', - outlineColor: alpha(brand[500], 0.5), - }, + '& .Mui-selected': { + color: 'hsl(0, 0%, 100%)', }, + boxShadow: `0 0 0 1px hsla(210, 0%, 0%, 0.5), 0 2px 12px ${alpha(brand[700], 0.5)}`, + }), + }), + }, + }, + MuiToggleButton: { + styleOverrides: { + root: ({ theme }) => ({ + padding: '12px 16px', + textTransform: 'none', + borderRadius: theme.shape.borderRadius, + fontWeight: 500, + ...(theme.palette.mode === 'dark' && { + color: gray[400], + '&.Mui-selected': { color: brand[300] }, }), }), }, diff --git a/docs/data/material/getting-started/templates/landing-page/getLPTheme.tsx b/docs/data/material/getting-started/templates/landing-page/getLPTheme.tsx index 2186784d2735ae..c513c17f63b408 100644 --- a/docs/data/material/getting-started/templates/landing-page/getLPTheme.tsx +++ b/docs/data/material/getting-started/templates/landing-page/getLPTheme.tsx @@ -1,6 +1,5 @@ import type {} from '@mui/material/themeCssVarsAugmentation'; -import { ThemeOptions, alpha } from '@mui/material/styles'; -import { red } from '@mui/material/colors'; +import { createTheme, ThemeOptions, alpha } from '@mui/material/styles'; import { PaletteMode } from '@mui/material'; declare module '@mui/material/styles/createPalette' { @@ -20,56 +19,71 @@ declare module '@mui/material/styles/createPalette' { interface PaletteColor extends ColorRange {} } -export const brand = { - 50: '#F0F7FF', - 100: '#CEE5FD', - 200: '#9CCCFC', - 300: '#55A6F6', - 400: '#0A66C2', - 500: '#0959AA', - 600: '#064079', - 700: '#033363', - 800: '#02294F', - 900: '#021F3B', -}; +const customTheme = createTheme(); -export const secondary = { - 50: '#F9F0FF', - 100: '#E9CEFD', - 200: '#D49CFC', - 300: '#B355F6', - 400: '#750AC2', - 500: '#6709AA', - 600: '#490679', - 700: '#3B0363', - 800: '#2F024F', - 900: '#23023B', +export const brand = { + 50: 'hsl(210, 100%, 97%)', + 100: 'hsl(210, 100%, 90%)', + 200: 'hsl(210, 100%, 80%)', + 300: 'hsl(210, 100%, 65%)', + 400: 'hsl(210, 98%, 48%)', + 500: 'hsl(210, 98%, 42%)', + 600: 'hsl(210, 98%, 55%)', + 700: 'hsl(210, 100%, 35%)', + 800: 'hsl(210, 100%, 16%)', + 900: 'hsl(210, 100%, 21%)', }; export const gray = { - 50: '#FBFCFE', - 100: '#EAF0F5', - 200: '#D6E2EB', - 300: '#BFCCD9', - 400: '#94A6B8', - 500: '#5B6B7C', - 600: '#4C5967', - 700: '#364049', - 800: '#131B20', - 900: '#090E10', + 50: 'hsl(220, 60%, 99%)', + 100: 'hsl(220, 35%, 94%)', + 200: 'hsl(220, 35%, 88%)', + 300: 'hsl(220, 25%, 80%)', + 400: 'hsl(220, 20%, 65%)', + 500: 'hsl(220, 20%, 42%)', + 600: 'hsl(220, 25%, 35%)', + 700: 'hsl(220, 25%, 25%)', + 800: 'hsl(220, 25%, 10%)', + 900: 'hsl(220, 30%, 5%)', }; export const green = { - 50: '#F6FEF6', - 100: '#E3FBE3', - 200: '#C7F7C7', - 300: '#A1E8A1', - 400: '#51BC51', - 500: '#1F7A1F', - 600: '#136C13', - 700: '#0A470A', - 800: '#042F04', - 900: '#021D02', + 50: 'hsl(120, 80%, 98%)', + 100: 'hsl(120, 75%, 94%)', + 200: 'hsl(120, 75%, 87%)', + 300: 'hsl(120, 61%, 77%)', + 400: 'hsl(120, 44%, 53%)', + 500: 'hsl(120, 59%, 30%)', + 600: 'hsl(120, 70%, 25%)', + 700: 'hsl(120, 75%, 16%)', + 800: 'hsl(120, 84%, 10%)', + 900: 'hsl(120, 87%, 6%)', +}; + +export const orange = { + 50: 'hsl(45, 100%, 97%)', + 100: 'hsl(45, 92%, 90%)', + 200: 'hsl(45, 94%, 80%)', + 300: 'hsl(45, 90%, 65%)', + 400: 'hsl(45, 90%, 40%)', + 500: 'hsl(45, 90%, 35%)', + 600: 'hsl(45, 91%, 25%)', + 700: 'hsl(45, 94%, 20%)', + 800: 'hsl(45, 95%, 16%)', + 900: 'hsl(45, 93%, 12%)', +}; + +export const red = { + 50: 'hsl(0, 100%, 97%)', + 100: 'hsl(0, 92%, 90%)', + 200: 'hsl(0, 94%, 80%)', + 300: 'hsl(0, 90%, 65%)', + 400: 'hsl(0, 90%, 40%)', + 500: 'hsl(0, 90%, 30%)', + 600: 'hsl(0, 91%, 25%)', + 700: 'hsl(0, 94%, 20%)', + 800: 'hsl(0, 95%, 16%)', + 900: 'hsl(0, 93%, 12%)', }; const getDesignTokens = (mode: PaletteMode) => ({ @@ -81,32 +95,43 @@ const getDesignTokens = (mode: PaletteMode) => ({ dark: brand[800], contrastText: brand[50], ...(mode === 'dark' && { - contrastText: brand[100], + contrastText: brand[50], light: brand[300], main: brand[400], dark: brand[800], }), }, - secondary: { - light: secondary[300], - main: secondary[500], - dark: secondary[800], + info: { + light: brand[100], + main: brand[300], + dark: brand[600], + contrastText: gray[50], ...(mode === 'dark' && { - light: secondary[400], - main: secondary[500], - dark: secondary[900], + contrastText: brand[300], + light: brand[500], + main: brand[700], + dark: brand[900], }), }, warning: { - main: '#F7B538', - dark: '#F79F00', - ...(mode === 'dark' && { main: '#F7B538', dark: '#F79F00' }), + light: orange[300], + main: orange[400], + dark: orange[800], + ...(mode === 'dark' && { + light: orange[400], + main: orange[500], + dark: orange[700], + }), }, error: { - light: red[50], - main: red[500], - dark: red[700], - ...(mode === 'dark' && { light: '#D32F2F', main: '#D32F2F', dark: '#B22A2A' }), + light: red[300], + main: red[400], + dark: red[800], + ...(mode === 'dark' && { + light: red[400], + main: red[500], + dark: red[700], + }), }, success: { light: green[300], @@ -119,27 +144,18 @@ const getDesignTokens = (mode: PaletteMode) => ({ }), }, grey: { - 50: gray[50], - 100: gray[100], - 200: gray[200], - 300: gray[300], - 400: gray[400], - 500: gray[500], - 600: gray[600], - 700: gray[700], - 800: gray[800], - 900: gray[900], + ...gray, }, divider: mode === 'dark' ? alpha(gray[600], 0.3) : alpha(gray[300], 0.5), background: { - default: '#fff', - paper: gray[50], - ...(mode === 'dark' && { default: gray[900], paper: gray[800] }), + default: 'hsl(0, 0%, 100%)', + paper: gray[100], + ...(mode === 'dark' && { default: 'hsl(220, 30%, 3%)', paper: gray[900] }), }, text: { primary: gray[800], secondary: gray[600], - ...(mode === 'dark' && { primary: '#fff', secondary: gray[400] }), + ...(mode === 'dark' && { primary: 'hsl(0, 0%, 100%)', secondary: gray[400] }), }, action: { selected: `${alpha(brand[200], 0.2)}`, @@ -151,51 +167,54 @@ const getDesignTokens = (mode: PaletteMode) => ({ typography: { fontFamily: ['"Inter", "sans-serif"'].join(','), h1: { - fontSize: 60, + fontSize: customTheme.typography.pxToRem(60), fontWeight: 600, - lineHeight: 78 / 70, - letterSpacing: -0.2, + lineHeight: 1.2, + letterSpacing: -0.5, }, h2: { - fontSize: 48, + fontSize: customTheme.typography.pxToRem(48), fontWeight: 600, lineHeight: 1.2, }, h3: { - fontSize: 42, + fontSize: customTheme.typography.pxToRem(42), lineHeight: 1.2, }, h4: { - fontSize: 36, + fontSize: customTheme.typography.pxToRem(36), fontWeight: 500, lineHeight: 1.5, }, h5: { - fontSize: 20, + fontSize: customTheme.typography.pxToRem(20), fontWeight: 600, }, h6: { - fontSize: 18, + fontSize: customTheme.typography.pxToRem(18), }, subtitle1: { - fontSize: 18, + fontSize: customTheme.typography.pxToRem(18), }, subtitle2: { - fontSize: 16, + fontSize: customTheme.typography.pxToRem(16), }, body1: { + fontSize: customTheme.typography.pxToRem(15), fontWeight: 400, - fontSize: 15, }, body2: { + fontSize: customTheme.typography.pxToRem(14), fontWeight: 400, - fontSize: 14, }, caption: { + fontSize: customTheme.typography.pxToRem(12), fontWeight: 400, - fontSize: 12, }, }, + shape: { + borderRadius: 12, + }, }); export default function getLPTheme(mode: PaletteMode): ThemeOptions { @@ -211,7 +230,7 @@ export default function getLPTheme(mode: PaletteMode): ThemeOptions { root: ({ theme }) => ({ padding: 8, overflow: 'clip', - backgroundColor: '#fff', + backgroundColor: 'hsl(0, 0%, 100%)', border: '1px solid', borderColor: gray[100], ':before': { @@ -238,6 +257,7 @@ export default function getLPTheme(mode: PaletteMode): ThemeOptions { border: 'none', borderRadius: 8, '&:hover': { backgroundColor: gray[100] }, + '&:focus-visible': { backgroundColor: 'transparent' }, ...(theme.palette.mode === 'dark' && { '&:hover': { backgroundColor: gray[800] }, }), @@ -249,38 +269,6 @@ export default function getLPTheme(mode: PaletteMode): ThemeOptions { root: { mb: 20, border: 'none' }, }, }, - MuiToggleButtonGroup: { - styleOverrides: { - root: ({ theme }) => ({ - borderRadius: '10px', - boxShadow: `0 4px 16px ${alpha(gray[400], 0.2)}`, - '& .Mui-selected': { - color: brand[500], - }, - ...(theme.palette.mode === 'dark' && { - '& .Mui-selected': { - color: '#fff', - }, - boxShadow: `0 4px 16px ${alpha(brand[700], 0.5)}`, - }), - }), - }, - }, - MuiToggleButton: { - styleOverrides: { - root: ({ theme }) => ({ - padding: '12px 16px', - textTransform: 'none', - borderRadius: '10px', - fontWeight: 500, - ...(theme.palette.mode === 'dark' && { - color: gray[400], - boxShadow: '0 4px 16px rgba(0, 0, 0, 0.5)', - '&.Mui-selected': { color: brand[300] }, - }), - }), - }, - }, MuiButtonBase: { defaultProps: { disableTouchRipple: true, @@ -289,9 +277,9 @@ export default function getLPTheme(mode: PaletteMode): ThemeOptions { styleOverrides: { root: { boxSizing: 'border-box', - transition: 'all 100ms ease-in', + transition: 'all 100ms ease', '&:focus-visible': { - outline: `3px solid ${alpha(brand[500], 0.5)}`, + outline: `3px solid ${alpha(brand[400], 0.5)}`, outlineOffset: '2px', }, }, @@ -300,65 +288,126 @@ export default function getLPTheme(mode: PaletteMode): ThemeOptions { MuiButton: { styleOverrides: { root: ({ theme, ownerState }) => ({ - boxSizing: 'border-box', boxShadow: 'none', - borderRadius: '10px', + borderRadius: theme.shape.borderRadius, textTransform: 'none', - '&:active': { - transform: 'scale(0.98)', - }, ...(ownerState.size === 'small' && { - maxHeight: '32px', + height: '2rem', // 32px + padding: '0 0.5rem', }), ...(ownerState.size === 'medium' && { - height: '40px', + height: '2.5rem', // 40px }), ...(ownerState.variant === 'contained' && ownerState.color === 'primary' && { - color: brand[50], - background: brand[500], - backgroundImage: `linear-gradient(to bottom, ${brand[400]}, ${brand[600]})`, - boxShadow: `inset 0 1px ${alpha(brand[300], 0.4)}`, - outline: `1px solid ${brand[700]}`, + color: 'white', + backgroundColor: brand[300], + backgroundImage: `linear-gradient(to bottom, ${alpha(brand[400], 0.8)}, ${brand[500]})`, + boxShadow: `inset 0 2px 0 ${alpha(brand[200], 0.2)}, inset 0 -2px 0 ${alpha(brand[700], 0.4)}`, + border: `1px solid ${brand[500]}`, '&:hover': { - background: brand[400], - backgroundImage: 'none', - boxShadow: `0 0 0 1px ${alpha(brand[300], 0.5)}`, + backgroundColor: brand[700], + boxShadow: 'none', + }, + '&:active': { + backgroundColor: brand[700], + boxShadow: `inset 0 2.5px 0 ${alpha(brand[700], 0.4)}`, }, }), ...(ownerState.variant === 'outlined' && { + color: brand[700], backgroundColor: alpha(brand[300], 0.1), - borderColor: brand[300], - color: brand[500], + borderColor: alpha(brand[200], 0.8), + boxShadow: `inset 0 2px ${alpha(brand[50], 0.5)}, inset 0 -2px ${alpha(brand[200], 0.2)}`, '&:hover': { - backgroundColor: alpha(brand[300], 0.3), - borderColor: brand[200], + backgroundColor: alpha(brand[300], 0.2), + borderColor: alpha(brand[300], 0.5), + boxShadow: 'none', }, - }), - ...(ownerState.variant === 'text' && { - color: brand[500], - '&:hover': { + '&:active': { backgroundColor: alpha(brand[300], 0.3), - borderColor: brand[200], + boxShadow: `inset 0 2.5px 0 ${alpha(brand[400], 0.2)}`, + backgroundImage: 'none', }, }), + ...(ownerState.variant === 'outlined' && + ownerState.color === 'secondary' && { + backgroundColor: alpha(gray[300], 0.1), + borderColor: alpha(gray[300], 0.5), + color: gray[700], + '&:hover': { + backgroundColor: alpha(gray[300], 0.3), + borderColor: alpha(gray[300], 0.5), + boxShadow: 'none', + }, + '&:active': { + backgroundColor: alpha(gray[300], 0.4), + boxShadow: `inset 0 2.5px 0 ${alpha(gray[400], 0.2)}`, + backgroundImage: 'none', + }, + }), + ...(ownerState.variant === 'text' && + ownerState.color === 'primary' && { + color: brand[700], + '&:hover': { + backgroundColor: alpha(brand[300], 0.3), + }, + }), + ...(ownerState.variant === 'text' && + ownerState.color === 'info' && { + color: gray[700], + '&:hover': { + backgroundColor: alpha(gray[300], 0.3), + }, + }), ...(theme.palette.mode === 'dark' && { ...(ownerState.variant === 'outlined' && { + color: brand[200], backgroundColor: alpha(brand[600], 0.1), - borderColor: brand[700], - color: brand[300], + borderColor: alpha(brand[600], 0.6), + boxShadow: `inset 0 2.5px ${alpha(brand[400], 0.1)}, inset 0 -2px ${alpha(gray[900], 0.5)}`, '&:hover': { - backgroundColor: alpha(brand[600], 0.3), - borderColor: brand[700], + backgroundColor: alpha(brand[700], 0.2), + borderColor: alpha(brand[700], 0.5), + boxShadow: 'none', }, - }), - ...(ownerState.variant === 'text' && { - color: brand[300], - '&:hover': { - backgroundColor: alpha(brand[600], 0.3), - borderColor: brand[700], + '&:active': { + backgroundColor: alpha(brand[800], 0.2), + boxShadow: `inset 0 2.5px 0 ${alpha(brand[900], 0.4)}`, + backgroundImage: 'none', }, }), + ...(ownerState.variant === 'text' && + ownerState.color === 'info' && { + color: gray[200], + '&:hover': { + backgroundColor: alpha(gray[700], 0.3), + }, + }), + ...(ownerState.variant === 'outlined' && + ownerState.color === 'secondary' && { + color: gray[300], + backgroundColor: alpha(gray[600], 0.1), + borderColor: alpha(gray[700], 0.5), + boxShadow: `inset 0 2.5px ${alpha(gray[600], 0.1)}, inset 0 -2px ${alpha(gray[900], 0.5)}`, + '&:hover': { + backgroundColor: alpha(gray[700], 0.2), + borderColor: alpha(gray[700], 0.5), + boxShadow: 'none', + }, + '&:active': { + backgroundColor: alpha(gray[800], 0.2), + boxShadow: `inset 0 2.5px 0 ${alpha(gray[900], 0.4)}`, + backgroundImage: 'none', + }, + }), + ...(ownerState.variant === 'text' && + ownerState.color === 'primary' && { + color: brand[200], + '&:hover': { + backgroundColor: alpha(brand[700], 0.3), + }, + }), }), }), }, @@ -366,30 +415,26 @@ export default function getLPTheme(mode: PaletteMode): ThemeOptions { MuiCard: { styleOverrides: { root: ({ theme, ownerState }) => ({ + transition: 'all 100ms ease', backgroundColor: gray[50], - borderRadius: 10, - border: `1px solid ${alpha(gray[200], 0.8)}`, + borderRadius: theme.shape.borderRadius, + border: `1px solid ${alpha(gray[200], 0.5)}`, boxShadow: 'none', - transition: 'background-color, border, 80ms ease', ...(ownerState.variant === 'outlined' && { - background: `linear-gradient(to bottom, #FFF, ${gray[50]})`, - '&:hover': { - borderColor: brand[300], - boxShadow: `0 0 24px ${brand[100]}`, - }, + border: `1px solid ${gray[200]}`, + boxShadow: 'none', + background: `linear-gradient(to bottom, hsl(0, 0%, 100%), ${gray[50]})`, }), ...(theme.palette.mode === 'dark' && { backgroundColor: alpha(gray[800], 0.6), border: `1px solid ${alpha(gray[700], 0.3)}`, ...(ownerState.variant === 'outlined' && { + border: `1px solid ${alpha(gray[700], 0.4)}`, + boxShadow: 'none', background: `linear-gradient(to bottom, ${gray[900]}, ${alpha( gray[800], 0.5, )})`, - '&:hover': { - borderColor: brand[700], - boxShadow: `0 0 24px ${brand[800]}`, - }, }), }), }), @@ -398,18 +443,17 @@ export default function getLPTheme(mode: PaletteMode): ThemeOptions { MuiChip: { styleOverrides: { root: ({ theme }) => ({ - alignSelf: 'center', py: 1.5, px: 0.5, - background: `linear-gradient(to bottom right, ${brand[50]}, ${brand[100]})`, border: '1px solid', - borderColor: `${alpha(brand[500], 0.3)}`, - fontWeight: '600', + borderColor: brand[100], + fontWeight: 600, + backgroundColor: brand[50], '&:hover': { backgroundColor: brand[500], }, '&:focus-visible': { - borderColor: brand[800], + borderColor: brand[300], backgroundColor: brand[200], }, '& .MuiChip-label': { @@ -419,14 +463,14 @@ export default function getLPTheme(mode: PaletteMode): ThemeOptions { color: brand[500], }, ...(theme.palette.mode === 'dark' && { - background: `linear-gradient(to bottom right, ${brand[700]}, ${brand[900]})`, - borderColor: `${alpha(brand[500], 0.5)}`, + borderColor: `${alpha(brand[500], 0.2)}`, + backgroundColor: `${alpha(brand[900], 0.5)}`, '&:hover': { backgroundColor: brand[600], }, '&:focus-visible': { - borderColor: brand[200], - backgroundColor: brand[600], + borderColor: brand[500], + backgroundColor: brand[800], }, '& .MuiChip-label': { color: brand[200], @@ -448,13 +492,54 @@ export default function getLPTheme(mode: PaletteMode): ThemeOptions { }), }, }, + MuiFormLabel: { + styleOverrides: { + root: ({ theme }) => ({ + typography: theme.typography.caption, + marginBottom: 8, + }), + }, + }, + MuiIconButton: { + styleOverrides: { + root: ({ theme, ownerState }) => ({ + ...(ownerState.size === 'small' && { + height: '2rem', + width: '2rem', + }), + ...(ownerState.size === 'medium' && { + height: '2.5rem', + width: '2.5rem', + }), + color: brand[500], + '&:hover': { + backgroundColor: alpha(brand[300], 0.3), + borderColor: brand[200], + }, + ...(theme.palette.mode === 'dark' && { + color: brand[200], + '&:hover': { + backgroundColor: alpha(brand[600], 0.3), + borderColor: brand[700], + }, + }), + }), + }, + }, + MuiInputBase: { + styleOverrides: { + root: { + border: 'none', + }, + }, + }, MuiLink: { defaultProps: { underline: 'none', }, styleOverrides: { root: ({ theme }) => ({ - color: brand[600], + color: brand[700], fontWeight: 500, position: 'relative', textDecoration: 'none', @@ -473,6 +558,11 @@ export default function getLPTheme(mode: PaletteMode): ThemeOptions { width: '100%', opacity: 1, }, + '&:focus-visible': { + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '4px', + borderRadius: '2px', + }, ...(theme.palette.mode === 'dark' && { color: brand[200], }), @@ -482,26 +572,109 @@ export default function getLPTheme(mode: PaletteMode): ThemeOptions { MuiMenuItem: { styleOverrides: { root: ({ theme }) => ({ - borderRadius: '99px', - color: gray[500], + paddingRight: 6, + paddingLeft: 6, + color: gray[700], + fontSize: '0.875rem', fontWeight: 500, + borderRadius: theme.shape.borderRadius, ...(theme.palette.mode === 'dark' && { - color: gray[300], + color: gray[200], }), }), }, }, - MuiPaper: { + MuiOutlinedInput: { styleOverrides: { - root: ({ theme }) => ({ - backgroundImage: 'none', - backgroundColor: gray[100], + notchedOutline: { + border: 'none', + }, + input: { + paddingLeft: 10, + }, + root: ({ theme, ownerState }) => ({ + 'input:-webkit-autofill': { + WebkitBoxShadow: `0 0 0 1000px ${brand[100]} inset, 0 0 0 1px ${brand[200]}`, + maxHeight: '4px', + borderRadius: '8px', + }, + '& .MuiInputBase-input': { + fontSize: '1rem', + '&::placeholder': { + opacity: 0.7, + color: gray[500], + }, + }, + boxSizing: 'border-box', + flexGrow: 1, + height: '40px', + borderRadius: theme.shape.borderRadius, + border: '1px solid', + borderColor: alpha(gray[300], 0.8), + boxShadow: '0 0 0 1.5px hsla(210, 0%, 0%, 0.02) inset', + transition: 'border-color 120ms ease-in', + backgroundColor: alpha(gray[100], 0.4), + '&:hover': { + borderColor: brand[300], + }, + '&.Mui-focused': { + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '2px', + borderColor: brand[400], + }, + ...(ownerState.color === 'error' && { + borderColor: red[200], + color: red[500], + '& + .MuiFormHelperText-root': { + color: red[500], + }, + }), ...(theme.palette.mode === 'dark' && { - backgroundColor: alpha(gray[900], 0.6), + 'input:-webkit-autofill': { + WebkitBoxShadow: `0 0 0 1000px ${brand[900]} inset, 0 0 0 1px ${brand[600]}`, + maxHeight: '6px', + borderRadius: '8px', + }, + '& .MuiInputBase-input': { + fontSize: '1rem', + '&::placeholder': { + opacity: 1, + color: gray[500], + }, + }, + borderColor: alpha(gray[700], 0.5), + boxShadow: '0 0 0 1.5px hsl(210, 0%, 0%) inset', + backgroundColor: alpha(gray[900], 0.8), + transition: 'border-color 120ms ease-in', + '&:hover': { + borderColor: brand[300], + }, + '&.Mui-focused': { + borderColor: brand[400], + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '2px', + }, + ...(ownerState.color === 'error' && { + borderColor: red[700], + color: red[300], + '& + .MuiFormHelperText-root': { + color: red[300], + }, + }), }), }), }, }, + MuiPaper: { + defaultProps: { + elevation: 0, + }, + }, + MuiStack: { + defaultProps: { + useFlexGap: true, + }, + }, MuiSwitch: { styleOverrides: { root: ({ theme }) => ({ @@ -524,8 +697,8 @@ export default function getLPTheme(mode: PaletteMode): ThemeOptions { borderRadius: 50, }, '& .MuiSwitch-thumb': { - boxShadow: '0 0 2px 2px rgba(0, 0, 0, 0.2)', - backgroundColor: '#FFF', + boxShadow: '0 0 2px 2px hsla(220, 0%, 0%, 0.2)', + backgroundColor: 'hsl(0, 0%, 100%)', width: 16, height: 16, margin: 2, @@ -546,8 +719,8 @@ export default function getLPTheme(mode: PaletteMode): ThemeOptions { }, }, '& .MuiSwitch-thumb': { - boxShadow: '0 0 2px 2px rgba(0, 0, 0, 0.2)', - backgroundColor: '#FFF', + boxShadow: '0 0 2px 2px hsla(220, 0%, 0%, 0.2)', + backgroundColor: 'hsl(0, 0%, 100%)', width: 16, height: 16, margin: 2, @@ -558,72 +731,40 @@ export default function getLPTheme(mode: PaletteMode): ThemeOptions { height: 24, width: 24, padding: 0, - color: '#fff', + color: 'hsl(0, 0%, 100%)', '&.Mui-checked + .MuiSwitch-track': { opacity: 1, }, }, }, }, - MuiTextField: { + MuiToggleButtonGroup: { styleOverrides: { root: ({ theme }) => ({ - '& label .Mui-focused': { - color: 'white', - }, - '& .MuiInputBase-input': { - boxSizing: 'border-box', - '&::placeholder': { - opacity: 0.7, - }, - }, - '& .MuiOutlinedInput-root': { - boxSizing: 'border-box', - minWidth: 280, - minHeight: 40, - height: '100%', - borderRadius: '10px', - border: '1px solid', - borderColor: gray[200], - transition: 'border-color 120ms ease-in', - '& fieldset': { - border: 'none', - boxShadow: '0px 2px 4px rgba(0, 0, 0, 0.1)', - background: `${alpha('#FFF', 0.3)}`, - }, - '&:hover': { - borderColor: brand[300], - }, - '&.Mui-focused': { - borderColor: brand[400], - outline: '4px solid', - outlineColor: brand[200], - }, + borderRadius: theme.shape.borderRadius, + boxShadow: `0 1px 2px hsla(210, 0%, 0%, 0.05), 0 2px 12px ${alpha(brand[200], 0.5)}`, + '& .Mui-selected': { + color: brand[500], }, ...(theme.palette.mode === 'dark' && { - '& .MuiOutlinedInput-root': { - boxSizing: 'border-box', - minWidth: 280, - minHeight: 40, - height: '100%', - borderRadius: '10px', - border: '1px solid', - borderColor: gray[600], - transition: 'border-color 120ms ease-in', - '& fieldset': { - border: 'none', - boxShadow: ' 0px 2px 4px rgba(0, 0, 0, 0.4)', - background: `${alpha(gray[800], 0.4)}`, - }, - '&:hover': { - borderColor: brand[300], - }, - '&.Mui-focused': { - borderColor: brand[400], - outline: '4px solid', - outlineColor: alpha(brand[500], 0.5), - }, + '& .Mui-selected': { + color: 'hsl(0, 0%, 100%)', }, + boxShadow: `0 0 0 1px hsla(210, 0%, 0%, 0.5), 0 2px 12px ${alpha(brand[700], 0.5)}`, + }), + }), + }, + }, + MuiToggleButton: { + styleOverrides: { + root: ({ theme }) => ({ + padding: '12px 16px', + textTransform: 'none', + borderRadius: theme.shape.borderRadius, + fontWeight: 500, + ...(theme.palette.mode === 'dark' && { + color: gray[400], + '&.Mui-selected': { color: brand[300] }, }), }), }, diff --git a/docs/data/material/getting-started/templates/sign-in-side/Content.js b/docs/data/material/getting-started/templates/sign-in-side/Content.js index f656245d4816c1..5035c73d0bf86d 100644 --- a/docs/data/material/getting-started/templates/sign-in-side/Content.js +++ b/docs/data/material/getting-started/templates/sign-in-side/Content.js @@ -1,4 +1,5 @@ import * as React from 'react'; +import Box from '@mui/material/Box'; import Stack from '@mui/material/Stack'; import Typography from '@mui/material/Typography'; @@ -46,13 +47,9 @@ export default function Content() { maxWidth: 450, }} > - <SitemarkIcon - sx={{ - fontSize: 150, - height: 'fit-content', - display: { xs: 'none', md: 'flex' }, - }} - /> + <Box sx={{ display: { xs: 'none', md: 'flex' } }}> + <SitemarkIcon /> + </Box> {items.map((item) => ( <Stack direction="row" gap={2}> {item.icon} diff --git a/docs/data/material/getting-started/templates/sign-in-side/Content.tsx b/docs/data/material/getting-started/templates/sign-in-side/Content.tsx index f656245d4816c1..5035c73d0bf86d 100644 --- a/docs/data/material/getting-started/templates/sign-in-side/Content.tsx +++ b/docs/data/material/getting-started/templates/sign-in-side/Content.tsx @@ -1,4 +1,5 @@ import * as React from 'react'; +import Box from '@mui/material/Box'; import Stack from '@mui/material/Stack'; import Typography from '@mui/material/Typography'; @@ -46,13 +47,9 @@ export default function Content() { maxWidth: 450, }} > - <SitemarkIcon - sx={{ - fontSize: 150, - height: 'fit-content', - display: { xs: 'none', md: 'flex' }, - }} - /> + <Box sx={{ display: { xs: 'none', md: 'flex' } }}> + <SitemarkIcon /> + </Box> {items.map((item) => ( <Stack direction="row" gap={2}> {item.icon} diff --git a/docs/data/material/getting-started/templates/sign-in-side/CustomIcons.js b/docs/data/material/getting-started/templates/sign-in-side/CustomIcons.js index e4a8d735bb75e6..3cf63c3501ba0c 100644 --- a/docs/data/material/getting-started/templates/sign-in-side/CustomIcons.js +++ b/docs/data/material/getting-started/templates/sign-in-side/CustomIcons.js @@ -1,87 +1,57 @@ import * as React from 'react'; -import PropTypes from 'prop-types'; - import SvgIcon from '@mui/material/SvgIcon'; -function SitemarkIcon({ sx }) { +export function SitemarkIcon() { return ( - <SvgIcon sx={sx}> + <SvgIcon sx={{ height: 21, width: 100, mr: 2 }}> <svg - width="380" - height="81" - viewBox="0 0 380 81" + width={86} + height={19} + viewBox="0 0 86 19" fill="none" xmlns="http://www.w3.org/2000/svg" > <path - d="M0.039093 54.3012L27.0897 42.2617L42.6595 51.2914L45.8049 80.915L26.6179 80.7561L29.4487 60.1623L26.1461 58.2614L9.9471 70.9352L0.039093 54.3012Z" fill="#B4C0D3" + d="m.787 12.567 6.055-2.675 3.485 2.006.704 6.583-4.295-.035.634-4.577-.74-.422-3.625 2.817-2.218-3.697Z" /> <path - d="M44.3904 50.0223L68.296 67.6062L77.7321 50.656L58.5444 42.8937V39.0917L77.7321 31.1709L68.296 14.3789L44.3904 31.963V50.0223Z" fill="#00D3AB" + d="m10.714 11.616 5.352 3.908 2.112-3.767-4.295-1.725v-.845l4.295-1.76-2.112-3.732-5.352 3.908v4.013Z" /> <path - d="M42.6595 30.5377L45.8049 0.914062L26.6179 1.2308L29.4487 21.8249L26.1461 23.7258L9.78985 11.0526L0.039093 27.5277L27.0897 39.5673L42.6595 30.5377Z" fill="#4876EF" + d="m10.327 7.286.704-6.583-4.295.07.634 4.577-.74.422-3.66-2.816L.786 6.617l6.055 2.676 3.485-2.007Z" /> <path - d="M141.744 37.3657V65.1185H152.07V29.75H137.032V37.3657H141.744Z" fill="#4876EE" + d="M32.507 8.804v6.167h2.312v-7.86h-3.366v1.693h1.054ZM32.435 6.006c.212.22.535.33.968.33.434 0 .751-.11.953-.33.213-.23.318-.516.318-.86 0-.354-.105-.641-.318-.86-.202-.23-.52-.345-.953-.345-.433 0-.756.115-.968.344-.202.22-.303.507-.303.86 0 .345.101.632.303.861ZM24.46 14.799c.655.296 1.46.444 2.413.444.896 0 1.667-.139 2.312-.416.645-.277 1.141-.664 1.488-1.162.357-.506.535-1.094.535-1.764 0-.65-.169-1.2-.506-1.649-.328-.459-.785-.818-1.373-1.076-.587-.267-1.266-.435-2.037-.502l-.809-.071c-.481-.039-.828-.168-1.04-.388a1.08 1.08 0 0 1-.318-.774c0-.23.058-.44.173-.631.116-.201.29-.359.52-.474.241-.114.535-.172.882-.172.366 0 .67.067.91.201.053.029.104.059.15.09l.012.009.052.037c.146.111.263.243.35.395.125.21.188.444.188.703h2.311c0-.689-.159-1.286-.476-1.793-.318-.516-.776-.913-1.373-1.19-.588-.287-1.296-.43-2.124-.43-.79 0-1.474.133-2.052.4a3.131 3.131 0 0 0-1.358 1.12c-.318.487-.477 1.066-.477 1.735 0 .927.314 1.673.94 2.237.626.564 1.464.89 2.514.976l.794.071c.645.058 1.113.187 1.401.388a.899.899 0 0 1 .434.788 1.181 1.181 0 0 1-.231.717c-.154.201-.38.36-.68.474-.298.115-.669.172-1.112.172-.49 0-.89-.067-1.199-.2-.308-.144-.539-.33-.694-.56a1.375 1.375 0 0 1-.216-.746h-2.297c0 .679.168 1.281.505 1.807.337.517.834.928 1.489 1.234ZM39.977 15.07c-.8 0-1.445-.095-1.936-.286a2.03 2.03 0 0 1-1.084-.99c-.221-.469-.332-1.1-.332-1.893V8.789h-1.2V7.11h1.2V4.988h2.153V7.11h2.312V8.79h-2.312v3.198c0 .373.096.66.289.86.202.192.486.287.852.287h1.17v1.937h-1.112Z" /> <path - d="M141.421 24.7785C142.368 25.768 143.809 26.2626 145.745 26.2626C147.682 26.2626 149.101 25.768 150.004 24.7785C150.952 23.7455 151.424 22.4545 151.424 20.906C151.424 19.3137 150.952 18.0229 150.004 17.0334C149.101 16.0009 147.682 15.4844 145.745 15.4844C143.809 15.4844 142.368 16.0009 141.421 17.0334C140.518 18.0229 140.066 19.3137 140.066 20.906C140.066 22.4545 140.518 23.7455 141.421 24.7785Z" fill="#4876EE" - /> - <path - d="M105.795 64.3433C108.72 65.677 112.313 66.3444 116.572 66.3444C120.574 66.3444 124.016 65.7196 126.899 64.4723C129.782 63.2249 131.998 61.4819 133.547 59.2441C135.139 56.9637 135.935 54.3177 135.935 51.3055C135.935 48.3798 135.183 45.9056 133.677 43.8831C132.213 41.818 130.17 40.2044 127.544 39.043C124.92 37.8379 121.887 37.0849 118.444 36.784L114.83 36.4613C112.679 36.2888 111.13 35.7083 110.183 34.7184C109.236 33.729 108.763 32.5669 108.763 31.2335C108.763 30.2004 109.022 29.2541 109.537 28.3936C110.054 27.4898 110.828 26.78 111.861 26.2634C112.937 25.7474 114.249 25.4891 115.798 25.4891C117.433 25.4891 118.789 25.79 119.864 26.3928C120.101 26.5201 120.326 26.6562 120.537 26.8008L120.588 26.8366C120.667 26.8912 120.745 26.9478 120.821 27.005C121.474 27.5044 121.994 28.0962 122.381 28.7807C122.94 29.7275 123.221 30.7814 123.221 31.9433H133.547C133.547 28.8452 132.837 26.1558 131.418 23.8755C129.998 21.5522 127.954 19.7666 125.286 18.5184C122.661 17.2276 119.499 16.582 115.798 16.582C112.269 16.582 109.215 17.1849 106.633 18.3895C104.052 19.5514 102.03 21.2295 100.567 23.4235C99.1457 25.618 98.4357 28.2215 98.4357 31.2335C98.4357 35.4069 99.8355 38.7629 102.632 41.302C105.428 43.8405 109.172 45.3034 113.862 45.6905L117.412 46.0132C120.294 46.2715 122.381 46.8525 123.672 47.7556C124.962 48.6163 125.608 49.7996 125.608 51.3055C125.608 51.9978 125.495 52.6468 125.268 53.2532C125.1 53.7032 124.87 54.1298 124.576 54.533C123.887 55.436 122.876 56.1461 121.542 56.6631C120.209 57.1791 118.552 57.4371 116.572 57.4371C114.378 57.4371 112.592 57.1365 111.216 56.533C109.839 55.8881 108.807 55.049 108.117 54.0166C107.472 52.9835 107.15 51.8652 107.15 50.6601H96.8877C96.8877 53.7152 97.6404 56.4254 99.1457 58.7921C100.652 61.1162 102.869 62.9659 105.795 64.3433Z" - fill="#4876EE" - /> - <path - d="M175.111 65.5678C171.539 65.5678 168.656 65.1371 166.462 64.2767C164.267 63.3727 162.654 61.8886 161.621 59.8236C160.632 57.7149 160.137 54.8759 160.137 51.304V37.2985H154.78V29.7472H160.137V20.1953H169.754V29.7472H180.081V37.2985H169.754V51.6916C169.754 53.3697 170.184 54.6605 171.045 55.5635C171.948 56.4238 173.217 56.8545 174.853 56.8545H180.081V65.5678H175.111Z" - fill="#4876EE" - /> - <path fillRule="evenodd" + d="M43.873 14.899c.52.23 1.117.344 1.791.344.665 0 1.252-.115 1.763-.344.51-.23.934-.55 1.271-.96.337-.412.564-.88.679-1.407h-2.124c-.096.24-.279.44-.549.603-.27.162-.616.244-1.04.244-.262 0-.497-.031-.704-.093a1.572 1.572 0 0 1-.423-.194 1.662 1.662 0 0 1-.636-.803 3.159 3.159 0 0 1-.163-.645h5.784v-.775a4.28 4.28 0 0 0-.463-1.98 3.686 3.686 0 0 0-1.343-1.477c-.578-.382-1.291-.574-2.139-.574-.645 0-1.223.115-1.733.345-.501.22-.92.52-1.257.903a4.178 4.178 0 0 0-.78 1.305c-.174.478-.26.98-.26 1.506v.287c0 .507.086 1.004.26 1.492.183.478.443.913.78 1.305.347.382.775.688 1.286.918Zm-.094-4.674.02-.09a2.507 2.507 0 0 1 .117-.356c.145-.354.356-.622.636-.804.104-.067.217-.123.339-.165.204-.071.433-.107.686-.107.395 0 .723.09.983.272.27.173.472.426.607.76a2.487 2.487 0 0 1 .16.603h-3.57c.006-.038.013-.076.022-.113Z" clipRule="evenodd" - d="M192.514 64.7963C194.837 65.8283 197.505 66.3453 200.517 66.3453C203.485 66.3453 206.111 65.8283 208.391 64.7963C210.672 63.7633 212.565 62.3219 214.07 60.4722C215.577 58.6215 216.588 56.5127 217.103 54.1465H207.616C207.186 55.2217 206.369 56.1257 205.164 56.8571C203.959 57.5884 202.409 57.9541 200.517 57.9541C199.344 57.9541 198.296 57.8155 197.373 57.5383C196.67 57.3272 196.04 57.0362 195.483 56.6641C194.192 55.8027 193.245 54.598 192.643 53.0495C192.475 52.6082 192.332 52.1468 192.212 51.6661C192.089 51.1792 191.99 50.6725 191.916 50.145H217.749V46.6597C217.749 43.4325 217.061 40.4638 215.684 37.7532C214.307 34.9989 212.306 32.783 209.682 31.1051C207.1 29.384 203.916 28.5234 200.129 28.5234C197.246 28.5234 194.664 29.04 192.384 30.0725C190.148 31.0619 188.276 32.4173 186.77 34.1384C185.264 35.8595 184.102 37.8176 183.283 40.0122C182.509 42.163 182.122 44.422 182.122 46.7885V48.0794C182.122 50.3601 182.509 52.5974 183.283 54.792C184.102 56.9434 185.264 58.9008 186.77 60.6652C188.319 62.3859 190.232 63.7633 192.514 64.7963ZM192.094 43.763C192.122 43.6263 192.152 43.4918 192.185 43.3593C192.275 42.9945 192.378 42.6448 192.496 42.3106C192.562 42.1204 192.632 41.9349 192.708 41.7546C193.353 40.1623 194.299 38.9577 195.547 38.1403C196.014 37.8348 196.519 37.5864 197.062 37.3951C197.974 37.0744 198.998 36.9139 200.129 36.9139C201.894 36.9139 203.356 37.3228 204.518 38.1403C205.723 38.9146 206.627 40.0547 207.229 41.5608C207.278 41.6823 207.324 41.806 207.369 41.9312C207.44 42.1308 207.506 42.3355 207.568 42.5455C207.659 42.8578 207.739 43.181 207.809 43.5151C207.86 43.7615 207.904 44.0135 207.943 44.2718H191.994C192.024 44.0993 192.057 43.9299 192.094 43.763Z" - fill="#4876EE" /> <path - d="M222.01 65.1179V29.7494H230.208V38.6575C230.319 38.1279 230.445 37.6197 230.587 37.1322C230.709 36.7218 230.839 36.3257 230.982 35.9453C231.886 33.5356 233.241 31.7288 235.048 30.5237C236.855 29.276 239.07 28.6523 241.696 28.6523H242.147C244.815 28.6523 247.031 29.276 248.795 30.5237C250.602 31.7288 251.958 33.5356 252.861 35.9453L252.933 36.1272L252.993 36.2935C253.034 36.176 253.077 36.0601 253.119 35.9453C254.066 33.5356 255.443 31.7288 257.25 30.5237C259.057 29.276 261.274 28.6523 263.899 28.6523H264.351C267.017 28.6523 269.255 29.276 271.062 30.5237C272.912 31.7288 274.311 33.5356 275.257 35.9453C276.204 38.355 276.678 41.367 276.678 44.9813V65.1179H266.351V44.4002C266.351 42.464 265.835 40.8936 264.802 39.689C263.812 38.4839 262.392 37.8816 260.543 37.8816C258.692 37.8816 257.229 38.5058 256.153 39.7534C255.078 40.958 254.539 42.5716 254.539 44.5942V65.1179H244.148V44.4002C244.148 42.464 243.632 40.8936 242.599 39.689C241.61 38.4839 240.211 37.8816 238.405 37.8816C236.511 37.8816 235.027 38.5058 233.951 39.7534C232.875 40.958 232.337 42.5716 232.337 44.5942V65.1179H222.01Z" fill="#4876EE" + d="M50.476 14.97V7.112h1.835v1.98a4.54 4.54 0 0 1 .173-.603c.202-.536.506-.937.91-1.205.405-.277.9-.416 1.488-.416h.101c.598 0 1.094.139 1.489.416.404.268.707.67.91 1.205l.016.04.013.037.028-.077c.212-.536.52-.937.925-1.205.405-.277.901-.416 1.489-.416h.1c.598 0 1.098.139 1.503.416.414.268.727.67.94 1.205.211.535.317 1.205.317 2.008v4.475h-2.312v-4.604c0-.43-.115-.78-.346-1.047-.222-.268-.54-.402-.954-.402-.414 0-.742.139-.982.416-.241.268-.362.626-.362 1.076v4.56h-2.326v-4.603c0-.43-.115-.78-.346-1.047-.222-.268-.535-.402-.94-.402-.423 0-.756.139-.996.416-.241.268-.362.626-.362 1.076v4.56h-2.311Z" /> <path + fill="#4876EE" fillRule="evenodd" + d="M68.888 13.456v1.515h1.834v-4.82c0-.726-.144-1.319-.433-1.778-.289-.468-.712-.817-1.271-1.047-.549-.23-1.228-.344-2.037-.344a27.76 27.76 0 0 0-.896.014c-.318.01-.626.024-.924.043l-.229.016a36.79 36.79 0 0 0-.552.042v1.936a81.998 81.998 0 0 1 1.733-.09 37.806 37.806 0 0 1 1.171-.025c.424 0 .732.1.925.301.193.201.289.502.289.904v.029h-1.43c-.704 0-1.325.09-1.864.272-.54.172-.959.445-1.257.818-.299.363-.448.832-.448 1.405 0 .526.12.98.361 1.363.24.373.573.66.997.86.433.201.934.302 1.502.302.55 0 1.012-.1 1.388-.302.385-.2.683-.487.895-.86a2.443 2.443 0 0 0 .228-.498l.018-.056Zm-.39-1.397v-.63h-1.445c-.405 0-.718.1-.939.3-.212.192-.318.455-.318.79 0 .157.026.3.08.429a.99.99 0 0 0 .238.345c.221.191.534.287.939.287a2.125 2.125 0 0 0 .394-.038c.106-.021.206-.052.3-.092.212-.095.385-.253.52-.473.135-.22.212-.526.23-.918Z" clipRule="evenodd" - d="M304.262 58.3029V65.1174H312.458V43.4316C312.458 40.1614 311.813 37.494 310.522 35.4283C309.231 33.32 307.339 31.7496 304.843 30.717C302.391 29.6845 299.357 29.168 295.743 29.168C294.959 29.168 294.142 29.1763 293.289 29.1933C292.786 29.2038 292.269 29.2168 291.741 29.2324C290.321 29.2755 288.943 29.3399 287.611 29.4262L286.592 29.4948C286.068 29.5312 285.577 29.567 285.114 29.6034C284.766 29.6304 284.437 29.6574 284.126 29.6845V38.3977C285.459 38.3114 286.943 38.2251 288.579 38.1394C289.036 38.1155 289.489 38.0931 289.939 38.0724C290.589 38.0422 291.23 38.0163 291.865 37.9934C292.366 37.9752 292.862 37.9591 293.355 37.9456C294.903 37.9024 296.151 37.8811 297.098 37.8811C298.991 37.8811 300.368 38.3327 301.229 39.2364C302.09 40.1402 302.519 41.4954 302.519 43.3027V43.4316H296.13C292.989 43.4316 290.214 43.8406 287.804 44.6581C285.394 45.4324 283.522 46.6588 282.19 48.3368C280.855 49.9722 280.189 52.0805 280.189 54.6621C280.189 57.0289 280.726 59.0726 281.802 60.7933C282.877 62.4713 284.361 63.7624 286.255 64.6654C288.192 65.5694 290.43 66.0214 292.967 66.0214C295.42 66.0214 297.485 65.5694 299.164 64.6654C300.885 63.7624 302.219 62.4713 303.165 60.7933C303.332 60.5108 303.487 60.2176 303.632 59.9127C303.837 59.482 304.019 59.0278 304.18 58.5534L304.262 58.3029ZM302.519 52.016V49.176H296.065C294.258 49.176 292.86 49.6276 291.871 50.5313C290.924 51.3919 290.45 52.5751 290.45 54.0811C290.45 54.7901 290.568 55.434 290.804 56.015C291.042 56.5971 291.397 57.1142 291.871 57.5662C292.86 58.4276 294.258 58.8572 296.065 58.8572C296.409 58.8572 296.742 58.8402 297.063 58.8061C297.325 58.7794 297.58 58.74 297.826 58.6899C298.3 58.5929 298.746 58.4553 299.164 58.2762C300.111 57.8466 300.885 57.1366 301.486 56.1462C302.09 55.1568 302.434 53.7797 302.519 52.016Z" - fill="#4876EE" - /> - <path - d="M318.639 65.117V29.7485H326.836V41.4228C327.228 38.0902 328.219 35.403 329.805 33.3628C331.956 30.6522 335.053 29.2969 339.099 29.2969H340.454V38.2034H337.872C335.033 38.2034 332.838 38.9777 331.289 40.5269C329.74 42.0328 328.965 44.2274 328.965 47.1099V65.117H318.639Z" - fill="#4876EE" /> <path - d="M353.549 48.5927H356.97L368.135 65.115H379.753L365.595 44.8235L377.236 29.7465H366.393L353.549 46.5639V18H343.223V65.115H353.549V48.5927Z" fill="#4876EE" + d="M72.106 14.97V7.11h1.835v2.595c.088-.74.31-1.338.665-1.791.481-.603 1.174-.904 2.08-.904h.303v1.98h-.578c-.635 0-1.127.172-1.473.516-.347.334-.52.822-.52 1.463v4.001h-2.312ZM79.92 11.298h.767l2.499 3.672h2.6l-3.169-4.51 2.606-3.35h-2.427l-2.875 3.737V4.5h-2.312v10.47h2.312v-3.672Z" /> </svg> </SvgIcon> ); } -SitemarkIcon.propTypes = { - sx: PropTypes.oneOfType([ - PropTypes.arrayOf( - PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool]), - ), - PropTypes.func, - PropTypes.object, - ]), -}; - -export { SitemarkIcon }; - export function FacebookIcon() { return ( <SvgIcon> diff --git a/docs/data/material/getting-started/templates/sign-in-side/CustomIcons.tsx b/docs/data/material/getting-started/templates/sign-in-side/CustomIcons.tsx index f66661a29dcb57..3cf63c3501ba0c 100644 --- a/docs/data/material/getting-started/templates/sign-in-side/CustomIcons.tsx +++ b/docs/data/material/getting-started/templates/sign-in-side/CustomIcons.tsx @@ -1,72 +1,51 @@ import * as React from 'react'; -import { SxProps, Theme } from '@mui/system'; import SvgIcon from '@mui/material/SvgIcon'; -interface IconProps { - sx?: SxProps<Theme>; -} - -export function SitemarkIcon({ sx }: IconProps) { +export function SitemarkIcon() { return ( - <SvgIcon sx={sx}> + <SvgIcon sx={{ height: 21, width: 100, mr: 2 }}> <svg - width="380" - height="81" - viewBox="0 0 380 81" + width={86} + height={19} + viewBox="0 0 86 19" fill="none" xmlns="http://www.w3.org/2000/svg" > <path - d="M0.039093 54.3012L27.0897 42.2617L42.6595 51.2914L45.8049 80.915L26.6179 80.7561L29.4487 60.1623L26.1461 58.2614L9.9471 70.9352L0.039093 54.3012Z" fill="#B4C0D3" + d="m.787 12.567 6.055-2.675 3.485 2.006.704 6.583-4.295-.035.634-4.577-.74-.422-3.625 2.817-2.218-3.697Z" /> <path - d="M44.3904 50.0223L68.296 67.6062L77.7321 50.656L58.5444 42.8937V39.0917L77.7321 31.1709L68.296 14.3789L44.3904 31.963V50.0223Z" fill="#00D3AB" + d="m10.714 11.616 5.352 3.908 2.112-3.767-4.295-1.725v-.845l4.295-1.76-2.112-3.732-5.352 3.908v4.013Z" /> <path - d="M42.6595 30.5377L45.8049 0.914062L26.6179 1.2308L29.4487 21.8249L26.1461 23.7258L9.78985 11.0526L0.039093 27.5277L27.0897 39.5673L42.6595 30.5377Z" fill="#4876EF" + d="m10.327 7.286.704-6.583-4.295.07.634 4.577-.74.422-3.66-2.816L.786 6.617l6.055 2.676 3.485-2.007Z" /> <path - d="M141.744 37.3657V65.1185H152.07V29.75H137.032V37.3657H141.744Z" - fill="#4876EE" - /> - <path - d="M141.421 24.7785C142.368 25.768 143.809 26.2626 145.745 26.2626C147.682 26.2626 149.101 25.768 150.004 24.7785C150.952 23.7455 151.424 22.4545 151.424 20.906C151.424 19.3137 150.952 18.0229 150.004 17.0334C149.101 16.0009 147.682 15.4844 145.745 15.4844C143.809 15.4844 142.368 16.0009 141.421 17.0334C140.518 18.0229 140.066 19.3137 140.066 20.906C140.066 22.4545 140.518 23.7455 141.421 24.7785Z" - fill="#4876EE" - /> - <path - d="M105.795 64.3433C108.72 65.677 112.313 66.3444 116.572 66.3444C120.574 66.3444 124.016 65.7196 126.899 64.4723C129.782 63.2249 131.998 61.4819 133.547 59.2441C135.139 56.9637 135.935 54.3177 135.935 51.3055C135.935 48.3798 135.183 45.9056 133.677 43.8831C132.213 41.818 130.17 40.2044 127.544 39.043C124.92 37.8379 121.887 37.0849 118.444 36.784L114.83 36.4613C112.679 36.2888 111.13 35.7083 110.183 34.7184C109.236 33.729 108.763 32.5669 108.763 31.2335C108.763 30.2004 109.022 29.2541 109.537 28.3936C110.054 27.4898 110.828 26.78 111.861 26.2634C112.937 25.7474 114.249 25.4891 115.798 25.4891C117.433 25.4891 118.789 25.79 119.864 26.3928C120.101 26.5201 120.326 26.6562 120.537 26.8008L120.588 26.8366C120.667 26.8912 120.745 26.9478 120.821 27.005C121.474 27.5044 121.994 28.0962 122.381 28.7807C122.94 29.7275 123.221 30.7814 123.221 31.9433H133.547C133.547 28.8452 132.837 26.1558 131.418 23.8755C129.998 21.5522 127.954 19.7666 125.286 18.5184C122.661 17.2276 119.499 16.582 115.798 16.582C112.269 16.582 109.215 17.1849 106.633 18.3895C104.052 19.5514 102.03 21.2295 100.567 23.4235C99.1457 25.618 98.4357 28.2215 98.4357 31.2335C98.4357 35.4069 99.8355 38.7629 102.632 41.302C105.428 43.8405 109.172 45.3034 113.862 45.6905L117.412 46.0132C120.294 46.2715 122.381 46.8525 123.672 47.7556C124.962 48.6163 125.608 49.7996 125.608 51.3055C125.608 51.9978 125.495 52.6468 125.268 53.2532C125.1 53.7032 124.87 54.1298 124.576 54.533C123.887 55.436 122.876 56.1461 121.542 56.6631C120.209 57.1791 118.552 57.4371 116.572 57.4371C114.378 57.4371 112.592 57.1365 111.216 56.533C109.839 55.8881 108.807 55.049 108.117 54.0166C107.472 52.9835 107.15 51.8652 107.15 50.6601H96.8877C96.8877 53.7152 97.6404 56.4254 99.1457 58.7921C100.652 61.1162 102.869 62.9659 105.795 64.3433Z" fill="#4876EE" + d="M32.507 8.804v6.167h2.312v-7.86h-3.366v1.693h1.054ZM32.435 6.006c.212.22.535.33.968.33.434 0 .751-.11.953-.33.213-.23.318-.516.318-.86 0-.354-.105-.641-.318-.86-.202-.23-.52-.345-.953-.345-.433 0-.756.115-.968.344-.202.22-.303.507-.303.86 0 .345.101.632.303.861ZM24.46 14.799c.655.296 1.46.444 2.413.444.896 0 1.667-.139 2.312-.416.645-.277 1.141-.664 1.488-1.162.357-.506.535-1.094.535-1.764 0-.65-.169-1.2-.506-1.649-.328-.459-.785-.818-1.373-1.076-.587-.267-1.266-.435-2.037-.502l-.809-.071c-.481-.039-.828-.168-1.04-.388a1.08 1.08 0 0 1-.318-.774c0-.23.058-.44.173-.631.116-.201.29-.359.52-.474.241-.114.535-.172.882-.172.366 0 .67.067.91.201.053.029.104.059.15.09l.012.009.052.037c.146.111.263.243.35.395.125.21.188.444.188.703h2.311c0-.689-.159-1.286-.476-1.793-.318-.516-.776-.913-1.373-1.19-.588-.287-1.296-.43-2.124-.43-.79 0-1.474.133-2.052.4a3.131 3.131 0 0 0-1.358 1.12c-.318.487-.477 1.066-.477 1.735 0 .927.314 1.673.94 2.237.626.564 1.464.89 2.514.976l.794.071c.645.058 1.113.187 1.401.388a.899.899 0 0 1 .434.788 1.181 1.181 0 0 1-.231.717c-.154.201-.38.36-.68.474-.298.115-.669.172-1.112.172-.49 0-.89-.067-1.199-.2-.308-.144-.539-.33-.694-.56a1.375 1.375 0 0 1-.216-.746h-2.297c0 .679.168 1.281.505 1.807.337.517.834.928 1.489 1.234ZM39.977 15.07c-.8 0-1.445-.095-1.936-.286a2.03 2.03 0 0 1-1.084-.99c-.221-.469-.332-1.1-.332-1.893V8.789h-1.2V7.11h1.2V4.988h2.153V7.11h2.312V8.79h-2.312v3.198c0 .373.096.66.289.86.202.192.486.287.852.287h1.17v1.937h-1.112Z" /> <path - d="M175.111 65.5678C171.539 65.5678 168.656 65.1371 166.462 64.2767C164.267 63.3727 162.654 61.8886 161.621 59.8236C160.632 57.7149 160.137 54.8759 160.137 51.304V37.2985H154.78V29.7472H160.137V20.1953H169.754V29.7472H180.081V37.2985H169.754V51.6916C169.754 53.3697 170.184 54.6605 171.045 55.5635C171.948 56.4238 173.217 56.8545 174.853 56.8545H180.081V65.5678H175.111Z" fill="#4876EE" - /> - <path fillRule="evenodd" + d="M43.873 14.899c.52.23 1.117.344 1.791.344.665 0 1.252-.115 1.763-.344.51-.23.934-.55 1.271-.96.337-.412.564-.88.679-1.407h-2.124c-.096.24-.279.44-.549.603-.27.162-.616.244-1.04.244-.262 0-.497-.031-.704-.093a1.572 1.572 0 0 1-.423-.194 1.662 1.662 0 0 1-.636-.803 3.159 3.159 0 0 1-.163-.645h5.784v-.775a4.28 4.28 0 0 0-.463-1.98 3.686 3.686 0 0 0-1.343-1.477c-.578-.382-1.291-.574-2.139-.574-.645 0-1.223.115-1.733.345-.501.22-.92.52-1.257.903a4.178 4.178 0 0 0-.78 1.305c-.174.478-.26.98-.26 1.506v.287c0 .507.086 1.004.26 1.492.183.478.443.913.78 1.305.347.382.775.688 1.286.918Zm-.094-4.674.02-.09a2.507 2.507 0 0 1 .117-.356c.145-.354.356-.622.636-.804.104-.067.217-.123.339-.165.204-.071.433-.107.686-.107.395 0 .723.09.983.272.27.173.472.426.607.76a2.487 2.487 0 0 1 .16.603h-3.57c.006-.038.013-.076.022-.113Z" clipRule="evenodd" - d="M192.514 64.7963C194.837 65.8283 197.505 66.3453 200.517 66.3453C203.485 66.3453 206.111 65.8283 208.391 64.7963C210.672 63.7633 212.565 62.3219 214.07 60.4722C215.577 58.6215 216.588 56.5127 217.103 54.1465H207.616C207.186 55.2217 206.369 56.1257 205.164 56.8571C203.959 57.5884 202.409 57.9541 200.517 57.9541C199.344 57.9541 198.296 57.8155 197.373 57.5383C196.67 57.3272 196.04 57.0362 195.483 56.6641C194.192 55.8027 193.245 54.598 192.643 53.0495C192.475 52.6082 192.332 52.1468 192.212 51.6661C192.089 51.1792 191.99 50.6725 191.916 50.145H217.749V46.6597C217.749 43.4325 217.061 40.4638 215.684 37.7532C214.307 34.9989 212.306 32.783 209.682 31.1051C207.1 29.384 203.916 28.5234 200.129 28.5234C197.246 28.5234 194.664 29.04 192.384 30.0725C190.148 31.0619 188.276 32.4173 186.77 34.1384C185.264 35.8595 184.102 37.8176 183.283 40.0122C182.509 42.163 182.122 44.422 182.122 46.7885V48.0794C182.122 50.3601 182.509 52.5974 183.283 54.792C184.102 56.9434 185.264 58.9008 186.77 60.6652C188.319 62.3859 190.232 63.7633 192.514 64.7963ZM192.094 43.763C192.122 43.6263 192.152 43.4918 192.185 43.3593C192.275 42.9945 192.378 42.6448 192.496 42.3106C192.562 42.1204 192.632 41.9349 192.708 41.7546C193.353 40.1623 194.299 38.9577 195.547 38.1403C196.014 37.8348 196.519 37.5864 197.062 37.3951C197.974 37.0744 198.998 36.9139 200.129 36.9139C201.894 36.9139 203.356 37.3228 204.518 38.1403C205.723 38.9146 206.627 40.0547 207.229 41.5608C207.278 41.6823 207.324 41.806 207.369 41.9312C207.44 42.1308 207.506 42.3355 207.568 42.5455C207.659 42.8578 207.739 43.181 207.809 43.5151C207.86 43.7615 207.904 44.0135 207.943 44.2718H191.994C192.024 44.0993 192.057 43.9299 192.094 43.763Z" - fill="#4876EE" /> <path - d="M222.01 65.1179V29.7494H230.208V38.6575C230.319 38.1279 230.445 37.6197 230.587 37.1322C230.709 36.7218 230.839 36.3257 230.982 35.9453C231.886 33.5356 233.241 31.7288 235.048 30.5237C236.855 29.276 239.07 28.6523 241.696 28.6523H242.147C244.815 28.6523 247.031 29.276 248.795 30.5237C250.602 31.7288 251.958 33.5356 252.861 35.9453L252.933 36.1272L252.993 36.2935C253.034 36.176 253.077 36.0601 253.119 35.9453C254.066 33.5356 255.443 31.7288 257.25 30.5237C259.057 29.276 261.274 28.6523 263.899 28.6523H264.351C267.017 28.6523 269.255 29.276 271.062 30.5237C272.912 31.7288 274.311 33.5356 275.257 35.9453C276.204 38.355 276.678 41.367 276.678 44.9813V65.1179H266.351V44.4002C266.351 42.464 265.835 40.8936 264.802 39.689C263.812 38.4839 262.392 37.8816 260.543 37.8816C258.692 37.8816 257.229 38.5058 256.153 39.7534C255.078 40.958 254.539 42.5716 254.539 44.5942V65.1179H244.148V44.4002C244.148 42.464 243.632 40.8936 242.599 39.689C241.61 38.4839 240.211 37.8816 238.405 37.8816C236.511 37.8816 235.027 38.5058 233.951 39.7534C232.875 40.958 232.337 42.5716 232.337 44.5942V65.1179H222.01Z" fill="#4876EE" + d="M50.476 14.97V7.112h1.835v1.98a4.54 4.54 0 0 1 .173-.603c.202-.536.506-.937.91-1.205.405-.277.9-.416 1.488-.416h.101c.598 0 1.094.139 1.489.416.404.268.707.67.91 1.205l.016.04.013.037.028-.077c.212-.536.52-.937.925-1.205.405-.277.901-.416 1.489-.416h.1c.598 0 1.098.139 1.503.416.414.268.727.67.94 1.205.211.535.317 1.205.317 2.008v4.475h-2.312v-4.604c0-.43-.115-.78-.346-1.047-.222-.268-.54-.402-.954-.402-.414 0-.742.139-.982.416-.241.268-.362.626-.362 1.076v4.56h-2.326v-4.603c0-.43-.115-.78-.346-1.047-.222-.268-.535-.402-.94-.402-.423 0-.756.139-.996.416-.241.268-.362.626-.362 1.076v4.56h-2.311Z" /> <path + fill="#4876EE" fillRule="evenodd" + d="M68.888 13.456v1.515h1.834v-4.82c0-.726-.144-1.319-.433-1.778-.289-.468-.712-.817-1.271-1.047-.549-.23-1.228-.344-2.037-.344a27.76 27.76 0 0 0-.896.014c-.318.01-.626.024-.924.043l-.229.016a36.79 36.79 0 0 0-.552.042v1.936a81.998 81.998 0 0 1 1.733-.09 37.806 37.806 0 0 1 1.171-.025c.424 0 .732.1.925.301.193.201.289.502.289.904v.029h-1.43c-.704 0-1.325.09-1.864.272-.54.172-.959.445-1.257.818-.299.363-.448.832-.448 1.405 0 .526.12.98.361 1.363.24.373.573.66.997.86.433.201.934.302 1.502.302.55 0 1.012-.1 1.388-.302.385-.2.683-.487.895-.86a2.443 2.443 0 0 0 .228-.498l.018-.056Zm-.39-1.397v-.63h-1.445c-.405 0-.718.1-.939.3-.212.192-.318.455-.318.79 0 .157.026.3.08.429a.99.99 0 0 0 .238.345c.221.191.534.287.939.287a2.125 2.125 0 0 0 .394-.038c.106-.021.206-.052.3-.092.212-.095.385-.253.52-.473.135-.22.212-.526.23-.918Z" clipRule="evenodd" - d="M304.262 58.3029V65.1174H312.458V43.4316C312.458 40.1614 311.813 37.494 310.522 35.4283C309.231 33.32 307.339 31.7496 304.843 30.717C302.391 29.6845 299.357 29.168 295.743 29.168C294.959 29.168 294.142 29.1763 293.289 29.1933C292.786 29.2038 292.269 29.2168 291.741 29.2324C290.321 29.2755 288.943 29.3399 287.611 29.4262L286.592 29.4948C286.068 29.5312 285.577 29.567 285.114 29.6034C284.766 29.6304 284.437 29.6574 284.126 29.6845V38.3977C285.459 38.3114 286.943 38.2251 288.579 38.1394C289.036 38.1155 289.489 38.0931 289.939 38.0724C290.589 38.0422 291.23 38.0163 291.865 37.9934C292.366 37.9752 292.862 37.9591 293.355 37.9456C294.903 37.9024 296.151 37.8811 297.098 37.8811C298.991 37.8811 300.368 38.3327 301.229 39.2364C302.09 40.1402 302.519 41.4954 302.519 43.3027V43.4316H296.13C292.989 43.4316 290.214 43.8406 287.804 44.6581C285.394 45.4324 283.522 46.6588 282.19 48.3368C280.855 49.9722 280.189 52.0805 280.189 54.6621C280.189 57.0289 280.726 59.0726 281.802 60.7933C282.877 62.4713 284.361 63.7624 286.255 64.6654C288.192 65.5694 290.43 66.0214 292.967 66.0214C295.42 66.0214 297.485 65.5694 299.164 64.6654C300.885 63.7624 302.219 62.4713 303.165 60.7933C303.332 60.5108 303.487 60.2176 303.632 59.9127C303.837 59.482 304.019 59.0278 304.18 58.5534L304.262 58.3029ZM302.519 52.016V49.176H296.065C294.258 49.176 292.86 49.6276 291.871 50.5313C290.924 51.3919 290.45 52.5751 290.45 54.0811C290.45 54.7901 290.568 55.434 290.804 56.015C291.042 56.5971 291.397 57.1142 291.871 57.5662C292.86 58.4276 294.258 58.8572 296.065 58.8572C296.409 58.8572 296.742 58.8402 297.063 58.8061C297.325 58.7794 297.58 58.74 297.826 58.6899C298.3 58.5929 298.746 58.4553 299.164 58.2762C300.111 57.8466 300.885 57.1366 301.486 56.1462C302.09 55.1568 302.434 53.7797 302.519 52.016Z" - fill="#4876EE" - /> - <path - d="M318.639 65.117V29.7485H326.836V41.4228C327.228 38.0902 328.219 35.403 329.805 33.3628C331.956 30.6522 335.053 29.2969 339.099 29.2969H340.454V38.2034H337.872C335.033 38.2034 332.838 38.9777 331.289 40.5269C329.74 42.0328 328.965 44.2274 328.965 47.1099V65.117H318.639Z" - fill="#4876EE" /> <path - d="M353.549 48.5927H356.97L368.135 65.115H379.753L365.595 44.8235L377.236 29.7465H366.393L353.549 46.5639V18H343.223V65.115H353.549V48.5927Z" fill="#4876EE" + d="M72.106 14.97V7.11h1.835v2.595c.088-.74.31-1.338.665-1.791.481-.603 1.174-.904 2.08-.904h.303v1.98h-.578c-.635 0-1.127.172-1.473.516-.347.334-.52.822-.52 1.463v4.001h-2.312ZM79.92 11.298h.767l2.499 3.672h2.6l-3.169-4.51 2.606-3.35h-2.427l-2.875 3.737V4.5h-2.312v10.47h2.312v-3.672Z" /> </svg> </SvgIcon> diff --git a/docs/data/material/getting-started/templates/sign-in-side/SignInCard.js b/docs/data/material/getting-started/templates/sign-in-side/SignInCard.js index 2fe26179da482b..9c6c23678ee7b9 100644 --- a/docs/data/material/getting-started/templates/sign-in-side/SignInCard.js +++ b/docs/data/material/getting-started/templates/sign-in-side/SignInCard.js @@ -76,17 +76,13 @@ export default function SignInCard() { gap: 2, boxShadow: theme.palette.mode === 'light' - ? 'rgba(0, 0, 0, 0.05) 0px 5px 15px 0px, rgba(25, 28, 33, 0.05) 0px 15px 35px -5px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px' - : 'rgba(0, 0, 0, 0.5) 0px 5px 15px 0px, rgba(25, 28, 33, 0.08) 0px 15px 35px -5px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px', + ? 'hsla(220, 30%, 5%, 0.05) 0px 5px 15px 0px, hsla(220, 25%, 10%, 0.05) 0px 15px 35px -5px, hsla(220, 30%, 5%, 0.05) 0px 0px 0px 1px' + : 'hsla(220, 30%, 5%, 0.5) 0px 5px 15px 0px, hsla(220, 25%, 10%, 0.08) 0px 15px 35px -5px, hsla(220, 30%, 5%, 0.05) 0px 0px 0px 1px', })} > - <SitemarkIcon - sx={{ - fontSize: 115, - height: 'fit-content', - display: { xs: 'flex', md: 'none' }, - }} - /> + <Box sx={{ display: { xs: 'flex', md: 'none' } }}> + <SitemarkIcon /> + </Box> <Typography component="h1" variant="h4" diff --git a/docs/data/material/getting-started/templates/sign-in-side/SignInCard.tsx b/docs/data/material/getting-started/templates/sign-in-side/SignInCard.tsx index 67d6e041a4c3d6..8697dcc3e042df 100644 --- a/docs/data/material/getting-started/templates/sign-in-side/SignInCard.tsx +++ b/docs/data/material/getting-started/templates/sign-in-side/SignInCard.tsx @@ -76,17 +76,13 @@ export default function SignInCard() { gap: 2, boxShadow: theme.palette.mode === 'light' - ? 'rgba(0, 0, 0, 0.05) 0px 5px 15px 0px, rgba(25, 28, 33, 0.05) 0px 15px 35px -5px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px' - : 'rgba(0, 0, 0, 0.5) 0px 5px 15px 0px, rgba(25, 28, 33, 0.08) 0px 15px 35px -5px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px', + ? 'hsla(220, 30%, 5%, 0.05) 0px 5px 15px 0px, hsla(220, 25%, 10%, 0.05) 0px 15px 35px -5px, hsla(220, 30%, 5%, 0.05) 0px 0px 0px 1px' + : 'hsla(220, 30%, 5%, 0.5) 0px 5px 15px 0px, hsla(220, 25%, 10%, 0.08) 0px 15px 35px -5px, hsla(220, 30%, 5%, 0.05) 0px 0px 0px 1px', })} > - <SitemarkIcon - sx={{ - fontSize: 115, - height: 'fit-content', - display: { xs: 'flex', md: 'none' }, - }} - /> + <Box sx={{ display: { xs: 'flex', md: 'none' } }}> + <SitemarkIcon /> + </Box> <Typography component="h1" variant="h4" diff --git a/docs/data/material/getting-started/templates/sign-in-side/SignInSide.js b/docs/data/material/getting-started/templates/sign-in-side/SignInSide.js index 26e2bb449ef3d6..32e22167b9e8dd 100644 --- a/docs/data/material/getting-started/templates/sign-in-side/SignInSide.js +++ b/docs/data/material/getting-started/templates/sign-in-side/SignInSide.js @@ -33,7 +33,7 @@ function ToggleCustomTheme({ showCustomTheme, toggleCustomTheme }) { exclusive value={showCustomTheme} onChange={toggleCustomTheme} - aria-label="Platform" + aria-label="Toggle design language" sx={{ backgroundColor: 'background.default', '& .Mui-selected': { @@ -81,8 +81,8 @@ export default function SignInSide() { sx={(theme) => ({ backgroundImage: theme.palette.mode === 'light' - ? 'radial-gradient(ellipse at 70% 51%, #f0f7ff, #fff)' - : 'radial-gradient(at 70% 51%, rgba(2,41,79,0.5), rgb(1, 6, 11))', + ? 'radial-gradient(ellipse at 70% 51%, hsl(210, 100%, 97%), hsl(0, 0%, 100%))' + : 'radial-gradient(at 70% 51%, hsla(210, 100%, 16%, 0.5), hsl(220, 30%, 5%))', backgroundSize: 'cover', height: { xs: 'auto', md: '100dvh' }, pb: { xs: 12, sm: 0 }, diff --git a/docs/data/material/getting-started/templates/sign-in-side/SignInSide.tsx b/docs/data/material/getting-started/templates/sign-in-side/SignInSide.tsx index f27e977ad3c71f..faff7403c757bb 100644 --- a/docs/data/material/getting-started/templates/sign-in-side/SignInSide.tsx +++ b/docs/data/material/getting-started/templates/sign-in-side/SignInSide.tsx @@ -41,7 +41,7 @@ function ToggleCustomTheme({ exclusive value={showCustomTheme} onChange={toggleCustomTheme} - aria-label="Platform" + aria-label="Toggle design language" sx={{ backgroundColor: 'background.default', '& .Mui-selected': { @@ -82,8 +82,8 @@ export default function SignInSide() { sx={(theme) => ({ backgroundImage: theme.palette.mode === 'light' - ? 'radial-gradient(ellipse at 70% 51%, #f0f7ff, #fff)' - : 'radial-gradient(at 70% 51%, rgba(2,41,79,0.5), rgb(1, 6, 11))', + ? 'radial-gradient(ellipse at 70% 51%, hsl(210, 100%, 97%), hsl(0, 0%, 100%))' + : 'radial-gradient(at 70% 51%, hsla(210, 100%, 16%, 0.5), hsl(220, 30%, 5%))', backgroundSize: 'cover', height: { xs: 'auto', md: '100dvh' }, pb: { xs: 12, sm: 0 }, diff --git a/docs/data/material/getting-started/templates/sign-in-side/SitemarkIcon.js b/docs/data/material/getting-started/templates/sign-in-side/SitemarkIcon.js deleted file mode 100644 index d390782f3be28e..00000000000000 --- a/docs/data/material/getting-started/templates/sign-in-side/SitemarkIcon.js +++ /dev/null @@ -1,85 +0,0 @@ -import * as React from 'react'; -import PropTypes from 'prop-types'; - -import SvgIcon from '@mui/material/SvgIcon'; - -/* this logo is from LogoToUse.com */ - -function SitemarkIcon({ sx }) { - return ( - <SvgIcon sx={sx}> - <svg - width="380" - height="81" - viewBox="0 0 380 81" - fill="none" - xmlns="http://www.w3.org/2000/svg" - > - <path - d="M0.039093 54.3012L27.0897 42.2617L42.6595 51.2914L45.8049 80.915L26.6179 80.7561L29.4487 60.1623L26.1461 58.2614L9.9471 70.9352L0.039093 54.3012Z" - fill="#B4C0D3" - /> - <path - d="M44.3904 50.0223L68.296 67.6062L77.7321 50.656L58.5444 42.8937V39.0917L77.7321 31.1709L68.296 14.3789L44.3904 31.963V50.0223Z" - fill="#00D3AB" - /> - <path - d="M42.6595 30.5377L45.8049 0.914062L26.6179 1.2308L29.4487 21.8249L26.1461 23.7258L9.78985 11.0526L0.039093 27.5277L27.0897 39.5673L42.6595 30.5377Z" - fill="#4876EF" - /> - <path - d="M141.744 37.3657V65.1185H152.07V29.75H137.032V37.3657H141.744Z" - fill="#4876EE" - /> - <path - d="M141.421 24.7785C142.368 25.768 143.809 26.2626 145.745 26.2626C147.682 26.2626 149.101 25.768 150.004 24.7785C150.952 23.7455 151.424 22.4545 151.424 20.906C151.424 19.3137 150.952 18.0229 150.004 17.0334C149.101 16.0009 147.682 15.4844 145.745 15.4844C143.809 15.4844 142.368 16.0009 141.421 17.0334C140.518 18.0229 140.066 19.3137 140.066 20.906C140.066 22.4545 140.518 23.7455 141.421 24.7785Z" - fill="#4876EE" - /> - <path - d="M105.795 64.3433C108.72 65.677 112.313 66.3444 116.572 66.3444C120.574 66.3444 124.016 65.7196 126.899 64.4723C129.782 63.2249 131.998 61.4819 133.547 59.2441C135.139 56.9637 135.935 54.3177 135.935 51.3055C135.935 48.3798 135.183 45.9056 133.677 43.8831C132.213 41.818 130.17 40.2044 127.544 39.043C124.92 37.8379 121.887 37.0849 118.444 36.784L114.83 36.4613C112.679 36.2888 111.13 35.7083 110.183 34.7184C109.236 33.729 108.763 32.5669 108.763 31.2335C108.763 30.2004 109.022 29.2541 109.537 28.3936C110.054 27.4898 110.828 26.78 111.861 26.2634C112.937 25.7474 114.249 25.4891 115.798 25.4891C117.433 25.4891 118.789 25.79 119.864 26.3928C120.101 26.5201 120.326 26.6562 120.537 26.8008L120.588 26.8366C120.667 26.8912 120.745 26.9478 120.821 27.005C121.474 27.5044 121.994 28.0962 122.381 28.7807C122.94 29.7275 123.221 30.7814 123.221 31.9433H133.547C133.547 28.8452 132.837 26.1558 131.418 23.8755C129.998 21.5522 127.954 19.7666 125.286 18.5184C122.661 17.2276 119.499 16.582 115.798 16.582C112.269 16.582 109.215 17.1849 106.633 18.3895C104.052 19.5514 102.03 21.2295 100.567 23.4235C99.1457 25.618 98.4357 28.2215 98.4357 31.2335C98.4357 35.4069 99.8355 38.7629 102.632 41.302C105.428 43.8405 109.172 45.3034 113.862 45.6905L117.412 46.0132C120.294 46.2715 122.381 46.8525 123.672 47.7556C124.962 48.6163 125.608 49.7996 125.608 51.3055C125.608 51.9978 125.495 52.6468 125.268 53.2532C125.1 53.7032 124.87 54.1298 124.576 54.533C123.887 55.436 122.876 56.1461 121.542 56.6631C120.209 57.1791 118.552 57.4371 116.572 57.4371C114.378 57.4371 112.592 57.1365 111.216 56.533C109.839 55.8881 108.807 55.049 108.117 54.0166C107.472 52.9835 107.15 51.8652 107.15 50.6601H96.8877C96.8877 53.7152 97.6404 56.4254 99.1457 58.7921C100.652 61.1162 102.869 62.9659 105.795 64.3433Z" - fill="#4876EE" - /> - <path - d="M175.111 65.5678C171.539 65.5678 168.656 65.1371 166.462 64.2767C164.267 63.3727 162.654 61.8886 161.621 59.8236C160.632 57.7149 160.137 54.8759 160.137 51.304V37.2985H154.78V29.7472H160.137V20.1953H169.754V29.7472H180.081V37.2985H169.754V51.6916C169.754 53.3697 170.184 54.6605 171.045 55.5635C171.948 56.4238 173.217 56.8545 174.853 56.8545H180.081V65.5678H175.111Z" - fill="#4876EE" - /> - <path - fillRule="evenodd" - clipRule="evenodd" - d="M192.514 64.7963C194.837 65.8283 197.505 66.3453 200.517 66.3453C203.485 66.3453 206.111 65.8283 208.391 64.7963C210.672 63.7633 212.565 62.3219 214.07 60.4722C215.577 58.6215 216.588 56.5127 217.103 54.1465H207.616C207.186 55.2217 206.369 56.1257 205.164 56.8571C203.959 57.5884 202.409 57.9541 200.517 57.9541C199.344 57.9541 198.296 57.8155 197.373 57.5383C196.67 57.3272 196.04 57.0362 195.483 56.6641C194.192 55.8027 193.245 54.598 192.643 53.0495C192.475 52.6082 192.332 52.1468 192.212 51.6661C192.089 51.1792 191.99 50.6725 191.916 50.145H217.749V46.6597C217.749 43.4325 217.061 40.4638 215.684 37.7532C214.307 34.9989 212.306 32.783 209.682 31.1051C207.1 29.384 203.916 28.5234 200.129 28.5234C197.246 28.5234 194.664 29.04 192.384 30.0725C190.148 31.0619 188.276 32.4173 186.77 34.1384C185.264 35.8595 184.102 37.8176 183.283 40.0122C182.509 42.163 182.122 44.422 182.122 46.7885V48.0794C182.122 50.3601 182.509 52.5974 183.283 54.792C184.102 56.9434 185.264 58.9008 186.77 60.6652C188.319 62.3859 190.232 63.7633 192.514 64.7963ZM192.094 43.763C192.122 43.6263 192.152 43.4918 192.185 43.3593C192.275 42.9945 192.378 42.6448 192.496 42.3106C192.562 42.1204 192.632 41.9349 192.708 41.7546C193.353 40.1623 194.299 38.9577 195.547 38.1403C196.014 37.8348 196.519 37.5864 197.062 37.3951C197.974 37.0744 198.998 36.9139 200.129 36.9139C201.894 36.9139 203.356 37.3228 204.518 38.1403C205.723 38.9146 206.627 40.0547 207.229 41.5608C207.278 41.6823 207.324 41.806 207.369 41.9312C207.44 42.1308 207.506 42.3355 207.568 42.5455C207.659 42.8578 207.739 43.181 207.809 43.5151C207.86 43.7615 207.904 44.0135 207.943 44.2718H191.994C192.024 44.0993 192.057 43.9299 192.094 43.763Z" - fill="#4876EE" - /> - <path - d="M222.01 65.1179V29.7494H230.208V38.6575C230.319 38.1279 230.445 37.6197 230.587 37.1322C230.709 36.7218 230.839 36.3257 230.982 35.9453C231.886 33.5356 233.241 31.7288 235.048 30.5237C236.855 29.276 239.07 28.6523 241.696 28.6523H242.147C244.815 28.6523 247.031 29.276 248.795 30.5237C250.602 31.7288 251.958 33.5356 252.861 35.9453L252.933 36.1272L252.993 36.2935C253.034 36.176 253.077 36.0601 253.119 35.9453C254.066 33.5356 255.443 31.7288 257.25 30.5237C259.057 29.276 261.274 28.6523 263.899 28.6523H264.351C267.017 28.6523 269.255 29.276 271.062 30.5237C272.912 31.7288 274.311 33.5356 275.257 35.9453C276.204 38.355 276.678 41.367 276.678 44.9813V65.1179H266.351V44.4002C266.351 42.464 265.835 40.8936 264.802 39.689C263.812 38.4839 262.392 37.8816 260.543 37.8816C258.692 37.8816 257.229 38.5058 256.153 39.7534C255.078 40.958 254.539 42.5716 254.539 44.5942V65.1179H244.148V44.4002C244.148 42.464 243.632 40.8936 242.599 39.689C241.61 38.4839 240.211 37.8816 238.405 37.8816C236.511 37.8816 235.027 38.5058 233.951 39.7534C232.875 40.958 232.337 42.5716 232.337 44.5942V65.1179H222.01Z" - fill="#4876EE" - /> - <path - fillRule="evenodd" - clipRule="evenodd" - d="M304.262 58.3029V65.1174H312.458V43.4316C312.458 40.1614 311.813 37.494 310.522 35.4283C309.231 33.32 307.339 31.7496 304.843 30.717C302.391 29.6845 299.357 29.168 295.743 29.168C294.959 29.168 294.142 29.1763 293.289 29.1933C292.786 29.2038 292.269 29.2168 291.741 29.2324C290.321 29.2755 288.943 29.3399 287.611 29.4262L286.592 29.4948C286.068 29.5312 285.577 29.567 285.114 29.6034C284.766 29.6304 284.437 29.6574 284.126 29.6845V38.3977C285.459 38.3114 286.943 38.2251 288.579 38.1394C289.036 38.1155 289.489 38.0931 289.939 38.0724C290.589 38.0422 291.23 38.0163 291.865 37.9934C292.366 37.9752 292.862 37.9591 293.355 37.9456C294.903 37.9024 296.151 37.8811 297.098 37.8811C298.991 37.8811 300.368 38.3327 301.229 39.2364C302.09 40.1402 302.519 41.4954 302.519 43.3027V43.4316H296.13C292.989 43.4316 290.214 43.8406 287.804 44.6581C285.394 45.4324 283.522 46.6588 282.19 48.3368C280.855 49.9722 280.189 52.0805 280.189 54.6621C280.189 57.0289 280.726 59.0726 281.802 60.7933C282.877 62.4713 284.361 63.7624 286.255 64.6654C288.192 65.5694 290.43 66.0214 292.967 66.0214C295.42 66.0214 297.485 65.5694 299.164 64.6654C300.885 63.7624 302.219 62.4713 303.165 60.7933C303.332 60.5108 303.487 60.2176 303.632 59.9127C303.837 59.482 304.019 59.0278 304.18 58.5534L304.262 58.3029ZM302.519 52.016V49.176H296.065C294.258 49.176 292.86 49.6276 291.871 50.5313C290.924 51.3919 290.45 52.5751 290.45 54.0811C290.45 54.7901 290.568 55.434 290.804 56.015C291.042 56.5971 291.397 57.1142 291.871 57.5662C292.86 58.4276 294.258 58.8572 296.065 58.8572C296.409 58.8572 296.742 58.8402 297.063 58.8061C297.325 58.7794 297.58 58.74 297.826 58.6899C298.3 58.5929 298.746 58.4553 299.164 58.2762C300.111 57.8466 300.885 57.1366 301.486 56.1462C302.09 55.1568 302.434 53.7797 302.519 52.016Z" - fill="#4876EE" - /> - <path - d="M318.639 65.117V29.7485H326.836V41.4228C327.228 38.0902 328.219 35.403 329.805 33.3628C331.956 30.6522 335.053 29.2969 339.099 29.2969H340.454V38.2034H337.872C335.033 38.2034 332.838 38.9777 331.289 40.5269C329.74 42.0328 328.965 44.2274 328.965 47.1099V65.117H318.639Z" - fill="#4876EE" - /> - <path - d="M353.549 48.5927H356.97L368.135 65.115H379.753L365.595 44.8235L377.236 29.7465H366.393L353.549 46.5639V18H343.223V65.115H353.549V48.5927Z" - fill="#4876EE" - /> - </svg> - </SvgIcon> - ); -} - -SitemarkIcon.propTypes = { - sx: PropTypes.oneOfType([ - PropTypes.arrayOf( - PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool]), - ), - PropTypes.func, - PropTypes.object, - ]), -}; - -export default SitemarkIcon; diff --git a/docs/data/material/getting-started/templates/sign-in-side/SitemarkIcon.tsx b/docs/data/material/getting-started/templates/sign-in-side/SitemarkIcon.tsx deleted file mode 100644 index aee5bffc07e174..00000000000000 --- a/docs/data/material/getting-started/templates/sign-in-side/SitemarkIcon.tsx +++ /dev/null @@ -1,76 +0,0 @@ -import * as React from 'react'; -import { SxProps, Theme } from '@mui/system'; -import SvgIcon from '@mui/material/SvgIcon'; - -interface SitemarkIconProps { - sx?: SxProps<Theme>; -} - -/* this logo is from LogoToUse.com */ - -export default function SitemarkIcon({ sx }: SitemarkIconProps) { - return ( - <SvgIcon sx={sx}> - <svg - width="380" - height="81" - viewBox="0 0 380 81" - fill="none" - xmlns="http://www.w3.org/2000/svg" - > - <path - d="M0.039093 54.3012L27.0897 42.2617L42.6595 51.2914L45.8049 80.915L26.6179 80.7561L29.4487 60.1623L26.1461 58.2614L9.9471 70.9352L0.039093 54.3012Z" - fill="#B4C0D3" - /> - <path - d="M44.3904 50.0223L68.296 67.6062L77.7321 50.656L58.5444 42.8937V39.0917L77.7321 31.1709L68.296 14.3789L44.3904 31.963V50.0223Z" - fill="#00D3AB" - /> - <path - d="M42.6595 30.5377L45.8049 0.914062L26.6179 1.2308L29.4487 21.8249L26.1461 23.7258L9.78985 11.0526L0.039093 27.5277L27.0897 39.5673L42.6595 30.5377Z" - fill="#4876EF" - /> - <path - d="M141.744 37.3657V65.1185H152.07V29.75H137.032V37.3657H141.744Z" - fill="#4876EE" - /> - <path - d="M141.421 24.7785C142.368 25.768 143.809 26.2626 145.745 26.2626C147.682 26.2626 149.101 25.768 150.004 24.7785C150.952 23.7455 151.424 22.4545 151.424 20.906C151.424 19.3137 150.952 18.0229 150.004 17.0334C149.101 16.0009 147.682 15.4844 145.745 15.4844C143.809 15.4844 142.368 16.0009 141.421 17.0334C140.518 18.0229 140.066 19.3137 140.066 20.906C140.066 22.4545 140.518 23.7455 141.421 24.7785Z" - fill="#4876EE" - /> - <path - d="M105.795 64.3433C108.72 65.677 112.313 66.3444 116.572 66.3444C120.574 66.3444 124.016 65.7196 126.899 64.4723C129.782 63.2249 131.998 61.4819 133.547 59.2441C135.139 56.9637 135.935 54.3177 135.935 51.3055C135.935 48.3798 135.183 45.9056 133.677 43.8831C132.213 41.818 130.17 40.2044 127.544 39.043C124.92 37.8379 121.887 37.0849 118.444 36.784L114.83 36.4613C112.679 36.2888 111.13 35.7083 110.183 34.7184C109.236 33.729 108.763 32.5669 108.763 31.2335C108.763 30.2004 109.022 29.2541 109.537 28.3936C110.054 27.4898 110.828 26.78 111.861 26.2634C112.937 25.7474 114.249 25.4891 115.798 25.4891C117.433 25.4891 118.789 25.79 119.864 26.3928C120.101 26.5201 120.326 26.6562 120.537 26.8008L120.588 26.8366C120.667 26.8912 120.745 26.9478 120.821 27.005C121.474 27.5044 121.994 28.0962 122.381 28.7807C122.94 29.7275 123.221 30.7814 123.221 31.9433H133.547C133.547 28.8452 132.837 26.1558 131.418 23.8755C129.998 21.5522 127.954 19.7666 125.286 18.5184C122.661 17.2276 119.499 16.582 115.798 16.582C112.269 16.582 109.215 17.1849 106.633 18.3895C104.052 19.5514 102.03 21.2295 100.567 23.4235C99.1457 25.618 98.4357 28.2215 98.4357 31.2335C98.4357 35.4069 99.8355 38.7629 102.632 41.302C105.428 43.8405 109.172 45.3034 113.862 45.6905L117.412 46.0132C120.294 46.2715 122.381 46.8525 123.672 47.7556C124.962 48.6163 125.608 49.7996 125.608 51.3055C125.608 51.9978 125.495 52.6468 125.268 53.2532C125.1 53.7032 124.87 54.1298 124.576 54.533C123.887 55.436 122.876 56.1461 121.542 56.6631C120.209 57.1791 118.552 57.4371 116.572 57.4371C114.378 57.4371 112.592 57.1365 111.216 56.533C109.839 55.8881 108.807 55.049 108.117 54.0166C107.472 52.9835 107.15 51.8652 107.15 50.6601H96.8877C96.8877 53.7152 97.6404 56.4254 99.1457 58.7921C100.652 61.1162 102.869 62.9659 105.795 64.3433Z" - fill="#4876EE" - /> - <path - d="M175.111 65.5678C171.539 65.5678 168.656 65.1371 166.462 64.2767C164.267 63.3727 162.654 61.8886 161.621 59.8236C160.632 57.7149 160.137 54.8759 160.137 51.304V37.2985H154.78V29.7472H160.137V20.1953H169.754V29.7472H180.081V37.2985H169.754V51.6916C169.754 53.3697 170.184 54.6605 171.045 55.5635C171.948 56.4238 173.217 56.8545 174.853 56.8545H180.081V65.5678H175.111Z" - fill="#4876EE" - /> - <path - fillRule="evenodd" - clipRule="evenodd" - d="M192.514 64.7963C194.837 65.8283 197.505 66.3453 200.517 66.3453C203.485 66.3453 206.111 65.8283 208.391 64.7963C210.672 63.7633 212.565 62.3219 214.07 60.4722C215.577 58.6215 216.588 56.5127 217.103 54.1465H207.616C207.186 55.2217 206.369 56.1257 205.164 56.8571C203.959 57.5884 202.409 57.9541 200.517 57.9541C199.344 57.9541 198.296 57.8155 197.373 57.5383C196.67 57.3272 196.04 57.0362 195.483 56.6641C194.192 55.8027 193.245 54.598 192.643 53.0495C192.475 52.6082 192.332 52.1468 192.212 51.6661C192.089 51.1792 191.99 50.6725 191.916 50.145H217.749V46.6597C217.749 43.4325 217.061 40.4638 215.684 37.7532C214.307 34.9989 212.306 32.783 209.682 31.1051C207.1 29.384 203.916 28.5234 200.129 28.5234C197.246 28.5234 194.664 29.04 192.384 30.0725C190.148 31.0619 188.276 32.4173 186.77 34.1384C185.264 35.8595 184.102 37.8176 183.283 40.0122C182.509 42.163 182.122 44.422 182.122 46.7885V48.0794C182.122 50.3601 182.509 52.5974 183.283 54.792C184.102 56.9434 185.264 58.9008 186.77 60.6652C188.319 62.3859 190.232 63.7633 192.514 64.7963ZM192.094 43.763C192.122 43.6263 192.152 43.4918 192.185 43.3593C192.275 42.9945 192.378 42.6448 192.496 42.3106C192.562 42.1204 192.632 41.9349 192.708 41.7546C193.353 40.1623 194.299 38.9577 195.547 38.1403C196.014 37.8348 196.519 37.5864 197.062 37.3951C197.974 37.0744 198.998 36.9139 200.129 36.9139C201.894 36.9139 203.356 37.3228 204.518 38.1403C205.723 38.9146 206.627 40.0547 207.229 41.5608C207.278 41.6823 207.324 41.806 207.369 41.9312C207.44 42.1308 207.506 42.3355 207.568 42.5455C207.659 42.8578 207.739 43.181 207.809 43.5151C207.86 43.7615 207.904 44.0135 207.943 44.2718H191.994C192.024 44.0993 192.057 43.9299 192.094 43.763Z" - fill="#4876EE" - /> - <path - d="M222.01 65.1179V29.7494H230.208V38.6575C230.319 38.1279 230.445 37.6197 230.587 37.1322C230.709 36.7218 230.839 36.3257 230.982 35.9453C231.886 33.5356 233.241 31.7288 235.048 30.5237C236.855 29.276 239.07 28.6523 241.696 28.6523H242.147C244.815 28.6523 247.031 29.276 248.795 30.5237C250.602 31.7288 251.958 33.5356 252.861 35.9453L252.933 36.1272L252.993 36.2935C253.034 36.176 253.077 36.0601 253.119 35.9453C254.066 33.5356 255.443 31.7288 257.25 30.5237C259.057 29.276 261.274 28.6523 263.899 28.6523H264.351C267.017 28.6523 269.255 29.276 271.062 30.5237C272.912 31.7288 274.311 33.5356 275.257 35.9453C276.204 38.355 276.678 41.367 276.678 44.9813V65.1179H266.351V44.4002C266.351 42.464 265.835 40.8936 264.802 39.689C263.812 38.4839 262.392 37.8816 260.543 37.8816C258.692 37.8816 257.229 38.5058 256.153 39.7534C255.078 40.958 254.539 42.5716 254.539 44.5942V65.1179H244.148V44.4002C244.148 42.464 243.632 40.8936 242.599 39.689C241.61 38.4839 240.211 37.8816 238.405 37.8816C236.511 37.8816 235.027 38.5058 233.951 39.7534C232.875 40.958 232.337 42.5716 232.337 44.5942V65.1179H222.01Z" - fill="#4876EE" - /> - <path - fillRule="evenodd" - clipRule="evenodd" - d="M304.262 58.3029V65.1174H312.458V43.4316C312.458 40.1614 311.813 37.494 310.522 35.4283C309.231 33.32 307.339 31.7496 304.843 30.717C302.391 29.6845 299.357 29.168 295.743 29.168C294.959 29.168 294.142 29.1763 293.289 29.1933C292.786 29.2038 292.269 29.2168 291.741 29.2324C290.321 29.2755 288.943 29.3399 287.611 29.4262L286.592 29.4948C286.068 29.5312 285.577 29.567 285.114 29.6034C284.766 29.6304 284.437 29.6574 284.126 29.6845V38.3977C285.459 38.3114 286.943 38.2251 288.579 38.1394C289.036 38.1155 289.489 38.0931 289.939 38.0724C290.589 38.0422 291.23 38.0163 291.865 37.9934C292.366 37.9752 292.862 37.9591 293.355 37.9456C294.903 37.9024 296.151 37.8811 297.098 37.8811C298.991 37.8811 300.368 38.3327 301.229 39.2364C302.09 40.1402 302.519 41.4954 302.519 43.3027V43.4316H296.13C292.989 43.4316 290.214 43.8406 287.804 44.6581C285.394 45.4324 283.522 46.6588 282.19 48.3368C280.855 49.9722 280.189 52.0805 280.189 54.6621C280.189 57.0289 280.726 59.0726 281.802 60.7933C282.877 62.4713 284.361 63.7624 286.255 64.6654C288.192 65.5694 290.43 66.0214 292.967 66.0214C295.42 66.0214 297.485 65.5694 299.164 64.6654C300.885 63.7624 302.219 62.4713 303.165 60.7933C303.332 60.5108 303.487 60.2176 303.632 59.9127C303.837 59.482 304.019 59.0278 304.18 58.5534L304.262 58.3029ZM302.519 52.016V49.176H296.065C294.258 49.176 292.86 49.6276 291.871 50.5313C290.924 51.3919 290.45 52.5751 290.45 54.0811C290.45 54.7901 290.568 55.434 290.804 56.015C291.042 56.5971 291.397 57.1142 291.871 57.5662C292.86 58.4276 294.258 58.8572 296.065 58.8572C296.409 58.8572 296.742 58.8402 297.063 58.8061C297.325 58.7794 297.58 58.74 297.826 58.6899C298.3 58.5929 298.746 58.4553 299.164 58.2762C300.111 57.8466 300.885 57.1366 301.486 56.1462C302.09 55.1568 302.434 53.7797 302.519 52.016Z" - fill="#4876EE" - /> - <path - d="M318.639 65.117V29.7485H326.836V41.4228C327.228 38.0902 328.219 35.403 329.805 33.3628C331.956 30.6522 335.053 29.2969 339.099 29.2969H340.454V38.2034H337.872C335.033 38.2034 332.838 38.9777 331.289 40.5269C329.74 42.0328 328.965 44.2274 328.965 47.1099V65.117H318.639Z" - fill="#4876EE" - /> - <path - d="M353.549 48.5927H356.97L368.135 65.115H379.753L365.595 44.8235L377.236 29.7465H366.393L353.549 46.5639V18H343.223V65.115H353.549V48.5927Z" - fill="#4876EE" - /> - </svg> - </SvgIcon> - ); -} diff --git a/docs/data/material/getting-started/templates/sign-in-side/ToggleColorMode.tsx b/docs/data/material/getting-started/templates/sign-in-side/ToggleColorMode.tsx index 3783eb9d80714d..1fd99c941fe0ab 100644 --- a/docs/data/material/getting-started/templates/sign-in-side/ToggleColorMode.tsx +++ b/docs/data/material/getting-started/templates/sign-in-side/ToggleColorMode.tsx @@ -11,7 +11,10 @@ interface ToggleColorModeProps { toggleColorMode: () => void; } -function ToggleColorMode({ mode, toggleColorMode }: ToggleColorModeProps) { +export default function ToggleColorMode({ + mode, + toggleColorMode, +}: ToggleColorModeProps) { return ( <IconButton onClick={toggleColorMode} @@ -26,5 +29,3 @@ function ToggleColorMode({ mode, toggleColorMode }: ToggleColorModeProps) { </IconButton> ); } - -export default ToggleColorMode; diff --git a/docs/data/material/getting-started/templates/sign-in-side/getSignInSideTheme.js b/docs/data/material/getting-started/templates/sign-in-side/getSignInSideTheme.js index b464dd285ddd78..e39de16cbf5e55 100644 --- a/docs/data/material/getting-started/templates/sign-in-side/getSignInSideTheme.js +++ b/docs/data/material/getting-started/templates/sign-in-side/getSignInSideTheme.js @@ -1,73 +1,75 @@ import * as React from 'react'; -import { alpha } from '@mui/material/styles'; +import { createTheme, alpha } from '@mui/material/styles'; import CheckBoxOutlineBlankRoundedIcon from '@mui/icons-material/CheckBoxOutlineBlankRounded'; import CheckRoundedIcon from '@mui/icons-material/CheckRounded'; -export const brand = { - 50: '#F0F7FF', - 100: '#CEE5FD', - 200: '#9CCCFC', - 300: '#55A6F6', - 400: '#0A66C2', - 500: '#0959AA', - 600: '#064079', - 700: '#033363', - 800: '#02294F', - 900: '#021F3B', -}; +const customTheme = createTheme(); -export const secondary = { - 50: '#F9F0FF', - 100: '#E9CEFD', - 200: '#D49CFC', - 300: '#B355F6', - 400: '#750AC2', - 500: '#6709AA', - 600: '#490679', - 700: '#3B0363', - 800: '#2F024F', - 900: '#23023B', +export const brand = { + 50: 'hsl(210, 100%, 97%)', + 100: 'hsl(210, 100%, 90%)', + 200: 'hsl(210, 100%, 80%)', + 300: 'hsl(210, 100%, 65%)', + 400: 'hsl(210, 98%, 48%)', + 500: 'hsl(210, 98%, 42%)', + 600: 'hsl(210, 98%, 55%)', + 700: 'hsl(210, 100%, 35%)', + 800: 'hsl(210, 100%, 16%)', + 900: 'hsl(210, 100%, 21%)', }; export const gray = { - 50: '#FBFCFE', - 100: '#EAF0F5', - 200: '#D6E2EB', - 300: '#BFCCD9', - 400: '#94A6B8', - 500: '#5B6B7C', - 600: '#4C5967', - 700: '#364049', - 800: '#131B20', - 900: '#090E10', + 50: 'hsl(220, 60%, 99%)', + 100: 'hsl(220, 35%, 94%)', + 200: 'hsl(220, 35%, 88%)', + 300: 'hsl(220, 25%, 80%)', + 400: 'hsl(220, 20%, 65%)', + 500: 'hsl(220, 20%, 42%)', + 600: 'hsl(220, 25%, 35%)', + 700: 'hsl(220, 25%, 25%)', + 800: 'hsl(220, 25%, 10%)', + 900: 'hsl(220, 30%, 5%)', }; export const green = { - 50: '#F6FEF6', - 100: '#E3FBE3', - 200: '#C7F7C7', - 300: '#A1E8A1', - 400: '#51BC51', - 500: '#1F7A1F', - 600: '#136C13', - 700: '#0A470A', - 800: '#042F04', - 900: '#021D02', + 50: 'hsl(120, 80%, 98%)', + 100: 'hsl(120, 75%, 94%)', + 200: 'hsl(120, 75%, 87%)', + 300: 'hsl(120, 61%, 77%)', + 400: 'hsl(120, 44%, 53%)', + 500: 'hsl(120, 59%, 30%)', + 600: 'hsl(120, 70%, 25%)', + 700: 'hsl(120, 75%, 16%)', + 800: 'hsl(120, 84%, 10%)', + 900: 'hsl(120, 87%, 6%)', +}; + +export const orange = { + 50: 'hsl(45, 100%, 97%)', + 100: 'hsl(45, 92%, 90%)', + 200: 'hsl(45, 94%, 80%)', + 300: 'hsl(45, 90%, 65%)', + 400: 'hsl(45, 90%, 40%)', + 500: 'hsl(45, 90%, 35%)', + 600: 'hsl(45, 91%, 25%)', + 700: 'hsl(45, 94%, 20%)', + 800: 'hsl(45, 95%, 16%)', + 900: 'hsl(45, 93%, 12%)', }; export const red = { - 50: '#FFF0F0', - 100: '#FDCECE', - 200: '#FC9C9C', - 300: '#F65555', - 400: '#C20A0A', - 500: '#910808', - 600: '#790606', - 700: '#630303', - 800: '#4F0202', - 900: '#3B0202', + 50: 'hsl(0, 100%, 97%)', + 100: 'hsl(0, 92%, 90%)', + 200: 'hsl(0, 94%, 80%)', + 300: 'hsl(0, 90%, 65%)', + 400: 'hsl(0, 90%, 40%)', + 500: 'hsl(0, 90%, 30%)', + 600: 'hsl(0, 91%, 25%)', + 700: 'hsl(0, 94%, 20%)', + 800: 'hsl(0, 95%, 16%)', + 900: 'hsl(0, 93%, 12%)', }; const getDesignTokens = (mode) => ({ @@ -85,26 +87,25 @@ const getDesignTokens = (mode) => ({ dark: brand[800], }), }, - secondary: { - light: secondary[300], - main: secondary[500], - dark: secondary[800], + warning: { + light: orange[300], + main: orange[400], + dark: orange[800], ...(mode === 'dark' && { - light: secondary[400], - main: secondary[500], - dark: secondary[900], + light: orange[400], + main: orange[500], + dark: orange[700], }), }, - warning: { - main: '#F7B538', - dark: '#F79F00', - ...(mode === 'dark' && { main: '#F7B538', dark: '#F79F00' }), - }, error: { - light: red[50], - main: red[500], - dark: red[700], - ...(mode === 'dark' && { light: '#D32F2F', main: '#D32F2F', dark: '#B22A2A' }), + light: red[300], + main: red[400], + dark: red[800], + ...(mode === 'dark' && { + light: red[400], + main: red[500], + dark: red[700], + }), }, success: { light: green[300], @@ -117,27 +118,18 @@ const getDesignTokens = (mode) => ({ }), }, grey: { - 50: gray[50], - 100: gray[100], - 200: gray[200], - 300: gray[300], - 400: gray[400], - 500: gray[500], - 600: gray[600], - 700: gray[700], - 800: gray[800], - 900: gray[900], + ...gray, }, divider: mode === 'dark' ? alpha(gray[600], 0.3) : alpha(gray[300], 0.5), background: { - default: '#fff', - paper: gray[50], - ...(mode === 'dark' && { default: gray[900], paper: gray[800] }), + default: 'hsl(0, 0%, 100%)', + paper: gray[100], + ...(mode === 'dark' && { default: 'hsl(220, 30%, 3%)', paper: gray[900] }), }, text: { primary: gray[800], secondary: gray[600], - ...(mode === 'dark' && { primary: '#fff', secondary: gray[400] }), + ...(mode === 'dark' && { primary: 'hsl(0, 0%, 100%)', secondary: gray[400] }), }, action: { selected: `${alpha(brand[200], 0.2)}`, @@ -149,51 +141,54 @@ const getDesignTokens = (mode) => ({ typography: { fontFamily: ['"Inter", "sans-serif"'].join(','), h1: { - fontSize: 60, + fontSize: customTheme.typography.pxToRem(60), fontWeight: 600, - lineHeight: 78 / 70, - letterSpacing: -0.2, + lineHeight: 1.2, + letterSpacing: -0.5, }, h2: { - fontSize: 48, + fontSize: customTheme.typography.pxToRem(48), fontWeight: 600, lineHeight: 1.2, }, h3: { - fontSize: 42, + fontSize: customTheme.typography.pxToRem(42), lineHeight: 1.2, }, h4: { - fontSize: 36, + fontSize: customTheme.typography.pxToRem(36), fontWeight: 500, lineHeight: 1.5, }, h5: { - fontSize: 20, + fontSize: customTheme.typography.pxToRem(20), fontWeight: 600, }, h6: { - fontSize: 18, + fontSize: customTheme.typography.pxToRem(18), }, subtitle1: { - fontSize: 18, + fontSize: customTheme.typography.pxToRem(18), }, subtitle2: { - fontSize: 16, + fontSize: customTheme.typography.pxToRem(16), }, body1: { + fontSize: customTheme.typography.pxToRem(15), fontWeight: 400, - fontSize: 15, }, body2: { + fontSize: customTheme.typography.pxToRem(14), fontWeight: 400, - fontSize: 14, }, caption: { + fontSize: customTheme.typography.pxToRem(12), fontWeight: 400, - fontSize: 12, }, }, + shape: { + borderRadius: 12, + }, }); export default function getSignInSideTheme(mode) { @@ -208,9 +203,9 @@ export default function getSignInSideTheme(mode) { styleOverrides: { root: { boxSizing: 'border-box', - transition: 'all 100ms ease-in', + transition: 'all 100ms ease', '&:focus-visible': { - outline: `3px solid ${alpha(brand[500], 0.5)}`, + outline: `3px solid ${alpha(brand[400], 0.5)}`, outlineOffset: '2px', }, }, @@ -220,34 +215,45 @@ export default function getSignInSideTheme(mode) { styleOverrides: { root: ({ theme, ownerState }) => ({ boxShadow: 'none', - borderRadius: '10px', + borderRadius: theme.shape.borderRadius, textTransform: 'none', ...(ownerState.size === 'small' && { - maxHeight: '32px', + height: '2rem', // 32px + padding: '0 0.5rem', }), ...(ownerState.size === 'medium' && { - height: '40px', + height: '2.5rem', // 40px }), ...(ownerState.variant === 'contained' && ownerState.color === 'primary' && { - color: brand[50], - background: brand[500], - backgroundImage: `linear-gradient(to bottom, ${brand[400]}, ${brand[600]})`, - boxShadow: `inset 0 1px ${alpha(brand[300], 0.5)}`, + color: 'white', + backgroundColor: brand[300], + backgroundImage: `linear-gradient(to bottom, ${alpha(brand[400], 0.8)}, ${brand[500]})`, + boxShadow: `inset 0 2px 0 ${alpha(brand[200], 0.2)}, inset 0 -2px 0 ${alpha(brand[700], 0.4)}`, border: `1px solid ${brand[500]}`, '&:hover': { - background: brand[400], - backgroundImage: 'none', - boxShadow: `0 0 0 1px ${alpha(brand[300], 0.5)}`, + backgroundColor: brand[700], + boxShadow: 'none', + }, + '&:active': { + backgroundColor: brand[700], + boxShadow: `inset 0 2.5px 0 ${alpha(brand[700], 0.4)}`, }, }), ...(ownerState.variant === 'outlined' && { + color: brand[700], backgroundColor: alpha(brand[300], 0.1), - borderColor: brand[300], - color: brand[500], + borderColor: alpha(brand[200], 0.8), + boxShadow: `inset 0 2px ${alpha(brand[50], 0.5)}, inset 0 -2px ${alpha(brand[200], 0.2)}`, '&:hover': { + backgroundColor: alpha(brand[300], 0.2), + borderColor: alpha(brand[300], 0.5), + boxShadow: 'none', + }, + '&:active': { backgroundColor: alpha(brand[300], 0.3), - borderColor: brand[200], + boxShadow: `inset 0 2.5px 0 ${alpha(brand[400], 0.2)}`, + backgroundImage: 'none', }, }), ...(ownerState.variant === 'outlined' && @@ -257,84 +263,174 @@ export default function getSignInSideTheme(mode) { color: gray[700], '&:hover': { backgroundColor: alpha(gray[300], 0.3), - borderColor: gray[200], + borderColor: alpha(gray[300], 0.5), + boxShadow: 'none', + }, + '&:active': { + backgroundColor: alpha(gray[300], 0.4), + boxShadow: `inset 0 2.5px 0 ${alpha(gray[400], 0.2)}`, + backgroundImage: 'none', + }, + }), + ...(ownerState.variant === 'text' && + ownerState.color === 'primary' && { + color: brand[700], + '&:hover': { + backgroundColor: alpha(brand[300], 0.3), + }, + }), + ...(ownerState.variant === 'text' && + ownerState.color === 'info' && { + color: gray[700], + '&:hover': { + backgroundColor: alpha(gray[300], 0.3), }, }), - ...(ownerState.variant === 'text' && { - color: brand[600], - '&:hover': { - backgroundColor: alpha(brand[300], 0.3), - borderColor: brand[200], - }, - }), ...(theme.palette.mode === 'dark' && { - ...(ownerState.variant === 'contained' && - ownerState.color === 'primary' && { - border: `1px solid ${brand[600]}`, - backgroundImage: `linear-gradient(to bottom, ${brand[500]}, ${brand[600]})`, - backgroundColor: brand[500], - '&:hover': { - background: brand[600], - backgroundImage: 'none', - boxShadow: `0 0 0 1px ${alpha(brand[700], 0.5)}`, - }, - }), ...(ownerState.variant === 'outlined' && { + color: brand[200], backgroundColor: alpha(brand[600], 0.1), - borderColor: brand[700], - color: brand[300], + borderColor: alpha(brand[600], 0.6), + boxShadow: `inset 0 2.5px ${alpha(brand[400], 0.1)}, inset 0 -2px ${alpha(gray[900], 0.5)}`, '&:hover': { - backgroundColor: alpha(brand[600], 0.3), - borderColor: brand[700], + backgroundColor: alpha(brand[700], 0.2), + borderColor: alpha(brand[700], 0.5), + boxShadow: 'none', + }, + '&:active': { + backgroundColor: alpha(brand[800], 0.2), + boxShadow: `inset 0 2.5px 0 ${alpha(brand[900], 0.4)}`, + backgroundImage: 'none', }, }), + ...(ownerState.variant === 'text' && + ownerState.color === 'info' && { + color: gray[200], + '&:hover': { + backgroundColor: alpha(gray[700], 0.3), + }, + }), ...(ownerState.variant === 'outlined' && ownerState.color === 'secondary' && { + color: gray[300], backgroundColor: alpha(gray[600], 0.1), borderColor: alpha(gray[700], 0.5), - color: gray[300], + boxShadow: `inset 0 2.5px ${alpha(gray[600], 0.1)}, inset 0 -2px ${alpha(gray[900], 0.5)}`, + '&:hover': { + backgroundColor: alpha(gray[700], 0.2), + borderColor: alpha(gray[700], 0.5), + boxShadow: 'none', + }, + '&:active': { + backgroundColor: alpha(gray[800], 0.2), + boxShadow: `inset 0 2.5px 0 ${alpha(gray[900], 0.4)}`, + backgroundImage: 'none', + }, + }), + ...(ownerState.variant === 'text' && + ownerState.color === 'primary' && { + color: brand[200], '&:hover': { - backgroundColor: alpha(gray[600], 0.3), - borderColor: gray[700], + backgroundColor: alpha(brand[700], 0.3), }, }), - ...(ownerState.variant === 'text' && { - color: brand[200], - '&:hover': { - backgroundColor: alpha(brand[600], 0.3), - borderColor: brand[700], - }, - }), }), }), }, }, - MuiIconButton: { + MuiCard: { styleOverrides: { root: ({ theme, ownerState }) => ({ - ...(ownerState.size === 'small' && { - height: '32px', - width: '32px', + transition: 'all 100ms ease', + backgroundColor: gray[50], + borderRadius: theme.shape.borderRadius, + border: `1px solid ${alpha(gray[200], 0.5)}`, + boxShadow: 'none', + ...(ownerState.variant === 'outlined' && { + border: `1px solid ${gray[200]}`, + boxShadow: 'none', + background: `linear-gradient(to bottom, hsl(0, 0%, 100%), ${gray[50]})`, }), - ...(ownerState.size === 'medium' && { - height: '40px', - width: '40px', + ...(theme.palette.mode === 'dark' && { + backgroundColor: alpha(gray[800], 0.6), + border: `1px solid ${alpha(gray[700], 0.3)}`, + ...(ownerState.variant === 'outlined' && { + border: `1px solid ${alpha(gray[700], 0.4)}`, + boxShadow: 'none', + background: `linear-gradient(to bottom, ${gray[900]}, ${alpha( + gray[800], + 0.5, + )})`, + }), }), - color: brand[600], + }), + }, + }, + MuiCheckbox: { + defaultProps: { + disableRipple: true, + icon: ( + <CheckBoxOutlineBlankRoundedIcon + sx={{ color: 'hsla(210, 0%, 0%, 0.0)' }} + /> + ), + checkedIcon: <CheckRoundedIcon sx={{ height: 14, width: 14 }} />, + }, + styleOverrides: { + root: ({ theme }) => ({ + margin: 10, + height: 16, + width: 16, + borderRadius: 5, + border: '1px solid ', + borderColor: alpha(gray[300], 0.8), + backgroundColor: alpha(gray[100], 0.4), + boxShadow: '0 0 0 1.5px hsla(210, 0%, 0%, 0.04) inset', + transition: 'border-color, background-color, 120ms ease-in', '&:hover': { - backgroundColor: alpha(brand[300], 0.3), - borderColor: brand[200], + borderColor: brand[300], + }, + '&.Mui-focusVisible': { + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '2px', + borderColor: brand[400], + }, + '&.Mui-checked': { + color: 'white', + backgroundColor: brand[500], + borderColor: brand[500], + boxShadow: `none`, + '&:hover': { + backgroundColor: brand[600], + }, }, ...(theme.palette.mode === 'dark' && { - color: brand[200], + borderColor: alpha(gray[700], 0.5), + boxShadow: '0 0 0 1.5px hsl(210, 0%, 0%) inset', + backgroundColor: alpha(gray[900], 0.8), '&:hover': { - backgroundColor: alpha(brand[600], 0.3), - borderColor: brand[700], + borderColor: brand[300], + }, + '&.Mui-focusVisible': { + borderColor: brand[400], + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '2px', }, }), }), }, }, + MuiDialog: { + styleOverrides: { + root: ({ theme }) => ({ + '& .MuiDialog-paper': { + borderRadius: '10px', + border: '1px solid', + borderColor: theme.palette.divider, + }, + }), + }, + }, MuiDivider: { styleOverrides: { root: ({ theme }) => ({ @@ -345,25 +441,80 @@ export default function getSignInSideTheme(mode) { }), }, }, - MuiPaper: { + MuiFormLabel: { styleOverrides: { root: ({ theme }) => ({ - backgroundImage: 'none', - backgroundColor: gray[100], + typography: theme.typography.caption, + marginBottom: 8, + }), + }, + }, + MuiIconButton: { + styleOverrides: { + root: ({ theme, ownerState }) => ({ + ...(ownerState.size === 'small' && { + height: '2rem', + width: '2rem', + }), + ...(ownerState.size === 'medium' && { + height: '2.5rem', + width: '2.5rem', + }), + color: brand[500], + '&:hover': { + backgroundColor: alpha(brand[300], 0.3), + borderColor: brand[200], + }, ...(theme.palette.mode === 'dark' && { - backgroundColor: gray[800], + color: brand[200], + '&:hover': { + backgroundColor: alpha(brand[600], 0.3), + borderColor: brand[700], + }, }), }), }, }, - MuiDialog: { + MuiInputBase: { + styleOverrides: { + root: { + border: 'none', + }, + }, + }, + MuiLink: { + defaultProps: { + underline: 'none', + }, styleOverrides: { root: ({ theme }) => ({ - '& .MuiDialog-paper': { - borderRadius: '10px', - border: '1px solid', - borderColor: theme.palette.divider, + color: brand[700], + fontWeight: 500, + position: 'relative', + textDecoration: 'none', + '&::before': { + content: '""', + position: 'absolute', + width: 0, + height: '1px', + bottom: 0, + left: 0, + backgroundColor: brand[200], + opacity: 0.7, + transition: 'width 0.3s ease, opacity 0.3s ease', + }, + '&:hover::before': { + width: '100%', + opacity: 1, + }, + '&:focus-visible': { + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '4px', + borderRadius: '2px', }, + ...(theme.palette.mode === 'dark' && { + color: brand[200], + }), }), }, }, @@ -382,6 +533,7 @@ export default function getSignInSideTheme(mode) { borderRadius: '8px', }, '& .MuiInputBase-input': { + fontSize: '1rem', '&::placeholder': { opacity: 0.7, color: gray[500], @@ -390,10 +542,10 @@ export default function getSignInSideTheme(mode) { boxSizing: 'border-box', flexGrow: 1, height: '40px', - borderRadius: '10px', + borderRadius: theme.shape.borderRadius, border: '1px solid', borderColor: alpha(gray[300], 0.8), - boxShadow: '0 0 0 1.5px rgba(0, 0, 0, 0.04) inset', + boxShadow: '0 0 0 1.5px hsla(210, 0%, 0%, 0.02) inset', transition: 'border-color 120ms ease-in', backgroundColor: alpha(gray[100], 0.4), '&:hover': { @@ -418,13 +570,14 @@ export default function getSignInSideTheme(mode) { borderRadius: '8px', }, '& .MuiInputBase-input': { + fontSize: '1rem', '&::placeholder': { opacity: 1, color: gray[500], }, }, borderColor: alpha(gray[700], 0.5), - boxShadow: '0 0 0 1.5px rgb(0, 0, 0) inset', + boxShadow: '0 0 0 1.5px hsl(210, 0%, 0%) inset', backgroundColor: alpha(gray[900], 0.8), transition: 'border-color 120ms ease-in', '&:hover': { @@ -446,154 +599,29 @@ export default function getSignInSideTheme(mode) { }), }, }, - MuiFormLabel: { - styleOverrides: { - root: ({ theme }) => ({ - typography: theme.typography.caption, - marginBottom: 8, - }), - }, - }, - MuiInputBase: { - styleOverrides: { - root: { - border: 'none', - }, - }, - }, - MuiCard: { - styleOverrides: { - root: ({ theme, ownerState }) => ({ - backgroundColor: gray[50], - borderRadius: 10, - outline: `1px solid ${alpha(gray[200], 0.8)}`, - boxShadow: 'none', - ...(ownerState.variant === 'outlined' && { - border: 0, - boxSizing: 'border-box', - background: `linear-gradient(to bottom, #FFF, ${gray[50]})`, - }), - ...(theme.palette.mode === 'dark' && { - backgroundColor: alpha(gray[800], 0.6), - outline: `1px solid ${alpha(gray[700], 0.5)}`, - ...(ownerState.variant === 'outlined' && { - boxSizing: 'border-box', - background: `linear-gradient(to bottom, ${gray[900]}, ${alpha( - gray[800], - 0.5, - )})`, - }), - }), - }), + MuiPaper: { + defaultProps: { + elevation: 0, }, }, - MuiLink: { + MuiStack: { defaultProps: { - underline: 'none', - }, - styleOverrides: { - root: ({ theme }) => ({ - color: brand[600], - fontWeight: 500, - position: 'relative', - textDecoration: 'none', - '&::before': { - content: '""', - position: 'absolute', - width: 0, - height: '1px', - bottom: 0, - left: 0, - backgroundColor: brand[200], - opacity: 0.7, - transition: 'width 0.3s ease, opacity 0.3s ease', - }, - '&:hover::before': { - width: '100%', - opacity: 1, - }, - '&:focus-visible': { - outline: `3px solid ${alpha(brand[500], 0.5)}`, - outlineOffset: '4px', - borderRadius: '2px', - }, - ...(theme.palette.mode === 'dark' && { - color: brand[200], - }), - }), + useFlexGap: true, }, }, MuiToggleButtonGroup: { styleOverrides: { root: ({ theme }) => ({ - borderRadius: '10px', - boxShadow: `0 4px 16px ${alpha(gray[400], 0.2)}`, + borderRadius: theme.shape.borderRadius, + boxShadow: `0 1px 2px hsla(210, 0%, 0%, 0.05), 0 2px 12px ${alpha(brand[200], 0.5)}`, '& .Mui-selected': { color: brand[500], }, ...(theme.palette.mode === 'dark' && { '& .Mui-selected': { - color: '#fff', - }, - boxShadow: `0 4px 16px ${alpha(brand[700], 0.5)}`, - }), - }), - }, - }, - MuiCheckbox: { - defaultProps: { - disableRipple: true, - icon: <CheckBoxOutlineBlankRoundedIcon sx={{ color: 'rgba(0,0,0,0)' }} />, - checkedIcon: <CheckRoundedIcon sx={{ height: 14, width: 14 }} />, - }, - styleOverrides: { - root: ({ theme }) => ({ - margin: 10, - height: 16, - width: 16, - borderRadius: 5, - border: '1px solid ', - borderColor: alpha(gray[300], 0.8), - boxShadow: '0 0 0 1.5px rgba(0, 0, 0, 0.04) inset', - transition: 'border-color 120ms ease-in', - backgroundColor: alpha(gray[100], 0.4), - '&:hover': { - borderColor: brand[300], - }, - '&.Mui-focusVisible': { - outline: `3px solid ${alpha(brand[500], 0.5)}`, - outlineOffset: '2px', - borderColor: brand[400], - }, - '&.Mui-checked': { - color: 'white', - backgroundColor: brand[500], - '&:hover': { - borderColor: brand[300], - backgroundColor: brand[600], - }, - }, - ...(theme.palette.mode === 'dark' && { - borderColor: alpha(gray[700], 0.5), - boxShadow: '0 0 0 1.5px rgb(0, 0, 0) inset', - backgroundColor: alpha(gray[900], 0.8), - '&:hover': { - borderColor: brand[300], - }, - '&.Mui-checked': { - color: 'white', - backgroundColor: brand[600], - boxShadow: '0 0 0 1px rgba(0, 0, 0, 0.2) inset', - '&:hover': { - borderColor: brand[300], - backgroundColor: brand[800], - }, - }, - '&.Mui-focusVisible': { - borderColor: brand[400], - outline: `3px solid ${alpha(brand[500], 0.5)}`, - outlineOffset: '2px', + color: 'hsl(0, 0%, 100%)', }, + boxShadow: `0 0 0 1px hsla(210, 0%, 0%, 0.5), 0 2px 12px ${alpha(brand[700], 0.5)}`, }), }), }, @@ -603,21 +631,15 @@ export default function getSignInSideTheme(mode) { root: ({ theme }) => ({ padding: '12px 16px', textTransform: 'none', - borderRadius: '10px', + borderRadius: theme.shape.borderRadius, fontWeight: 500, ...(theme.palette.mode === 'dark' && { color: gray[400], - boxShadow: '0 4px 16px rgba(0, 0, 0, 0.5)', '&.Mui-selected': { color: brand[300] }, }), }), }, }, - MuiStack: { - defaultProps: { - useFlexGap: true, - }, - }, }, }; } diff --git a/docs/data/material/getting-started/templates/sign-in-side/getSignInSideTheme.tsx b/docs/data/material/getting-started/templates/sign-in-side/getSignInSideTheme.tsx index 6b4da0a9489ccb..20e9329142a520 100644 --- a/docs/data/material/getting-started/templates/sign-in-side/getSignInSideTheme.tsx +++ b/docs/data/material/getting-started/templates/sign-in-side/getSignInSideTheme.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import type {} from '@mui/material/themeCssVarsAugmentation'; -import { ThemeOptions, alpha } from '@mui/material/styles'; +import { createTheme, ThemeOptions, alpha } from '@mui/material/styles'; import { PaletteMode } from '@mui/material'; import CheckBoxOutlineBlankRoundedIcon from '@mui/icons-material/CheckBoxOutlineBlankRounded'; @@ -23,69 +23,71 @@ declare module '@mui/material/styles/createPalette' { interface PaletteColor extends ColorRange {} } -export const brand = { - 50: '#F0F7FF', - 100: '#CEE5FD', - 200: '#9CCCFC', - 300: '#55A6F6', - 400: '#0A66C2', - 500: '#0959AA', - 600: '#064079', - 700: '#033363', - 800: '#02294F', - 900: '#021F3B', -}; +const customTheme = createTheme(); -export const secondary = { - 50: '#F9F0FF', - 100: '#E9CEFD', - 200: '#D49CFC', - 300: '#B355F6', - 400: '#750AC2', - 500: '#6709AA', - 600: '#490679', - 700: '#3B0363', - 800: '#2F024F', - 900: '#23023B', +export const brand = { + 50: 'hsl(210, 100%, 97%)', + 100: 'hsl(210, 100%, 90%)', + 200: 'hsl(210, 100%, 80%)', + 300: 'hsl(210, 100%, 65%)', + 400: 'hsl(210, 98%, 48%)', + 500: 'hsl(210, 98%, 42%)', + 600: 'hsl(210, 98%, 55%)', + 700: 'hsl(210, 100%, 35%)', + 800: 'hsl(210, 100%, 16%)', + 900: 'hsl(210, 100%, 21%)', }; export const gray = { - 50: '#FBFCFE', - 100: '#EAF0F5', - 200: '#D6E2EB', - 300: '#BFCCD9', - 400: '#94A6B8', - 500: '#5B6B7C', - 600: '#4C5967', - 700: '#364049', - 800: '#131B20', - 900: '#090E10', + 50: 'hsl(220, 60%, 99%)', + 100: 'hsl(220, 35%, 94%)', + 200: 'hsl(220, 35%, 88%)', + 300: 'hsl(220, 25%, 80%)', + 400: 'hsl(220, 20%, 65%)', + 500: 'hsl(220, 20%, 42%)', + 600: 'hsl(220, 25%, 35%)', + 700: 'hsl(220, 25%, 25%)', + 800: 'hsl(220, 25%, 10%)', + 900: 'hsl(220, 30%, 5%)', }; export const green = { - 50: '#F6FEF6', - 100: '#E3FBE3', - 200: '#C7F7C7', - 300: '#A1E8A1', - 400: '#51BC51', - 500: '#1F7A1F', - 600: '#136C13', - 700: '#0A470A', - 800: '#042F04', - 900: '#021D02', + 50: 'hsl(120, 80%, 98%)', + 100: 'hsl(120, 75%, 94%)', + 200: 'hsl(120, 75%, 87%)', + 300: 'hsl(120, 61%, 77%)', + 400: 'hsl(120, 44%, 53%)', + 500: 'hsl(120, 59%, 30%)', + 600: 'hsl(120, 70%, 25%)', + 700: 'hsl(120, 75%, 16%)', + 800: 'hsl(120, 84%, 10%)', + 900: 'hsl(120, 87%, 6%)', +}; + +export const orange = { + 50: 'hsl(45, 100%, 97%)', + 100: 'hsl(45, 92%, 90%)', + 200: 'hsl(45, 94%, 80%)', + 300: 'hsl(45, 90%, 65%)', + 400: 'hsl(45, 90%, 40%)', + 500: 'hsl(45, 90%, 35%)', + 600: 'hsl(45, 91%, 25%)', + 700: 'hsl(45, 94%, 20%)', + 800: 'hsl(45, 95%, 16%)', + 900: 'hsl(45, 93%, 12%)', }; export const red = { - 50: '#FFF0F0', - 100: '#FDCECE', - 200: '#FC9C9C', - 300: '#F65555', - 400: '#C20A0A', - 500: '#910808', - 600: '#790606', - 700: '#630303', - 800: '#4F0202', - 900: '#3B0202', + 50: 'hsl(0, 100%, 97%)', + 100: 'hsl(0, 92%, 90%)', + 200: 'hsl(0, 94%, 80%)', + 300: 'hsl(0, 90%, 65%)', + 400: 'hsl(0, 90%, 40%)', + 500: 'hsl(0, 90%, 30%)', + 600: 'hsl(0, 91%, 25%)', + 700: 'hsl(0, 94%, 20%)', + 800: 'hsl(0, 95%, 16%)', + 900: 'hsl(0, 93%, 12%)', }; const getDesignTokens = (mode: PaletteMode) => ({ @@ -103,26 +105,25 @@ const getDesignTokens = (mode: PaletteMode) => ({ dark: brand[800], }), }, - secondary: { - light: secondary[300], - main: secondary[500], - dark: secondary[800], + warning: { + light: orange[300], + main: orange[400], + dark: orange[800], ...(mode === 'dark' && { - light: secondary[400], - main: secondary[500], - dark: secondary[900], + light: orange[400], + main: orange[500], + dark: orange[700], }), }, - warning: { - main: '#F7B538', - dark: '#F79F00', - ...(mode === 'dark' && { main: '#F7B538', dark: '#F79F00' }), - }, error: { - light: red[50], - main: red[500], - dark: red[700], - ...(mode === 'dark' && { light: '#D32F2F', main: '#D32F2F', dark: '#B22A2A' }), + light: red[300], + main: red[400], + dark: red[800], + ...(mode === 'dark' && { + light: red[400], + main: red[500], + dark: red[700], + }), }, success: { light: green[300], @@ -135,27 +136,18 @@ const getDesignTokens = (mode: PaletteMode) => ({ }), }, grey: { - 50: gray[50], - 100: gray[100], - 200: gray[200], - 300: gray[300], - 400: gray[400], - 500: gray[500], - 600: gray[600], - 700: gray[700], - 800: gray[800], - 900: gray[900], + ...gray, }, divider: mode === 'dark' ? alpha(gray[600], 0.3) : alpha(gray[300], 0.5), background: { - default: '#fff', - paper: gray[50], - ...(mode === 'dark' && { default: gray[900], paper: gray[800] }), + default: 'hsl(0, 0%, 100%)', + paper: gray[100], + ...(mode === 'dark' && { default: 'hsl(220, 30%, 3%)', paper: gray[900] }), }, text: { primary: gray[800], secondary: gray[600], - ...(mode === 'dark' && { primary: '#fff', secondary: gray[400] }), + ...(mode === 'dark' && { primary: 'hsl(0, 0%, 100%)', secondary: gray[400] }), }, action: { selected: `${alpha(brand[200], 0.2)}`, @@ -167,51 +159,54 @@ const getDesignTokens = (mode: PaletteMode) => ({ typography: { fontFamily: ['"Inter", "sans-serif"'].join(','), h1: { - fontSize: 60, + fontSize: customTheme.typography.pxToRem(60), fontWeight: 600, - lineHeight: 78 / 70, - letterSpacing: -0.2, + lineHeight: 1.2, + letterSpacing: -0.5, }, h2: { - fontSize: 48, + fontSize: customTheme.typography.pxToRem(48), fontWeight: 600, lineHeight: 1.2, }, h3: { - fontSize: 42, + fontSize: customTheme.typography.pxToRem(42), lineHeight: 1.2, }, h4: { - fontSize: 36, + fontSize: customTheme.typography.pxToRem(36), fontWeight: 500, lineHeight: 1.5, }, h5: { - fontSize: 20, + fontSize: customTheme.typography.pxToRem(20), fontWeight: 600, }, h6: { - fontSize: 18, + fontSize: customTheme.typography.pxToRem(18), }, subtitle1: { - fontSize: 18, + fontSize: customTheme.typography.pxToRem(18), }, subtitle2: { - fontSize: 16, + fontSize: customTheme.typography.pxToRem(16), }, body1: { + fontSize: customTheme.typography.pxToRem(15), fontWeight: 400, - fontSize: 15, }, body2: { + fontSize: customTheme.typography.pxToRem(14), fontWeight: 400, - fontSize: 14, }, caption: { + fontSize: customTheme.typography.pxToRem(12), fontWeight: 400, - fontSize: 12, }, }, + shape: { + borderRadius: 12, + }, }); export default function getSignInSideTheme(mode: PaletteMode): ThemeOptions { @@ -226,9 +221,9 @@ export default function getSignInSideTheme(mode: PaletteMode): ThemeOptions { styleOverrides: { root: { boxSizing: 'border-box', - transition: 'all 100ms ease-in', + transition: 'all 100ms ease', '&:focus-visible': { - outline: `3px solid ${alpha(brand[500], 0.5)}`, + outline: `3px solid ${alpha(brand[400], 0.5)}`, outlineOffset: '2px', }, }, @@ -238,34 +233,45 @@ export default function getSignInSideTheme(mode: PaletteMode): ThemeOptions { styleOverrides: { root: ({ theme, ownerState }) => ({ boxShadow: 'none', - borderRadius: '10px', + borderRadius: theme.shape.borderRadius, textTransform: 'none', ...(ownerState.size === 'small' && { - maxHeight: '32px', + height: '2rem', // 32px + padding: '0 0.5rem', }), ...(ownerState.size === 'medium' && { - height: '40px', + height: '2.5rem', // 40px }), ...(ownerState.variant === 'contained' && ownerState.color === 'primary' && { - color: brand[50], - background: brand[500], - backgroundImage: `linear-gradient(to bottom, ${brand[400]}, ${brand[600]})`, - boxShadow: `inset 0 1px ${alpha(brand[300], 0.5)}`, + color: 'white', + backgroundColor: brand[300], + backgroundImage: `linear-gradient(to bottom, ${alpha(brand[400], 0.8)}, ${brand[500]})`, + boxShadow: `inset 0 2px 0 ${alpha(brand[200], 0.2)}, inset 0 -2px 0 ${alpha(brand[700], 0.4)}`, border: `1px solid ${brand[500]}`, '&:hover': { - background: brand[400], - backgroundImage: 'none', - boxShadow: `0 0 0 1px ${alpha(brand[300], 0.5)}`, + backgroundColor: brand[700], + boxShadow: 'none', + }, + '&:active': { + backgroundColor: brand[700], + boxShadow: `inset 0 2.5px 0 ${alpha(brand[700], 0.4)}`, }, }), ...(ownerState.variant === 'outlined' && { + color: brand[700], backgroundColor: alpha(brand[300], 0.1), - borderColor: brand[300], - color: brand[500], + borderColor: alpha(brand[200], 0.8), + boxShadow: `inset 0 2px ${alpha(brand[50], 0.5)}, inset 0 -2px ${alpha(brand[200], 0.2)}`, '&:hover': { + backgroundColor: alpha(brand[300], 0.2), + borderColor: alpha(brand[300], 0.5), + boxShadow: 'none', + }, + '&:active': { backgroundColor: alpha(brand[300], 0.3), - borderColor: brand[200], + boxShadow: `inset 0 2.5px 0 ${alpha(brand[400], 0.2)}`, + backgroundImage: 'none', }, }), ...(ownerState.variant === 'outlined' && @@ -275,84 +281,174 @@ export default function getSignInSideTheme(mode: PaletteMode): ThemeOptions { color: gray[700], '&:hover': { backgroundColor: alpha(gray[300], 0.3), - borderColor: gray[200], + borderColor: alpha(gray[300], 0.5), + boxShadow: 'none', + }, + '&:active': { + backgroundColor: alpha(gray[300], 0.4), + boxShadow: `inset 0 2.5px 0 ${alpha(gray[400], 0.2)}`, + backgroundImage: 'none', + }, + }), + ...(ownerState.variant === 'text' && + ownerState.color === 'primary' && { + color: brand[700], + '&:hover': { + backgroundColor: alpha(brand[300], 0.3), + }, + }), + ...(ownerState.variant === 'text' && + ownerState.color === 'info' && { + color: gray[700], + '&:hover': { + backgroundColor: alpha(gray[300], 0.3), }, }), - ...(ownerState.variant === 'text' && { - color: brand[600], - '&:hover': { - backgroundColor: alpha(brand[300], 0.3), - borderColor: brand[200], - }, - }), ...(theme.palette.mode === 'dark' && { - ...(ownerState.variant === 'contained' && - ownerState.color === 'primary' && { - border: `1px solid ${brand[600]}`, - backgroundImage: `linear-gradient(to bottom, ${brand[500]}, ${brand[600]})`, - backgroundColor: brand[500], - '&:hover': { - background: brand[600], - backgroundImage: 'none', - boxShadow: `0 0 0 1px ${alpha(brand[700], 0.5)}`, - }, - }), ...(ownerState.variant === 'outlined' && { + color: brand[200], backgroundColor: alpha(brand[600], 0.1), - borderColor: brand[700], - color: brand[300], + borderColor: alpha(brand[600], 0.6), + boxShadow: `inset 0 2.5px ${alpha(brand[400], 0.1)}, inset 0 -2px ${alpha(gray[900], 0.5)}`, '&:hover': { - backgroundColor: alpha(brand[600], 0.3), - borderColor: brand[700], + backgroundColor: alpha(brand[700], 0.2), + borderColor: alpha(brand[700], 0.5), + boxShadow: 'none', + }, + '&:active': { + backgroundColor: alpha(brand[800], 0.2), + boxShadow: `inset 0 2.5px 0 ${alpha(brand[900], 0.4)}`, + backgroundImage: 'none', }, }), + ...(ownerState.variant === 'text' && + ownerState.color === 'info' && { + color: gray[200], + '&:hover': { + backgroundColor: alpha(gray[700], 0.3), + }, + }), ...(ownerState.variant === 'outlined' && ownerState.color === 'secondary' && { + color: gray[300], backgroundColor: alpha(gray[600], 0.1), borderColor: alpha(gray[700], 0.5), - color: gray[300], + boxShadow: `inset 0 2.5px ${alpha(gray[600], 0.1)}, inset 0 -2px ${alpha(gray[900], 0.5)}`, + '&:hover': { + backgroundColor: alpha(gray[700], 0.2), + borderColor: alpha(gray[700], 0.5), + boxShadow: 'none', + }, + '&:active': { + backgroundColor: alpha(gray[800], 0.2), + boxShadow: `inset 0 2.5px 0 ${alpha(gray[900], 0.4)}`, + backgroundImage: 'none', + }, + }), + ...(ownerState.variant === 'text' && + ownerState.color === 'primary' && { + color: brand[200], '&:hover': { - backgroundColor: alpha(gray[600], 0.3), - borderColor: gray[700], + backgroundColor: alpha(brand[700], 0.3), }, }), - ...(ownerState.variant === 'text' && { - color: brand[200], - '&:hover': { - backgroundColor: alpha(brand[600], 0.3), - borderColor: brand[700], - }, - }), }), }), }, }, - MuiIconButton: { + MuiCard: { styleOverrides: { root: ({ theme, ownerState }) => ({ - ...(ownerState.size === 'small' && { - height: '32px', - width: '32px', + transition: 'all 100ms ease', + backgroundColor: gray[50], + borderRadius: theme.shape.borderRadius, + border: `1px solid ${alpha(gray[200], 0.5)}`, + boxShadow: 'none', + ...(ownerState.variant === 'outlined' && { + border: `1px solid ${gray[200]}`, + boxShadow: 'none', + background: `linear-gradient(to bottom, hsl(0, 0%, 100%), ${gray[50]})`, }), - ...(ownerState.size === 'medium' && { - height: '40px', - width: '40px', + ...(theme.palette.mode === 'dark' && { + backgroundColor: alpha(gray[800], 0.6), + border: `1px solid ${alpha(gray[700], 0.3)}`, + ...(ownerState.variant === 'outlined' && { + border: `1px solid ${alpha(gray[700], 0.4)}`, + boxShadow: 'none', + background: `linear-gradient(to bottom, ${gray[900]}, ${alpha( + gray[800], + 0.5, + )})`, + }), }), - color: brand[600], + }), + }, + }, + MuiCheckbox: { + defaultProps: { + disableRipple: true, + icon: ( + <CheckBoxOutlineBlankRoundedIcon + sx={{ color: 'hsla(210, 0%, 0%, 0.0)' }} + /> + ), + checkedIcon: <CheckRoundedIcon sx={{ height: 14, width: 14 }} />, + }, + styleOverrides: { + root: ({ theme }) => ({ + margin: 10, + height: 16, + width: 16, + borderRadius: 5, + border: '1px solid ', + borderColor: alpha(gray[300], 0.8), + backgroundColor: alpha(gray[100], 0.4), + boxShadow: '0 0 0 1.5px hsla(210, 0%, 0%, 0.04) inset', + transition: 'border-color, background-color, 120ms ease-in', '&:hover': { - backgroundColor: alpha(brand[300], 0.3), - borderColor: brand[200], + borderColor: brand[300], + }, + '&.Mui-focusVisible': { + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '2px', + borderColor: brand[400], + }, + '&.Mui-checked': { + color: 'white', + backgroundColor: brand[500], + borderColor: brand[500], + boxShadow: `none`, + '&:hover': { + backgroundColor: brand[600], + }, }, ...(theme.palette.mode === 'dark' && { - color: brand[200], + borderColor: alpha(gray[700], 0.5), + boxShadow: '0 0 0 1.5px hsl(210, 0%, 0%) inset', + backgroundColor: alpha(gray[900], 0.8), '&:hover': { - backgroundColor: alpha(brand[600], 0.3), - borderColor: brand[700], + borderColor: brand[300], + }, + '&.Mui-focusVisible': { + borderColor: brand[400], + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '2px', }, }), }), }, }, + MuiDialog: { + styleOverrides: { + root: ({ theme }) => ({ + '& .MuiDialog-paper': { + borderRadius: '10px', + border: '1px solid', + borderColor: theme.palette.divider, + }, + }), + }, + }, MuiDivider: { styleOverrides: { root: ({ theme }) => ({ @@ -363,25 +459,80 @@ export default function getSignInSideTheme(mode: PaletteMode): ThemeOptions { }), }, }, - MuiPaper: { + MuiFormLabel: { styleOverrides: { root: ({ theme }) => ({ - backgroundImage: 'none', - backgroundColor: gray[100], + typography: theme.typography.caption, + marginBottom: 8, + }), + }, + }, + MuiIconButton: { + styleOverrides: { + root: ({ theme, ownerState }) => ({ + ...(ownerState.size === 'small' && { + height: '2rem', + width: '2rem', + }), + ...(ownerState.size === 'medium' && { + height: '2.5rem', + width: '2.5rem', + }), + color: brand[500], + '&:hover': { + backgroundColor: alpha(brand[300], 0.3), + borderColor: brand[200], + }, ...(theme.palette.mode === 'dark' && { - backgroundColor: gray[800], + color: brand[200], + '&:hover': { + backgroundColor: alpha(brand[600], 0.3), + borderColor: brand[700], + }, }), }), }, }, - MuiDialog: { + MuiInputBase: { + styleOverrides: { + root: { + border: 'none', + }, + }, + }, + MuiLink: { + defaultProps: { + underline: 'none', + }, styleOverrides: { root: ({ theme }) => ({ - '& .MuiDialog-paper': { - borderRadius: '10px', - border: '1px solid', - borderColor: theme.palette.divider, + color: brand[700], + fontWeight: 500, + position: 'relative', + textDecoration: 'none', + '&::before': { + content: '""', + position: 'absolute', + width: 0, + height: '1px', + bottom: 0, + left: 0, + backgroundColor: brand[200], + opacity: 0.7, + transition: 'width 0.3s ease, opacity 0.3s ease', + }, + '&:hover::before': { + width: '100%', + opacity: 1, + }, + '&:focus-visible': { + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '4px', + borderRadius: '2px', }, + ...(theme.palette.mode === 'dark' && { + color: brand[200], + }), }), }, }, @@ -393,7 +544,6 @@ export default function getSignInSideTheme(mode: PaletteMode): ThemeOptions { input: { paddingLeft: 10, }, - root: ({ theme, ownerState }) => ({ 'input:-webkit-autofill': { WebkitBoxShadow: `0 0 0 1000px ${brand[100]} inset, 0 0 0 1px ${brand[200]}`, @@ -401,6 +551,7 @@ export default function getSignInSideTheme(mode: PaletteMode): ThemeOptions { borderRadius: '8px', }, '& .MuiInputBase-input': { + fontSize: '1rem', '&::placeholder': { opacity: 0.7, color: gray[500], @@ -409,10 +560,10 @@ export default function getSignInSideTheme(mode: PaletteMode): ThemeOptions { boxSizing: 'border-box', flexGrow: 1, height: '40px', - borderRadius: '10px', + borderRadius: theme.shape.borderRadius, border: '1px solid', borderColor: alpha(gray[300], 0.8), - boxShadow: '0 0 0 1.5px rgba(0, 0, 0, 0.04) inset', + boxShadow: '0 0 0 1.5px hsla(210, 0%, 0%, 0.02) inset', transition: 'border-color 120ms ease-in', backgroundColor: alpha(gray[100], 0.4), '&:hover': { @@ -437,13 +588,14 @@ export default function getSignInSideTheme(mode: PaletteMode): ThemeOptions { borderRadius: '8px', }, '& .MuiInputBase-input': { + fontSize: '1rem', '&::placeholder': { opacity: 1, color: gray[500], }, }, borderColor: alpha(gray[700], 0.5), - boxShadow: '0 0 0 1.5px rgb(0, 0, 0) inset', + boxShadow: '0 0 0 1.5px hsl(210, 0%, 0%) inset', backgroundColor: alpha(gray[900], 0.8), transition: 'border-color 120ms ease-in', '&:hover': { @@ -465,154 +617,29 @@ export default function getSignInSideTheme(mode: PaletteMode): ThemeOptions { }), }, }, - MuiFormLabel: { - styleOverrides: { - root: ({ theme }) => ({ - typography: theme.typography.caption, - marginBottom: 8, - }), - }, - }, - MuiInputBase: { - styleOverrides: { - root: { - border: 'none', - }, - }, - }, - MuiCard: { - styleOverrides: { - root: ({ theme, ownerState }) => ({ - backgroundColor: gray[50], - borderRadius: 10, - outline: `1px solid ${alpha(gray[200], 0.8)}`, - boxShadow: 'none', - ...(ownerState.variant === 'outlined' && { - border: 0, - boxSizing: 'border-box', - background: `linear-gradient(to bottom, #FFF, ${gray[50]})`, - }), - ...(theme.palette.mode === 'dark' && { - backgroundColor: alpha(gray[800], 0.6), - outline: `1px solid ${alpha(gray[700], 0.5)}`, - ...(ownerState.variant === 'outlined' && { - boxSizing: 'border-box', - background: `linear-gradient(to bottom, ${gray[900]}, ${alpha( - gray[800], - 0.5, - )})`, - }), - }), - }), + MuiPaper: { + defaultProps: { + elevation: 0, }, }, - MuiLink: { + MuiStack: { defaultProps: { - underline: 'none', - }, - styleOverrides: { - root: ({ theme }) => ({ - color: brand[600], - fontWeight: 500, - position: 'relative', - textDecoration: 'none', - '&::before': { - content: '""', - position: 'absolute', - width: 0, - height: '1px', - bottom: 0, - left: 0, - backgroundColor: brand[200], - opacity: 0.7, - transition: 'width 0.3s ease, opacity 0.3s ease', - }, - '&:hover::before': { - width: '100%', - opacity: 1, - }, - '&:focus-visible': { - outline: `3px solid ${alpha(brand[500], 0.5)}`, - outlineOffset: '4px', - borderRadius: '2px', - }, - ...(theme.palette.mode === 'dark' && { - color: brand[200], - }), - }), + useFlexGap: true, }, }, MuiToggleButtonGroup: { styleOverrides: { root: ({ theme }) => ({ - borderRadius: '10px', - boxShadow: `0 4px 16px ${alpha(gray[400], 0.2)}`, + borderRadius: theme.shape.borderRadius, + boxShadow: `0 1px 2px hsla(210, 0%, 0%, 0.05), 0 2px 12px ${alpha(brand[200], 0.5)}`, '& .Mui-selected': { color: brand[500], }, ...(theme.palette.mode === 'dark' && { '& .Mui-selected': { - color: '#fff', - }, - boxShadow: `0 4px 16px ${alpha(brand[700], 0.5)}`, - }), - }), - }, - }, - MuiCheckbox: { - defaultProps: { - disableRipple: true, - icon: <CheckBoxOutlineBlankRoundedIcon sx={{ color: 'rgba(0,0,0,0)' }} />, - checkedIcon: <CheckRoundedIcon sx={{ height: 14, width: 14 }} />, - }, - styleOverrides: { - root: ({ theme }) => ({ - margin: 10, - height: 16, - width: 16, - borderRadius: 5, - border: '1px solid ', - borderColor: alpha(gray[300], 0.8), - boxShadow: '0 0 0 1.5px rgba(0, 0, 0, 0.04) inset', - transition: 'border-color 120ms ease-in', - backgroundColor: alpha(gray[100], 0.4), - '&:hover': { - borderColor: brand[300], - }, - '&.Mui-focusVisible': { - outline: `3px solid ${alpha(brand[500], 0.5)}`, - outlineOffset: '2px', - borderColor: brand[400], - }, - '&.Mui-checked': { - color: 'white', - backgroundColor: brand[500], - '&:hover': { - borderColor: brand[300], - backgroundColor: brand[600], - }, - }, - ...(theme.palette.mode === 'dark' && { - borderColor: alpha(gray[700], 0.5), - boxShadow: '0 0 0 1.5px rgb(0, 0, 0) inset', - backgroundColor: alpha(gray[900], 0.8), - '&:hover': { - borderColor: brand[300], - }, - '&.Mui-checked': { - color: 'white', - backgroundColor: brand[600], - boxShadow: '0 0 0 1px rgba(0, 0, 0, 0.2) inset', - '&:hover': { - borderColor: brand[300], - backgroundColor: brand[800], - }, - }, - '&.Mui-focusVisible': { - borderColor: brand[400], - outline: `3px solid ${alpha(brand[500], 0.5)}`, - outlineOffset: '2px', + color: 'hsl(0, 0%, 100%)', }, + boxShadow: `0 0 0 1px hsla(210, 0%, 0%, 0.5), 0 2px 12px ${alpha(brand[700], 0.5)}`, }), }), }, @@ -622,21 +649,15 @@ export default function getSignInSideTheme(mode: PaletteMode): ThemeOptions { root: ({ theme }) => ({ padding: '12px 16px', textTransform: 'none', - borderRadius: '10px', + borderRadius: theme.shape.borderRadius, fontWeight: 500, ...(theme.palette.mode === 'dark' && { color: gray[400], - boxShadow: '0 4px 16px rgba(0, 0, 0, 0.5)', '&.Mui-selected': { color: brand[300] }, }), }), }, }, - MuiStack: { - defaultProps: { - useFlexGap: true, - }, - }, }, }; } diff --git a/docs/data/material/getting-started/templates/sign-in/CustomIcons.js b/docs/data/material/getting-started/templates/sign-in/CustomIcons.js index e4a8d735bb75e6..1c24a778fb4427 100644 --- a/docs/data/material/getting-started/templates/sign-in/CustomIcons.js +++ b/docs/data/material/getting-started/templates/sign-in/CustomIcons.js @@ -1,87 +1,57 @@ import * as React from 'react'; -import PropTypes from 'prop-types'; - import SvgIcon from '@mui/material/SvgIcon'; -function SitemarkIcon({ sx }) { +export function SitemarkIcon() { return ( - <SvgIcon sx={sx}> + <SvgIcon sx={{ height: 21, width: 100 }}> <svg - width="380" - height="81" - viewBox="0 0 380 81" + width={86} + height={19} + viewBox="0 0 86 19" fill="none" xmlns="http://www.w3.org/2000/svg" > <path - d="M0.039093 54.3012L27.0897 42.2617L42.6595 51.2914L45.8049 80.915L26.6179 80.7561L29.4487 60.1623L26.1461 58.2614L9.9471 70.9352L0.039093 54.3012Z" fill="#B4C0D3" + d="m.787 12.567 6.055-2.675 3.485 2.006.704 6.583-4.295-.035.634-4.577-.74-.422-3.625 2.817-2.218-3.697Z" /> <path - d="M44.3904 50.0223L68.296 67.6062L77.7321 50.656L58.5444 42.8937V39.0917L77.7321 31.1709L68.296 14.3789L44.3904 31.963V50.0223Z" fill="#00D3AB" + d="m10.714 11.616 5.352 3.908 2.112-3.767-4.295-1.725v-.845l4.295-1.76-2.112-3.732-5.352 3.908v4.013Z" /> <path - d="M42.6595 30.5377L45.8049 0.914062L26.6179 1.2308L29.4487 21.8249L26.1461 23.7258L9.78985 11.0526L0.039093 27.5277L27.0897 39.5673L42.6595 30.5377Z" fill="#4876EF" + d="m10.327 7.286.704-6.583-4.295.07.634 4.577-.74.422-3.66-2.816L.786 6.617l6.055 2.676 3.485-2.007Z" /> <path - d="M141.744 37.3657V65.1185H152.07V29.75H137.032V37.3657H141.744Z" fill="#4876EE" + d="M32.507 8.804v6.167h2.312v-7.86h-3.366v1.693h1.054ZM32.435 6.006c.212.22.535.33.968.33.434 0 .751-.11.953-.33.213-.23.318-.516.318-.86 0-.354-.105-.641-.318-.86-.202-.23-.52-.345-.953-.345-.433 0-.756.115-.968.344-.202.22-.303.507-.303.86 0 .345.101.632.303.861ZM24.46 14.799c.655.296 1.46.444 2.413.444.896 0 1.667-.139 2.312-.416.645-.277 1.141-.664 1.488-1.162.357-.506.535-1.094.535-1.764 0-.65-.169-1.2-.506-1.649-.328-.459-.785-.818-1.373-1.076-.587-.267-1.266-.435-2.037-.502l-.809-.071c-.481-.039-.828-.168-1.04-.388a1.08 1.08 0 0 1-.318-.774c0-.23.058-.44.173-.631.116-.201.29-.359.52-.474.241-.114.535-.172.882-.172.366 0 .67.067.91.201.053.029.104.059.15.09l.012.009.052.037c.146.111.263.243.35.395.125.21.188.444.188.703h2.311c0-.689-.159-1.286-.476-1.793-.318-.516-.776-.913-1.373-1.19-.588-.287-1.296-.43-2.124-.43-.79 0-1.474.133-2.052.4a3.131 3.131 0 0 0-1.358 1.12c-.318.487-.477 1.066-.477 1.735 0 .927.314 1.673.94 2.237.626.564 1.464.89 2.514.976l.794.071c.645.058 1.113.187 1.401.388a.899.899 0 0 1 .434.788 1.181 1.181 0 0 1-.231.717c-.154.201-.38.36-.68.474-.298.115-.669.172-1.112.172-.49 0-.89-.067-1.199-.2-.308-.144-.539-.33-.694-.56a1.375 1.375 0 0 1-.216-.746h-2.297c0 .679.168 1.281.505 1.807.337.517.834.928 1.489 1.234ZM39.977 15.07c-.8 0-1.445-.095-1.936-.286a2.03 2.03 0 0 1-1.084-.99c-.221-.469-.332-1.1-.332-1.893V8.789h-1.2V7.11h1.2V4.988h2.153V7.11h2.312V8.79h-2.312v3.198c0 .373.096.66.289.86.202.192.486.287.852.287h1.17v1.937h-1.112Z" /> <path - d="M141.421 24.7785C142.368 25.768 143.809 26.2626 145.745 26.2626C147.682 26.2626 149.101 25.768 150.004 24.7785C150.952 23.7455 151.424 22.4545 151.424 20.906C151.424 19.3137 150.952 18.0229 150.004 17.0334C149.101 16.0009 147.682 15.4844 145.745 15.4844C143.809 15.4844 142.368 16.0009 141.421 17.0334C140.518 18.0229 140.066 19.3137 140.066 20.906C140.066 22.4545 140.518 23.7455 141.421 24.7785Z" fill="#4876EE" - /> - <path - d="M105.795 64.3433C108.72 65.677 112.313 66.3444 116.572 66.3444C120.574 66.3444 124.016 65.7196 126.899 64.4723C129.782 63.2249 131.998 61.4819 133.547 59.2441C135.139 56.9637 135.935 54.3177 135.935 51.3055C135.935 48.3798 135.183 45.9056 133.677 43.8831C132.213 41.818 130.17 40.2044 127.544 39.043C124.92 37.8379 121.887 37.0849 118.444 36.784L114.83 36.4613C112.679 36.2888 111.13 35.7083 110.183 34.7184C109.236 33.729 108.763 32.5669 108.763 31.2335C108.763 30.2004 109.022 29.2541 109.537 28.3936C110.054 27.4898 110.828 26.78 111.861 26.2634C112.937 25.7474 114.249 25.4891 115.798 25.4891C117.433 25.4891 118.789 25.79 119.864 26.3928C120.101 26.5201 120.326 26.6562 120.537 26.8008L120.588 26.8366C120.667 26.8912 120.745 26.9478 120.821 27.005C121.474 27.5044 121.994 28.0962 122.381 28.7807C122.94 29.7275 123.221 30.7814 123.221 31.9433H133.547C133.547 28.8452 132.837 26.1558 131.418 23.8755C129.998 21.5522 127.954 19.7666 125.286 18.5184C122.661 17.2276 119.499 16.582 115.798 16.582C112.269 16.582 109.215 17.1849 106.633 18.3895C104.052 19.5514 102.03 21.2295 100.567 23.4235C99.1457 25.618 98.4357 28.2215 98.4357 31.2335C98.4357 35.4069 99.8355 38.7629 102.632 41.302C105.428 43.8405 109.172 45.3034 113.862 45.6905L117.412 46.0132C120.294 46.2715 122.381 46.8525 123.672 47.7556C124.962 48.6163 125.608 49.7996 125.608 51.3055C125.608 51.9978 125.495 52.6468 125.268 53.2532C125.1 53.7032 124.87 54.1298 124.576 54.533C123.887 55.436 122.876 56.1461 121.542 56.6631C120.209 57.1791 118.552 57.4371 116.572 57.4371C114.378 57.4371 112.592 57.1365 111.216 56.533C109.839 55.8881 108.807 55.049 108.117 54.0166C107.472 52.9835 107.15 51.8652 107.15 50.6601H96.8877C96.8877 53.7152 97.6404 56.4254 99.1457 58.7921C100.652 61.1162 102.869 62.9659 105.795 64.3433Z" - fill="#4876EE" - /> - <path - d="M175.111 65.5678C171.539 65.5678 168.656 65.1371 166.462 64.2767C164.267 63.3727 162.654 61.8886 161.621 59.8236C160.632 57.7149 160.137 54.8759 160.137 51.304V37.2985H154.78V29.7472H160.137V20.1953H169.754V29.7472H180.081V37.2985H169.754V51.6916C169.754 53.3697 170.184 54.6605 171.045 55.5635C171.948 56.4238 173.217 56.8545 174.853 56.8545H180.081V65.5678H175.111Z" - fill="#4876EE" - /> - <path fillRule="evenodd" + d="M43.873 14.899c.52.23 1.117.344 1.791.344.665 0 1.252-.115 1.763-.344.51-.23.934-.55 1.271-.96.337-.412.564-.88.679-1.407h-2.124c-.096.24-.279.44-.549.603-.27.162-.616.244-1.04.244-.262 0-.497-.031-.704-.093a1.572 1.572 0 0 1-.423-.194 1.662 1.662 0 0 1-.636-.803 3.159 3.159 0 0 1-.163-.645h5.784v-.775a4.28 4.28 0 0 0-.463-1.98 3.686 3.686 0 0 0-1.343-1.477c-.578-.382-1.291-.574-2.139-.574-.645 0-1.223.115-1.733.345-.501.22-.92.52-1.257.903a4.178 4.178 0 0 0-.78 1.305c-.174.478-.26.98-.26 1.506v.287c0 .507.086 1.004.26 1.492.183.478.443.913.78 1.305.347.382.775.688 1.286.918Zm-.094-4.674.02-.09a2.507 2.507 0 0 1 .117-.356c.145-.354.356-.622.636-.804.104-.067.217-.123.339-.165.204-.071.433-.107.686-.107.395 0 .723.09.983.272.27.173.472.426.607.76a2.487 2.487 0 0 1 .16.603h-3.57c.006-.038.013-.076.022-.113Z" clipRule="evenodd" - d="M192.514 64.7963C194.837 65.8283 197.505 66.3453 200.517 66.3453C203.485 66.3453 206.111 65.8283 208.391 64.7963C210.672 63.7633 212.565 62.3219 214.07 60.4722C215.577 58.6215 216.588 56.5127 217.103 54.1465H207.616C207.186 55.2217 206.369 56.1257 205.164 56.8571C203.959 57.5884 202.409 57.9541 200.517 57.9541C199.344 57.9541 198.296 57.8155 197.373 57.5383C196.67 57.3272 196.04 57.0362 195.483 56.6641C194.192 55.8027 193.245 54.598 192.643 53.0495C192.475 52.6082 192.332 52.1468 192.212 51.6661C192.089 51.1792 191.99 50.6725 191.916 50.145H217.749V46.6597C217.749 43.4325 217.061 40.4638 215.684 37.7532C214.307 34.9989 212.306 32.783 209.682 31.1051C207.1 29.384 203.916 28.5234 200.129 28.5234C197.246 28.5234 194.664 29.04 192.384 30.0725C190.148 31.0619 188.276 32.4173 186.77 34.1384C185.264 35.8595 184.102 37.8176 183.283 40.0122C182.509 42.163 182.122 44.422 182.122 46.7885V48.0794C182.122 50.3601 182.509 52.5974 183.283 54.792C184.102 56.9434 185.264 58.9008 186.77 60.6652C188.319 62.3859 190.232 63.7633 192.514 64.7963ZM192.094 43.763C192.122 43.6263 192.152 43.4918 192.185 43.3593C192.275 42.9945 192.378 42.6448 192.496 42.3106C192.562 42.1204 192.632 41.9349 192.708 41.7546C193.353 40.1623 194.299 38.9577 195.547 38.1403C196.014 37.8348 196.519 37.5864 197.062 37.3951C197.974 37.0744 198.998 36.9139 200.129 36.9139C201.894 36.9139 203.356 37.3228 204.518 38.1403C205.723 38.9146 206.627 40.0547 207.229 41.5608C207.278 41.6823 207.324 41.806 207.369 41.9312C207.44 42.1308 207.506 42.3355 207.568 42.5455C207.659 42.8578 207.739 43.181 207.809 43.5151C207.86 43.7615 207.904 44.0135 207.943 44.2718H191.994C192.024 44.0993 192.057 43.9299 192.094 43.763Z" - fill="#4876EE" /> <path - d="M222.01 65.1179V29.7494H230.208V38.6575C230.319 38.1279 230.445 37.6197 230.587 37.1322C230.709 36.7218 230.839 36.3257 230.982 35.9453C231.886 33.5356 233.241 31.7288 235.048 30.5237C236.855 29.276 239.07 28.6523 241.696 28.6523H242.147C244.815 28.6523 247.031 29.276 248.795 30.5237C250.602 31.7288 251.958 33.5356 252.861 35.9453L252.933 36.1272L252.993 36.2935C253.034 36.176 253.077 36.0601 253.119 35.9453C254.066 33.5356 255.443 31.7288 257.25 30.5237C259.057 29.276 261.274 28.6523 263.899 28.6523H264.351C267.017 28.6523 269.255 29.276 271.062 30.5237C272.912 31.7288 274.311 33.5356 275.257 35.9453C276.204 38.355 276.678 41.367 276.678 44.9813V65.1179H266.351V44.4002C266.351 42.464 265.835 40.8936 264.802 39.689C263.812 38.4839 262.392 37.8816 260.543 37.8816C258.692 37.8816 257.229 38.5058 256.153 39.7534C255.078 40.958 254.539 42.5716 254.539 44.5942V65.1179H244.148V44.4002C244.148 42.464 243.632 40.8936 242.599 39.689C241.61 38.4839 240.211 37.8816 238.405 37.8816C236.511 37.8816 235.027 38.5058 233.951 39.7534C232.875 40.958 232.337 42.5716 232.337 44.5942V65.1179H222.01Z" fill="#4876EE" + d="M50.476 14.97V7.112h1.835v1.98a4.54 4.54 0 0 1 .173-.603c.202-.536.506-.937.91-1.205.405-.277.9-.416 1.488-.416h.101c.598 0 1.094.139 1.489.416.404.268.707.67.91 1.205l.016.04.013.037.028-.077c.212-.536.52-.937.925-1.205.405-.277.901-.416 1.489-.416h.1c.598 0 1.098.139 1.503.416.414.268.727.67.94 1.205.211.535.317 1.205.317 2.008v4.475h-2.312v-4.604c0-.43-.115-.78-.346-1.047-.222-.268-.54-.402-.954-.402-.414 0-.742.139-.982.416-.241.268-.362.626-.362 1.076v4.56h-2.326v-4.603c0-.43-.115-.78-.346-1.047-.222-.268-.535-.402-.94-.402-.423 0-.756.139-.996.416-.241.268-.362.626-.362 1.076v4.56h-2.311Z" /> <path + fill="#4876EE" fillRule="evenodd" + d="M68.888 13.456v1.515h1.834v-4.82c0-.726-.144-1.319-.433-1.778-.289-.468-.712-.817-1.271-1.047-.549-.23-1.228-.344-2.037-.344a27.76 27.76 0 0 0-.896.014c-.318.01-.626.024-.924.043l-.229.016a36.79 36.79 0 0 0-.552.042v1.936a81.998 81.998 0 0 1 1.733-.09 37.806 37.806 0 0 1 1.171-.025c.424 0 .732.1.925.301.193.201.289.502.289.904v.029h-1.43c-.704 0-1.325.09-1.864.272-.54.172-.959.445-1.257.818-.299.363-.448.832-.448 1.405 0 .526.12.98.361 1.363.24.373.573.66.997.86.433.201.934.302 1.502.302.55 0 1.012-.1 1.388-.302.385-.2.683-.487.895-.86a2.443 2.443 0 0 0 .228-.498l.018-.056Zm-.39-1.397v-.63h-1.445c-.405 0-.718.1-.939.3-.212.192-.318.455-.318.79 0 .157.026.3.08.429a.99.99 0 0 0 .238.345c.221.191.534.287.939.287a2.125 2.125 0 0 0 .394-.038c.106-.021.206-.052.3-.092.212-.095.385-.253.52-.473.135-.22.212-.526.23-.918Z" clipRule="evenodd" - d="M304.262 58.3029V65.1174H312.458V43.4316C312.458 40.1614 311.813 37.494 310.522 35.4283C309.231 33.32 307.339 31.7496 304.843 30.717C302.391 29.6845 299.357 29.168 295.743 29.168C294.959 29.168 294.142 29.1763 293.289 29.1933C292.786 29.2038 292.269 29.2168 291.741 29.2324C290.321 29.2755 288.943 29.3399 287.611 29.4262L286.592 29.4948C286.068 29.5312 285.577 29.567 285.114 29.6034C284.766 29.6304 284.437 29.6574 284.126 29.6845V38.3977C285.459 38.3114 286.943 38.2251 288.579 38.1394C289.036 38.1155 289.489 38.0931 289.939 38.0724C290.589 38.0422 291.23 38.0163 291.865 37.9934C292.366 37.9752 292.862 37.9591 293.355 37.9456C294.903 37.9024 296.151 37.8811 297.098 37.8811C298.991 37.8811 300.368 38.3327 301.229 39.2364C302.09 40.1402 302.519 41.4954 302.519 43.3027V43.4316H296.13C292.989 43.4316 290.214 43.8406 287.804 44.6581C285.394 45.4324 283.522 46.6588 282.19 48.3368C280.855 49.9722 280.189 52.0805 280.189 54.6621C280.189 57.0289 280.726 59.0726 281.802 60.7933C282.877 62.4713 284.361 63.7624 286.255 64.6654C288.192 65.5694 290.43 66.0214 292.967 66.0214C295.42 66.0214 297.485 65.5694 299.164 64.6654C300.885 63.7624 302.219 62.4713 303.165 60.7933C303.332 60.5108 303.487 60.2176 303.632 59.9127C303.837 59.482 304.019 59.0278 304.18 58.5534L304.262 58.3029ZM302.519 52.016V49.176H296.065C294.258 49.176 292.86 49.6276 291.871 50.5313C290.924 51.3919 290.45 52.5751 290.45 54.0811C290.45 54.7901 290.568 55.434 290.804 56.015C291.042 56.5971 291.397 57.1142 291.871 57.5662C292.86 58.4276 294.258 58.8572 296.065 58.8572C296.409 58.8572 296.742 58.8402 297.063 58.8061C297.325 58.7794 297.58 58.74 297.826 58.6899C298.3 58.5929 298.746 58.4553 299.164 58.2762C300.111 57.8466 300.885 57.1366 301.486 56.1462C302.09 55.1568 302.434 53.7797 302.519 52.016Z" - fill="#4876EE" - /> - <path - d="M318.639 65.117V29.7485H326.836V41.4228C327.228 38.0902 328.219 35.403 329.805 33.3628C331.956 30.6522 335.053 29.2969 339.099 29.2969H340.454V38.2034H337.872C335.033 38.2034 332.838 38.9777 331.289 40.5269C329.74 42.0328 328.965 44.2274 328.965 47.1099V65.117H318.639Z" - fill="#4876EE" /> <path - d="M353.549 48.5927H356.97L368.135 65.115H379.753L365.595 44.8235L377.236 29.7465H366.393L353.549 46.5639V18H343.223V65.115H353.549V48.5927Z" fill="#4876EE" + d="M72.106 14.97V7.11h1.835v2.595c.088-.74.31-1.338.665-1.791.481-.603 1.174-.904 2.08-.904h.303v1.98h-.578c-.635 0-1.127.172-1.473.516-.347.334-.52.822-.52 1.463v4.001h-2.312ZM79.92 11.298h.767l2.499 3.672h2.6l-3.169-4.51 2.606-3.35h-2.427l-2.875 3.737V4.5h-2.312v10.47h2.312v-3.672Z" /> </svg> </SvgIcon> ); } -SitemarkIcon.propTypes = { - sx: PropTypes.oneOfType([ - PropTypes.arrayOf( - PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool]), - ), - PropTypes.func, - PropTypes.object, - ]), -}; - -export { SitemarkIcon }; - export function FacebookIcon() { return ( <SvgIcon> diff --git a/docs/data/material/getting-started/templates/sign-in/CustomIcons.tsx b/docs/data/material/getting-started/templates/sign-in/CustomIcons.tsx index f66661a29dcb57..1c24a778fb4427 100644 --- a/docs/data/material/getting-started/templates/sign-in/CustomIcons.tsx +++ b/docs/data/material/getting-started/templates/sign-in/CustomIcons.tsx @@ -1,72 +1,51 @@ import * as React from 'react'; -import { SxProps, Theme } from '@mui/system'; import SvgIcon from '@mui/material/SvgIcon'; -interface IconProps { - sx?: SxProps<Theme>; -} - -export function SitemarkIcon({ sx }: IconProps) { +export function SitemarkIcon() { return ( - <SvgIcon sx={sx}> + <SvgIcon sx={{ height: 21, width: 100 }}> <svg - width="380" - height="81" - viewBox="0 0 380 81" + width={86} + height={19} + viewBox="0 0 86 19" fill="none" xmlns="http://www.w3.org/2000/svg" > <path - d="M0.039093 54.3012L27.0897 42.2617L42.6595 51.2914L45.8049 80.915L26.6179 80.7561L29.4487 60.1623L26.1461 58.2614L9.9471 70.9352L0.039093 54.3012Z" fill="#B4C0D3" + d="m.787 12.567 6.055-2.675 3.485 2.006.704 6.583-4.295-.035.634-4.577-.74-.422-3.625 2.817-2.218-3.697Z" /> <path - d="M44.3904 50.0223L68.296 67.6062L77.7321 50.656L58.5444 42.8937V39.0917L77.7321 31.1709L68.296 14.3789L44.3904 31.963V50.0223Z" fill="#00D3AB" + d="m10.714 11.616 5.352 3.908 2.112-3.767-4.295-1.725v-.845l4.295-1.76-2.112-3.732-5.352 3.908v4.013Z" /> <path - d="M42.6595 30.5377L45.8049 0.914062L26.6179 1.2308L29.4487 21.8249L26.1461 23.7258L9.78985 11.0526L0.039093 27.5277L27.0897 39.5673L42.6595 30.5377Z" fill="#4876EF" + d="m10.327 7.286.704-6.583-4.295.07.634 4.577-.74.422-3.66-2.816L.786 6.617l6.055 2.676 3.485-2.007Z" /> <path - d="M141.744 37.3657V65.1185H152.07V29.75H137.032V37.3657H141.744Z" - fill="#4876EE" - /> - <path - d="M141.421 24.7785C142.368 25.768 143.809 26.2626 145.745 26.2626C147.682 26.2626 149.101 25.768 150.004 24.7785C150.952 23.7455 151.424 22.4545 151.424 20.906C151.424 19.3137 150.952 18.0229 150.004 17.0334C149.101 16.0009 147.682 15.4844 145.745 15.4844C143.809 15.4844 142.368 16.0009 141.421 17.0334C140.518 18.0229 140.066 19.3137 140.066 20.906C140.066 22.4545 140.518 23.7455 141.421 24.7785Z" - fill="#4876EE" - /> - <path - d="M105.795 64.3433C108.72 65.677 112.313 66.3444 116.572 66.3444C120.574 66.3444 124.016 65.7196 126.899 64.4723C129.782 63.2249 131.998 61.4819 133.547 59.2441C135.139 56.9637 135.935 54.3177 135.935 51.3055C135.935 48.3798 135.183 45.9056 133.677 43.8831C132.213 41.818 130.17 40.2044 127.544 39.043C124.92 37.8379 121.887 37.0849 118.444 36.784L114.83 36.4613C112.679 36.2888 111.13 35.7083 110.183 34.7184C109.236 33.729 108.763 32.5669 108.763 31.2335C108.763 30.2004 109.022 29.2541 109.537 28.3936C110.054 27.4898 110.828 26.78 111.861 26.2634C112.937 25.7474 114.249 25.4891 115.798 25.4891C117.433 25.4891 118.789 25.79 119.864 26.3928C120.101 26.5201 120.326 26.6562 120.537 26.8008L120.588 26.8366C120.667 26.8912 120.745 26.9478 120.821 27.005C121.474 27.5044 121.994 28.0962 122.381 28.7807C122.94 29.7275 123.221 30.7814 123.221 31.9433H133.547C133.547 28.8452 132.837 26.1558 131.418 23.8755C129.998 21.5522 127.954 19.7666 125.286 18.5184C122.661 17.2276 119.499 16.582 115.798 16.582C112.269 16.582 109.215 17.1849 106.633 18.3895C104.052 19.5514 102.03 21.2295 100.567 23.4235C99.1457 25.618 98.4357 28.2215 98.4357 31.2335C98.4357 35.4069 99.8355 38.7629 102.632 41.302C105.428 43.8405 109.172 45.3034 113.862 45.6905L117.412 46.0132C120.294 46.2715 122.381 46.8525 123.672 47.7556C124.962 48.6163 125.608 49.7996 125.608 51.3055C125.608 51.9978 125.495 52.6468 125.268 53.2532C125.1 53.7032 124.87 54.1298 124.576 54.533C123.887 55.436 122.876 56.1461 121.542 56.6631C120.209 57.1791 118.552 57.4371 116.572 57.4371C114.378 57.4371 112.592 57.1365 111.216 56.533C109.839 55.8881 108.807 55.049 108.117 54.0166C107.472 52.9835 107.15 51.8652 107.15 50.6601H96.8877C96.8877 53.7152 97.6404 56.4254 99.1457 58.7921C100.652 61.1162 102.869 62.9659 105.795 64.3433Z" fill="#4876EE" + d="M32.507 8.804v6.167h2.312v-7.86h-3.366v1.693h1.054ZM32.435 6.006c.212.22.535.33.968.33.434 0 .751-.11.953-.33.213-.23.318-.516.318-.86 0-.354-.105-.641-.318-.86-.202-.23-.52-.345-.953-.345-.433 0-.756.115-.968.344-.202.22-.303.507-.303.86 0 .345.101.632.303.861ZM24.46 14.799c.655.296 1.46.444 2.413.444.896 0 1.667-.139 2.312-.416.645-.277 1.141-.664 1.488-1.162.357-.506.535-1.094.535-1.764 0-.65-.169-1.2-.506-1.649-.328-.459-.785-.818-1.373-1.076-.587-.267-1.266-.435-2.037-.502l-.809-.071c-.481-.039-.828-.168-1.04-.388a1.08 1.08 0 0 1-.318-.774c0-.23.058-.44.173-.631.116-.201.29-.359.52-.474.241-.114.535-.172.882-.172.366 0 .67.067.91.201.053.029.104.059.15.09l.012.009.052.037c.146.111.263.243.35.395.125.21.188.444.188.703h2.311c0-.689-.159-1.286-.476-1.793-.318-.516-.776-.913-1.373-1.19-.588-.287-1.296-.43-2.124-.43-.79 0-1.474.133-2.052.4a3.131 3.131 0 0 0-1.358 1.12c-.318.487-.477 1.066-.477 1.735 0 .927.314 1.673.94 2.237.626.564 1.464.89 2.514.976l.794.071c.645.058 1.113.187 1.401.388a.899.899 0 0 1 .434.788 1.181 1.181 0 0 1-.231.717c-.154.201-.38.36-.68.474-.298.115-.669.172-1.112.172-.49 0-.89-.067-1.199-.2-.308-.144-.539-.33-.694-.56a1.375 1.375 0 0 1-.216-.746h-2.297c0 .679.168 1.281.505 1.807.337.517.834.928 1.489 1.234ZM39.977 15.07c-.8 0-1.445-.095-1.936-.286a2.03 2.03 0 0 1-1.084-.99c-.221-.469-.332-1.1-.332-1.893V8.789h-1.2V7.11h1.2V4.988h2.153V7.11h2.312V8.79h-2.312v3.198c0 .373.096.66.289.86.202.192.486.287.852.287h1.17v1.937h-1.112Z" /> <path - d="M175.111 65.5678C171.539 65.5678 168.656 65.1371 166.462 64.2767C164.267 63.3727 162.654 61.8886 161.621 59.8236C160.632 57.7149 160.137 54.8759 160.137 51.304V37.2985H154.78V29.7472H160.137V20.1953H169.754V29.7472H180.081V37.2985H169.754V51.6916C169.754 53.3697 170.184 54.6605 171.045 55.5635C171.948 56.4238 173.217 56.8545 174.853 56.8545H180.081V65.5678H175.111Z" fill="#4876EE" - /> - <path fillRule="evenodd" + d="M43.873 14.899c.52.23 1.117.344 1.791.344.665 0 1.252-.115 1.763-.344.51-.23.934-.55 1.271-.96.337-.412.564-.88.679-1.407h-2.124c-.096.24-.279.44-.549.603-.27.162-.616.244-1.04.244-.262 0-.497-.031-.704-.093a1.572 1.572 0 0 1-.423-.194 1.662 1.662 0 0 1-.636-.803 3.159 3.159 0 0 1-.163-.645h5.784v-.775a4.28 4.28 0 0 0-.463-1.98 3.686 3.686 0 0 0-1.343-1.477c-.578-.382-1.291-.574-2.139-.574-.645 0-1.223.115-1.733.345-.501.22-.92.52-1.257.903a4.178 4.178 0 0 0-.78 1.305c-.174.478-.26.98-.26 1.506v.287c0 .507.086 1.004.26 1.492.183.478.443.913.78 1.305.347.382.775.688 1.286.918Zm-.094-4.674.02-.09a2.507 2.507 0 0 1 .117-.356c.145-.354.356-.622.636-.804.104-.067.217-.123.339-.165.204-.071.433-.107.686-.107.395 0 .723.09.983.272.27.173.472.426.607.76a2.487 2.487 0 0 1 .16.603h-3.57c.006-.038.013-.076.022-.113Z" clipRule="evenodd" - d="M192.514 64.7963C194.837 65.8283 197.505 66.3453 200.517 66.3453C203.485 66.3453 206.111 65.8283 208.391 64.7963C210.672 63.7633 212.565 62.3219 214.07 60.4722C215.577 58.6215 216.588 56.5127 217.103 54.1465H207.616C207.186 55.2217 206.369 56.1257 205.164 56.8571C203.959 57.5884 202.409 57.9541 200.517 57.9541C199.344 57.9541 198.296 57.8155 197.373 57.5383C196.67 57.3272 196.04 57.0362 195.483 56.6641C194.192 55.8027 193.245 54.598 192.643 53.0495C192.475 52.6082 192.332 52.1468 192.212 51.6661C192.089 51.1792 191.99 50.6725 191.916 50.145H217.749V46.6597C217.749 43.4325 217.061 40.4638 215.684 37.7532C214.307 34.9989 212.306 32.783 209.682 31.1051C207.1 29.384 203.916 28.5234 200.129 28.5234C197.246 28.5234 194.664 29.04 192.384 30.0725C190.148 31.0619 188.276 32.4173 186.77 34.1384C185.264 35.8595 184.102 37.8176 183.283 40.0122C182.509 42.163 182.122 44.422 182.122 46.7885V48.0794C182.122 50.3601 182.509 52.5974 183.283 54.792C184.102 56.9434 185.264 58.9008 186.77 60.6652C188.319 62.3859 190.232 63.7633 192.514 64.7963ZM192.094 43.763C192.122 43.6263 192.152 43.4918 192.185 43.3593C192.275 42.9945 192.378 42.6448 192.496 42.3106C192.562 42.1204 192.632 41.9349 192.708 41.7546C193.353 40.1623 194.299 38.9577 195.547 38.1403C196.014 37.8348 196.519 37.5864 197.062 37.3951C197.974 37.0744 198.998 36.9139 200.129 36.9139C201.894 36.9139 203.356 37.3228 204.518 38.1403C205.723 38.9146 206.627 40.0547 207.229 41.5608C207.278 41.6823 207.324 41.806 207.369 41.9312C207.44 42.1308 207.506 42.3355 207.568 42.5455C207.659 42.8578 207.739 43.181 207.809 43.5151C207.86 43.7615 207.904 44.0135 207.943 44.2718H191.994C192.024 44.0993 192.057 43.9299 192.094 43.763Z" - fill="#4876EE" /> <path - d="M222.01 65.1179V29.7494H230.208V38.6575C230.319 38.1279 230.445 37.6197 230.587 37.1322C230.709 36.7218 230.839 36.3257 230.982 35.9453C231.886 33.5356 233.241 31.7288 235.048 30.5237C236.855 29.276 239.07 28.6523 241.696 28.6523H242.147C244.815 28.6523 247.031 29.276 248.795 30.5237C250.602 31.7288 251.958 33.5356 252.861 35.9453L252.933 36.1272L252.993 36.2935C253.034 36.176 253.077 36.0601 253.119 35.9453C254.066 33.5356 255.443 31.7288 257.25 30.5237C259.057 29.276 261.274 28.6523 263.899 28.6523H264.351C267.017 28.6523 269.255 29.276 271.062 30.5237C272.912 31.7288 274.311 33.5356 275.257 35.9453C276.204 38.355 276.678 41.367 276.678 44.9813V65.1179H266.351V44.4002C266.351 42.464 265.835 40.8936 264.802 39.689C263.812 38.4839 262.392 37.8816 260.543 37.8816C258.692 37.8816 257.229 38.5058 256.153 39.7534C255.078 40.958 254.539 42.5716 254.539 44.5942V65.1179H244.148V44.4002C244.148 42.464 243.632 40.8936 242.599 39.689C241.61 38.4839 240.211 37.8816 238.405 37.8816C236.511 37.8816 235.027 38.5058 233.951 39.7534C232.875 40.958 232.337 42.5716 232.337 44.5942V65.1179H222.01Z" fill="#4876EE" + d="M50.476 14.97V7.112h1.835v1.98a4.54 4.54 0 0 1 .173-.603c.202-.536.506-.937.91-1.205.405-.277.9-.416 1.488-.416h.101c.598 0 1.094.139 1.489.416.404.268.707.67.91 1.205l.016.04.013.037.028-.077c.212-.536.52-.937.925-1.205.405-.277.901-.416 1.489-.416h.1c.598 0 1.098.139 1.503.416.414.268.727.67.94 1.205.211.535.317 1.205.317 2.008v4.475h-2.312v-4.604c0-.43-.115-.78-.346-1.047-.222-.268-.54-.402-.954-.402-.414 0-.742.139-.982.416-.241.268-.362.626-.362 1.076v4.56h-2.326v-4.603c0-.43-.115-.78-.346-1.047-.222-.268-.535-.402-.94-.402-.423 0-.756.139-.996.416-.241.268-.362.626-.362 1.076v4.56h-2.311Z" /> <path + fill="#4876EE" fillRule="evenodd" + d="M68.888 13.456v1.515h1.834v-4.82c0-.726-.144-1.319-.433-1.778-.289-.468-.712-.817-1.271-1.047-.549-.23-1.228-.344-2.037-.344a27.76 27.76 0 0 0-.896.014c-.318.01-.626.024-.924.043l-.229.016a36.79 36.79 0 0 0-.552.042v1.936a81.998 81.998 0 0 1 1.733-.09 37.806 37.806 0 0 1 1.171-.025c.424 0 .732.1.925.301.193.201.289.502.289.904v.029h-1.43c-.704 0-1.325.09-1.864.272-.54.172-.959.445-1.257.818-.299.363-.448.832-.448 1.405 0 .526.12.98.361 1.363.24.373.573.66.997.86.433.201.934.302 1.502.302.55 0 1.012-.1 1.388-.302.385-.2.683-.487.895-.86a2.443 2.443 0 0 0 .228-.498l.018-.056Zm-.39-1.397v-.63h-1.445c-.405 0-.718.1-.939.3-.212.192-.318.455-.318.79 0 .157.026.3.08.429a.99.99 0 0 0 .238.345c.221.191.534.287.939.287a2.125 2.125 0 0 0 .394-.038c.106-.021.206-.052.3-.092.212-.095.385-.253.52-.473.135-.22.212-.526.23-.918Z" clipRule="evenodd" - d="M304.262 58.3029V65.1174H312.458V43.4316C312.458 40.1614 311.813 37.494 310.522 35.4283C309.231 33.32 307.339 31.7496 304.843 30.717C302.391 29.6845 299.357 29.168 295.743 29.168C294.959 29.168 294.142 29.1763 293.289 29.1933C292.786 29.2038 292.269 29.2168 291.741 29.2324C290.321 29.2755 288.943 29.3399 287.611 29.4262L286.592 29.4948C286.068 29.5312 285.577 29.567 285.114 29.6034C284.766 29.6304 284.437 29.6574 284.126 29.6845V38.3977C285.459 38.3114 286.943 38.2251 288.579 38.1394C289.036 38.1155 289.489 38.0931 289.939 38.0724C290.589 38.0422 291.23 38.0163 291.865 37.9934C292.366 37.9752 292.862 37.9591 293.355 37.9456C294.903 37.9024 296.151 37.8811 297.098 37.8811C298.991 37.8811 300.368 38.3327 301.229 39.2364C302.09 40.1402 302.519 41.4954 302.519 43.3027V43.4316H296.13C292.989 43.4316 290.214 43.8406 287.804 44.6581C285.394 45.4324 283.522 46.6588 282.19 48.3368C280.855 49.9722 280.189 52.0805 280.189 54.6621C280.189 57.0289 280.726 59.0726 281.802 60.7933C282.877 62.4713 284.361 63.7624 286.255 64.6654C288.192 65.5694 290.43 66.0214 292.967 66.0214C295.42 66.0214 297.485 65.5694 299.164 64.6654C300.885 63.7624 302.219 62.4713 303.165 60.7933C303.332 60.5108 303.487 60.2176 303.632 59.9127C303.837 59.482 304.019 59.0278 304.18 58.5534L304.262 58.3029ZM302.519 52.016V49.176H296.065C294.258 49.176 292.86 49.6276 291.871 50.5313C290.924 51.3919 290.45 52.5751 290.45 54.0811C290.45 54.7901 290.568 55.434 290.804 56.015C291.042 56.5971 291.397 57.1142 291.871 57.5662C292.86 58.4276 294.258 58.8572 296.065 58.8572C296.409 58.8572 296.742 58.8402 297.063 58.8061C297.325 58.7794 297.58 58.74 297.826 58.6899C298.3 58.5929 298.746 58.4553 299.164 58.2762C300.111 57.8466 300.885 57.1366 301.486 56.1462C302.09 55.1568 302.434 53.7797 302.519 52.016Z" - fill="#4876EE" - /> - <path - d="M318.639 65.117V29.7485H326.836V41.4228C327.228 38.0902 328.219 35.403 329.805 33.3628C331.956 30.6522 335.053 29.2969 339.099 29.2969H340.454V38.2034H337.872C335.033 38.2034 332.838 38.9777 331.289 40.5269C329.74 42.0328 328.965 44.2274 328.965 47.1099V65.117H318.639Z" - fill="#4876EE" /> <path - d="M353.549 48.5927H356.97L368.135 65.115H379.753L365.595 44.8235L377.236 29.7465H366.393L353.549 46.5639V18H343.223V65.115H353.549V48.5927Z" fill="#4876EE" + d="M72.106 14.97V7.11h1.835v2.595c.088-.74.31-1.338.665-1.791.481-.603 1.174-.904 2.08-.904h.303v1.98h-.578c-.635 0-1.127.172-1.473.516-.347.334-.52.822-.52 1.463v4.001h-2.312ZM79.92 11.298h.767l2.499 3.672h2.6l-3.169-4.51 2.606-3.35h-2.427l-2.875 3.737V4.5h-2.312v10.47h2.312v-3.672Z" /> </svg> </SvgIcon> diff --git a/docs/data/material/getting-started/templates/sign-in/SignIn.js b/docs/data/material/getting-started/templates/sign-in/SignIn.js index d87dc97aca99c9..8398bfef899d8f 100644 --- a/docs/data/material/getting-started/templates/sign-in/SignIn.js +++ b/docs/data/material/getting-started/templates/sign-in/SignIn.js @@ -15,7 +15,7 @@ import ToggleButton from '@mui/material/ToggleButton'; import ToggleButtonGroup from '@mui/material/ToggleButtonGroup'; import Typography from '@mui/material/Typography'; import Stack from '@mui/material/Stack'; -import { alpha } from '@mui/material'; + import { ThemeProvider, createTheme } from '@mui/material/styles'; import ArrowBackRoundedIcon from '@mui/icons-material/ArrowBackRounded'; @@ -43,7 +43,7 @@ function ToggleCustomTheme({ showCustomTheme, toggleCustomTheme }) { exclusive value={showCustomTheme} onChange={toggleCustomTheme} - aria-label="Platform" + aria-label="Toggle design language" sx={{ backgroundColor: 'background.default', '& .Mui-selected': { @@ -140,8 +140,8 @@ export default function SignIn() { sx={(theme) => ({ backgroundImage: theme.palette.mode === 'light' - ? `linear-gradient(180deg, ${alpha('#CEE5FD', 0.2)}, #FFF)` - : `linear-gradient(${alpha('#02294F', 0.2)}, ${alpha('#021F3B', 0.0)})`, + ? 'radial-gradient(ellipse at 50% 50%, hsl(210, 100%, 97%), hsl(0, 0%, 100%))' + : 'radial-gradient(at 50% 50%, hsla(210, 100%, 16%, 0.3), hsl(220, 30%, 5%))', backgroundRepeat: 'no-repeat', height: { xs: 'auto', sm: '100dvh' }, pb: { xs: 12, sm: 0 }, @@ -180,11 +180,11 @@ export default function SignIn() { gap: 4, boxShadow: theme.palette.mode === 'light' - ? 'rgba(0, 0, 0, 0.05) 0px 5px 15px 0px, rgba(25, 28, 33, 0.05) 0px 15px 35px -5px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px' - : 'rgba(0, 0, 0, 0.5) 0px 5px 15px 0px, rgba(25, 28, 33, 0.08) 0px 15px 35px -5px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px', + ? 'hsla(220, 30%, 5%, 0.05) 0px 5px 15px 0px, hsla(220, 25%, 10%, 0.05) 0px 15px 35px -5px, hsla(220, 30%, 5%, 0.05) 0px 0px 0px 1px' + : 'hsla(220, 30%, 5%, 0.5) 0px 5px 15px 0px, hsla(220, 25%, 10%, 0.08) 0px 15px 35px -5px, hsla(220, 30%, 5%, 0.05) 0px 0px 0px 1px', })} > - <SitemarkIcon sx={{ width: 100 }} /> + <SitemarkIcon /> <Typography component="h1" variant="h4" diff --git a/docs/data/material/getting-started/templates/sign-in/SignIn.tsx b/docs/data/material/getting-started/templates/sign-in/SignIn.tsx index 0e7839d79d8388..e97165bc53369b 100644 --- a/docs/data/material/getting-started/templates/sign-in/SignIn.tsx +++ b/docs/data/material/getting-started/templates/sign-in/SignIn.tsx @@ -14,7 +14,7 @@ import ToggleButton from '@mui/material/ToggleButton'; import ToggleButtonGroup from '@mui/material/ToggleButtonGroup'; import Typography from '@mui/material/Typography'; import Stack from '@mui/material/Stack'; -import { alpha, PaletteMode } from '@mui/material'; +import { PaletteMode } from '@mui/material'; import { ThemeProvider, createTheme } from '@mui/material/styles'; import ArrowBackRoundedIcon from '@mui/icons-material/ArrowBackRounded'; @@ -50,7 +50,7 @@ function ToggleCustomTheme({ exclusive value={showCustomTheme} onChange={toggleCustomTheme} - aria-label="Platform" + aria-label="Toggle design language" sx={{ backgroundColor: 'background.default', '& .Mui-selected': { @@ -140,8 +140,8 @@ export default function SignIn() { sx={(theme) => ({ backgroundImage: theme.palette.mode === 'light' - ? `linear-gradient(180deg, ${alpha('#CEE5FD', 0.2)}, #FFF)` - : `linear-gradient(${alpha('#02294F', 0.2)}, ${alpha('#021F3B', 0.0)})`, + ? 'radial-gradient(ellipse at 50% 50%, hsl(210, 100%, 97%), hsl(0, 0%, 100%))' + : 'radial-gradient(at 50% 50%, hsla(210, 100%, 16%, 0.3), hsl(220, 30%, 5%))', backgroundRepeat: 'no-repeat', height: { xs: 'auto', sm: '100dvh' }, pb: { xs: 12, sm: 0 }, @@ -180,11 +180,11 @@ export default function SignIn() { gap: 4, boxShadow: theme.palette.mode === 'light' - ? 'rgba(0, 0, 0, 0.05) 0px 5px 15px 0px, rgba(25, 28, 33, 0.05) 0px 15px 35px -5px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px' - : 'rgba(0, 0, 0, 0.5) 0px 5px 15px 0px, rgba(25, 28, 33, 0.08) 0px 15px 35px -5px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px', + ? 'hsla(220, 30%, 5%, 0.05) 0px 5px 15px 0px, hsla(220, 25%, 10%, 0.05) 0px 15px 35px -5px, hsla(220, 30%, 5%, 0.05) 0px 0px 0px 1px' + : 'hsla(220, 30%, 5%, 0.5) 0px 5px 15px 0px, hsla(220, 25%, 10%, 0.08) 0px 15px 35px -5px, hsla(220, 30%, 5%, 0.05) 0px 0px 0px 1px', })} > - <SitemarkIcon sx={{ width: 100 }} /> + <SitemarkIcon /> <Typography component="h1" variant="h4" diff --git a/docs/data/material/getting-started/templates/sign-in/ToggleColorMode.tsx b/docs/data/material/getting-started/templates/sign-in/ToggleColorMode.tsx index 3783eb9d80714d..1fd99c941fe0ab 100644 --- a/docs/data/material/getting-started/templates/sign-in/ToggleColorMode.tsx +++ b/docs/data/material/getting-started/templates/sign-in/ToggleColorMode.tsx @@ -11,7 +11,10 @@ interface ToggleColorModeProps { toggleColorMode: () => void; } -function ToggleColorMode({ mode, toggleColorMode }: ToggleColorModeProps) { +export default function ToggleColorMode({ + mode, + toggleColorMode, +}: ToggleColorModeProps) { return ( <IconButton onClick={toggleColorMode} @@ -26,5 +29,3 @@ function ToggleColorMode({ mode, toggleColorMode }: ToggleColorModeProps) { </IconButton> ); } - -export default ToggleColorMode; diff --git a/docs/data/material/getting-started/templates/sign-in/getSignInTheme.js b/docs/data/material/getting-started/templates/sign-in/getSignInTheme.js index 1e788763faec22..224b3d9596dd45 100644 --- a/docs/data/material/getting-started/templates/sign-in/getSignInTheme.js +++ b/docs/data/material/getting-started/templates/sign-in/getSignInTheme.js @@ -1,73 +1,75 @@ import * as React from 'react'; -import { alpha } from '@mui/material/styles'; +import { createTheme, alpha } from '@mui/material/styles'; import CheckBoxOutlineBlankRoundedIcon from '@mui/icons-material/CheckBoxOutlineBlankRounded'; import CheckRoundedIcon from '@mui/icons-material/CheckRounded'; -export const brand = { - 50: '#F0F7FF', - 100: '#CEE5FD', - 200: '#9CCCFC', - 300: '#55A6F6', - 400: '#0A66C2', - 500: '#0959AA', - 600: '#064079', - 700: '#033363', - 800: '#02294F', - 900: '#021F3B', -}; +const customTheme = createTheme(); -export const secondary = { - 50: '#F9F0FF', - 100: '#E9CEFD', - 200: '#D49CFC', - 300: '#B355F6', - 400: '#750AC2', - 500: '#6709AA', - 600: '#490679', - 700: '#3B0363', - 800: '#2F024F', - 900: '#23023B', +export const brand = { + 50: 'hsl(210, 100%, 97%)', + 100: 'hsl(210, 100%, 90%)', + 200: 'hsl(210, 100%, 80%)', + 300: 'hsl(210, 100%, 65%)', + 400: 'hsl(210, 98%, 48%)', + 500: 'hsl(210, 98%, 42%)', + 600: 'hsl(210, 98%, 55%)', + 700: 'hsl(210, 100%, 35%)', + 800: 'hsl(210, 100%, 16%)', + 900: 'hsl(210, 100%, 21%)', }; export const gray = { - 50: '#FBFCFE', - 100: '#EAF0F5', - 200: '#D6E2EB', - 300: '#BFCCD9', - 400: '#94A6B8', - 500: '#5B6B7C', - 600: '#4C5967', - 700: '#364049', - 800: '#131B20', - 900: '#090E10', + 50: 'hsl(220, 60%, 99%)', + 100: 'hsl(220, 35%, 94%)', + 200: 'hsl(220, 35%, 88%)', + 300: 'hsl(220, 25%, 80%)', + 400: 'hsl(220, 20%, 65%)', + 500: 'hsl(220, 20%, 42%)', + 600: 'hsl(220, 25%, 35%)', + 700: 'hsl(220, 25%, 25%)', + 800: 'hsl(220, 25%, 10%)', + 900: 'hsl(220, 30%, 5%)', }; export const green = { - 50: '#F6FEF6', - 100: '#E3FBE3', - 200: '#C7F7C7', - 300: '#A1E8A1', - 400: '#51BC51', - 500: '#1F7A1F', - 600: '#136C13', - 700: '#0A470A', - 800: '#042F04', - 900: '#021D02', + 50: 'hsl(120, 80%, 98%)', + 100: 'hsl(120, 75%, 94%)', + 200: 'hsl(120, 75%, 87%)', + 300: 'hsl(120, 61%, 77%)', + 400: 'hsl(120, 44%, 53%)', + 500: 'hsl(120, 59%, 30%)', + 600: 'hsl(120, 70%, 25%)', + 700: 'hsl(120, 75%, 16%)', + 800: 'hsl(120, 84%, 10%)', + 900: 'hsl(120, 87%, 6%)', +}; + +export const orange = { + 50: 'hsl(45, 100%, 97%)', + 100: 'hsl(45, 92%, 90%)', + 200: 'hsl(45, 94%, 80%)', + 300: 'hsl(45, 90%, 65%)', + 400: 'hsl(45, 90%, 40%)', + 500: 'hsl(45, 90%, 35%)', + 600: 'hsl(45, 91%, 25%)', + 700: 'hsl(45, 94%, 20%)', + 800: 'hsl(45, 95%, 16%)', + 900: 'hsl(45, 93%, 12%)', }; export const red = { - 50: '#FFF0F0', - 100: '#FDCECE', - 200: '#FC9C9C', - 300: '#F65555', - 400: '#C20A0A', - 500: '#910808', - 600: '#790606', - 700: '#630303', - 800: '#4F0202', - 900: '#3B0202', + 50: 'hsl(0, 100%, 97%)', + 100: 'hsl(0, 92%, 90%)', + 200: 'hsl(0, 94%, 80%)', + 300: 'hsl(0, 90%, 65%)', + 400: 'hsl(0, 90%, 40%)', + 500: 'hsl(0, 90%, 30%)', + 600: 'hsl(0, 91%, 25%)', + 700: 'hsl(0, 94%, 20%)', + 800: 'hsl(0, 95%, 16%)', + 900: 'hsl(0, 93%, 12%)', }; const getDesignTokens = (mode) => ({ @@ -85,26 +87,25 @@ const getDesignTokens = (mode) => ({ dark: brand[800], }), }, - secondary: { - light: secondary[300], - main: secondary[500], - dark: secondary[800], + warning: { + light: orange[300], + main: orange[400], + dark: orange[800], ...(mode === 'dark' && { - light: secondary[400], - main: secondary[500], - dark: secondary[900], + light: orange[400], + main: orange[500], + dark: orange[700], }), }, - warning: { - main: '#F7B538', - dark: '#F79F00', - ...(mode === 'dark' && { main: '#F7B538', dark: '#F79F00' }), - }, error: { - light: red[50], - main: red[500], - dark: red[700], - ...(mode === 'dark' && { light: '#D32F2F', main: '#D32F2F', dark: '#B22A2A' }), + light: red[300], + main: red[400], + dark: red[800], + ...(mode === 'dark' && { + light: red[400], + main: red[500], + dark: red[700], + }), }, success: { light: green[300], @@ -117,27 +118,18 @@ const getDesignTokens = (mode) => ({ }), }, grey: { - 50: gray[50], - 100: gray[100], - 200: gray[200], - 300: gray[300], - 400: gray[400], - 500: gray[500], - 600: gray[600], - 700: gray[700], - 800: gray[800], - 900: gray[900], + ...gray, }, divider: mode === 'dark' ? alpha(gray[600], 0.3) : alpha(gray[300], 0.5), background: { - default: '#fff', - paper: gray[50], - ...(mode === 'dark' && { default: gray[900], paper: gray[800] }), + default: 'hsl(0, 0%, 100%)', + paper: gray[100], + ...(mode === 'dark' && { default: 'hsl(220, 30%, 3%)', paper: gray[900] }), }, text: { primary: gray[800], secondary: gray[600], - ...(mode === 'dark' && { primary: '#fff', secondary: gray[400] }), + ...(mode === 'dark' && { primary: 'hsl(0, 0%, 100%)', secondary: gray[400] }), }, action: { selected: `${alpha(brand[200], 0.2)}`, @@ -149,51 +141,54 @@ const getDesignTokens = (mode) => ({ typography: { fontFamily: ['"Inter", "sans-serif"'].join(','), h1: { - fontSize: 60, + fontSize: customTheme.typography.pxToRem(60), fontWeight: 600, - lineHeight: 78 / 70, - letterSpacing: -0.2, + lineHeight: 1.2, + letterSpacing: -0.5, }, h2: { - fontSize: 48, + fontSize: customTheme.typography.pxToRem(48), fontWeight: 600, lineHeight: 1.2, }, h3: { - fontSize: 42, + fontSize: customTheme.typography.pxToRem(42), lineHeight: 1.2, }, h4: { - fontSize: 36, + fontSize: customTheme.typography.pxToRem(36), fontWeight: 500, lineHeight: 1.5, }, h5: { - fontSize: 20, + fontSize: customTheme.typography.pxToRem(20), fontWeight: 600, }, h6: { - fontSize: 18, + fontSize: customTheme.typography.pxToRem(18), }, subtitle1: { - fontSize: 18, + fontSize: customTheme.typography.pxToRem(18), }, subtitle2: { - fontSize: 16, + fontSize: customTheme.typography.pxToRem(16), }, body1: { + fontSize: customTheme.typography.pxToRem(15), fontWeight: 400, - fontSize: 15, }, body2: { + fontSize: customTheme.typography.pxToRem(14), fontWeight: 400, - fontSize: 14, }, caption: { + fontSize: customTheme.typography.pxToRem(12), fontWeight: 400, - fontSize: 12, }, }, + shape: { + borderRadius: 12, + }, }); export default function getSignInTheme(mode) { @@ -208,9 +203,9 @@ export default function getSignInTheme(mode) { styleOverrides: { root: { boxSizing: 'border-box', - transition: 'all 100ms ease-in', + transition: 'all 100ms ease', '&:focus-visible': { - outline: `3px solid ${alpha(brand[500], 0.5)}`, + outline: `3px solid ${alpha(brand[400], 0.5)}`, outlineOffset: '2px', }, }, @@ -220,34 +215,45 @@ export default function getSignInTheme(mode) { styleOverrides: { root: ({ theme, ownerState }) => ({ boxShadow: 'none', - borderRadius: '10px', + borderRadius: theme.shape.borderRadius, textTransform: 'none', ...(ownerState.size === 'small' && { - maxHeight: '32px', + height: '2rem', // 32px + padding: '0 0.5rem', }), ...(ownerState.size === 'medium' && { - height: '40px', + height: '2.5rem', // 40px }), ...(ownerState.variant === 'contained' && ownerState.color === 'primary' && { - color: brand[50], - background: brand[500], - backgroundImage: `linear-gradient(to bottom, ${brand[400]}, ${brand[600]})`, - boxShadow: `inset 0 1px ${alpha(brand[300], 0.5)}`, + color: 'white', + backgroundColor: brand[300], + backgroundImage: `linear-gradient(to bottom, ${alpha(brand[400], 0.8)}, ${brand[500]})`, + boxShadow: `inset 0 2px 0 ${alpha(brand[200], 0.2)}, inset 0 -2px 0 ${alpha(brand[700], 0.4)}`, border: `1px solid ${brand[500]}`, '&:hover': { - background: brand[400], - backgroundImage: 'none', - boxShadow: `0 0 0 1px ${alpha(brand[300], 0.5)}`, + backgroundColor: brand[700], + boxShadow: 'none', + }, + '&:active': { + backgroundColor: brand[700], + boxShadow: `inset 0 2.5px 0 ${alpha(brand[700], 0.4)}`, }, }), ...(ownerState.variant === 'outlined' && { + color: brand[700], backgroundColor: alpha(brand[300], 0.1), - borderColor: brand[300], - color: brand[500], + borderColor: alpha(brand[200], 0.8), + boxShadow: `inset 0 2px ${alpha(brand[50], 0.5)}, inset 0 -2px ${alpha(brand[200], 0.2)}`, '&:hover': { + backgroundColor: alpha(brand[300], 0.2), + borderColor: alpha(brand[300], 0.5), + boxShadow: 'none', + }, + '&:active': { backgroundColor: alpha(brand[300], 0.3), - borderColor: brand[200], + boxShadow: `inset 0 2.5px 0 ${alpha(brand[400], 0.2)}`, + backgroundImage: 'none', }, }), ...(ownerState.variant === 'outlined' && @@ -257,84 +263,173 @@ export default function getSignInTheme(mode) { color: gray[700], '&:hover': { backgroundColor: alpha(gray[300], 0.3), - borderColor: gray[200], + borderColor: alpha(gray[300], 0.5), + boxShadow: 'none', + }, + '&:active': { + backgroundColor: alpha(gray[300], 0.4), + boxShadow: `inset 0 2.5px 0 ${alpha(gray[400], 0.2)}`, + backgroundImage: 'none', + }, + }), + ...(ownerState.variant === 'text' && + ownerState.color === 'primary' && { + color: brand[700], + '&:hover': { + backgroundColor: alpha(brand[300], 0.3), + }, + }), + ...(ownerState.variant === 'text' && + ownerState.color === 'info' && { + color: gray[700], + '&:hover': { + backgroundColor: alpha(gray[300], 0.3), }, }), - ...(ownerState.variant === 'text' && { - color: brand[600], - '&:hover': { - backgroundColor: alpha(brand[300], 0.3), - borderColor: brand[200], - }, - }), ...(theme.palette.mode === 'dark' && { - ...(ownerState.variant === 'contained' && - ownerState.color === 'primary' && { - border: `1px solid ${brand[600]}`, - backgroundImage: `linear-gradient(to bottom, ${brand[500]}, ${brand[600]})`, - backgroundColor: brand[500], - '&:hover': { - background: brand[600], - backgroundImage: 'none', - boxShadow: `0 0 0 1px ${alpha(brand[700], 0.5)}`, - }, - }), ...(ownerState.variant === 'outlined' && { + color: brand[200], backgroundColor: alpha(brand[600], 0.1), - borderColor: brand[700], - color: brand[300], + borderColor: alpha(brand[600], 0.6), + boxShadow: `inset 0 2.5px ${alpha(brand[400], 0.1)}, inset 0 -2px ${alpha(gray[900], 0.5)}`, '&:hover': { - backgroundColor: alpha(brand[600], 0.3), - borderColor: brand[700], + backgroundColor: alpha(brand[700], 0.2), + borderColor: alpha(brand[700], 0.5), + boxShadow: 'none', + }, + '&:active': { + backgroundColor: alpha(brand[800], 0.2), + boxShadow: `inset 0 2.5px 0 ${alpha(brand[900], 0.4)}`, + backgroundImage: 'none', }, }), + ...(ownerState.variant === 'text' && + ownerState.color === 'info' && { + color: gray[200], + '&:hover': { + backgroundColor: alpha(gray[700], 0.3), + }, + }), ...(ownerState.variant === 'outlined' && ownerState.color === 'secondary' && { + color: gray[300], backgroundColor: alpha(gray[600], 0.1), borderColor: alpha(gray[700], 0.5), - color: gray[300], + boxShadow: `inset 0 2.5px ${alpha(gray[600], 0.1)}, inset 0 -2px ${alpha(gray[900], 0.5)}`, + '&:hover': { + backgroundColor: alpha(gray[700], 0.2), + borderColor: alpha(gray[700], 0.5), + boxShadow: 'none', + }, + '&:active': { + backgroundColor: alpha(gray[800], 0.2), + boxShadow: `inset 0 2.5px 0 ${alpha(gray[900], 0.4)}`, + backgroundImage: 'none', + }, + }), + ...(ownerState.variant === 'text' && + ownerState.color === 'primary' && { + color: brand[200], '&:hover': { - backgroundColor: alpha(gray[600], 0.3), - borderColor: gray[700], + backgroundColor: alpha(brand[700], 0.3), }, }), - ...(ownerState.variant === 'text' && { - color: brand[200], - '&:hover': { - backgroundColor: alpha(brand[600], 0.3), - borderColor: brand[700], - }, - }), }), }), }, }, - MuiIconButton: { + MuiCard: { styleOverrides: { root: ({ theme, ownerState }) => ({ - ...(ownerState.size === 'small' && { - height: '32px', - width: '32px', + backgroundColor: gray[50], + borderRadius: theme.shape.borderRadius, + border: `1px solid ${alpha(gray[200], 0.1)}`, + boxShadow: 'none', + ...(ownerState.variant === 'outlined' && { + border: `1px solid ${alpha(gray[200], 0.5)}`, + boxShadow: 'none', + background: `linear-gradient(to bottom, hsl(0, 0%, 100%), ${gray[50]})`, }), - ...(ownerState.size === 'medium' && { - height: '40px', - width: '40px', + ...(theme.palette.mode === 'dark' && { + backgroundColor: alpha(gray[800], 0.6), + border: `1px solid ${alpha(gray[700], 0.2)}`, + ...(ownerState.variant === 'outlined' && { + border: `1px solid ${alpha(gray[700], 0.4)}`, + boxShadow: 'none', + background: `linear-gradient(to bottom, ${gray[900]}, ${alpha( + gray[800], + 0.5, + )})`, + }), }), - color: brand[600], + }), + }, + }, + MuiCheckbox: { + defaultProps: { + disableRipple: true, + icon: ( + <CheckBoxOutlineBlankRoundedIcon + sx={{ color: 'hsla(210, 0%, 0%, 0.0)' }} + /> + ), + checkedIcon: <CheckRoundedIcon sx={{ height: 14, width: 14 }} />, + }, + styleOverrides: { + root: ({ theme }) => ({ + margin: 10, + height: 16, + width: 16, + borderRadius: 5, + border: '1px solid ', + borderColor: alpha(gray[300], 0.8), + boxShadow: '0 0 0 1.5px hsla(210, 0%, 0%, 0.04) inset', + backgroundColor: alpha(gray[100], 0.4), + transition: 'border-color, background-color, 120ms ease-in', '&:hover': { - backgroundColor: alpha(brand[300], 0.3), - borderColor: brand[200], + borderColor: brand[300], + }, + '&.Mui-focusVisible': { + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '2px', + borderColor: brand[400], + }, + '&.Mui-checked': { + color: 'white', + backgroundColor: brand[500], + borderColor: brand[500], + boxShadow: `none`, + '&:hover': { + backgroundColor: brand[600], + }, }, ...(theme.palette.mode === 'dark' && { - color: brand[200], + borderColor: alpha(gray[700], 0.5), + boxShadow: '0 0 0 1.5px hsl(210, 0%, 0%) inset', + backgroundColor: alpha(gray[900], 0.8), '&:hover': { - backgroundColor: alpha(brand[600], 0.3), - borderColor: brand[700], + borderColor: brand[300], + }, + '&.Mui-focusVisible': { + borderColor: brand[400], + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '2px', }, }), }), }, }, + MuiDialog: { + styleOverrides: { + root: ({ theme }) => ({ + '& .MuiDialog-paper': { + borderRadius: '10px', + border: '1px solid', + borderColor: theme.palette.divider, + }, + }), + }, + }, MuiDivider: { styleOverrides: { root: ({ theme }) => ({ @@ -345,50 +440,79 @@ export default function getSignInTheme(mode) { }), }, }, - MuiPaper: { + MuiFormLabel: { styleOverrides: { root: ({ theme }) => ({ - backgroundImage: 'none', - backgroundColor: gray[100], - ...(theme.palette.mode === 'dark' && { - backgroundColor: gray[800], - }), + typography: theme.typography.caption, + marginBottom: 8, }), }, }, - MuiDialog: { + MuiIconButton: { styleOverrides: { - root: ({ theme }) => ({ - '& .MuiDialog-paper': { - borderRadius: '10px', - border: '1px solid', - borderColor: theme.palette.divider, + root: ({ theme, ownerState }) => ({ + ...(ownerState.size === 'small' && { + height: '2rem', + width: '2rem', + }), + ...(ownerState.size === 'medium' && { + height: '2.5rem', + width: '2.5rem', + }), + color: brand[500], + '&:hover': { + backgroundColor: alpha(brand[300], 0.3), + borderColor: brand[200], }, + ...(theme.palette.mode === 'dark' && { + color: brand[200], + '&:hover': { + backgroundColor: alpha(brand[600], 0.3), + borderColor: brand[700], + }, + }), }), }, }, - MuiCard: { + MuiInputBase: { styleOverrides: { - root: ({ theme, ownerState }) => ({ - backgroundColor: gray[50], - borderRadius: 10, - outline: `1px solid ${alpha(gray[200], 0.8)}`, - boxShadow: 'none', - ...(ownerState.variant === 'outlined' && { - border: 0, - boxSizing: 'border-box', - background: `linear-gradient(to bottom, #FFF, ${gray[50]})`, - }), + root: { + border: 'none', + }, + }, + }, + MuiLink: { + defaultProps: { + underline: 'none', + }, + styleOverrides: { + root: ({ theme }) => ({ + color: brand[700], + fontWeight: 500, + position: 'relative', + textDecoration: 'none', + '&::before': { + content: '""', + position: 'absolute', + width: 0, + height: '1px', + bottom: 0, + left: 0, + backgroundColor: brand[200], + opacity: 0.7, + transition: 'width 0.3s ease, opacity 0.3s ease', + }, + '&:hover::before': { + width: '100%', + opacity: 1, + }, + '&:focus-visible': { + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '4px', + borderRadius: '2px', + }, ...(theme.palette.mode === 'dark' && { - backgroundColor: alpha(gray[800], 0.6), - outline: `1px solid ${alpha(gray[700], 0.5)}`, - ...(ownerState.variant === 'outlined' && { - boxSizing: 'border-box', - background: `linear-gradient(to bottom, ${gray[900]}, ${alpha( - gray[800], - 0.5, - )})`, - }), + color: brand[200], }), }), }, @@ -408,6 +532,7 @@ export default function getSignInTheme(mode) { borderRadius: '8px', }, '& .MuiInputBase-input': { + fontSize: '1rem', '&::placeholder': { opacity: 0.7, color: gray[500], @@ -416,10 +541,10 @@ export default function getSignInTheme(mode) { boxSizing: 'border-box', flexGrow: 1, height: '40px', - borderRadius: '10px', + borderRadius: theme.shape.borderRadius, border: '1px solid', borderColor: alpha(gray[300], 0.8), - boxShadow: '0 0 0 1.5px rgba(0, 0, 0, 0.04) inset', + boxShadow: '0 0 0 1.5px hsla(210, 0%, 0%, 0.02) inset', transition: 'border-color 120ms ease-in', backgroundColor: alpha(gray[100], 0.4), '&:hover': { @@ -444,13 +569,14 @@ export default function getSignInTheme(mode) { borderRadius: '8px', }, '& .MuiInputBase-input': { + fontSize: '1rem', '&::placeholder': { opacity: 1, color: gray[500], }, }, borderColor: alpha(gray[700], 0.5), - boxShadow: '0 0 0 1.5px rgb(0, 0, 0) inset', + boxShadow: '0 0 0 1.5px hsl(210, 0%, 0%) inset', backgroundColor: alpha(gray[900], 0.8), transition: 'border-color 120ms ease-in', '&:hover': { @@ -472,128 +598,29 @@ export default function getSignInTheme(mode) { }), }, }, - MuiFormLabel: { - styleOverrides: { - root: ({ theme }) => ({ - typography: theme.typography.caption, - marginBottom: 8, - }), - }, - }, - MuiInputBase: { - styleOverrides: { - root: { - border: 'none', - }, + MuiPaper: { + defaultProps: { + elevation: 0, }, }, - MuiLink: { + MuiStack: { defaultProps: { - underline: 'none', - }, - styleOverrides: { - root: ({ theme }) => ({ - color: brand[600], - fontWeight: 500, - position: 'relative', - textDecoration: 'none', - '&::before': { - content: '""', - position: 'absolute', - width: 0, - height: '1px', - bottom: 0, - left: 0, - backgroundColor: brand[200], - opacity: 0.7, - transition: 'width 0.3s ease, opacity 0.3s ease', - }, - '&:hover::before': { - width: '100%', - opacity: 1, - }, - '&:focus-visible': { - outline: `3px solid ${alpha(brand[500], 0.5)}`, - outlineOffset: '4px', - borderRadius: '2px', - }, - ...(theme.palette.mode === 'dark' && { - color: brand[200], - }), - }), + useFlexGap: true, }, }, MuiToggleButtonGroup: { styleOverrides: { root: ({ theme }) => ({ - borderRadius: '10px', - boxShadow: `0 4px 16px ${alpha(gray[400], 0.2)}`, + borderRadius: theme.shape.borderRadius, + boxShadow: `0 1px 2px hsla(210, 0%, 0%, 0.05), 0 2px 12px ${alpha(brand[200], 0.5)}`, '& .Mui-selected': { color: brand[500], }, ...(theme.palette.mode === 'dark' && { '& .Mui-selected': { - color: '#fff', - }, - boxShadow: `0 4px 16px ${alpha(brand[700], 0.5)}`, - }), - }), - }, - }, - MuiCheckbox: { - defaultProps: { - disableRipple: true, - icon: <CheckBoxOutlineBlankRoundedIcon sx={{ color: 'rgba(0,0,0,0)' }} />, - checkedIcon: <CheckRoundedIcon sx={{ height: 14, width: 14 }} />, - }, - styleOverrides: { - root: ({ theme }) => ({ - margin: 10, - height: 16, - width: 16, - borderRadius: 5, - border: '1px solid ', - borderColor: alpha(gray[300], 0.8), - boxShadow: '0 0 0 1.5px rgba(0, 0, 0, 0.04) inset', - transition: 'border-color 120ms ease-in', - backgroundColor: alpha(gray[100], 0.4), - '&:hover': { - borderColor: brand[300], - }, - '&.Mui-focusVisible': { - outline: `3px solid ${alpha(brand[500], 0.5)}`, - outlineOffset: '2px', - borderColor: brand[400], - }, - '&.Mui-checked': { - color: 'white', - backgroundColor: brand[500], - '&:hover': { - borderColor: brand[300], - backgroundColor: brand[600], - }, - }, - ...(theme.palette.mode === 'dark' && { - borderColor: alpha(gray[700], 0.5), - boxShadow: '0 0 0 1.5px rgb(0, 0, 0) inset', - backgroundColor: alpha(gray[900], 0.8), - '&:hover': { - borderColor: brand[300], - }, - '&.Mui-checked': { - color: 'white', - backgroundColor: brand[600], - boxShadow: '0 0 0 1px rgba(0, 0, 0, 0.2) inset', - '&:hover': { - borderColor: brand[300], - backgroundColor: brand[800], - }, - }, - '&.Mui-focusVisible': { - borderColor: brand[400], - outline: `3px solid ${alpha(brand[500], 0.5)}`, - outlineOffset: '2px', + color: 'hsl(0, 0%, 100%)', }, + boxShadow: `0 0 0 1px hsla(210, 0%, 0%, 0.5), 0 2px 12px ${alpha(brand[700], 0.5)}`, }), }), }, @@ -603,21 +630,15 @@ export default function getSignInTheme(mode) { root: ({ theme }) => ({ padding: '12px 16px', textTransform: 'none', - borderRadius: '10px', + borderRadius: theme.shape.borderRadius, fontWeight: 500, ...(theme.palette.mode === 'dark' && { color: gray[400], - boxShadow: '0 4px 16px rgba(0, 0, 0, 0.5)', '&.Mui-selected': { color: brand[300] }, }), }), }, }, - MuiStack: { - defaultProps: { - useFlexGap: true, - }, - }, }, }; } diff --git a/docs/data/material/getting-started/templates/sign-in/getSignInTheme.tsx b/docs/data/material/getting-started/templates/sign-in/getSignInTheme.tsx index a5375811d8533a..4c655afff4d56c 100644 --- a/docs/data/material/getting-started/templates/sign-in/getSignInTheme.tsx +++ b/docs/data/material/getting-started/templates/sign-in/getSignInTheme.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import type {} from '@mui/material/themeCssVarsAugmentation'; -import { ThemeOptions, alpha } from '@mui/material/styles'; +import { createTheme, ThemeOptions, alpha } from '@mui/material/styles'; import { PaletteMode } from '@mui/material'; import CheckBoxOutlineBlankRoundedIcon from '@mui/icons-material/CheckBoxOutlineBlankRounded'; @@ -23,69 +23,71 @@ declare module '@mui/material/styles/createPalette' { interface PaletteColor extends ColorRange {} } -export const brand = { - 50: '#F0F7FF', - 100: '#CEE5FD', - 200: '#9CCCFC', - 300: '#55A6F6', - 400: '#0A66C2', - 500: '#0959AA', - 600: '#064079', - 700: '#033363', - 800: '#02294F', - 900: '#021F3B', -}; +const customTheme = createTheme(); -export const secondary = { - 50: '#F9F0FF', - 100: '#E9CEFD', - 200: '#D49CFC', - 300: '#B355F6', - 400: '#750AC2', - 500: '#6709AA', - 600: '#490679', - 700: '#3B0363', - 800: '#2F024F', - 900: '#23023B', +export const brand = { + 50: 'hsl(210, 100%, 97%)', + 100: 'hsl(210, 100%, 90%)', + 200: 'hsl(210, 100%, 80%)', + 300: 'hsl(210, 100%, 65%)', + 400: 'hsl(210, 98%, 48%)', + 500: 'hsl(210, 98%, 42%)', + 600: 'hsl(210, 98%, 55%)', + 700: 'hsl(210, 100%, 35%)', + 800: 'hsl(210, 100%, 16%)', + 900: 'hsl(210, 100%, 21%)', }; export const gray = { - 50: '#FBFCFE', - 100: '#EAF0F5', - 200: '#D6E2EB', - 300: '#BFCCD9', - 400: '#94A6B8', - 500: '#5B6B7C', - 600: '#4C5967', - 700: '#364049', - 800: '#131B20', - 900: '#090E10', + 50: 'hsl(220, 60%, 99%)', + 100: 'hsl(220, 35%, 94%)', + 200: 'hsl(220, 35%, 88%)', + 300: 'hsl(220, 25%, 80%)', + 400: 'hsl(220, 20%, 65%)', + 500: 'hsl(220, 20%, 42%)', + 600: 'hsl(220, 25%, 35%)', + 700: 'hsl(220, 25%, 25%)', + 800: 'hsl(220, 25%, 10%)', + 900: 'hsl(220, 30%, 5%)', }; export const green = { - 50: '#F6FEF6', - 100: '#E3FBE3', - 200: '#C7F7C7', - 300: '#A1E8A1', - 400: '#51BC51', - 500: '#1F7A1F', - 600: '#136C13', - 700: '#0A470A', - 800: '#042F04', - 900: '#021D02', + 50: 'hsl(120, 80%, 98%)', + 100: 'hsl(120, 75%, 94%)', + 200: 'hsl(120, 75%, 87%)', + 300: 'hsl(120, 61%, 77%)', + 400: 'hsl(120, 44%, 53%)', + 500: 'hsl(120, 59%, 30%)', + 600: 'hsl(120, 70%, 25%)', + 700: 'hsl(120, 75%, 16%)', + 800: 'hsl(120, 84%, 10%)', + 900: 'hsl(120, 87%, 6%)', +}; + +export const orange = { + 50: 'hsl(45, 100%, 97%)', + 100: 'hsl(45, 92%, 90%)', + 200: 'hsl(45, 94%, 80%)', + 300: 'hsl(45, 90%, 65%)', + 400: 'hsl(45, 90%, 40%)', + 500: 'hsl(45, 90%, 35%)', + 600: 'hsl(45, 91%, 25%)', + 700: 'hsl(45, 94%, 20%)', + 800: 'hsl(45, 95%, 16%)', + 900: 'hsl(45, 93%, 12%)', }; export const red = { - 50: '#FFF0F0', - 100: '#FDCECE', - 200: '#FC9C9C', - 300: '#F65555', - 400: '#C20A0A', - 500: '#910808', - 600: '#790606', - 700: '#630303', - 800: '#4F0202', - 900: '#3B0202', + 50: 'hsl(0, 100%, 97%)', + 100: 'hsl(0, 92%, 90%)', + 200: 'hsl(0, 94%, 80%)', + 300: 'hsl(0, 90%, 65%)', + 400: 'hsl(0, 90%, 40%)', + 500: 'hsl(0, 90%, 30%)', + 600: 'hsl(0, 91%, 25%)', + 700: 'hsl(0, 94%, 20%)', + 800: 'hsl(0, 95%, 16%)', + 900: 'hsl(0, 93%, 12%)', }; const getDesignTokens = (mode: PaletteMode) => ({ @@ -103,26 +105,25 @@ const getDesignTokens = (mode: PaletteMode) => ({ dark: brand[800], }), }, - secondary: { - light: secondary[300], - main: secondary[500], - dark: secondary[800], + warning: { + light: orange[300], + main: orange[400], + dark: orange[800], ...(mode === 'dark' && { - light: secondary[400], - main: secondary[500], - dark: secondary[900], + light: orange[400], + main: orange[500], + dark: orange[700], }), }, - warning: { - main: '#F7B538', - dark: '#F79F00', - ...(mode === 'dark' && { main: '#F7B538', dark: '#F79F00' }), - }, error: { - light: red[50], - main: red[500], - dark: red[700], - ...(mode === 'dark' && { light: '#D32F2F', main: '#D32F2F', dark: '#B22A2A' }), + light: red[300], + main: red[400], + dark: red[800], + ...(mode === 'dark' && { + light: red[400], + main: red[500], + dark: red[700], + }), }, success: { light: green[300], @@ -135,27 +136,18 @@ const getDesignTokens = (mode: PaletteMode) => ({ }), }, grey: { - 50: gray[50], - 100: gray[100], - 200: gray[200], - 300: gray[300], - 400: gray[400], - 500: gray[500], - 600: gray[600], - 700: gray[700], - 800: gray[800], - 900: gray[900], + ...gray, }, divider: mode === 'dark' ? alpha(gray[600], 0.3) : alpha(gray[300], 0.5), background: { - default: '#fff', - paper: gray[50], - ...(mode === 'dark' && { default: gray[900], paper: gray[800] }), + default: 'hsl(0, 0%, 100%)', + paper: gray[100], + ...(mode === 'dark' && { default: 'hsl(220, 30%, 3%)', paper: gray[900] }), }, text: { primary: gray[800], secondary: gray[600], - ...(mode === 'dark' && { primary: '#fff', secondary: gray[400] }), + ...(mode === 'dark' && { primary: 'hsl(0, 0%, 100%)', secondary: gray[400] }), }, action: { selected: `${alpha(brand[200], 0.2)}`, @@ -167,51 +159,54 @@ const getDesignTokens = (mode: PaletteMode) => ({ typography: { fontFamily: ['"Inter", "sans-serif"'].join(','), h1: { - fontSize: 60, + fontSize: customTheme.typography.pxToRem(60), fontWeight: 600, - lineHeight: 78 / 70, - letterSpacing: -0.2, + lineHeight: 1.2, + letterSpacing: -0.5, }, h2: { - fontSize: 48, + fontSize: customTheme.typography.pxToRem(48), fontWeight: 600, lineHeight: 1.2, }, h3: { - fontSize: 42, + fontSize: customTheme.typography.pxToRem(42), lineHeight: 1.2, }, h4: { - fontSize: 36, + fontSize: customTheme.typography.pxToRem(36), fontWeight: 500, lineHeight: 1.5, }, h5: { - fontSize: 20, + fontSize: customTheme.typography.pxToRem(20), fontWeight: 600, }, h6: { - fontSize: 18, + fontSize: customTheme.typography.pxToRem(18), }, subtitle1: { - fontSize: 18, + fontSize: customTheme.typography.pxToRem(18), }, subtitle2: { - fontSize: 16, + fontSize: customTheme.typography.pxToRem(16), }, body1: { + fontSize: customTheme.typography.pxToRem(15), fontWeight: 400, - fontSize: 15, }, body2: { + fontSize: customTheme.typography.pxToRem(14), fontWeight: 400, - fontSize: 14, }, caption: { + fontSize: customTheme.typography.pxToRem(12), fontWeight: 400, - fontSize: 12, }, }, + shape: { + borderRadius: 12, + }, }); export default function getSignInTheme(mode: PaletteMode): ThemeOptions { @@ -226,9 +221,9 @@ export default function getSignInTheme(mode: PaletteMode): ThemeOptions { styleOverrides: { root: { boxSizing: 'border-box', - transition: 'all 100ms ease-in', + transition: 'all 100ms ease', '&:focus-visible': { - outline: `3px solid ${alpha(brand[500], 0.5)}`, + outline: `3px solid ${alpha(brand[400], 0.5)}`, outlineOffset: '2px', }, }, @@ -238,34 +233,45 @@ export default function getSignInTheme(mode: PaletteMode): ThemeOptions { styleOverrides: { root: ({ theme, ownerState }) => ({ boxShadow: 'none', - borderRadius: '10px', + borderRadius: theme.shape.borderRadius, textTransform: 'none', ...(ownerState.size === 'small' && { - maxHeight: '32px', + height: '2rem', // 32px + padding: '0 0.5rem', }), ...(ownerState.size === 'medium' && { - height: '40px', + height: '2.5rem', // 40px }), ...(ownerState.variant === 'contained' && ownerState.color === 'primary' && { - color: brand[50], - background: brand[500], - backgroundImage: `linear-gradient(to bottom, ${brand[400]}, ${brand[600]})`, - boxShadow: `inset 0 1px ${alpha(brand[300], 0.5)}`, + color: 'white', + backgroundColor: brand[300], + backgroundImage: `linear-gradient(to bottom, ${alpha(brand[400], 0.8)}, ${brand[500]})`, + boxShadow: `inset 0 2px 0 ${alpha(brand[200], 0.2)}, inset 0 -2px 0 ${alpha(brand[700], 0.4)}`, border: `1px solid ${brand[500]}`, '&:hover': { - background: brand[400], - backgroundImage: 'none', - boxShadow: `0 0 0 1px ${alpha(brand[300], 0.5)}`, + backgroundColor: brand[700], + boxShadow: 'none', + }, + '&:active': { + backgroundColor: brand[700], + boxShadow: `inset 0 2.5px 0 ${alpha(brand[700], 0.4)}`, }, }), ...(ownerState.variant === 'outlined' && { + color: brand[700], backgroundColor: alpha(brand[300], 0.1), - borderColor: brand[300], - color: brand[500], + borderColor: alpha(brand[200], 0.8), + boxShadow: `inset 0 2px ${alpha(brand[50], 0.5)}, inset 0 -2px ${alpha(brand[200], 0.2)}`, '&:hover': { + backgroundColor: alpha(brand[300], 0.2), + borderColor: alpha(brand[300], 0.5), + boxShadow: 'none', + }, + '&:active': { backgroundColor: alpha(brand[300], 0.3), - borderColor: brand[200], + boxShadow: `inset 0 2.5px 0 ${alpha(brand[400], 0.2)}`, + backgroundImage: 'none', }, }), ...(ownerState.variant === 'outlined' && @@ -275,84 +281,173 @@ export default function getSignInTheme(mode: PaletteMode): ThemeOptions { color: gray[700], '&:hover': { backgroundColor: alpha(gray[300], 0.3), - borderColor: gray[200], + borderColor: alpha(gray[300], 0.5), + boxShadow: 'none', + }, + '&:active': { + backgroundColor: alpha(gray[300], 0.4), + boxShadow: `inset 0 2.5px 0 ${alpha(gray[400], 0.2)}`, + backgroundImage: 'none', + }, + }), + ...(ownerState.variant === 'text' && + ownerState.color === 'primary' && { + color: brand[700], + '&:hover': { + backgroundColor: alpha(brand[300], 0.3), + }, + }), + ...(ownerState.variant === 'text' && + ownerState.color === 'info' && { + color: gray[700], + '&:hover': { + backgroundColor: alpha(gray[300], 0.3), }, }), - ...(ownerState.variant === 'text' && { - color: brand[600], - '&:hover': { - backgroundColor: alpha(brand[300], 0.3), - borderColor: brand[200], - }, - }), ...(theme.palette.mode === 'dark' && { - ...(ownerState.variant === 'contained' && - ownerState.color === 'primary' && { - border: `1px solid ${brand[600]}`, - backgroundImage: `linear-gradient(to bottom, ${brand[500]}, ${brand[600]})`, - backgroundColor: brand[500], - '&:hover': { - background: brand[600], - backgroundImage: 'none', - boxShadow: `0 0 0 1px ${alpha(brand[700], 0.5)}`, - }, - }), ...(ownerState.variant === 'outlined' && { + color: brand[200], backgroundColor: alpha(brand[600], 0.1), - borderColor: brand[700], - color: brand[300], + borderColor: alpha(brand[600], 0.6), + boxShadow: `inset 0 2.5px ${alpha(brand[400], 0.1)}, inset 0 -2px ${alpha(gray[900], 0.5)}`, '&:hover': { - backgroundColor: alpha(brand[600], 0.3), - borderColor: brand[700], + backgroundColor: alpha(brand[700], 0.2), + borderColor: alpha(brand[700], 0.5), + boxShadow: 'none', + }, + '&:active': { + backgroundColor: alpha(brand[800], 0.2), + boxShadow: `inset 0 2.5px 0 ${alpha(brand[900], 0.4)}`, + backgroundImage: 'none', }, }), + ...(ownerState.variant === 'text' && + ownerState.color === 'info' && { + color: gray[200], + '&:hover': { + backgroundColor: alpha(gray[700], 0.3), + }, + }), ...(ownerState.variant === 'outlined' && ownerState.color === 'secondary' && { + color: gray[300], backgroundColor: alpha(gray[600], 0.1), borderColor: alpha(gray[700], 0.5), - color: gray[300], + boxShadow: `inset 0 2.5px ${alpha(gray[600], 0.1)}, inset 0 -2px ${alpha(gray[900], 0.5)}`, + '&:hover': { + backgroundColor: alpha(gray[700], 0.2), + borderColor: alpha(gray[700], 0.5), + boxShadow: 'none', + }, + '&:active': { + backgroundColor: alpha(gray[800], 0.2), + boxShadow: `inset 0 2.5px 0 ${alpha(gray[900], 0.4)}`, + backgroundImage: 'none', + }, + }), + ...(ownerState.variant === 'text' && + ownerState.color === 'primary' && { + color: brand[200], '&:hover': { - backgroundColor: alpha(gray[600], 0.3), - borderColor: gray[700], + backgroundColor: alpha(brand[700], 0.3), }, }), - ...(ownerState.variant === 'text' && { - color: brand[200], - '&:hover': { - backgroundColor: alpha(brand[600], 0.3), - borderColor: brand[700], - }, - }), }), }), }, }, - MuiIconButton: { + MuiCard: { styleOverrides: { root: ({ theme, ownerState }) => ({ - ...(ownerState.size === 'small' && { - height: '32px', - width: '32px', + backgroundColor: gray[50], + borderRadius: theme.shape.borderRadius, + border: `1px solid ${alpha(gray[200], 0.1)}`, + boxShadow: 'none', + ...(ownerState.variant === 'outlined' && { + border: `1px solid ${alpha(gray[200], 0.5)}`, + boxShadow: 'none', + background: `linear-gradient(to bottom, hsl(0, 0%, 100%), ${gray[50]})`, }), - ...(ownerState.size === 'medium' && { - height: '40px', - width: '40px', + ...(theme.palette.mode === 'dark' && { + backgroundColor: alpha(gray[800], 0.6), + border: `1px solid ${alpha(gray[700], 0.2)}`, + ...(ownerState.variant === 'outlined' && { + border: `1px solid ${alpha(gray[700], 0.4)}`, + boxShadow: 'none', + background: `linear-gradient(to bottom, ${gray[900]}, ${alpha( + gray[800], + 0.5, + )})`, + }), }), - color: brand[600], + }), + }, + }, + MuiCheckbox: { + defaultProps: { + disableRipple: true, + icon: ( + <CheckBoxOutlineBlankRoundedIcon + sx={{ color: 'hsla(210, 0%, 0%, 0.0)' }} + /> + ), + checkedIcon: <CheckRoundedIcon sx={{ height: 14, width: 14 }} />, + }, + styleOverrides: { + root: ({ theme }) => ({ + margin: 10, + height: 16, + width: 16, + borderRadius: 5, + border: '1px solid ', + borderColor: alpha(gray[300], 0.8), + boxShadow: '0 0 0 1.5px hsla(210, 0%, 0%, 0.04) inset', + backgroundColor: alpha(gray[100], 0.4), + transition: 'border-color, background-color, 120ms ease-in', '&:hover': { - backgroundColor: alpha(brand[300], 0.3), - borderColor: brand[200], + borderColor: brand[300], + }, + '&.Mui-focusVisible': { + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '2px', + borderColor: brand[400], + }, + '&.Mui-checked': { + color: 'white', + backgroundColor: brand[500], + borderColor: brand[500], + boxShadow: `none`, + '&:hover': { + backgroundColor: brand[600], + }, }, ...(theme.palette.mode === 'dark' && { - color: brand[200], + borderColor: alpha(gray[700], 0.5), + boxShadow: '0 0 0 1.5px hsl(210, 0%, 0%) inset', + backgroundColor: alpha(gray[900], 0.8), '&:hover': { - backgroundColor: alpha(brand[600], 0.3), - borderColor: brand[700], + borderColor: brand[300], + }, + '&.Mui-focusVisible': { + borderColor: brand[400], + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '2px', }, }), }), }, }, + MuiDialog: { + styleOverrides: { + root: ({ theme }) => ({ + '& .MuiDialog-paper': { + borderRadius: '10px', + border: '1px solid', + borderColor: theme.palette.divider, + }, + }), + }, + }, MuiDivider: { styleOverrides: { root: ({ theme }) => ({ @@ -363,50 +458,79 @@ export default function getSignInTheme(mode: PaletteMode): ThemeOptions { }), }, }, - MuiPaper: { + MuiFormLabel: { styleOverrides: { root: ({ theme }) => ({ - backgroundImage: 'none', - backgroundColor: gray[100], - ...(theme.palette.mode === 'dark' && { - backgroundColor: gray[800], - }), + typography: theme.typography.caption, + marginBottom: 8, }), }, }, - MuiDialog: { + MuiIconButton: { styleOverrides: { - root: ({ theme }) => ({ - '& .MuiDialog-paper': { - borderRadius: '10px', - border: '1px solid', - borderColor: theme.palette.divider, + root: ({ theme, ownerState }) => ({ + ...(ownerState.size === 'small' && { + height: '2rem', + width: '2rem', + }), + ...(ownerState.size === 'medium' && { + height: '2.5rem', + width: '2.5rem', + }), + color: brand[500], + '&:hover': { + backgroundColor: alpha(brand[300], 0.3), + borderColor: brand[200], }, + ...(theme.palette.mode === 'dark' && { + color: brand[200], + '&:hover': { + backgroundColor: alpha(brand[600], 0.3), + borderColor: brand[700], + }, + }), }), }, }, - MuiCard: { + MuiInputBase: { styleOverrides: { - root: ({ theme, ownerState }) => ({ - backgroundColor: gray[50], - borderRadius: 10, - outline: `1px solid ${alpha(gray[200], 0.8)}`, - boxShadow: 'none', - ...(ownerState.variant === 'outlined' && { - border: 0, - boxSizing: 'border-box', - background: `linear-gradient(to bottom, #FFF, ${gray[50]})`, - }), + root: { + border: 'none', + }, + }, + }, + MuiLink: { + defaultProps: { + underline: 'none', + }, + styleOverrides: { + root: ({ theme }) => ({ + color: brand[700], + fontWeight: 500, + position: 'relative', + textDecoration: 'none', + '&::before': { + content: '""', + position: 'absolute', + width: 0, + height: '1px', + bottom: 0, + left: 0, + backgroundColor: brand[200], + opacity: 0.7, + transition: 'width 0.3s ease, opacity 0.3s ease', + }, + '&:hover::before': { + width: '100%', + opacity: 1, + }, + '&:focus-visible': { + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '4px', + borderRadius: '2px', + }, ...(theme.palette.mode === 'dark' && { - backgroundColor: alpha(gray[800], 0.6), - outline: `1px solid ${alpha(gray[700], 0.5)}`, - ...(ownerState.variant === 'outlined' && { - boxSizing: 'border-box', - background: `linear-gradient(to bottom, ${gray[900]}, ${alpha( - gray[800], - 0.5, - )})`, - }), + color: brand[200], }), }), }, @@ -419,7 +543,6 @@ export default function getSignInTheme(mode: PaletteMode): ThemeOptions { input: { paddingLeft: 10, }, - root: ({ theme, ownerState }) => ({ 'input:-webkit-autofill': { WebkitBoxShadow: `0 0 0 1000px ${brand[100]} inset, 0 0 0 1px ${brand[200]}`, @@ -427,6 +550,7 @@ export default function getSignInTheme(mode: PaletteMode): ThemeOptions { borderRadius: '8px', }, '& .MuiInputBase-input': { + fontSize: '1rem', '&::placeholder': { opacity: 0.7, color: gray[500], @@ -435,10 +559,10 @@ export default function getSignInTheme(mode: PaletteMode): ThemeOptions { boxSizing: 'border-box', flexGrow: 1, height: '40px', - borderRadius: '10px', + borderRadius: theme.shape.borderRadius, border: '1px solid', borderColor: alpha(gray[300], 0.8), - boxShadow: '0 0 0 1.5px rgba(0, 0, 0, 0.04) inset', + boxShadow: '0 0 0 1.5px hsla(210, 0%, 0%, 0.02) inset', transition: 'border-color 120ms ease-in', backgroundColor: alpha(gray[100], 0.4), '&:hover': { @@ -463,13 +587,14 @@ export default function getSignInTheme(mode: PaletteMode): ThemeOptions { borderRadius: '8px', }, '& .MuiInputBase-input': { + fontSize: '1rem', '&::placeholder': { opacity: 1, color: gray[500], }, }, borderColor: alpha(gray[700], 0.5), - boxShadow: '0 0 0 1.5px rgb(0, 0, 0) inset', + boxShadow: '0 0 0 1.5px hsl(210, 0%, 0%) inset', backgroundColor: alpha(gray[900], 0.8), transition: 'border-color 120ms ease-in', '&:hover': { @@ -491,128 +616,29 @@ export default function getSignInTheme(mode: PaletteMode): ThemeOptions { }), }, }, - MuiFormLabel: { - styleOverrides: { - root: ({ theme }) => ({ - typography: theme.typography.caption, - marginBottom: 8, - }), - }, - }, - MuiInputBase: { - styleOverrides: { - root: { - border: 'none', - }, + MuiPaper: { + defaultProps: { + elevation: 0, }, }, - MuiLink: { + MuiStack: { defaultProps: { - underline: 'none', - }, - styleOverrides: { - root: ({ theme }) => ({ - color: brand[600], - fontWeight: 500, - position: 'relative', - textDecoration: 'none', - '&::before': { - content: '""', - position: 'absolute', - width: 0, - height: '1px', - bottom: 0, - left: 0, - backgroundColor: brand[200], - opacity: 0.7, - transition: 'width 0.3s ease, opacity 0.3s ease', - }, - '&:hover::before': { - width: '100%', - opacity: 1, - }, - '&:focus-visible': { - outline: `3px solid ${alpha(brand[500], 0.5)}`, - outlineOffset: '4px', - borderRadius: '2px', - }, - ...(theme.palette.mode === 'dark' && { - color: brand[200], - }), - }), + useFlexGap: true, }, }, MuiToggleButtonGroup: { styleOverrides: { root: ({ theme }) => ({ - borderRadius: '10px', - boxShadow: `0 4px 16px ${alpha(gray[400], 0.2)}`, + borderRadius: theme.shape.borderRadius, + boxShadow: `0 1px 2px hsla(210, 0%, 0%, 0.05), 0 2px 12px ${alpha(brand[200], 0.5)}`, '& .Mui-selected': { color: brand[500], }, ...(theme.palette.mode === 'dark' && { '& .Mui-selected': { - color: '#fff', - }, - boxShadow: `0 4px 16px ${alpha(brand[700], 0.5)}`, - }), - }), - }, - }, - MuiCheckbox: { - defaultProps: { - disableRipple: true, - icon: <CheckBoxOutlineBlankRoundedIcon sx={{ color: 'rgba(0,0,0,0)' }} />, - checkedIcon: <CheckRoundedIcon sx={{ height: 14, width: 14 }} />, - }, - styleOverrides: { - root: ({ theme }) => ({ - margin: 10, - height: 16, - width: 16, - borderRadius: 5, - border: '1px solid ', - borderColor: alpha(gray[300], 0.8), - boxShadow: '0 0 0 1.5px rgba(0, 0, 0, 0.04) inset', - transition: 'border-color 120ms ease-in', - backgroundColor: alpha(gray[100], 0.4), - '&:hover': { - borderColor: brand[300], - }, - '&.Mui-focusVisible': { - outline: `3px solid ${alpha(brand[500], 0.5)}`, - outlineOffset: '2px', - borderColor: brand[400], - }, - '&.Mui-checked': { - color: 'white', - backgroundColor: brand[500], - '&:hover': { - borderColor: brand[300], - backgroundColor: brand[600], - }, - }, - ...(theme.palette.mode === 'dark' && { - borderColor: alpha(gray[700], 0.5), - boxShadow: '0 0 0 1.5px rgb(0, 0, 0) inset', - backgroundColor: alpha(gray[900], 0.8), - '&:hover': { - borderColor: brand[300], - }, - '&.Mui-checked': { - color: 'white', - backgroundColor: brand[600], - boxShadow: '0 0 0 1px rgba(0, 0, 0, 0.2) inset', - '&:hover': { - borderColor: brand[300], - backgroundColor: brand[800], - }, - }, - '&.Mui-focusVisible': { - borderColor: brand[400], - outline: `3px solid ${alpha(brand[500], 0.5)}`, - outlineOffset: '2px', + color: 'hsl(0, 0%, 100%)', }, + boxShadow: `0 0 0 1px hsla(210, 0%, 0%, 0.5), 0 2px 12px ${alpha(brand[700], 0.5)}`, }), }), }, @@ -622,21 +648,15 @@ export default function getSignInTheme(mode: PaletteMode): ThemeOptions { root: ({ theme }) => ({ padding: '12px 16px', textTransform: 'none', - borderRadius: '10px', + borderRadius: theme.shape.borderRadius, fontWeight: 500, ...(theme.palette.mode === 'dark' && { color: gray[400], - boxShadow: '0 4px 16px rgba(0, 0, 0, 0.5)', '&.Mui-selected': { color: brand[300] }, }), }), }, }, - MuiStack: { - defaultProps: { - useFlexGap: true, - }, - }, }, }; } diff --git a/docs/data/material/getting-started/templates/sign-up/CustomIcons.js b/docs/data/material/getting-started/templates/sign-up/CustomIcons.js index e4a8d735bb75e6..1c24a778fb4427 100644 --- a/docs/data/material/getting-started/templates/sign-up/CustomIcons.js +++ b/docs/data/material/getting-started/templates/sign-up/CustomIcons.js @@ -1,87 +1,57 @@ import * as React from 'react'; -import PropTypes from 'prop-types'; - import SvgIcon from '@mui/material/SvgIcon'; -function SitemarkIcon({ sx }) { +export function SitemarkIcon() { return ( - <SvgIcon sx={sx}> + <SvgIcon sx={{ height: 21, width: 100 }}> <svg - width="380" - height="81" - viewBox="0 0 380 81" + width={86} + height={19} + viewBox="0 0 86 19" fill="none" xmlns="http://www.w3.org/2000/svg" > <path - d="M0.039093 54.3012L27.0897 42.2617L42.6595 51.2914L45.8049 80.915L26.6179 80.7561L29.4487 60.1623L26.1461 58.2614L9.9471 70.9352L0.039093 54.3012Z" fill="#B4C0D3" + d="m.787 12.567 6.055-2.675 3.485 2.006.704 6.583-4.295-.035.634-4.577-.74-.422-3.625 2.817-2.218-3.697Z" /> <path - d="M44.3904 50.0223L68.296 67.6062L77.7321 50.656L58.5444 42.8937V39.0917L77.7321 31.1709L68.296 14.3789L44.3904 31.963V50.0223Z" fill="#00D3AB" + d="m10.714 11.616 5.352 3.908 2.112-3.767-4.295-1.725v-.845l4.295-1.76-2.112-3.732-5.352 3.908v4.013Z" /> <path - d="M42.6595 30.5377L45.8049 0.914062L26.6179 1.2308L29.4487 21.8249L26.1461 23.7258L9.78985 11.0526L0.039093 27.5277L27.0897 39.5673L42.6595 30.5377Z" fill="#4876EF" + d="m10.327 7.286.704-6.583-4.295.07.634 4.577-.74.422-3.66-2.816L.786 6.617l6.055 2.676 3.485-2.007Z" /> <path - d="M141.744 37.3657V65.1185H152.07V29.75H137.032V37.3657H141.744Z" fill="#4876EE" + d="M32.507 8.804v6.167h2.312v-7.86h-3.366v1.693h1.054ZM32.435 6.006c.212.22.535.33.968.33.434 0 .751-.11.953-.33.213-.23.318-.516.318-.86 0-.354-.105-.641-.318-.86-.202-.23-.52-.345-.953-.345-.433 0-.756.115-.968.344-.202.22-.303.507-.303.86 0 .345.101.632.303.861ZM24.46 14.799c.655.296 1.46.444 2.413.444.896 0 1.667-.139 2.312-.416.645-.277 1.141-.664 1.488-1.162.357-.506.535-1.094.535-1.764 0-.65-.169-1.2-.506-1.649-.328-.459-.785-.818-1.373-1.076-.587-.267-1.266-.435-2.037-.502l-.809-.071c-.481-.039-.828-.168-1.04-.388a1.08 1.08 0 0 1-.318-.774c0-.23.058-.44.173-.631.116-.201.29-.359.52-.474.241-.114.535-.172.882-.172.366 0 .67.067.91.201.053.029.104.059.15.09l.012.009.052.037c.146.111.263.243.35.395.125.21.188.444.188.703h2.311c0-.689-.159-1.286-.476-1.793-.318-.516-.776-.913-1.373-1.19-.588-.287-1.296-.43-2.124-.43-.79 0-1.474.133-2.052.4a3.131 3.131 0 0 0-1.358 1.12c-.318.487-.477 1.066-.477 1.735 0 .927.314 1.673.94 2.237.626.564 1.464.89 2.514.976l.794.071c.645.058 1.113.187 1.401.388a.899.899 0 0 1 .434.788 1.181 1.181 0 0 1-.231.717c-.154.201-.38.36-.68.474-.298.115-.669.172-1.112.172-.49 0-.89-.067-1.199-.2-.308-.144-.539-.33-.694-.56a1.375 1.375 0 0 1-.216-.746h-2.297c0 .679.168 1.281.505 1.807.337.517.834.928 1.489 1.234ZM39.977 15.07c-.8 0-1.445-.095-1.936-.286a2.03 2.03 0 0 1-1.084-.99c-.221-.469-.332-1.1-.332-1.893V8.789h-1.2V7.11h1.2V4.988h2.153V7.11h2.312V8.79h-2.312v3.198c0 .373.096.66.289.86.202.192.486.287.852.287h1.17v1.937h-1.112Z" /> <path - d="M141.421 24.7785C142.368 25.768 143.809 26.2626 145.745 26.2626C147.682 26.2626 149.101 25.768 150.004 24.7785C150.952 23.7455 151.424 22.4545 151.424 20.906C151.424 19.3137 150.952 18.0229 150.004 17.0334C149.101 16.0009 147.682 15.4844 145.745 15.4844C143.809 15.4844 142.368 16.0009 141.421 17.0334C140.518 18.0229 140.066 19.3137 140.066 20.906C140.066 22.4545 140.518 23.7455 141.421 24.7785Z" fill="#4876EE" - /> - <path - d="M105.795 64.3433C108.72 65.677 112.313 66.3444 116.572 66.3444C120.574 66.3444 124.016 65.7196 126.899 64.4723C129.782 63.2249 131.998 61.4819 133.547 59.2441C135.139 56.9637 135.935 54.3177 135.935 51.3055C135.935 48.3798 135.183 45.9056 133.677 43.8831C132.213 41.818 130.17 40.2044 127.544 39.043C124.92 37.8379 121.887 37.0849 118.444 36.784L114.83 36.4613C112.679 36.2888 111.13 35.7083 110.183 34.7184C109.236 33.729 108.763 32.5669 108.763 31.2335C108.763 30.2004 109.022 29.2541 109.537 28.3936C110.054 27.4898 110.828 26.78 111.861 26.2634C112.937 25.7474 114.249 25.4891 115.798 25.4891C117.433 25.4891 118.789 25.79 119.864 26.3928C120.101 26.5201 120.326 26.6562 120.537 26.8008L120.588 26.8366C120.667 26.8912 120.745 26.9478 120.821 27.005C121.474 27.5044 121.994 28.0962 122.381 28.7807C122.94 29.7275 123.221 30.7814 123.221 31.9433H133.547C133.547 28.8452 132.837 26.1558 131.418 23.8755C129.998 21.5522 127.954 19.7666 125.286 18.5184C122.661 17.2276 119.499 16.582 115.798 16.582C112.269 16.582 109.215 17.1849 106.633 18.3895C104.052 19.5514 102.03 21.2295 100.567 23.4235C99.1457 25.618 98.4357 28.2215 98.4357 31.2335C98.4357 35.4069 99.8355 38.7629 102.632 41.302C105.428 43.8405 109.172 45.3034 113.862 45.6905L117.412 46.0132C120.294 46.2715 122.381 46.8525 123.672 47.7556C124.962 48.6163 125.608 49.7996 125.608 51.3055C125.608 51.9978 125.495 52.6468 125.268 53.2532C125.1 53.7032 124.87 54.1298 124.576 54.533C123.887 55.436 122.876 56.1461 121.542 56.6631C120.209 57.1791 118.552 57.4371 116.572 57.4371C114.378 57.4371 112.592 57.1365 111.216 56.533C109.839 55.8881 108.807 55.049 108.117 54.0166C107.472 52.9835 107.15 51.8652 107.15 50.6601H96.8877C96.8877 53.7152 97.6404 56.4254 99.1457 58.7921C100.652 61.1162 102.869 62.9659 105.795 64.3433Z" - fill="#4876EE" - /> - <path - d="M175.111 65.5678C171.539 65.5678 168.656 65.1371 166.462 64.2767C164.267 63.3727 162.654 61.8886 161.621 59.8236C160.632 57.7149 160.137 54.8759 160.137 51.304V37.2985H154.78V29.7472H160.137V20.1953H169.754V29.7472H180.081V37.2985H169.754V51.6916C169.754 53.3697 170.184 54.6605 171.045 55.5635C171.948 56.4238 173.217 56.8545 174.853 56.8545H180.081V65.5678H175.111Z" - fill="#4876EE" - /> - <path fillRule="evenodd" + d="M43.873 14.899c.52.23 1.117.344 1.791.344.665 0 1.252-.115 1.763-.344.51-.23.934-.55 1.271-.96.337-.412.564-.88.679-1.407h-2.124c-.096.24-.279.44-.549.603-.27.162-.616.244-1.04.244-.262 0-.497-.031-.704-.093a1.572 1.572 0 0 1-.423-.194 1.662 1.662 0 0 1-.636-.803 3.159 3.159 0 0 1-.163-.645h5.784v-.775a4.28 4.28 0 0 0-.463-1.98 3.686 3.686 0 0 0-1.343-1.477c-.578-.382-1.291-.574-2.139-.574-.645 0-1.223.115-1.733.345-.501.22-.92.52-1.257.903a4.178 4.178 0 0 0-.78 1.305c-.174.478-.26.98-.26 1.506v.287c0 .507.086 1.004.26 1.492.183.478.443.913.78 1.305.347.382.775.688 1.286.918Zm-.094-4.674.02-.09a2.507 2.507 0 0 1 .117-.356c.145-.354.356-.622.636-.804.104-.067.217-.123.339-.165.204-.071.433-.107.686-.107.395 0 .723.09.983.272.27.173.472.426.607.76a2.487 2.487 0 0 1 .16.603h-3.57c.006-.038.013-.076.022-.113Z" clipRule="evenodd" - d="M192.514 64.7963C194.837 65.8283 197.505 66.3453 200.517 66.3453C203.485 66.3453 206.111 65.8283 208.391 64.7963C210.672 63.7633 212.565 62.3219 214.07 60.4722C215.577 58.6215 216.588 56.5127 217.103 54.1465H207.616C207.186 55.2217 206.369 56.1257 205.164 56.8571C203.959 57.5884 202.409 57.9541 200.517 57.9541C199.344 57.9541 198.296 57.8155 197.373 57.5383C196.67 57.3272 196.04 57.0362 195.483 56.6641C194.192 55.8027 193.245 54.598 192.643 53.0495C192.475 52.6082 192.332 52.1468 192.212 51.6661C192.089 51.1792 191.99 50.6725 191.916 50.145H217.749V46.6597C217.749 43.4325 217.061 40.4638 215.684 37.7532C214.307 34.9989 212.306 32.783 209.682 31.1051C207.1 29.384 203.916 28.5234 200.129 28.5234C197.246 28.5234 194.664 29.04 192.384 30.0725C190.148 31.0619 188.276 32.4173 186.77 34.1384C185.264 35.8595 184.102 37.8176 183.283 40.0122C182.509 42.163 182.122 44.422 182.122 46.7885V48.0794C182.122 50.3601 182.509 52.5974 183.283 54.792C184.102 56.9434 185.264 58.9008 186.77 60.6652C188.319 62.3859 190.232 63.7633 192.514 64.7963ZM192.094 43.763C192.122 43.6263 192.152 43.4918 192.185 43.3593C192.275 42.9945 192.378 42.6448 192.496 42.3106C192.562 42.1204 192.632 41.9349 192.708 41.7546C193.353 40.1623 194.299 38.9577 195.547 38.1403C196.014 37.8348 196.519 37.5864 197.062 37.3951C197.974 37.0744 198.998 36.9139 200.129 36.9139C201.894 36.9139 203.356 37.3228 204.518 38.1403C205.723 38.9146 206.627 40.0547 207.229 41.5608C207.278 41.6823 207.324 41.806 207.369 41.9312C207.44 42.1308 207.506 42.3355 207.568 42.5455C207.659 42.8578 207.739 43.181 207.809 43.5151C207.86 43.7615 207.904 44.0135 207.943 44.2718H191.994C192.024 44.0993 192.057 43.9299 192.094 43.763Z" - fill="#4876EE" /> <path - d="M222.01 65.1179V29.7494H230.208V38.6575C230.319 38.1279 230.445 37.6197 230.587 37.1322C230.709 36.7218 230.839 36.3257 230.982 35.9453C231.886 33.5356 233.241 31.7288 235.048 30.5237C236.855 29.276 239.07 28.6523 241.696 28.6523H242.147C244.815 28.6523 247.031 29.276 248.795 30.5237C250.602 31.7288 251.958 33.5356 252.861 35.9453L252.933 36.1272L252.993 36.2935C253.034 36.176 253.077 36.0601 253.119 35.9453C254.066 33.5356 255.443 31.7288 257.25 30.5237C259.057 29.276 261.274 28.6523 263.899 28.6523H264.351C267.017 28.6523 269.255 29.276 271.062 30.5237C272.912 31.7288 274.311 33.5356 275.257 35.9453C276.204 38.355 276.678 41.367 276.678 44.9813V65.1179H266.351V44.4002C266.351 42.464 265.835 40.8936 264.802 39.689C263.812 38.4839 262.392 37.8816 260.543 37.8816C258.692 37.8816 257.229 38.5058 256.153 39.7534C255.078 40.958 254.539 42.5716 254.539 44.5942V65.1179H244.148V44.4002C244.148 42.464 243.632 40.8936 242.599 39.689C241.61 38.4839 240.211 37.8816 238.405 37.8816C236.511 37.8816 235.027 38.5058 233.951 39.7534C232.875 40.958 232.337 42.5716 232.337 44.5942V65.1179H222.01Z" fill="#4876EE" + d="M50.476 14.97V7.112h1.835v1.98a4.54 4.54 0 0 1 .173-.603c.202-.536.506-.937.91-1.205.405-.277.9-.416 1.488-.416h.101c.598 0 1.094.139 1.489.416.404.268.707.67.91 1.205l.016.04.013.037.028-.077c.212-.536.52-.937.925-1.205.405-.277.901-.416 1.489-.416h.1c.598 0 1.098.139 1.503.416.414.268.727.67.94 1.205.211.535.317 1.205.317 2.008v4.475h-2.312v-4.604c0-.43-.115-.78-.346-1.047-.222-.268-.54-.402-.954-.402-.414 0-.742.139-.982.416-.241.268-.362.626-.362 1.076v4.56h-2.326v-4.603c0-.43-.115-.78-.346-1.047-.222-.268-.535-.402-.94-.402-.423 0-.756.139-.996.416-.241.268-.362.626-.362 1.076v4.56h-2.311Z" /> <path + fill="#4876EE" fillRule="evenodd" + d="M68.888 13.456v1.515h1.834v-4.82c0-.726-.144-1.319-.433-1.778-.289-.468-.712-.817-1.271-1.047-.549-.23-1.228-.344-2.037-.344a27.76 27.76 0 0 0-.896.014c-.318.01-.626.024-.924.043l-.229.016a36.79 36.79 0 0 0-.552.042v1.936a81.998 81.998 0 0 1 1.733-.09 37.806 37.806 0 0 1 1.171-.025c.424 0 .732.1.925.301.193.201.289.502.289.904v.029h-1.43c-.704 0-1.325.09-1.864.272-.54.172-.959.445-1.257.818-.299.363-.448.832-.448 1.405 0 .526.12.98.361 1.363.24.373.573.66.997.86.433.201.934.302 1.502.302.55 0 1.012-.1 1.388-.302.385-.2.683-.487.895-.86a2.443 2.443 0 0 0 .228-.498l.018-.056Zm-.39-1.397v-.63h-1.445c-.405 0-.718.1-.939.3-.212.192-.318.455-.318.79 0 .157.026.3.08.429a.99.99 0 0 0 .238.345c.221.191.534.287.939.287a2.125 2.125 0 0 0 .394-.038c.106-.021.206-.052.3-.092.212-.095.385-.253.52-.473.135-.22.212-.526.23-.918Z" clipRule="evenodd" - d="M304.262 58.3029V65.1174H312.458V43.4316C312.458 40.1614 311.813 37.494 310.522 35.4283C309.231 33.32 307.339 31.7496 304.843 30.717C302.391 29.6845 299.357 29.168 295.743 29.168C294.959 29.168 294.142 29.1763 293.289 29.1933C292.786 29.2038 292.269 29.2168 291.741 29.2324C290.321 29.2755 288.943 29.3399 287.611 29.4262L286.592 29.4948C286.068 29.5312 285.577 29.567 285.114 29.6034C284.766 29.6304 284.437 29.6574 284.126 29.6845V38.3977C285.459 38.3114 286.943 38.2251 288.579 38.1394C289.036 38.1155 289.489 38.0931 289.939 38.0724C290.589 38.0422 291.23 38.0163 291.865 37.9934C292.366 37.9752 292.862 37.9591 293.355 37.9456C294.903 37.9024 296.151 37.8811 297.098 37.8811C298.991 37.8811 300.368 38.3327 301.229 39.2364C302.09 40.1402 302.519 41.4954 302.519 43.3027V43.4316H296.13C292.989 43.4316 290.214 43.8406 287.804 44.6581C285.394 45.4324 283.522 46.6588 282.19 48.3368C280.855 49.9722 280.189 52.0805 280.189 54.6621C280.189 57.0289 280.726 59.0726 281.802 60.7933C282.877 62.4713 284.361 63.7624 286.255 64.6654C288.192 65.5694 290.43 66.0214 292.967 66.0214C295.42 66.0214 297.485 65.5694 299.164 64.6654C300.885 63.7624 302.219 62.4713 303.165 60.7933C303.332 60.5108 303.487 60.2176 303.632 59.9127C303.837 59.482 304.019 59.0278 304.18 58.5534L304.262 58.3029ZM302.519 52.016V49.176H296.065C294.258 49.176 292.86 49.6276 291.871 50.5313C290.924 51.3919 290.45 52.5751 290.45 54.0811C290.45 54.7901 290.568 55.434 290.804 56.015C291.042 56.5971 291.397 57.1142 291.871 57.5662C292.86 58.4276 294.258 58.8572 296.065 58.8572C296.409 58.8572 296.742 58.8402 297.063 58.8061C297.325 58.7794 297.58 58.74 297.826 58.6899C298.3 58.5929 298.746 58.4553 299.164 58.2762C300.111 57.8466 300.885 57.1366 301.486 56.1462C302.09 55.1568 302.434 53.7797 302.519 52.016Z" - fill="#4876EE" - /> - <path - d="M318.639 65.117V29.7485H326.836V41.4228C327.228 38.0902 328.219 35.403 329.805 33.3628C331.956 30.6522 335.053 29.2969 339.099 29.2969H340.454V38.2034H337.872C335.033 38.2034 332.838 38.9777 331.289 40.5269C329.74 42.0328 328.965 44.2274 328.965 47.1099V65.117H318.639Z" - fill="#4876EE" /> <path - d="M353.549 48.5927H356.97L368.135 65.115H379.753L365.595 44.8235L377.236 29.7465H366.393L353.549 46.5639V18H343.223V65.115H353.549V48.5927Z" fill="#4876EE" + d="M72.106 14.97V7.11h1.835v2.595c.088-.74.31-1.338.665-1.791.481-.603 1.174-.904 2.08-.904h.303v1.98h-.578c-.635 0-1.127.172-1.473.516-.347.334-.52.822-.52 1.463v4.001h-2.312ZM79.92 11.298h.767l2.499 3.672h2.6l-3.169-4.51 2.606-3.35h-2.427l-2.875 3.737V4.5h-2.312v10.47h2.312v-3.672Z" /> </svg> </SvgIcon> ); } -SitemarkIcon.propTypes = { - sx: PropTypes.oneOfType([ - PropTypes.arrayOf( - PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool]), - ), - PropTypes.func, - PropTypes.object, - ]), -}; - -export { SitemarkIcon }; - export function FacebookIcon() { return ( <SvgIcon> diff --git a/docs/data/material/getting-started/templates/sign-up/CustomIcons.tsx b/docs/data/material/getting-started/templates/sign-up/CustomIcons.tsx index f66661a29dcb57..1c24a778fb4427 100644 --- a/docs/data/material/getting-started/templates/sign-up/CustomIcons.tsx +++ b/docs/data/material/getting-started/templates/sign-up/CustomIcons.tsx @@ -1,72 +1,51 @@ import * as React from 'react'; -import { SxProps, Theme } from '@mui/system'; import SvgIcon from '@mui/material/SvgIcon'; -interface IconProps { - sx?: SxProps<Theme>; -} - -export function SitemarkIcon({ sx }: IconProps) { +export function SitemarkIcon() { return ( - <SvgIcon sx={sx}> + <SvgIcon sx={{ height: 21, width: 100 }}> <svg - width="380" - height="81" - viewBox="0 0 380 81" + width={86} + height={19} + viewBox="0 0 86 19" fill="none" xmlns="http://www.w3.org/2000/svg" > <path - d="M0.039093 54.3012L27.0897 42.2617L42.6595 51.2914L45.8049 80.915L26.6179 80.7561L29.4487 60.1623L26.1461 58.2614L9.9471 70.9352L0.039093 54.3012Z" fill="#B4C0D3" + d="m.787 12.567 6.055-2.675 3.485 2.006.704 6.583-4.295-.035.634-4.577-.74-.422-3.625 2.817-2.218-3.697Z" /> <path - d="M44.3904 50.0223L68.296 67.6062L77.7321 50.656L58.5444 42.8937V39.0917L77.7321 31.1709L68.296 14.3789L44.3904 31.963V50.0223Z" fill="#00D3AB" + d="m10.714 11.616 5.352 3.908 2.112-3.767-4.295-1.725v-.845l4.295-1.76-2.112-3.732-5.352 3.908v4.013Z" /> <path - d="M42.6595 30.5377L45.8049 0.914062L26.6179 1.2308L29.4487 21.8249L26.1461 23.7258L9.78985 11.0526L0.039093 27.5277L27.0897 39.5673L42.6595 30.5377Z" fill="#4876EF" + d="m10.327 7.286.704-6.583-4.295.07.634 4.577-.74.422-3.66-2.816L.786 6.617l6.055 2.676 3.485-2.007Z" /> <path - d="M141.744 37.3657V65.1185H152.07V29.75H137.032V37.3657H141.744Z" - fill="#4876EE" - /> - <path - d="M141.421 24.7785C142.368 25.768 143.809 26.2626 145.745 26.2626C147.682 26.2626 149.101 25.768 150.004 24.7785C150.952 23.7455 151.424 22.4545 151.424 20.906C151.424 19.3137 150.952 18.0229 150.004 17.0334C149.101 16.0009 147.682 15.4844 145.745 15.4844C143.809 15.4844 142.368 16.0009 141.421 17.0334C140.518 18.0229 140.066 19.3137 140.066 20.906C140.066 22.4545 140.518 23.7455 141.421 24.7785Z" - fill="#4876EE" - /> - <path - d="M105.795 64.3433C108.72 65.677 112.313 66.3444 116.572 66.3444C120.574 66.3444 124.016 65.7196 126.899 64.4723C129.782 63.2249 131.998 61.4819 133.547 59.2441C135.139 56.9637 135.935 54.3177 135.935 51.3055C135.935 48.3798 135.183 45.9056 133.677 43.8831C132.213 41.818 130.17 40.2044 127.544 39.043C124.92 37.8379 121.887 37.0849 118.444 36.784L114.83 36.4613C112.679 36.2888 111.13 35.7083 110.183 34.7184C109.236 33.729 108.763 32.5669 108.763 31.2335C108.763 30.2004 109.022 29.2541 109.537 28.3936C110.054 27.4898 110.828 26.78 111.861 26.2634C112.937 25.7474 114.249 25.4891 115.798 25.4891C117.433 25.4891 118.789 25.79 119.864 26.3928C120.101 26.5201 120.326 26.6562 120.537 26.8008L120.588 26.8366C120.667 26.8912 120.745 26.9478 120.821 27.005C121.474 27.5044 121.994 28.0962 122.381 28.7807C122.94 29.7275 123.221 30.7814 123.221 31.9433H133.547C133.547 28.8452 132.837 26.1558 131.418 23.8755C129.998 21.5522 127.954 19.7666 125.286 18.5184C122.661 17.2276 119.499 16.582 115.798 16.582C112.269 16.582 109.215 17.1849 106.633 18.3895C104.052 19.5514 102.03 21.2295 100.567 23.4235C99.1457 25.618 98.4357 28.2215 98.4357 31.2335C98.4357 35.4069 99.8355 38.7629 102.632 41.302C105.428 43.8405 109.172 45.3034 113.862 45.6905L117.412 46.0132C120.294 46.2715 122.381 46.8525 123.672 47.7556C124.962 48.6163 125.608 49.7996 125.608 51.3055C125.608 51.9978 125.495 52.6468 125.268 53.2532C125.1 53.7032 124.87 54.1298 124.576 54.533C123.887 55.436 122.876 56.1461 121.542 56.6631C120.209 57.1791 118.552 57.4371 116.572 57.4371C114.378 57.4371 112.592 57.1365 111.216 56.533C109.839 55.8881 108.807 55.049 108.117 54.0166C107.472 52.9835 107.15 51.8652 107.15 50.6601H96.8877C96.8877 53.7152 97.6404 56.4254 99.1457 58.7921C100.652 61.1162 102.869 62.9659 105.795 64.3433Z" fill="#4876EE" + d="M32.507 8.804v6.167h2.312v-7.86h-3.366v1.693h1.054ZM32.435 6.006c.212.22.535.33.968.33.434 0 .751-.11.953-.33.213-.23.318-.516.318-.86 0-.354-.105-.641-.318-.86-.202-.23-.52-.345-.953-.345-.433 0-.756.115-.968.344-.202.22-.303.507-.303.86 0 .345.101.632.303.861ZM24.46 14.799c.655.296 1.46.444 2.413.444.896 0 1.667-.139 2.312-.416.645-.277 1.141-.664 1.488-1.162.357-.506.535-1.094.535-1.764 0-.65-.169-1.2-.506-1.649-.328-.459-.785-.818-1.373-1.076-.587-.267-1.266-.435-2.037-.502l-.809-.071c-.481-.039-.828-.168-1.04-.388a1.08 1.08 0 0 1-.318-.774c0-.23.058-.44.173-.631.116-.201.29-.359.52-.474.241-.114.535-.172.882-.172.366 0 .67.067.91.201.053.029.104.059.15.09l.012.009.052.037c.146.111.263.243.35.395.125.21.188.444.188.703h2.311c0-.689-.159-1.286-.476-1.793-.318-.516-.776-.913-1.373-1.19-.588-.287-1.296-.43-2.124-.43-.79 0-1.474.133-2.052.4a3.131 3.131 0 0 0-1.358 1.12c-.318.487-.477 1.066-.477 1.735 0 .927.314 1.673.94 2.237.626.564 1.464.89 2.514.976l.794.071c.645.058 1.113.187 1.401.388a.899.899 0 0 1 .434.788 1.181 1.181 0 0 1-.231.717c-.154.201-.38.36-.68.474-.298.115-.669.172-1.112.172-.49 0-.89-.067-1.199-.2-.308-.144-.539-.33-.694-.56a1.375 1.375 0 0 1-.216-.746h-2.297c0 .679.168 1.281.505 1.807.337.517.834.928 1.489 1.234ZM39.977 15.07c-.8 0-1.445-.095-1.936-.286a2.03 2.03 0 0 1-1.084-.99c-.221-.469-.332-1.1-.332-1.893V8.789h-1.2V7.11h1.2V4.988h2.153V7.11h2.312V8.79h-2.312v3.198c0 .373.096.66.289.86.202.192.486.287.852.287h1.17v1.937h-1.112Z" /> <path - d="M175.111 65.5678C171.539 65.5678 168.656 65.1371 166.462 64.2767C164.267 63.3727 162.654 61.8886 161.621 59.8236C160.632 57.7149 160.137 54.8759 160.137 51.304V37.2985H154.78V29.7472H160.137V20.1953H169.754V29.7472H180.081V37.2985H169.754V51.6916C169.754 53.3697 170.184 54.6605 171.045 55.5635C171.948 56.4238 173.217 56.8545 174.853 56.8545H180.081V65.5678H175.111Z" fill="#4876EE" - /> - <path fillRule="evenodd" + d="M43.873 14.899c.52.23 1.117.344 1.791.344.665 0 1.252-.115 1.763-.344.51-.23.934-.55 1.271-.96.337-.412.564-.88.679-1.407h-2.124c-.096.24-.279.44-.549.603-.27.162-.616.244-1.04.244-.262 0-.497-.031-.704-.093a1.572 1.572 0 0 1-.423-.194 1.662 1.662 0 0 1-.636-.803 3.159 3.159 0 0 1-.163-.645h5.784v-.775a4.28 4.28 0 0 0-.463-1.98 3.686 3.686 0 0 0-1.343-1.477c-.578-.382-1.291-.574-2.139-.574-.645 0-1.223.115-1.733.345-.501.22-.92.52-1.257.903a4.178 4.178 0 0 0-.78 1.305c-.174.478-.26.98-.26 1.506v.287c0 .507.086 1.004.26 1.492.183.478.443.913.78 1.305.347.382.775.688 1.286.918Zm-.094-4.674.02-.09a2.507 2.507 0 0 1 .117-.356c.145-.354.356-.622.636-.804.104-.067.217-.123.339-.165.204-.071.433-.107.686-.107.395 0 .723.09.983.272.27.173.472.426.607.76a2.487 2.487 0 0 1 .16.603h-3.57c.006-.038.013-.076.022-.113Z" clipRule="evenodd" - d="M192.514 64.7963C194.837 65.8283 197.505 66.3453 200.517 66.3453C203.485 66.3453 206.111 65.8283 208.391 64.7963C210.672 63.7633 212.565 62.3219 214.07 60.4722C215.577 58.6215 216.588 56.5127 217.103 54.1465H207.616C207.186 55.2217 206.369 56.1257 205.164 56.8571C203.959 57.5884 202.409 57.9541 200.517 57.9541C199.344 57.9541 198.296 57.8155 197.373 57.5383C196.67 57.3272 196.04 57.0362 195.483 56.6641C194.192 55.8027 193.245 54.598 192.643 53.0495C192.475 52.6082 192.332 52.1468 192.212 51.6661C192.089 51.1792 191.99 50.6725 191.916 50.145H217.749V46.6597C217.749 43.4325 217.061 40.4638 215.684 37.7532C214.307 34.9989 212.306 32.783 209.682 31.1051C207.1 29.384 203.916 28.5234 200.129 28.5234C197.246 28.5234 194.664 29.04 192.384 30.0725C190.148 31.0619 188.276 32.4173 186.77 34.1384C185.264 35.8595 184.102 37.8176 183.283 40.0122C182.509 42.163 182.122 44.422 182.122 46.7885V48.0794C182.122 50.3601 182.509 52.5974 183.283 54.792C184.102 56.9434 185.264 58.9008 186.77 60.6652C188.319 62.3859 190.232 63.7633 192.514 64.7963ZM192.094 43.763C192.122 43.6263 192.152 43.4918 192.185 43.3593C192.275 42.9945 192.378 42.6448 192.496 42.3106C192.562 42.1204 192.632 41.9349 192.708 41.7546C193.353 40.1623 194.299 38.9577 195.547 38.1403C196.014 37.8348 196.519 37.5864 197.062 37.3951C197.974 37.0744 198.998 36.9139 200.129 36.9139C201.894 36.9139 203.356 37.3228 204.518 38.1403C205.723 38.9146 206.627 40.0547 207.229 41.5608C207.278 41.6823 207.324 41.806 207.369 41.9312C207.44 42.1308 207.506 42.3355 207.568 42.5455C207.659 42.8578 207.739 43.181 207.809 43.5151C207.86 43.7615 207.904 44.0135 207.943 44.2718H191.994C192.024 44.0993 192.057 43.9299 192.094 43.763Z" - fill="#4876EE" /> <path - d="M222.01 65.1179V29.7494H230.208V38.6575C230.319 38.1279 230.445 37.6197 230.587 37.1322C230.709 36.7218 230.839 36.3257 230.982 35.9453C231.886 33.5356 233.241 31.7288 235.048 30.5237C236.855 29.276 239.07 28.6523 241.696 28.6523H242.147C244.815 28.6523 247.031 29.276 248.795 30.5237C250.602 31.7288 251.958 33.5356 252.861 35.9453L252.933 36.1272L252.993 36.2935C253.034 36.176 253.077 36.0601 253.119 35.9453C254.066 33.5356 255.443 31.7288 257.25 30.5237C259.057 29.276 261.274 28.6523 263.899 28.6523H264.351C267.017 28.6523 269.255 29.276 271.062 30.5237C272.912 31.7288 274.311 33.5356 275.257 35.9453C276.204 38.355 276.678 41.367 276.678 44.9813V65.1179H266.351V44.4002C266.351 42.464 265.835 40.8936 264.802 39.689C263.812 38.4839 262.392 37.8816 260.543 37.8816C258.692 37.8816 257.229 38.5058 256.153 39.7534C255.078 40.958 254.539 42.5716 254.539 44.5942V65.1179H244.148V44.4002C244.148 42.464 243.632 40.8936 242.599 39.689C241.61 38.4839 240.211 37.8816 238.405 37.8816C236.511 37.8816 235.027 38.5058 233.951 39.7534C232.875 40.958 232.337 42.5716 232.337 44.5942V65.1179H222.01Z" fill="#4876EE" + d="M50.476 14.97V7.112h1.835v1.98a4.54 4.54 0 0 1 .173-.603c.202-.536.506-.937.91-1.205.405-.277.9-.416 1.488-.416h.101c.598 0 1.094.139 1.489.416.404.268.707.67.91 1.205l.016.04.013.037.028-.077c.212-.536.52-.937.925-1.205.405-.277.901-.416 1.489-.416h.1c.598 0 1.098.139 1.503.416.414.268.727.67.94 1.205.211.535.317 1.205.317 2.008v4.475h-2.312v-4.604c0-.43-.115-.78-.346-1.047-.222-.268-.54-.402-.954-.402-.414 0-.742.139-.982.416-.241.268-.362.626-.362 1.076v4.56h-2.326v-4.603c0-.43-.115-.78-.346-1.047-.222-.268-.535-.402-.94-.402-.423 0-.756.139-.996.416-.241.268-.362.626-.362 1.076v4.56h-2.311Z" /> <path + fill="#4876EE" fillRule="evenodd" + d="M68.888 13.456v1.515h1.834v-4.82c0-.726-.144-1.319-.433-1.778-.289-.468-.712-.817-1.271-1.047-.549-.23-1.228-.344-2.037-.344a27.76 27.76 0 0 0-.896.014c-.318.01-.626.024-.924.043l-.229.016a36.79 36.79 0 0 0-.552.042v1.936a81.998 81.998 0 0 1 1.733-.09 37.806 37.806 0 0 1 1.171-.025c.424 0 .732.1.925.301.193.201.289.502.289.904v.029h-1.43c-.704 0-1.325.09-1.864.272-.54.172-.959.445-1.257.818-.299.363-.448.832-.448 1.405 0 .526.12.98.361 1.363.24.373.573.66.997.86.433.201.934.302 1.502.302.55 0 1.012-.1 1.388-.302.385-.2.683-.487.895-.86a2.443 2.443 0 0 0 .228-.498l.018-.056Zm-.39-1.397v-.63h-1.445c-.405 0-.718.1-.939.3-.212.192-.318.455-.318.79 0 .157.026.3.08.429a.99.99 0 0 0 .238.345c.221.191.534.287.939.287a2.125 2.125 0 0 0 .394-.038c.106-.021.206-.052.3-.092.212-.095.385-.253.52-.473.135-.22.212-.526.23-.918Z" clipRule="evenodd" - d="M304.262 58.3029V65.1174H312.458V43.4316C312.458 40.1614 311.813 37.494 310.522 35.4283C309.231 33.32 307.339 31.7496 304.843 30.717C302.391 29.6845 299.357 29.168 295.743 29.168C294.959 29.168 294.142 29.1763 293.289 29.1933C292.786 29.2038 292.269 29.2168 291.741 29.2324C290.321 29.2755 288.943 29.3399 287.611 29.4262L286.592 29.4948C286.068 29.5312 285.577 29.567 285.114 29.6034C284.766 29.6304 284.437 29.6574 284.126 29.6845V38.3977C285.459 38.3114 286.943 38.2251 288.579 38.1394C289.036 38.1155 289.489 38.0931 289.939 38.0724C290.589 38.0422 291.23 38.0163 291.865 37.9934C292.366 37.9752 292.862 37.9591 293.355 37.9456C294.903 37.9024 296.151 37.8811 297.098 37.8811C298.991 37.8811 300.368 38.3327 301.229 39.2364C302.09 40.1402 302.519 41.4954 302.519 43.3027V43.4316H296.13C292.989 43.4316 290.214 43.8406 287.804 44.6581C285.394 45.4324 283.522 46.6588 282.19 48.3368C280.855 49.9722 280.189 52.0805 280.189 54.6621C280.189 57.0289 280.726 59.0726 281.802 60.7933C282.877 62.4713 284.361 63.7624 286.255 64.6654C288.192 65.5694 290.43 66.0214 292.967 66.0214C295.42 66.0214 297.485 65.5694 299.164 64.6654C300.885 63.7624 302.219 62.4713 303.165 60.7933C303.332 60.5108 303.487 60.2176 303.632 59.9127C303.837 59.482 304.019 59.0278 304.18 58.5534L304.262 58.3029ZM302.519 52.016V49.176H296.065C294.258 49.176 292.86 49.6276 291.871 50.5313C290.924 51.3919 290.45 52.5751 290.45 54.0811C290.45 54.7901 290.568 55.434 290.804 56.015C291.042 56.5971 291.397 57.1142 291.871 57.5662C292.86 58.4276 294.258 58.8572 296.065 58.8572C296.409 58.8572 296.742 58.8402 297.063 58.8061C297.325 58.7794 297.58 58.74 297.826 58.6899C298.3 58.5929 298.746 58.4553 299.164 58.2762C300.111 57.8466 300.885 57.1366 301.486 56.1462C302.09 55.1568 302.434 53.7797 302.519 52.016Z" - fill="#4876EE" - /> - <path - d="M318.639 65.117V29.7485H326.836V41.4228C327.228 38.0902 328.219 35.403 329.805 33.3628C331.956 30.6522 335.053 29.2969 339.099 29.2969H340.454V38.2034H337.872C335.033 38.2034 332.838 38.9777 331.289 40.5269C329.74 42.0328 328.965 44.2274 328.965 47.1099V65.117H318.639Z" - fill="#4876EE" /> <path - d="M353.549 48.5927H356.97L368.135 65.115H379.753L365.595 44.8235L377.236 29.7465H366.393L353.549 46.5639V18H343.223V65.115H353.549V48.5927Z" fill="#4876EE" + d="M72.106 14.97V7.11h1.835v2.595c.088-.74.31-1.338.665-1.791.481-.603 1.174-.904 2.08-.904h.303v1.98h-.578c-.635 0-1.127.172-1.473.516-.347.334-.52.822-.52 1.463v4.001h-2.312ZM79.92 11.298h.767l2.499 3.672h2.6l-3.169-4.51 2.606-3.35h-2.427l-2.875 3.737V4.5h-2.312v10.47h2.312v-3.672Z" /> </svg> </SvgIcon> diff --git a/docs/data/material/getting-started/templates/sign-up/SignUp.js b/docs/data/material/getting-started/templates/sign-up/SignUp.js index 5b8d9c0c02ce82..ecf2c3aa9fbf5c 100644 --- a/docs/data/material/getting-started/templates/sign-up/SignUp.js +++ b/docs/data/material/getting-started/templates/sign-up/SignUp.js @@ -15,7 +15,7 @@ import ToggleButton from '@mui/material/ToggleButton'; import ToggleButtonGroup from '@mui/material/ToggleButtonGroup'; import Typography from '@mui/material/Typography'; import Stack from '@mui/material/Stack'; -import { alpha } from '@mui/material'; + import { createTheme, ThemeProvider } from '@mui/material/styles'; import AutoAwesomeRoundedIcon from '@mui/icons-material/AutoAwesomeRounded'; @@ -42,7 +42,7 @@ function ToggleCustomTheme({ showCustomTheme, toggleCustomTheme }) { exclusive value={showCustomTheme} onChange={toggleCustomTheme} - aria-placeholder="Platform" + aria-label="Toggle design language" sx={{ backgroundColor: 'background.default', '& .Mui-selected': { @@ -78,14 +78,11 @@ export default function SignUp() { const [passwordErrorMessage, setPasswordErrorMessage] = React.useState(''); const [nameError, setNameError] = React.useState(false); const [nameErrorMessage, setNameErrorMessage] = React.useState(''); - const [lastNameError, setLastNameError] = React.useState(false); - const [lastNameErrorMessage, setLastNameErrorMessage] = React.useState(''); const validateInputs = () => { const email = document.getElementById('email'); const password = document.getElementById('password'); const name = document.getElementById('name'); - const lastName = document.getElementById('lastName'); let isValid = true; @@ -116,15 +113,6 @@ export default function SignUp() { setNameErrorMessage(''); } - if (!lastName.value || lastName.value.length < 1) { - setLastNameError(true); - setLastNameErrorMessage('Name is required.'); - isValid = false; - } else { - setLastNameError(false); - setLastNameErrorMessage(''); - } - return isValid; }; @@ -151,18 +139,17 @@ export default function SignUp() { <ThemeProvider theme={showCustomTheme ? SignUpTheme : defaultTheme}> <CssBaseline /> <Stack + component="main" direction="column" justifyContent="space-between" sx={(theme) => ({ + backgroundRepeat: 'no-repeat', backgroundImage: theme.palette.mode === 'light' - ? `linear-gradient(180deg, ${alpha('#CEE5FD', 0.2)}, #FFF)` - : `linear-gradient(${alpha('#02294F', 0.2)}, ${alpha('#021F3B', 0.0)})`, - backgroundRepeat: 'no-repeat', - height: { xs: 'auto', sm: '100dvh' }, + ? 'radial-gradient(ellipse at 50% 50%, hsl(210, 100%, 97%), hsl(0, 0%, 100%))' + : 'radial-gradient(at 50% 50%, hsla(210, 100%, 16%, 0.3), hsl(220, 30%, 5%))', pb: { xs: 12, sm: 0 }, })} - component="main" > <Stack direction="row" @@ -196,11 +183,11 @@ export default function SignUp() { gap: 4, boxShadow: theme.palette.mode === 'light' - ? 'rgba(0, 0, 0, 0.05) 0px 5px 15px 0px, rgba(25, 28, 33, 0.05) 0px 15px 35px -5px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px' - : 'rgba(0, 0, 0, 0.5) 0px 5px 15px 0px, rgba(25, 28, 33, 0.08) 0px 15px 35px -5px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px', + ? 'hsla(220, 30%, 5%, 0.05) 0px 5px 15px 0px, hsla(220, 25%, 10%, 0.05) 0px 15px 35px -5px, hsla(220, 30%, 5%, 0.05) 0px 0px 0px 1px' + : 'hsla(220, 30%, 5%, 0.5) 0px 5px 15px 0px, hsla(220, 25%, 10%, 0.08) 0px 15px 35px -5px, hsla(220, 30%, 5%, 0.05) 0px 0px 0px 1px', })} > - <SitemarkIcon sx={{ width: 100 }} /> + <SitemarkIcon /> <Typography component="h1" variant="h4" @@ -214,33 +201,19 @@ export default function SignUp() { sx={{ display: 'flex', flexDirection: 'column', gap: 2 }} > <FormControl> - <FormLabel htmlFor="name">Name</FormLabel> + <FormLabel htmlFor="name">Full name</FormLabel> <TextField autoComplete="name" name="name" required fullWidth id="name" - placeholder="John" + placeholder="Jon Snow" error={nameError} helperText={nameErrorMessage} color={nameError ? 'error' : 'primary'} /> </FormControl> - <FormControl> - <FormLabel htmlFor="lastName">Last name</FormLabel> - <TextField - required - fullWidth - id="lastName" - placeholder="Snow" - name="lastName" - autoComplete="last-name" - error={lastNameError} - helperText={lastNameErrorMessage} - color={lastNameError ? 'error' : 'primary'} - /> - </FormControl> <FormControl> <FormLabel htmlFor="email">Email</FormLabel> <TextField diff --git a/docs/data/material/getting-started/templates/sign-up/SignUp.tsx b/docs/data/material/getting-started/templates/sign-up/SignUp.tsx index d1974095423d59..697581720ed604 100644 --- a/docs/data/material/getting-started/templates/sign-up/SignUp.tsx +++ b/docs/data/material/getting-started/templates/sign-up/SignUp.tsx @@ -14,7 +14,7 @@ import ToggleButton from '@mui/material/ToggleButton'; import ToggleButtonGroup from '@mui/material/ToggleButtonGroup'; import Typography from '@mui/material/Typography'; import Stack from '@mui/material/Stack'; -import { alpha, PaletteMode } from '@mui/material'; +import { PaletteMode } from '@mui/material'; import { createTheme, ThemeProvider } from '@mui/material/styles'; import AutoAwesomeRoundedIcon from '@mui/icons-material/AutoAwesomeRounded'; @@ -49,7 +49,7 @@ function ToggleCustomTheme({ exclusive value={showCustomTheme} onChange={toggleCustomTheme} - aria-placeholder="Platform" + aria-label="Toggle design language" sx={{ backgroundColor: 'background.default', '& .Mui-selected': { @@ -78,14 +78,11 @@ export default function SignUp() { const [passwordErrorMessage, setPasswordErrorMessage] = React.useState(''); const [nameError, setNameError] = React.useState(false); const [nameErrorMessage, setNameErrorMessage] = React.useState(''); - const [lastNameError, setLastNameError] = React.useState(false); - const [lastNameErrorMessage, setLastNameErrorMessage] = React.useState(''); const validateInputs = () => { const email = document.getElementById('email') as HTMLInputElement; const password = document.getElementById('password') as HTMLInputElement; const name = document.getElementById('name') as HTMLInputElement; - const lastName = document.getElementById('lastName') as HTMLInputElement; let isValid = true; @@ -116,15 +113,6 @@ export default function SignUp() { setNameErrorMessage(''); } - if (!lastName.value || lastName.value.length < 1) { - setLastNameError(true); - setLastNameErrorMessage('Name is required.'); - isValid = false; - } else { - setLastNameError(false); - setLastNameErrorMessage(''); - } - return isValid; }; @@ -151,18 +139,17 @@ export default function SignUp() { <ThemeProvider theme={showCustomTheme ? SignUpTheme : defaultTheme}> <CssBaseline /> <Stack + component="main" direction="column" justifyContent="space-between" sx={(theme) => ({ + backgroundRepeat: 'no-repeat', backgroundImage: theme.palette.mode === 'light' - ? `linear-gradient(180deg, ${alpha('#CEE5FD', 0.2)}, #FFF)` - : `linear-gradient(${alpha('#02294F', 0.2)}, ${alpha('#021F3B', 0.0)})`, - backgroundRepeat: 'no-repeat', - height: { xs: 'auto', sm: '100dvh' }, + ? 'radial-gradient(ellipse at 50% 50%, hsl(210, 100%, 97%), hsl(0, 0%, 100%))' + : 'radial-gradient(at 50% 50%, hsla(210, 100%, 16%, 0.3), hsl(220, 30%, 5%))', pb: { xs: 12, sm: 0 }, })} - component="main" > <Stack direction="row" @@ -196,11 +183,11 @@ export default function SignUp() { gap: 4, boxShadow: theme.palette.mode === 'light' - ? 'rgba(0, 0, 0, 0.05) 0px 5px 15px 0px, rgba(25, 28, 33, 0.05) 0px 15px 35px -5px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px' - : 'rgba(0, 0, 0, 0.5) 0px 5px 15px 0px, rgba(25, 28, 33, 0.08) 0px 15px 35px -5px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px', + ? 'hsla(220, 30%, 5%, 0.05) 0px 5px 15px 0px, hsla(220, 25%, 10%, 0.05) 0px 15px 35px -5px, hsla(220, 30%, 5%, 0.05) 0px 0px 0px 1px' + : 'hsla(220, 30%, 5%, 0.5) 0px 5px 15px 0px, hsla(220, 25%, 10%, 0.08) 0px 15px 35px -5px, hsla(220, 30%, 5%, 0.05) 0px 0px 0px 1px', })} > - <SitemarkIcon sx={{ width: 100 }} /> + <SitemarkIcon /> <Typography component="h1" variant="h4" @@ -214,33 +201,19 @@ export default function SignUp() { sx={{ display: 'flex', flexDirection: 'column', gap: 2 }} > <FormControl> - <FormLabel htmlFor="name">Name</FormLabel> + <FormLabel htmlFor="name">Full name</FormLabel> <TextField autoComplete="name" name="name" required fullWidth id="name" - placeholder="John" + placeholder="Jon Snow" error={nameError} helperText={nameErrorMessage} color={nameError ? 'error' : 'primary'} /> </FormControl> - <FormControl> - <FormLabel htmlFor="lastName">Last name</FormLabel> - <TextField - required - fullWidth - id="lastName" - placeholder="Snow" - name="lastName" - autoComplete="last-name" - error={lastNameError} - helperText={lastNameErrorMessage} - color={lastNameError ? 'error' : 'primary'} - /> - </FormControl> <FormControl> <FormLabel htmlFor="email">Email</FormLabel> <TextField diff --git a/docs/data/material/getting-started/templates/sign-up/ToggleColorMode.tsx b/docs/data/material/getting-started/templates/sign-up/ToggleColorMode.tsx index 3783eb9d80714d..1fd99c941fe0ab 100644 --- a/docs/data/material/getting-started/templates/sign-up/ToggleColorMode.tsx +++ b/docs/data/material/getting-started/templates/sign-up/ToggleColorMode.tsx @@ -11,7 +11,10 @@ interface ToggleColorModeProps { toggleColorMode: () => void; } -function ToggleColorMode({ mode, toggleColorMode }: ToggleColorModeProps) { +export default function ToggleColorMode({ + mode, + toggleColorMode, +}: ToggleColorModeProps) { return ( <IconButton onClick={toggleColorMode} @@ -26,5 +29,3 @@ function ToggleColorMode({ mode, toggleColorMode }: ToggleColorModeProps) { </IconButton> ); } - -export default ToggleColorMode; diff --git a/docs/data/material/getting-started/templates/sign-up/getSignUpTheme.js b/docs/data/material/getting-started/templates/sign-up/getSignUpTheme.js index 39d6b9d1db1d7e..e066b0a2d08458 100644 --- a/docs/data/material/getting-started/templates/sign-up/getSignUpTheme.js +++ b/docs/data/material/getting-started/templates/sign-up/getSignUpTheme.js @@ -1,73 +1,75 @@ import * as React from 'react'; -import { alpha } from '@mui/material/styles'; +import { createTheme, alpha } from '@mui/material/styles'; import CheckBoxOutlineBlankRoundedIcon from '@mui/icons-material/CheckBoxOutlineBlankRounded'; import CheckRoundedIcon from '@mui/icons-material/CheckRounded'; -export const brand = { - 50: '#F0F7FF', - 100: '#CEE5FD', - 200: '#9CCCFC', - 300: '#55A6F6', - 400: '#0A66C2', - 500: '#0959AA', - 600: '#064079', - 700: '#033363', - 800: '#02294F', - 900: '#021F3B', -}; +const customTheme = createTheme(); -export const secondary = { - 50: '#F9F0FF', - 100: '#E9CEFD', - 200: '#D49CFC', - 300: '#B355F6', - 400: '#750AC2', - 500: '#6709AA', - 600: '#490679', - 700: '#3B0363', - 800: '#2F024F', - 900: '#23023B', +export const brand = { + 50: 'hsl(210, 100%, 97%)', + 100: 'hsl(210, 100%, 90%)', + 200: 'hsl(210, 100%, 80%)', + 300: 'hsl(210, 100%, 65%)', + 400: 'hsl(210, 98%, 48%)', + 500: 'hsl(210, 98%, 42%)', + 600: 'hsl(210, 98%, 55%)', + 700: 'hsl(210, 100%, 35%)', + 800: 'hsl(210, 100%, 16%)', + 900: 'hsl(210, 100%, 21%)', }; export const gray = { - 50: '#FBFCFE', - 100: '#EAF0F5', - 200: '#D6E2EB', - 300: '#BFCCD9', - 400: '#94A6B8', - 500: '#5B6B7C', - 600: '#4C5967', - 700: '#364049', - 800: '#131B20', - 900: '#090E10', + 50: 'hsl(220, 60%, 99%)', + 100: 'hsl(220, 35%, 94%)', + 200: 'hsl(220, 35%, 88%)', + 300: 'hsl(220, 25%, 80%)', + 400: 'hsl(220, 20%, 65%)', + 500: 'hsl(220, 20%, 42%)', + 600: 'hsl(220, 25%, 35%)', + 700: 'hsl(220, 25%, 25%)', + 800: 'hsl(220, 25%, 10%)', + 900: 'hsl(220, 30%, 5%)', }; export const green = { - 50: '#F6FEF6', - 100: '#E3FBE3', - 200: '#C7F7C7', - 300: '#A1E8A1', - 400: '#51BC51', - 500: '#1F7A1F', - 600: '#136C13', - 700: '#0A470A', - 800: '#042F04', - 900: '#021D02', + 50: 'hsl(120, 80%, 98%)', + 100: 'hsl(120, 75%, 94%)', + 200: 'hsl(120, 75%, 87%)', + 300: 'hsl(120, 61%, 77%)', + 400: 'hsl(120, 44%, 53%)', + 500: 'hsl(120, 59%, 30%)', + 600: 'hsl(120, 70%, 25%)', + 700: 'hsl(120, 75%, 16%)', + 800: 'hsl(120, 84%, 10%)', + 900: 'hsl(120, 87%, 6%)', +}; + +export const orange = { + 50: 'hsl(45, 100%, 97%)', + 100: 'hsl(45, 92%, 90%)', + 200: 'hsl(45, 94%, 80%)', + 300: 'hsl(45, 90%, 65%)', + 400: 'hsl(45, 90%, 40%)', + 500: 'hsl(45, 90%, 35%)', + 600: 'hsl(45, 91%, 25%)', + 700: 'hsl(45, 94%, 20%)', + 800: 'hsl(45, 95%, 16%)', + 900: 'hsl(45, 93%, 12%)', }; export const red = { - 50: '#FFF0F0', - 100: '#FDCECE', - 200: '#FC9C9C', - 300: '#F65555', - 400: '#C20A0A', - 500: '#910808', - 600: '#790606', - 700: '#630303', - 800: '#4F0202', - 900: '#3B0202', + 50: 'hsl(0, 100%, 97%)', + 100: 'hsl(0, 92%, 90%)', + 200: 'hsl(0, 94%, 80%)', + 300: 'hsl(0, 90%, 65%)', + 400: 'hsl(0, 90%, 40%)', + 500: 'hsl(0, 90%, 30%)', + 600: 'hsl(0, 91%, 25%)', + 700: 'hsl(0, 94%, 20%)', + 800: 'hsl(0, 95%, 16%)', + 900: 'hsl(0, 93%, 12%)', }; const getDesignTokens = (mode) => ({ @@ -85,26 +87,25 @@ const getDesignTokens = (mode) => ({ dark: brand[800], }), }, - secondary: { - light: secondary[300], - main: secondary[500], - dark: secondary[800], + warning: { + light: orange[300], + main: orange[400], + dark: orange[800], ...(mode === 'dark' && { - light: secondary[400], - main: secondary[500], - dark: secondary[900], + light: orange[400], + main: orange[500], + dark: orange[700], }), }, - warning: { - main: '#F7B538', - dark: '#F79F00', - ...(mode === 'dark' && { main: '#F7B538', dark: '#F79F00' }), - }, error: { - light: red[50], - main: red[500], - dark: red[700], - ...(mode === 'dark' && { light: '#D32F2F', main: '#D32F2F', dark: '#B22A2A' }), + light: red[300], + main: red[400], + dark: red[800], + ...(mode === 'dark' && { + light: red[400], + main: red[500], + dark: red[700], + }), }, success: { light: green[300], @@ -117,27 +118,18 @@ const getDesignTokens = (mode) => ({ }), }, grey: { - 50: gray[50], - 100: gray[100], - 200: gray[200], - 300: gray[300], - 400: gray[400], - 500: gray[500], - 600: gray[600], - 700: gray[700], - 800: gray[800], - 900: gray[900], + ...gray, }, divider: mode === 'dark' ? alpha(gray[600], 0.3) : alpha(gray[300], 0.5), background: { - default: '#fff', - paper: gray[50], - ...(mode === 'dark' && { default: gray[900], paper: gray[800] }), + default: 'hsl(0, 0%, 100%)', + paper: gray[100], + ...(mode === 'dark' && { default: 'hsl(220, 30%, 3%)', paper: gray[900] }), }, text: { primary: gray[800], secondary: gray[600], - ...(mode === 'dark' && { primary: '#fff', secondary: gray[400] }), + ...(mode === 'dark' && { primary: 'hsl(0, 0%, 100%)', secondary: gray[400] }), }, action: { selected: `${alpha(brand[200], 0.2)}`, @@ -149,51 +141,54 @@ const getDesignTokens = (mode) => ({ typography: { fontFamily: ['"Inter", "sans-serif"'].join(','), h1: { - fontSize: 60, + fontSize: customTheme.typography.pxToRem(60), fontWeight: 600, - lineHeight: 78 / 70, - letterSpacing: -0.2, + lineHeight: 1.2, + letterSpacing: -0.5, }, h2: { - fontSize: 48, + fontSize: customTheme.typography.pxToRem(48), fontWeight: 600, lineHeight: 1.2, }, h3: { - fontSize: 42, + fontSize: customTheme.typography.pxToRem(42), lineHeight: 1.2, }, h4: { - fontSize: 36, + fontSize: customTheme.typography.pxToRem(36), fontWeight: 500, lineHeight: 1.5, }, h5: { - fontSize: 20, + fontSize: customTheme.typography.pxToRem(20), fontWeight: 600, }, h6: { - fontSize: 18, + fontSize: customTheme.typography.pxToRem(18), }, subtitle1: { - fontSize: 18, + fontSize: customTheme.typography.pxToRem(18), }, subtitle2: { - fontSize: 16, + fontSize: customTheme.typography.pxToRem(16), }, body1: { + fontSize: customTheme.typography.pxToRem(15), fontWeight: 400, - fontSize: 15, }, body2: { + fontSize: customTheme.typography.pxToRem(14), fontWeight: 400, - fontSize: 14, }, caption: { + fontSize: customTheme.typography.pxToRem(12), fontWeight: 400, - fontSize: 12, }, }, + shape: { + borderRadius: 12, + }, }); export default function getSignUpTheme(mode) { @@ -208,9 +203,9 @@ export default function getSignUpTheme(mode) { styleOverrides: { root: { boxSizing: 'border-box', - transition: 'all 100ms ease-in', + transition: 'all 100ms ease', '&:focus-visible': { - outline: `3px solid ${alpha(brand[500], 0.5)}`, + outline: `3px solid ${alpha(brand[400], 0.5)}`, outlineOffset: '2px', }, }, @@ -220,34 +215,45 @@ export default function getSignUpTheme(mode) { styleOverrides: { root: ({ theme, ownerState }) => ({ boxShadow: 'none', - borderRadius: '10px', + borderRadius: theme.shape.borderRadius, textTransform: 'none', ...(ownerState.size === 'small' && { - maxHeight: '32px', + height: '2rem', // 32px + padding: '0 0.5rem', }), ...(ownerState.size === 'medium' && { - height: '40px', + height: '2.5rem', // 40px }), ...(ownerState.variant === 'contained' && ownerState.color === 'primary' && { - color: brand[50], - background: brand[500], - backgroundImage: `linear-gradient(to bottom, ${brand[400]}, ${brand[600]})`, - boxShadow: `inset 0 1px ${alpha(brand[300], 0.5)}`, + color: 'white', + backgroundColor: brand[300], + backgroundImage: `linear-gradient(to bottom, ${alpha(brand[400], 0.8)}, ${brand[500]})`, + boxShadow: `inset 0 2px 0 ${alpha(brand[200], 0.2)}, inset 0 -2px 0 ${alpha(brand[700], 0.4)}`, border: `1px solid ${brand[500]}`, '&:hover': { - background: brand[400], - backgroundImage: 'none', - boxShadow: `0 0 0 1px ${alpha(brand[300], 0.5)}`, + backgroundColor: brand[700], + boxShadow: 'none', + }, + '&:active': { + backgroundColor: brand[700], + boxShadow: `inset 0 2.5px 0 ${alpha(brand[700], 0.4)}`, }, }), ...(ownerState.variant === 'outlined' && { + color: brand[700], backgroundColor: alpha(brand[300], 0.1), - borderColor: brand[300], - color: brand[500], + borderColor: alpha(brand[200], 0.8), + boxShadow: `inset 0 2px ${alpha(brand[50], 0.5)}, inset 0 -2px ${alpha(brand[200], 0.2)}`, '&:hover': { + backgroundColor: alpha(brand[300], 0.2), + borderColor: alpha(brand[300], 0.5), + boxShadow: 'none', + }, + '&:active': { backgroundColor: alpha(brand[300], 0.3), - borderColor: brand[200], + boxShadow: `inset 0 2.5px 0 ${alpha(brand[400], 0.2)}`, + backgroundImage: 'none', }, }), ...(ownerState.variant === 'outlined' && @@ -257,84 +263,174 @@ export default function getSignUpTheme(mode) { color: gray[700], '&:hover': { backgroundColor: alpha(gray[300], 0.3), - borderColor: gray[200], + borderColor: alpha(gray[300], 0.5), + boxShadow: 'none', + }, + '&:active': { + backgroundColor: alpha(gray[300], 0.4), + boxShadow: `inset 0 2.5px 0 ${alpha(gray[400], 0.2)}`, + backgroundImage: 'none', + }, + }), + ...(ownerState.variant === 'text' && + ownerState.color === 'primary' && { + color: brand[700], + '&:hover': { + backgroundColor: alpha(brand[300], 0.3), + }, + }), + ...(ownerState.variant === 'text' && + ownerState.color === 'info' && { + color: gray[700], + '&:hover': { + backgroundColor: alpha(gray[300], 0.3), }, }), - ...(ownerState.variant === 'text' && { - color: brand[600], - '&:hover': { - backgroundColor: alpha(brand[300], 0.3), - borderColor: brand[200], - }, - }), ...(theme.palette.mode === 'dark' && { - ...(ownerState.variant === 'contained' && - ownerState.color === 'primary' && { - border: `1px solid ${brand[600]}`, - backgroundImage: `linear-gradient(to bottom, ${brand[500]}, ${brand[600]})`, - backgroundColor: brand[500], - '&:hover': { - background: brand[600], - backgroundImage: 'none', - boxShadow: `0 0 0 1px ${alpha(brand[700], 0.5)}`, - }, - }), ...(ownerState.variant === 'outlined' && { + color: brand[200], backgroundColor: alpha(brand[600], 0.1), - borderColor: brand[700], - color: brand[300], + borderColor: alpha(brand[600], 0.6), + boxShadow: `inset 0 2.5px ${alpha(brand[400], 0.1)}, inset 0 -2px ${alpha(gray[900], 0.5)}`, '&:hover': { - backgroundColor: alpha(brand[600], 0.3), - borderColor: brand[700], + backgroundColor: alpha(brand[700], 0.2), + borderColor: alpha(brand[700], 0.5), + boxShadow: 'none', + }, + '&:active': { + backgroundColor: alpha(brand[800], 0.2), + boxShadow: `inset 0 2.5px 0 ${alpha(brand[900], 0.4)}`, + backgroundImage: 'none', }, }), + ...(ownerState.variant === 'text' && + ownerState.color === 'info' && { + color: gray[200], + '&:hover': { + backgroundColor: alpha(gray[700], 0.3), + }, + }), ...(ownerState.variant === 'outlined' && ownerState.color === 'secondary' && { + color: gray[300], backgroundColor: alpha(gray[600], 0.1), borderColor: alpha(gray[700], 0.5), - color: gray[300], + boxShadow: `inset 0 2.5px ${alpha(gray[600], 0.1)}, inset 0 -2px ${alpha(gray[900], 0.5)}`, + '&:hover': { + backgroundColor: alpha(gray[700], 0.2), + borderColor: alpha(gray[700], 0.5), + boxShadow: 'none', + }, + '&:active': { + backgroundColor: alpha(gray[800], 0.2), + boxShadow: `inset 0 2.5px 0 ${alpha(gray[900], 0.4)}`, + backgroundImage: 'none', + }, + }), + ...(ownerState.variant === 'text' && + ownerState.color === 'primary' && { + color: brand[200], '&:hover': { - backgroundColor: alpha(gray[600], 0.3), - borderColor: gray[700], + backgroundColor: alpha(brand[700], 0.3), }, }), - ...(ownerState.variant === 'text' && { - color: brand[200], - '&:hover': { - backgroundColor: alpha(brand[600], 0.3), - borderColor: brand[700], - }, - }), }), }), }, }, - MuiIconButton: { + MuiCard: { styleOverrides: { root: ({ theme, ownerState }) => ({ - ...(ownerState.size === 'small' && { - height: '32px', - width: '32px', + transition: 'all 100ms ease', + backgroundColor: gray[50], + borderRadius: theme.shape.borderRadius, + border: `1px solid ${alpha(gray[200], 0.5)}`, + boxShadow: 'none', + ...(ownerState.variant === 'outlined' && { + border: `1px solid ${gray[200]}`, + boxShadow: 'none', + background: `linear-gradient(to bottom, hsl(0, 0%, 100%), ${gray[50]})`, }), - ...(ownerState.size === 'medium' && { - height: '40px', - width: '40px', + ...(theme.palette.mode === 'dark' && { + backgroundColor: alpha(gray[800], 0.6), + border: `1px solid ${alpha(gray[700], 0.3)}`, + ...(ownerState.variant === 'outlined' && { + border: `1px solid ${alpha(gray[700], 0.4)}`, + boxShadow: 'none', + background: `linear-gradient(to bottom, ${gray[900]}, ${alpha( + gray[800], + 0.5, + )})`, + }), }), - color: brand[600], + }), + }, + }, + MuiCheckbox: { + defaultProps: { + disableRipple: true, + icon: ( + <CheckBoxOutlineBlankRoundedIcon + sx={{ color: 'hsla(210, 0%, 0%, 0.0)' }} + /> + ), + checkedIcon: <CheckRoundedIcon sx={{ height: 14, width: 14 }} />, + }, + styleOverrides: { + root: ({ theme }) => ({ + margin: 10, + height: 16, + width: 16, + borderRadius: 5, + border: '1px solid ', + borderColor: alpha(gray[300], 0.8), + backgroundColor: alpha(gray[100], 0.4), + boxShadow: '0 0 0 1.5px hsla(210, 0%, 0%, 0.04) inset', + transition: 'border-color, background-color, 120ms ease-in', '&:hover': { - backgroundColor: alpha(brand[300], 0.3), - borderColor: brand[200], + borderColor: gray[400], + }, + '&.Mui-focusVisible': { + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '2px', + borderColor: brand[400], + }, + '&.Mui-checked': { + color: 'white', + backgroundColor: brand[500], + borderColor: brand[500], + boxShadow: `none`, + '&:hover': { + backgroundColor: brand[600], + }, }, ...(theme.palette.mode === 'dark' && { - color: brand[200], + borderColor: alpha(gray[700], 0.5), + boxShadow: '0 0 0 1.5px hsl(210, 0%, 0%) inset', + backgroundColor: alpha(gray[900], 0.8), '&:hover': { - backgroundColor: alpha(brand[600], 0.3), - borderColor: brand[700], + borderColor: brand[300], + }, + '&.Mui-focusVisible': { + borderColor: brand[400], + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '2px', }, }), }), }, }, + MuiDialog: { + styleOverrides: { + root: ({ theme }) => ({ + '& .MuiDialog-paper': { + borderRadius: '10px', + border: '1px solid', + borderColor: theme.palette.divider, + }, + }), + }, + }, MuiDivider: { styleOverrides: { root: ({ theme }) => ({ @@ -345,25 +441,80 @@ export default function getSignUpTheme(mode) { }), }, }, - MuiPaper: { + MuiFormLabel: { styleOverrides: { root: ({ theme }) => ({ - backgroundImage: 'none', - backgroundColor: gray[100], + typography: theme.typography.caption, + marginBottom: 8, + }), + }, + }, + MuiIconButton: { + styleOverrides: { + root: ({ theme, ownerState }) => ({ + ...(ownerState.size === 'small' && { + height: '2rem', + width: '2rem', + }), + ...(ownerState.size === 'medium' && { + height: '2.5rem', + width: '2.5rem', + }), + color: brand[500], + '&:hover': { + backgroundColor: alpha(brand[300], 0.3), + borderColor: brand[200], + }, ...(theme.palette.mode === 'dark' && { - backgroundColor: gray[800], + color: brand[200], + '&:hover': { + backgroundColor: alpha(brand[600], 0.3), + borderColor: brand[700], + }, }), }), }, }, - MuiDialog: { + MuiInputBase: { + styleOverrides: { + root: { + border: 'none', + }, + }, + }, + MuiLink: { + defaultProps: { + underline: 'none', + }, styleOverrides: { root: ({ theme }) => ({ - '& .MuiDialog-paper': { - borderRadius: '10px', - border: '1px solid', - borderColor: theme.palette.divider, + color: brand[700], + fontWeight: 500, + position: 'relative', + textDecoration: 'none', + '&::before': { + content: '""', + position: 'absolute', + width: 0, + height: '1px', + bottom: 0, + left: 0, + backgroundColor: brand[200], + opacity: 0.7, + transition: 'width 0.3s ease, opacity 0.3s ease', + }, + '&:hover::before': { + width: '100%', + opacity: 1, + }, + '&:focus-visible': { + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '4px', + borderRadius: '2px', }, + ...(theme.palette.mode === 'dark' && { + color: brand[200], + }), }), }, }, @@ -382,6 +533,7 @@ export default function getSignUpTheme(mode) { borderRadius: '8px', }, '& .MuiInputBase-input': { + fontSize: '1rem', '&::placeholder': { opacity: 0.7, color: gray[500], @@ -390,10 +542,10 @@ export default function getSignUpTheme(mode) { boxSizing: 'border-box', flexGrow: 1, height: '40px', - borderRadius: '10px', + borderRadius: theme.shape.borderRadius, border: '1px solid', borderColor: alpha(gray[300], 0.8), - boxShadow: '0 0 0 1.5px rgba(0, 0, 0, 0.04) inset', + boxShadow: '0 0 0 1.5px hsla(210, 0%, 0%, 0.02) inset', transition: 'border-color 120ms ease-in', backgroundColor: alpha(gray[100], 0.4), '&:hover': { @@ -418,13 +570,14 @@ export default function getSignUpTheme(mode) { borderRadius: '8px', }, '& .MuiInputBase-input': { + fontSize: '1rem', '&::placeholder': { opacity: 1, color: gray[500], }, }, borderColor: alpha(gray[700], 0.5), - boxShadow: '0 0 0 1.5px rgb(0, 0, 0) inset', + boxShadow: '0 0 0 1.5px hsl(210, 0%, 0%) inset', backgroundColor: alpha(gray[900], 0.8), transition: 'border-color 120ms ease-in', '&:hover': { @@ -446,154 +599,29 @@ export default function getSignUpTheme(mode) { }), }, }, - MuiFormLabel: { - styleOverrides: { - root: ({ theme }) => ({ - typography: theme.typography.caption, - marginBottom: 8, - }), - }, - }, - MuiInputBase: { - styleOverrides: { - root: { - border: 'none', - }, - }, - }, - MuiCard: { - styleOverrides: { - root: ({ theme, ownerState }) => ({ - backgroundColor: gray[50], - borderRadius: 10, - outline: `1px solid ${alpha(gray[200], 0.8)}`, - boxShadow: 'none', - ...(ownerState.variant === 'outlined' && { - border: 0, - boxSizing: 'border-box', - background: `linear-gradient(to bottom, #FFF, ${gray[50]})`, - }), - ...(theme.palette.mode === 'dark' && { - backgroundColor: alpha(gray[800], 0.6), - outline: `1px solid ${alpha(gray[700], 0.5)}`, - ...(ownerState.variant === 'outlined' && { - boxSizing: 'border-box', - background: `linear-gradient(to bottom, ${gray[900]}, ${alpha( - gray[800], - 0.5, - )})`, - }), - }), - }), + MuiPaper: { + defaultProps: { + elevation: 0, }, }, - MuiLink: { + MuiStack: { defaultProps: { - underline: 'none', - }, - styleOverrides: { - root: ({ theme }) => ({ - color: brand[600], - fontWeight: 500, - position: 'relative', - textDecoration: 'none', - '&::before': { - content: '""', - position: 'absolute', - width: 0, - height: '1px', - bottom: 0, - left: 0, - backgroundColor: brand[200], - opacity: 0.7, - transition: 'width 0.3s ease, opacity 0.3s ease', - }, - '&:hover::before': { - width: '100%', - opacity: 1, - }, - '&:focus-visible': { - outline: `3px solid ${alpha(brand[500], 0.5)}`, - outlineOffset: '4px', - borderRadius: '2px', - }, - ...(theme.palette.mode === 'dark' && { - color: brand[200], - }), - }), + useFlexGap: true, }, }, MuiToggleButtonGroup: { styleOverrides: { root: ({ theme }) => ({ - borderRadius: '10px', - boxShadow: `0 4px 16px ${alpha(gray[400], 0.2)}`, + borderRadius: theme.shape.borderRadius, + boxShadow: `0 1px 2px hsla(210, 0%, 0%, 0.05), 0 2px 12px ${alpha(brand[200], 0.5)}`, '& .Mui-selected': { color: brand[500], }, ...(theme.palette.mode === 'dark' && { '& .Mui-selected': { - color: '#fff', - }, - boxShadow: `0 4px 16px ${alpha(brand[700], 0.5)}`, - }), - }), - }, - }, - MuiCheckbox: { - defaultProps: { - disableRipple: true, - icon: <CheckBoxOutlineBlankRoundedIcon sx={{ color: 'rgba(0,0,0,0)' }} />, - checkedIcon: <CheckRoundedIcon sx={{ height: 14, width: 14 }} />, - }, - styleOverrides: { - root: ({ theme }) => ({ - margin: 10, - height: 16, - width: 16, - borderRadius: 5, - border: '1px solid ', - borderColor: alpha(gray[300], 0.8), - boxShadow: '0 0 0 1.5px rgba(0, 0, 0, 0.04) inset', - transition: 'border-color 120ms ease-in', - backgroundColor: alpha(gray[100], 0.4), - '&:hover': { - borderColor: brand[300], - }, - '&.Mui-focusVisible': { - outline: `3px solid ${alpha(brand[500], 0.5)}`, - outlineOffset: '2px', - borderColor: brand[400], - }, - '&.Mui-checked': { - color: 'white', - backgroundColor: brand[500], - '&:hover': { - borderColor: brand[300], - backgroundColor: brand[600], - }, - }, - ...(theme.palette.mode === 'dark' && { - borderColor: alpha(gray[700], 0.5), - boxShadow: '0 0 0 1.5px rgb(0, 0, 0) inset', - backgroundColor: alpha(gray[900], 0.8), - '&:hover': { - borderColor: brand[300], - }, - '&.Mui-checked': { - color: 'white', - backgroundColor: brand[600], - boxShadow: '0 0 0 1px rgba(0, 0, 0, 0.2) inset', - '&:hover': { - borderColor: brand[300], - backgroundColor: brand[800], - }, - }, - '&.Mui-focusVisible': { - borderColor: brand[400], - outline: `3px solid ${alpha(brand[500], 0.5)}`, - outlineOffset: '2px', + color: 'hsl(0, 0%, 100%)', }, + boxShadow: `0 0 0 1px hsla(210, 0%, 0%, 0.5), 0 2px 12px ${alpha(brand[700], 0.5)}`, }), }), }, @@ -603,21 +631,15 @@ export default function getSignUpTheme(mode) { root: ({ theme }) => ({ padding: '12px 16px', textTransform: 'none', - borderRadius: '10px', + borderRadius: theme.shape.borderRadius, fontWeight: 500, ...(theme.palette.mode === 'dark' && { color: gray[400], - boxShadow: '0 4px 16px rgba(0, 0, 0, 0.5)', '&.Mui-selected': { color: brand[300] }, }), }), }, }, - MuiStack: { - defaultProps: { - useFlexGap: true, - }, - }, }, }; } diff --git a/docs/data/material/getting-started/templates/sign-up/getSignUpTheme.tsx b/docs/data/material/getting-started/templates/sign-up/getSignUpTheme.tsx index 51f2fa45444de8..19490022c87ad3 100644 --- a/docs/data/material/getting-started/templates/sign-up/getSignUpTheme.tsx +++ b/docs/data/material/getting-started/templates/sign-up/getSignUpTheme.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import type {} from '@mui/material/themeCssVarsAugmentation'; -import { alpha, ThemeOptions } from '@mui/material/styles'; +import { createTheme, ThemeOptions, alpha } from '@mui/material/styles'; import { PaletteMode } from '@mui/material'; import CheckBoxOutlineBlankRoundedIcon from '@mui/icons-material/CheckBoxOutlineBlankRounded'; @@ -23,69 +23,71 @@ declare module '@mui/material/styles/createPalette' { interface PaletteColor extends ColorRange {} } -export const brand = { - 50: '#F0F7FF', - 100: '#CEE5FD', - 200: '#9CCCFC', - 300: '#55A6F6', - 400: '#0A66C2', - 500: '#0959AA', - 600: '#064079', - 700: '#033363', - 800: '#02294F', - 900: '#021F3B', -}; +const customTheme = createTheme(); -export const secondary = { - 50: '#F9F0FF', - 100: '#E9CEFD', - 200: '#D49CFC', - 300: '#B355F6', - 400: '#750AC2', - 500: '#6709AA', - 600: '#490679', - 700: '#3B0363', - 800: '#2F024F', - 900: '#23023B', +export const brand = { + 50: 'hsl(210, 100%, 97%)', + 100: 'hsl(210, 100%, 90%)', + 200: 'hsl(210, 100%, 80%)', + 300: 'hsl(210, 100%, 65%)', + 400: 'hsl(210, 98%, 48%)', + 500: 'hsl(210, 98%, 42%)', + 600: 'hsl(210, 98%, 55%)', + 700: 'hsl(210, 100%, 35%)', + 800: 'hsl(210, 100%, 16%)', + 900: 'hsl(210, 100%, 21%)', }; export const gray = { - 50: '#FBFCFE', - 100: '#EAF0F5', - 200: '#D6E2EB', - 300: '#BFCCD9', - 400: '#94A6B8', - 500: '#5B6B7C', - 600: '#4C5967', - 700: '#364049', - 800: '#131B20', - 900: '#090E10', + 50: 'hsl(220, 60%, 99%)', + 100: 'hsl(220, 35%, 94%)', + 200: 'hsl(220, 35%, 88%)', + 300: 'hsl(220, 25%, 80%)', + 400: 'hsl(220, 20%, 65%)', + 500: 'hsl(220, 20%, 42%)', + 600: 'hsl(220, 25%, 35%)', + 700: 'hsl(220, 25%, 25%)', + 800: 'hsl(220, 25%, 10%)', + 900: 'hsl(220, 30%, 5%)', }; export const green = { - 50: '#F6FEF6', - 100: '#E3FBE3', - 200: '#C7F7C7', - 300: '#A1E8A1', - 400: '#51BC51', - 500: '#1F7A1F', - 600: '#136C13', - 700: '#0A470A', - 800: '#042F04', - 900: '#021D02', + 50: 'hsl(120, 80%, 98%)', + 100: 'hsl(120, 75%, 94%)', + 200: 'hsl(120, 75%, 87%)', + 300: 'hsl(120, 61%, 77%)', + 400: 'hsl(120, 44%, 53%)', + 500: 'hsl(120, 59%, 30%)', + 600: 'hsl(120, 70%, 25%)', + 700: 'hsl(120, 75%, 16%)', + 800: 'hsl(120, 84%, 10%)', + 900: 'hsl(120, 87%, 6%)', +}; + +export const orange = { + 50: 'hsl(45, 100%, 97%)', + 100: 'hsl(45, 92%, 90%)', + 200: 'hsl(45, 94%, 80%)', + 300: 'hsl(45, 90%, 65%)', + 400: 'hsl(45, 90%, 40%)', + 500: 'hsl(45, 90%, 35%)', + 600: 'hsl(45, 91%, 25%)', + 700: 'hsl(45, 94%, 20%)', + 800: 'hsl(45, 95%, 16%)', + 900: 'hsl(45, 93%, 12%)', }; export const red = { - 50: '#FFF0F0', - 100: '#FDCECE', - 200: '#FC9C9C', - 300: '#F65555', - 400: '#C20A0A', - 500: '#910808', - 600: '#790606', - 700: '#630303', - 800: '#4F0202', - 900: '#3B0202', + 50: 'hsl(0, 100%, 97%)', + 100: 'hsl(0, 92%, 90%)', + 200: 'hsl(0, 94%, 80%)', + 300: 'hsl(0, 90%, 65%)', + 400: 'hsl(0, 90%, 40%)', + 500: 'hsl(0, 90%, 30%)', + 600: 'hsl(0, 91%, 25%)', + 700: 'hsl(0, 94%, 20%)', + 800: 'hsl(0, 95%, 16%)', + 900: 'hsl(0, 93%, 12%)', }; const getDesignTokens = (mode: PaletteMode) => ({ @@ -103,26 +105,25 @@ const getDesignTokens = (mode: PaletteMode) => ({ dark: brand[800], }), }, - secondary: { - light: secondary[300], - main: secondary[500], - dark: secondary[800], + warning: { + light: orange[300], + main: orange[400], + dark: orange[800], ...(mode === 'dark' && { - light: secondary[400], - main: secondary[500], - dark: secondary[900], + light: orange[400], + main: orange[500], + dark: orange[700], }), }, - warning: { - main: '#F7B538', - dark: '#F79F00', - ...(mode === 'dark' && { main: '#F7B538', dark: '#F79F00' }), - }, error: { - light: red[50], - main: red[500], - dark: red[700], - ...(mode === 'dark' && { light: '#D32F2F', main: '#D32F2F', dark: '#B22A2A' }), + light: red[300], + main: red[400], + dark: red[800], + ...(mode === 'dark' && { + light: red[400], + main: red[500], + dark: red[700], + }), }, success: { light: green[300], @@ -135,27 +136,18 @@ const getDesignTokens = (mode: PaletteMode) => ({ }), }, grey: { - 50: gray[50], - 100: gray[100], - 200: gray[200], - 300: gray[300], - 400: gray[400], - 500: gray[500], - 600: gray[600], - 700: gray[700], - 800: gray[800], - 900: gray[900], + ...gray, }, divider: mode === 'dark' ? alpha(gray[600], 0.3) : alpha(gray[300], 0.5), background: { - default: '#fff', - paper: gray[50], - ...(mode === 'dark' && { default: gray[900], paper: gray[800] }), + default: 'hsl(0, 0%, 100%)', + paper: gray[100], + ...(mode === 'dark' && { default: 'hsl(220, 30%, 3%)', paper: gray[900] }), }, text: { primary: gray[800], secondary: gray[600], - ...(mode === 'dark' && { primary: '#fff', secondary: gray[400] }), + ...(mode === 'dark' && { primary: 'hsl(0, 0%, 100%)', secondary: gray[400] }), }, action: { selected: `${alpha(brand[200], 0.2)}`, @@ -167,51 +159,54 @@ const getDesignTokens = (mode: PaletteMode) => ({ typography: { fontFamily: ['"Inter", "sans-serif"'].join(','), h1: { - fontSize: 60, + fontSize: customTheme.typography.pxToRem(60), fontWeight: 600, - lineHeight: 78 / 70, - letterSpacing: -0.2, + lineHeight: 1.2, + letterSpacing: -0.5, }, h2: { - fontSize: 48, + fontSize: customTheme.typography.pxToRem(48), fontWeight: 600, lineHeight: 1.2, }, h3: { - fontSize: 42, + fontSize: customTheme.typography.pxToRem(42), lineHeight: 1.2, }, h4: { - fontSize: 36, + fontSize: customTheme.typography.pxToRem(36), fontWeight: 500, lineHeight: 1.5, }, h5: { - fontSize: 20, + fontSize: customTheme.typography.pxToRem(20), fontWeight: 600, }, h6: { - fontSize: 18, + fontSize: customTheme.typography.pxToRem(18), }, subtitle1: { - fontSize: 18, + fontSize: customTheme.typography.pxToRem(18), }, subtitle2: { - fontSize: 16, + fontSize: customTheme.typography.pxToRem(16), }, body1: { + fontSize: customTheme.typography.pxToRem(15), fontWeight: 400, - fontSize: 15, }, body2: { + fontSize: customTheme.typography.pxToRem(14), fontWeight: 400, - fontSize: 14, }, caption: { + fontSize: customTheme.typography.pxToRem(12), fontWeight: 400, - fontSize: 12, }, }, + shape: { + borderRadius: 12, + }, }); export default function getSignUpTheme(mode: PaletteMode): ThemeOptions { @@ -226,9 +221,9 @@ export default function getSignUpTheme(mode: PaletteMode): ThemeOptions { styleOverrides: { root: { boxSizing: 'border-box', - transition: 'all 100ms ease-in', + transition: 'all 100ms ease', '&:focus-visible': { - outline: `3px solid ${alpha(brand[500], 0.5)}`, + outline: `3px solid ${alpha(brand[400], 0.5)}`, outlineOffset: '2px', }, }, @@ -238,34 +233,45 @@ export default function getSignUpTheme(mode: PaletteMode): ThemeOptions { styleOverrides: { root: ({ theme, ownerState }) => ({ boxShadow: 'none', - borderRadius: '10px', + borderRadius: theme.shape.borderRadius, textTransform: 'none', ...(ownerState.size === 'small' && { - maxHeight: '32px', + height: '2rem', // 32px + padding: '0 0.5rem', }), ...(ownerState.size === 'medium' && { - height: '40px', + height: '2.5rem', // 40px }), ...(ownerState.variant === 'contained' && ownerState.color === 'primary' && { - color: brand[50], - background: brand[500], - backgroundImage: `linear-gradient(to bottom, ${brand[400]}, ${brand[600]})`, - boxShadow: `inset 0 1px ${alpha(brand[300], 0.5)}`, + color: 'white', + backgroundColor: brand[300], + backgroundImage: `linear-gradient(to bottom, ${alpha(brand[400], 0.8)}, ${brand[500]})`, + boxShadow: `inset 0 2px 0 ${alpha(brand[200], 0.2)}, inset 0 -2px 0 ${alpha(brand[700], 0.4)}`, border: `1px solid ${brand[500]}`, '&:hover': { - background: brand[400], - backgroundImage: 'none', - boxShadow: `0 0 0 1px ${alpha(brand[300], 0.5)}`, + backgroundColor: brand[700], + boxShadow: 'none', + }, + '&:active': { + backgroundColor: brand[700], + boxShadow: `inset 0 2.5px 0 ${alpha(brand[700], 0.4)}`, }, }), ...(ownerState.variant === 'outlined' && { + color: brand[700], backgroundColor: alpha(brand[300], 0.1), - borderColor: brand[300], - color: brand[500], + borderColor: alpha(brand[200], 0.8), + boxShadow: `inset 0 2px ${alpha(brand[50], 0.5)}, inset 0 -2px ${alpha(brand[200], 0.2)}`, '&:hover': { + backgroundColor: alpha(brand[300], 0.2), + borderColor: alpha(brand[300], 0.5), + boxShadow: 'none', + }, + '&:active': { backgroundColor: alpha(brand[300], 0.3), - borderColor: brand[200], + boxShadow: `inset 0 2.5px 0 ${alpha(brand[400], 0.2)}`, + backgroundImage: 'none', }, }), ...(ownerState.variant === 'outlined' && @@ -275,84 +281,174 @@ export default function getSignUpTheme(mode: PaletteMode): ThemeOptions { color: gray[700], '&:hover': { backgroundColor: alpha(gray[300], 0.3), - borderColor: gray[200], + borderColor: alpha(gray[300], 0.5), + boxShadow: 'none', + }, + '&:active': { + backgroundColor: alpha(gray[300], 0.4), + boxShadow: `inset 0 2.5px 0 ${alpha(gray[400], 0.2)}`, + backgroundImage: 'none', + }, + }), + ...(ownerState.variant === 'text' && + ownerState.color === 'primary' && { + color: brand[700], + '&:hover': { + backgroundColor: alpha(brand[300], 0.3), + }, + }), + ...(ownerState.variant === 'text' && + ownerState.color === 'info' && { + color: gray[700], + '&:hover': { + backgroundColor: alpha(gray[300], 0.3), }, }), - ...(ownerState.variant === 'text' && { - color: brand[600], - '&:hover': { - backgroundColor: alpha(brand[300], 0.3), - borderColor: brand[200], - }, - }), ...(theme.palette.mode === 'dark' && { - ...(ownerState.variant === 'contained' && - ownerState.color === 'primary' && { - border: `1px solid ${brand[600]}`, - backgroundImage: `linear-gradient(to bottom, ${brand[500]}, ${brand[600]})`, - backgroundColor: brand[500], - '&:hover': { - background: brand[600], - backgroundImage: 'none', - boxShadow: `0 0 0 1px ${alpha(brand[700], 0.5)}`, - }, - }), ...(ownerState.variant === 'outlined' && { + color: brand[200], backgroundColor: alpha(brand[600], 0.1), - borderColor: brand[700], - color: brand[300], + borderColor: alpha(brand[600], 0.6), + boxShadow: `inset 0 2.5px ${alpha(brand[400], 0.1)}, inset 0 -2px ${alpha(gray[900], 0.5)}`, '&:hover': { - backgroundColor: alpha(brand[600], 0.3), - borderColor: brand[700], + backgroundColor: alpha(brand[700], 0.2), + borderColor: alpha(brand[700], 0.5), + boxShadow: 'none', + }, + '&:active': { + backgroundColor: alpha(brand[800], 0.2), + boxShadow: `inset 0 2.5px 0 ${alpha(brand[900], 0.4)}`, + backgroundImage: 'none', }, }), + ...(ownerState.variant === 'text' && + ownerState.color === 'info' && { + color: gray[200], + '&:hover': { + backgroundColor: alpha(gray[700], 0.3), + }, + }), ...(ownerState.variant === 'outlined' && ownerState.color === 'secondary' && { + color: gray[300], backgroundColor: alpha(gray[600], 0.1), borderColor: alpha(gray[700], 0.5), - color: gray[300], + boxShadow: `inset 0 2.5px ${alpha(gray[600], 0.1)}, inset 0 -2px ${alpha(gray[900], 0.5)}`, + '&:hover': { + backgroundColor: alpha(gray[700], 0.2), + borderColor: alpha(gray[700], 0.5), + boxShadow: 'none', + }, + '&:active': { + backgroundColor: alpha(gray[800], 0.2), + boxShadow: `inset 0 2.5px 0 ${alpha(gray[900], 0.4)}`, + backgroundImage: 'none', + }, + }), + ...(ownerState.variant === 'text' && + ownerState.color === 'primary' && { + color: brand[200], '&:hover': { - backgroundColor: alpha(gray[600], 0.3), - borderColor: gray[700], + backgroundColor: alpha(brand[700], 0.3), }, }), - ...(ownerState.variant === 'text' && { - color: brand[200], - '&:hover': { - backgroundColor: alpha(brand[600], 0.3), - borderColor: brand[700], - }, - }), }), }), }, }, - MuiIconButton: { + MuiCard: { styleOverrides: { root: ({ theme, ownerState }) => ({ - ...(ownerState.size === 'small' && { - height: '32px', - width: '32px', + transition: 'all 100ms ease', + backgroundColor: gray[50], + borderRadius: theme.shape.borderRadius, + border: `1px solid ${alpha(gray[200], 0.5)}`, + boxShadow: 'none', + ...(ownerState.variant === 'outlined' && { + border: `1px solid ${gray[200]}`, + boxShadow: 'none', + background: `linear-gradient(to bottom, hsl(0, 0%, 100%), ${gray[50]})`, }), - ...(ownerState.size === 'medium' && { - height: '40px', - width: '40px', + ...(theme.palette.mode === 'dark' && { + backgroundColor: alpha(gray[800], 0.6), + border: `1px solid ${alpha(gray[700], 0.3)}`, + ...(ownerState.variant === 'outlined' && { + border: `1px solid ${alpha(gray[700], 0.4)}`, + boxShadow: 'none', + background: `linear-gradient(to bottom, ${gray[900]}, ${alpha( + gray[800], + 0.5, + )})`, + }), }), - color: brand[600], + }), + }, + }, + MuiCheckbox: { + defaultProps: { + disableRipple: true, + icon: ( + <CheckBoxOutlineBlankRoundedIcon + sx={{ color: 'hsla(210, 0%, 0%, 0.0)' }} + /> + ), + checkedIcon: <CheckRoundedIcon sx={{ height: 14, width: 14 }} />, + }, + styleOverrides: { + root: ({ theme }) => ({ + margin: 10, + height: 16, + width: 16, + borderRadius: 5, + border: '1px solid ', + borderColor: alpha(gray[300], 0.8), + backgroundColor: alpha(gray[100], 0.4), + boxShadow: '0 0 0 1.5px hsla(210, 0%, 0%, 0.04) inset', + transition: 'border-color, background-color, 120ms ease-in', '&:hover': { - backgroundColor: alpha(brand[300], 0.3), - borderColor: brand[200], + borderColor: gray[400], + }, + '&.Mui-focusVisible': { + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '2px', + borderColor: brand[400], + }, + '&.Mui-checked': { + color: 'white', + backgroundColor: brand[500], + borderColor: brand[500], + boxShadow: `none`, + '&:hover': { + backgroundColor: brand[600], + }, }, ...(theme.palette.mode === 'dark' && { - color: brand[200], + borderColor: alpha(gray[700], 0.5), + boxShadow: '0 0 0 1.5px hsl(210, 0%, 0%) inset', + backgroundColor: alpha(gray[900], 0.8), '&:hover': { - backgroundColor: alpha(brand[600], 0.3), - borderColor: brand[700], + borderColor: brand[300], + }, + '&.Mui-focusVisible': { + borderColor: brand[400], + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '2px', }, }), }), }, }, + MuiDialog: { + styleOverrides: { + root: ({ theme }) => ({ + '& .MuiDialog-paper': { + borderRadius: '10px', + border: '1px solid', + borderColor: theme.palette.divider, + }, + }), + }, + }, MuiDivider: { styleOverrides: { root: ({ theme }) => ({ @@ -363,25 +459,80 @@ export default function getSignUpTheme(mode: PaletteMode): ThemeOptions { }), }, }, - MuiPaper: { + MuiFormLabel: { styleOverrides: { root: ({ theme }) => ({ - backgroundImage: 'none', - backgroundColor: gray[100], + typography: theme.typography.caption, + marginBottom: 8, + }), + }, + }, + MuiIconButton: { + styleOverrides: { + root: ({ theme, ownerState }) => ({ + ...(ownerState.size === 'small' && { + height: '2rem', + width: '2rem', + }), + ...(ownerState.size === 'medium' && { + height: '2.5rem', + width: '2.5rem', + }), + color: brand[500], + '&:hover': { + backgroundColor: alpha(brand[300], 0.3), + borderColor: brand[200], + }, ...(theme.palette.mode === 'dark' && { - backgroundColor: gray[800], + color: brand[200], + '&:hover': { + backgroundColor: alpha(brand[600], 0.3), + borderColor: brand[700], + }, }), }), }, }, - MuiDialog: { + MuiInputBase: { + styleOverrides: { + root: { + border: 'none', + }, + }, + }, + MuiLink: { + defaultProps: { + underline: 'none', + }, styleOverrides: { root: ({ theme }) => ({ - '& .MuiDialog-paper': { - borderRadius: '10px', - border: '1px solid', - borderColor: theme.palette.divider, + color: brand[700], + fontWeight: 500, + position: 'relative', + textDecoration: 'none', + '&::before': { + content: '""', + position: 'absolute', + width: 0, + height: '1px', + bottom: 0, + left: 0, + backgroundColor: brand[200], + opacity: 0.7, + transition: 'width 0.3s ease, opacity 0.3s ease', }, + '&:hover::before': { + width: '100%', + opacity: 1, + }, + '&:focus-visible': { + outline: `3px solid ${alpha(brand[500], 0.5)}`, + outlineOffset: '4px', + borderRadius: '2px', + }, + ...(theme.palette.mode === 'dark' && { + color: brand[200], + }), }), }, }, @@ -393,7 +544,6 @@ export default function getSignUpTheme(mode: PaletteMode): ThemeOptions { input: { paddingLeft: 10, }, - root: ({ theme, ownerState }) => ({ 'input:-webkit-autofill': { WebkitBoxShadow: `0 0 0 1000px ${brand[100]} inset, 0 0 0 1px ${brand[200]}`, @@ -401,6 +551,7 @@ export default function getSignUpTheme(mode: PaletteMode): ThemeOptions { borderRadius: '8px', }, '& .MuiInputBase-input': { + fontSize: '1rem', '&::placeholder': { opacity: 0.7, color: gray[500], @@ -409,10 +560,10 @@ export default function getSignUpTheme(mode: PaletteMode): ThemeOptions { boxSizing: 'border-box', flexGrow: 1, height: '40px', - borderRadius: '10px', + borderRadius: theme.shape.borderRadius, border: '1px solid', borderColor: alpha(gray[300], 0.8), - boxShadow: '0 0 0 1.5px rgba(0, 0, 0, 0.04) inset', + boxShadow: '0 0 0 1.5px hsla(210, 0%, 0%, 0.02) inset', transition: 'border-color 120ms ease-in', backgroundColor: alpha(gray[100], 0.4), '&:hover': { @@ -437,13 +588,14 @@ export default function getSignUpTheme(mode: PaletteMode): ThemeOptions { borderRadius: '8px', }, '& .MuiInputBase-input': { + fontSize: '1rem', '&::placeholder': { opacity: 1, color: gray[500], }, }, borderColor: alpha(gray[700], 0.5), - boxShadow: '0 0 0 1.5px rgb(0, 0, 0) inset', + boxShadow: '0 0 0 1.5px hsl(210, 0%, 0%) inset', backgroundColor: alpha(gray[900], 0.8), transition: 'border-color 120ms ease-in', '&:hover': { @@ -465,154 +617,29 @@ export default function getSignUpTheme(mode: PaletteMode): ThemeOptions { }), }, }, - MuiFormLabel: { - styleOverrides: { - root: ({ theme }) => ({ - typography: theme.typography.caption, - marginBottom: 8, - }), - }, - }, - MuiInputBase: { - styleOverrides: { - root: { - border: 'none', - }, - }, - }, - MuiCard: { - styleOverrides: { - root: ({ theme, ownerState }) => ({ - backgroundColor: gray[50], - borderRadius: 10, - outline: `1px solid ${alpha(gray[200], 0.8)}`, - boxShadow: 'none', - ...(ownerState.variant === 'outlined' && { - border: 0, - boxSizing: 'border-box', - background: `linear-gradient(to bottom, #FFF, ${gray[50]})`, - }), - ...(theme.palette.mode === 'dark' && { - backgroundColor: alpha(gray[800], 0.6), - outline: `1px solid ${alpha(gray[700], 0.5)}`, - ...(ownerState.variant === 'outlined' && { - boxSizing: 'border-box', - background: `linear-gradient(to bottom, ${gray[900]}, ${alpha( - gray[800], - 0.5, - )})`, - }), - }), - }), + MuiPaper: { + defaultProps: { + elevation: 0, }, }, - MuiLink: { + MuiStack: { defaultProps: { - underline: 'none', - }, - styleOverrides: { - root: ({ theme }) => ({ - color: brand[600], - fontWeight: 500, - position: 'relative', - textDecoration: 'none', - '&::before': { - content: '""', - position: 'absolute', - width: 0, - height: '1px', - bottom: 0, - left: 0, - backgroundColor: brand[200], - opacity: 0.7, - transition: 'width 0.3s ease, opacity 0.3s ease', - }, - '&:hover::before': { - width: '100%', - opacity: 1, - }, - '&:focus-visible': { - outline: `3px solid ${alpha(brand[500], 0.5)}`, - outlineOffset: '4px', - borderRadius: '2px', - }, - ...(theme.palette.mode === 'dark' && { - color: brand[200], - }), - }), + useFlexGap: true, }, }, MuiToggleButtonGroup: { styleOverrides: { root: ({ theme }) => ({ - borderRadius: '10px', - boxShadow: `0 4px 16px ${alpha(gray[400], 0.2)}`, + borderRadius: theme.shape.borderRadius, + boxShadow: `0 1px 2px hsla(210, 0%, 0%, 0.05), 0 2px 12px ${alpha(brand[200], 0.5)}`, '& .Mui-selected': { color: brand[500], }, ...(theme.palette.mode === 'dark' && { '& .Mui-selected': { - color: '#fff', - }, - boxShadow: `0 4px 16px ${alpha(brand[700], 0.5)}`, - }), - }), - }, - }, - MuiCheckbox: { - defaultProps: { - disableRipple: true, - icon: <CheckBoxOutlineBlankRoundedIcon sx={{ color: 'rgba(0,0,0,0)' }} />, - checkedIcon: <CheckRoundedIcon sx={{ height: 14, width: 14 }} />, - }, - styleOverrides: { - root: ({ theme }) => ({ - margin: 10, - height: 16, - width: 16, - borderRadius: 5, - border: '1px solid ', - borderColor: alpha(gray[300], 0.8), - boxShadow: '0 0 0 1.5px rgba(0, 0, 0, 0.04) inset', - transition: 'border-color 120ms ease-in', - backgroundColor: alpha(gray[100], 0.4), - '&:hover': { - borderColor: brand[300], - }, - '&.Mui-focusVisible': { - outline: `3px solid ${alpha(brand[500], 0.5)}`, - outlineOffset: '2px', - borderColor: brand[400], - }, - '&.Mui-checked': { - color: 'white', - backgroundColor: brand[500], - '&:hover': { - borderColor: brand[300], - backgroundColor: brand[600], - }, - }, - ...(theme.palette.mode === 'dark' && { - borderColor: alpha(gray[700], 0.5), - boxShadow: '0 0 0 1.5px rgb(0, 0, 0) inset', - backgroundColor: alpha(gray[900], 0.8), - '&:hover': { - borderColor: brand[300], - }, - '&.Mui-checked': { - color: 'white', - backgroundColor: brand[600], - boxShadow: '0 0 0 1px rgba(0, 0, 0, 0.2) inset', - '&:hover': { - borderColor: brand[300], - backgroundColor: brand[800], - }, - }, - '&.Mui-focusVisible': { - borderColor: brand[400], - outline: `3px solid ${alpha(brand[500], 0.5)}`, - outlineOffset: '2px', + color: 'hsl(0, 0%, 100%)', }, + boxShadow: `0 0 0 1px hsla(210, 0%, 0%, 0.5), 0 2px 12px ${alpha(brand[700], 0.5)}`, }), }), }, @@ -622,21 +649,15 @@ export default function getSignUpTheme(mode: PaletteMode): ThemeOptions { root: ({ theme }) => ({ padding: '12px 16px', textTransform: 'none', - borderRadius: '10px', + borderRadius: theme.shape.borderRadius, fontWeight: 500, ...(theme.palette.mode === 'dark' && { color: gray[400], - boxShadow: '0 4px 16px rgba(0, 0, 0, 0.5)', '&.Mui-selected': { color: brand[300] }, }), }), }, }, - MuiStack: { - defaultProps: { - useFlexGap: true, - }, - }, }, }; } diff --git a/docs/data/material/guides/minimizing-bundle-size/minimizing-bundle-size.md b/docs/data/material/guides/minimizing-bundle-size/minimizing-bundle-size.md index cb2301cd5b3387..c38c47545c3c00 100644 --- a/docs/data/material/guides/minimizing-bundle-size/minimizing-bundle-size.md +++ b/docs/data/material/guides/minimizing-bundle-size/minimizing-bundle-size.md @@ -214,10 +214,7 @@ It will perform the following diffs: The packages published on npm are **transpiled** with [Babel](https://github.com/babel/babel), optimized for performance with the [supported platforms](/material-ui/getting-started/supported-platforms/). -Custom bundles are also available: - -- [Modern bundle](#modern-bundle) -- [Legacy bundle](#legacy-bundle) +A [modern bundle](#modern-bundle) is also available. ### How to use custom bundles? @@ -264,9 +261,3 @@ A great way to use these bundles is to configure bundler aliases, for example wi The modern bundle can be found under the [`/modern` folder](https://unpkg.com/@mui/material/modern/). It targets the latest released versions of evergreen browsers (Chrome, Firefox, Safari, Edge). This can be used to make separate bundles targeting different browsers. - -### Legacy bundle - -If you need to support IE 11 you cannot use the default or modern bundle without transpilation. -However, you can use the legacy bundle found under the [`/legacy` folder](https://unpkg.com/@mui/material/legacy/). -You don't need any additional polyfills. diff --git a/docs/data/material/migration/migrating-from-deprecated-apis/migrating-from-deprecated-apis.md b/docs/data/material/migration/migrating-from-deprecated-apis/migrating-from-deprecated-apis.md index 4b22015f48dbcb..8a6d4342762ab6 100644 --- a/docs/data/material/migration/migrating-from-deprecated-apis/migrating-from-deprecated-apis.md +++ b/docs/data/material/migration/migrating-from-deprecated-apis/migrating-from-deprecated-apis.md @@ -954,6 +954,46 @@ The Slider's `componentsProps` was deprecated in favor of `slotProps`: /> ``` +## ToggleButtonGroup + +Use the [codemod](https://github.com/mui/material-ui/tree/HEAD/packages/mui-codemod#toggle-button-group-classes) below to migrate the code as described in the following sections: + +```bash +npx @mui/codemod@latest deprecations/toggle-button-group-classes <path> +``` + +### Composed CSS classes + +The CSS classes composing the `orientation` prop value and `grouped` CSS class have been removed. + +Here's how to migrate: + +```diff +-.MuiToggleButtonGroup-root .MuiToggleButtonGroup-groupedHorizontal ++.MuiToggleButtonGroup-root.MuiToggleButtonGroup-horizontal > .MuiToggleButtonGroup-grouped +-.MuiToggleButtonGroup-root .MuiToggleButtonGroup-groupedVertical ++.MuiToggleButtonGroup-root.MuiToggleButtonGroup-vertical > .MuiToggleButtonGroup-grouped +``` + +```diff + + import { toggleButtonGroupClasses } from '@mui/material/ToggleButtonGroup'; + + MuiButtonGroup: { + styleOverrides: { + root: { +- [`& .${toggleButtonGroupClasses.groupedHorizontal}`]: { ++ [`&.${toggleButtonGroupClasses.horizontal} > .${toggleButtonGroupClasses.grouped}`]: { + color: 'red', + }, +- [`& .${toggleButtonGroupClasses.groupedVertical}`]: { ++ [`&.${toggleButtonGroupClasses.vertical} > .${toggleButtonGroupClasses.grouped}`]: { + color: 'red', + }, + }, + }, +``` + ## StepLabel Use the [codemod](https://github.com/mui/material-ui/tree/HEAD/packages/mui-codemod#step-label-props) below to migrate the code as described in the following sections: diff --git a/docs/data/material/migration/migration-v4/migration-v4.md b/docs/data/material/migration/migration-v4/migration-v4.md index 6feaca110bff0c..b50114c2570c31 100644 --- a/docs/data/material/migration/migration-v4/migration-v4.md +++ b/docs/data/material/migration/migration-v4/migration-v4.md @@ -67,7 +67,7 @@ The default bundle supports the following minimum versions: - and more (see [.browserslistrc (`stable` entry)](https://github.com/mui/material-ui/blob/v5.0.0/.browserslistrc#L11)) Material UI no longer supports IE 11. -If you need to support IE 11, check out our [legacy bundle](/material-ui/guides/minimizing-bundle-size/#legacy-bundle). +If you need to support IE 11, check out the [legacy bundle](https://v5.mui.com/material-ui/guides/minimizing-bundle-size/#legacy-bundle). ## Update React & TypeScript version diff --git a/docs/package.json b/docs/package.json index d309a8556c2336..7d0914dcd8a336 100644 --- a/docs/package.json +++ b/docs/package.json @@ -19,17 +19,17 @@ "link-check": "node ./scripts/reportBrokenLinks.js" }, "dependencies": { - "@babel/core": "^7.23.9", - "@babel/plugin-transform-object-assign": "^7.23.3", - "@babel/runtime": "^7.23.9", - "@babel/runtime-corejs2": "^7.23.9", + "@babel/core": "^7.24.4", + "@babel/plugin-transform-object-assign": "^7.24.1", + "@babel/runtime": "^7.24.4", + "@babel/runtime-corejs2": "^7.24.4", "@docsearch/react": "^3.6.0", "@emotion/cache": "^11.11.0", "@emotion/react": "^11.11.4", "@emotion/server": "^11.11.0", - "@emotion/styled": "^11.11.0", - "@fortawesome/fontawesome-svg-core": "^6.5.1", - "@fortawesome/free-solid-svg-icons": "^6.5.1", + "@emotion/styled": "^11.11.5", + "@fortawesome/fontawesome-svg-core": "^6.5.2", + "@fortawesome/free-solid-svg-icons": "^6.5.2", "@fortawesome/react-fontawesome": "^0.2.0", "@mui/base": "workspace:*", "@mui/docs": "workspace:^", @@ -45,12 +45,12 @@ "@mui/types": "workspace:^", "@mui/utils": "workspace:^", "@mui/x-charts": "6.19.8", - "@mui/x-data-grid": "7.0.0", - "@mui/x-data-grid-generator": "7.0.0", - "@mui/x-data-grid-premium": "7.0.0", - "@mui/x-data-grid-pro": "7.0.0", - "@mui/x-date-pickers": "6.19.8", - "@mui/x-date-pickers-pro": "6.19.8", + "@mui/x-data-grid": "7.1.1", + "@mui/x-data-grid-generator": "7.1.1", + "@mui/x-data-grid-premium": "7.1.1", + "@mui/x-data-grid-pro": "7.1.1", + "@mui/x-date-pickers": "6.19.9", + "@mui/x-date-pickers-pro": "6.19.9", "@mui/x-license-pro": "6.10.2", "@mui/x-tree-view": "6.17.0", "@popperjs/core": "^2.11.8", @@ -80,8 +80,8 @@ "jss-rtl": "^0.3.0", "lodash": "^4.17.21", "lz-string": "^1.5.0", - "markdown-to-jsx": "^7.4.5", - "material-ui-popup-state": "^5.0.10", + "markdown-to-jsx": "^7.4.6", + "material-ui-popup-state": "^5.1.0", "next": "^13.5.1", "notistack": "3.0.1", "nprogress": "^0.2.0", @@ -95,15 +95,15 @@ "react-imask": "^7.5.0", "react-intersection-observer": "^9.8.1", "react-is": "^18.2.0", - "react-number-format": "^5.3.3", - "react-router-dom": "^6.21.3", + "react-number-format": "^5.3.4", + "react-router-dom": "^6.22.3", "react-runner": "^1.0.3", "react-simple-code-editor": "^0.13.1", "react-spring": "^9.7.3", "react-swipeable-views": "^0.14.0", "react-swipeable-views-utils": "^0.14.0", "react-transition-group": "^4.4.5", - "react-virtuoso": "^4.7.2", + "react-virtuoso": "^4.7.8", "react-window": "^1.8.10", "rimraf": "^5.0.5", "styled-components": "^6.1.8", @@ -113,8 +113,8 @@ "webpack-bundle-analyzer": "^4.10.1" }, "devDependencies": { - "@babel/plugin-transform-react-constant-elements": "^7.23.3", - "@babel/preset-typescript": "^7.23.3", + "@babel/plugin-transform-react-constant-elements": "^7.24.1", + "@babel/preset-typescript": "^7.24.1", "@mui/internal-docs-utils": "workspace:^", "@mui/internal-scripts": "workspace:^", "@mui-internal/test-utils": "workspace:^", @@ -122,7 +122,7 @@ "@types/chai": "^4.3.14", "@types/css-mediaquery": "^0.1.4", "@types/json2mq": "^0.2.2", - "@types/node": "^18.19.28", + "@types/node": "^18.19.31", "@types/prop-types": "^15.7.12", "@types/react": "^18.2.55", "@types/react-dom": "^18.2.19", @@ -135,9 +135,9 @@ "cross-fetch": "^4.0.0", "gm": "^1.25.0", "marked": "^5.1.2", - "playwright": "^1.42.1", + "playwright": "^1.43.0", "prettier": "^3.2.5", - "tailwindcss": "^3.4.1", + "tailwindcss": "^3.4.3", "yargs": "^17.7.2" } } diff --git a/docs/pages/base-ui.tsx b/docs/pages/base-ui.tsx index fd4b84b8965375..91f8644f6512c9 100644 --- a/docs/pages/base-ui.tsx +++ b/docs/pages/base-ui.tsx @@ -16,7 +16,7 @@ export default function BaseUI() { return ( <BrandingCssVarsProvider> <Head - title="Base UI: Unstyled React components and low-level hooks." + title="Base UI: Unstyled React components and low-level hooks" 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.`} card="/static/social-previews/baseui-preview.jpg" > diff --git a/docs/pages/blog.tsx b/docs/pages/blog.tsx index 544fcd02b06a42..fc98fa100f8f9a 100644 --- a/docs/pages/blog.tsx +++ b/docs/pages/blog.tsx @@ -1,7 +1,6 @@ import * as React from 'react'; import { InferGetStaticPropsType } from 'next'; import { useRouter } from 'next/router'; -import { alpha } from '@mui/material/styles'; import Avatar from '@mui/material/Avatar'; import AvatarGroup from '@mui/material/AvatarGroup'; import Box from '@mui/material/Box'; @@ -64,19 +63,12 @@ function PostPreview(props: BlogPost) { /> ))} </Box> - <Typography - component="h2" - fontWeight="bold" - variant="subtitle1" - sx={{ - mb: 0.5, - }} - > + <Typography component="h2" fontWeight="bold" variant="subtitle1" gutterBottom> <Link aria-describedby={`describe-${props.slug}`} href={`/blog/${props.slug}/`} + color="text.primary" sx={{ - color: 'text.primary', '&:hover': { textDecoration: 'underline', }, @@ -153,7 +145,7 @@ function PostPreview(props: BlogPost) { </Typography> )} {props.date && ( - <Typography variant="caption" fontWeight="regular" color="text.secondary"> + <Typography variant="caption" fontWeight="regular" color="text.tertiary"> {new Date(props.date).toDateString()} </Typography> )} @@ -164,6 +156,7 @@ function PostPreview(props: BlogPost) { href={`/blog/${props.slug}`} id={`describe-${props.slug}`} endIcon={<KeyboardArrowRightRoundedIcon />} + size="small" sx={{ mt: { xs: 0.5, md: 0 }, p: { xs: 0, sm: '6px 8px' } }} > Read more @@ -173,7 +166,7 @@ function PostPreview(props: BlogPost) { ); } -const PAGE_SIZE = 5; +const PAGE_SIZE = 7; export default function Blog(props: InferGetStaticPropsType<typeof getStaticProps>) { const router = useRouter(); @@ -236,6 +229,7 @@ export default function Blog(props: InferGetStaticPropsType<typeof getStaticProp { shallow: true }, ); }; + return ( <BrandingCssVarsProvider> <Head @@ -257,13 +251,15 @@ export default function Blog(props: InferGetStaticPropsType<typeof getStaticProp </Typography> } /> + </Section> + <Divider /> + <Container sx={{ mt: { xs: 2, sm: -6 } }}> <Box component="ul" sx={{ display: 'grid', m: 0, p: 0, - pt: 8, gap: 2, gridTemplateColumns: 'repeat(auto-fit, minmax(300px, 1fr))', }} @@ -273,25 +269,18 @@ export default function Blog(props: InferGetStaticPropsType<typeof getStaticProp key={post.slug} component="li" variant="outlined" - sx={[ - { - p: 2, - display: 'flex', - flexDirection: 'column', - position: 'relative', - borderColor: 'grey.200', - boxShadow: '0px 4px 12px rgba(170, 180, 190, 0.2)', - '&:focus-within': { - '& a': { - outline: 0, - }, - }, - }, - (theme) => - theme.applyDarkStyles({ - boxShadow: '0px 4px 12px rgba(0, 0, 0, 0.4)', - }), - ]} + sx={(theme) => ({ + p: 2, + display: 'flex', + flexDirection: 'column', + backgroundImage: (theme.vars || theme).palette.gradients.radioSubtle, + boxShadow: '0 4px 12px rgba(170, 180, 190, 0.2)', + ...theme.applyDarkStyles({ + background: (theme.vars || theme).palette.primaryDark[900], + backgroundImage: (theme.vars || theme).palette.gradients.radioSubtle, + boxShadow: '0 4px 12px rgba(0, 0, 0, 0.4)', + }), + })} > {post.image && ( <Box @@ -310,8 +299,7 @@ export default function Blog(props: InferGetStaticPropsType<typeof getStaticProp </Paper> ))} </Box> - </Section> - <Divider /> + </Container> <Container ref={postListRef} sx={{ @@ -325,7 +313,7 @@ export default function Blog(props: InferGetStaticPropsType<typeof getStaticProp <Typography component="h2" variant="h6" - fontWeight="700" + fontWeight="semiBold" sx={{ mb: { xs: 1, sm: 2 }, mt: 8 }} // margin-top makes the title appear when scroll into view > Posts{' '} @@ -342,94 +330,105 @@ export default function Blog(props: InferGetStaticPropsType<typeof getStaticProp </Typography> <Box sx={{ gridRow: 'span 2' }}> <Box - sx={(theme) => ({ + sx={{ position: 'sticky', - top: 100, - alignSelf: 'start', - mb: 2, - mt: { xs: 3, sm: 2, md: 9 }, // margin-top makes the title appear when scroll into view - p: 2, - borderRadius: 1, - border: '1px solid', - borderColor: (theme.vars || theme).palette.divider, - boxShadow: '0px 2px 6px rgba(170, 180, 190, 0.2)', - ...theme.applyDarkStyles({ - background: alpha(theme.palette.primaryDark[700], 0.2), - boxShadow: '0px 2px 6px rgba(0, 0, 0, 0.2)', - }), - })} + top: 90, + mt: { xs: 0, md: 9 }, + mb: { xs: 2, md: 0 }, + display: 'flex', + flexDirection: 'column', + gap: 2, + '& .MuiPaper-root': { + p: 2, + bgcolor: 'transparent', + borderColor: 'divider', + }, + }} > - <Typography color="text.primary" fontWeight="semiBold" sx={{ mb: 2 }}> - Filter by tag - </Typography> - <Box sx={{ display: 'flex', gap: 1, flexWrap: 'wrap' }}> - {Object.keys(tagInfo).map((tag) => { - const selected = !!selectedTags[tag]; - return ( - <Chip - key={tag} - variant={selected ? 'filled' : 'outlined'} - color={selected ? 'primary' : undefined} - {...(selected - ? { - label: tag, - onDelete: () => { - postListRef.current?.scrollIntoView(); - removeTag(tag); - }, - } - : { - label: tag, - onClick: () => { - postListRef.current?.scrollIntoView(); - router.push( - { - query: { - ...router.query, - tags: tag, + <Paper variant="outlined"> + <Typography + color="text.primary" + fontWeight="semiBold" + variant="subtitle2" + sx={{ mb: 2 }} + > + Filter posts by tag + </Typography> + <Box sx={{ display: 'flex', gap: 1, flexWrap: 'wrap' }}> + {Object.keys(tagInfo).map((tag) => { + const selected = !!selectedTags[tag]; + return ( + <Chip + key={tag} + variant={selected ? 'filled' : 'outlined'} + color={selected ? 'primary' : undefined} + {...(selected + ? { + label: tag, + onDelete: () => { + postListRef.current?.scrollIntoView(); + removeTag(tag); + }, + } + : { + label: tag, + onClick: () => { + postListRef.current?.scrollIntoView(); + router.push( + { + query: { + ...router.query, + tags: tag, + }, }, - }, - undefined, - { shallow: true }, - ); - }, - })} - size="small" - sx={{ - py: 1.2, - }} - /> - ); - })} - </Box> - <Divider sx={{ my: 2 }} /> - <Typography color="text.primary" fontWeight="semiBold" gutterBottom> - Want to hear more from us? - </Typography> - <Typography variant="body2" color="text.secondary" sx={{ mb: 2 }}> - Get up to date with everything MUI-related through our social media: - </Typography> - <Box sx={{ display: 'flex', flexWrap: 'wrap', gap: 2, '* > svg': { mr: 1 } }}> - <Link href="https://github.com/mui" target="_blank" fontSize={14}> - <GitHubIcon fontSize="small" /> - GitHub - </Link> - <Link href="https://twitter.com/MUI_hq" target="_blank" fontSize={14}> - <XIcon fontSize="small" />X - </Link> - <Link href="https://mui.com/r/discord/" target="_blank" fontSize={14}> - <DiscordIcon fontSize="small" /> - Discord - </Link> - <Link href="https://www.linkedin.com/company/mui/" target="_blank" fontSize={14}> - <LinkedInIcon fontSize="small" /> - LinkedIn - </Link> - <Link href="https://www.youtube.com/@MUI_hq" target="_blank" fontSize={14}> - <YouTubeIcon fontSize="small" /> - Youtube - </Link> - </Box> + undefined, + { shallow: true }, + ); + }, + })} + size="small" + sx={{ + py: 1.2, + }} + /> + ); + })} + </Box> + </Paper> + <Paper variant="outlined"> + <Typography + color="text.primary" + fontWeight="semiBold" + variant="subtitle2" + gutterBottom + > + Want to hear more from us? + </Typography> + <Typography variant="body2" color="text.secondary" sx={{ mb: 2 }}> + Get up to date with everything MUI-related through our social media: + </Typography> + <Box sx={{ display: 'flex', flexWrap: 'wrap', gap: 2, '* > svg': { mr: 1 } }}> + <Link href="https://github.com/mui" target="_blank" fontSize={14}> + <GitHubIcon fontSize="small" /> + GitHub + </Link> + <Link href="https://twitter.com/MUI_hq" target="_blank" fontSize={14}> + <XIcon fontSize="small" />X + </Link> + <Link href="https://mui.com/r/discord/" target="_blank" fontSize={14}> + <DiscordIcon fontSize="small" /> + Discord + </Link> + <Link href="https://www.linkedin.com/company/mui/" target="_blank" fontSize={14}> + <LinkedInIcon fontSize="small" /> + LinkedIn + </Link> + <Link href="https://www.youtube.com/@MUI_hq" target="_blank" fontSize={14}> + <YouTubeIcon fontSize="small" /> + Youtube + </Link> + </Box> + </Paper> </Box> </Box> <div> diff --git a/docs/pages/blog/2021-q2-update.md b/docs/pages/blog/2021-q2-update.md index a7650185843a22..9d730373be91e0 100644 --- a/docs/pages/blog/2021-q2-update.md +++ b/docs/pages/blog/2021-q2-update.md @@ -217,7 +217,7 @@ We have the following objectives: - ⚛️ Support [React 18](https://legacy.reactjs.org/blog/2021/06/08/the-plan-for-react-18.html). [Sebastian](https://github.com/eps1lon) is part of the React [Working Group](https://github.com/reactwg/react-18/discussions), focusing on making us ready ahead of time. We want our most demanding users to feel empowered by Material UI, not slowed down by a third-party library. - 🦴 Migrate more components to `@mui/base`. [Michał](https://github.com/michaldudak) has recently added support for the [Switch](https://mui.com/base-ui/react-switch/). - You can follow our progress in the [umbrella issue](https://github.com/mui/material-ui/issues/27170). + You can follow our progress in the [umbrella issue](https://github.com/mui/base-ui/issues/10). - 🌈 Do a proof of concept on supporting a second design system. Some of our users (and potential users) dislike Material Design. We will try to make the second design system one that they love! - 🗓 Execute on all of the items in the [public roadmap](https://github.com/orgs/mui/projects/23/views/12). diff --git a/docs/pages/blog/2021-q3-update.md b/docs/pages/blog/2021-q3-update.md index dbb57c07d4ea15..f6c3adc2ce5863 100644 --- a/docs/pages/blog/2021-q3-update.md +++ b/docs/pages/blog/2021-q3-update.md @@ -195,7 +195,7 @@ We'll do our best, no guarantee! We need to make the most of this feedback to solve regressions, improve the documentation for the new APIs, adjust the tradeoffs we took in the light of more information, and more. [15%](https://npm-stat.com/charts.html?package=%40material-ui%2Fcore&package=%40mui%2Fmaterial&from=2020-10-25&to=2021-10-15) of the community has migrated, so far. - 🦴 Migrate more components to `@mui/base`. [Michał](https://github.com/michaldudak) has recently added support for the [Button](https://mui.com/base-ui/react-button/). - You can follow our progress in the [umbrella issue](https://github.com/mui/material-ui/issues/27170). + You can follow our progress in the [umbrella issue](https://github.com/mui/base-ui/issues/10). - 🎨 We are [exploring](https://github.com/mui/material-ui/discussions/29024) the introduction of CSS variables. Since v5, Material UI is no longer actively supporting IE 11. Dropping this browser requirement unlocks new capabilities of the web platform. - 🌈 Resume work on the second design system. diff --git a/docs/pages/blog/2021.md b/docs/pages/blog/2021.md index 61d81f432e1b7b..b13d577f37ca2a 100644 --- a/docs/pages/blog/2021.md +++ b/docs/pages/blog/2021.md @@ -123,7 +123,7 @@ To continue improving the customization experience, we will double down on the v These components and hooks contain the main functionalities and accessibility, without being opinionated about how styles are applied or what styles. We still have work to do to have a full set of unstyled components. -You can read more about them in [the docs](/base-ui/getting-started/) and keep track of our progress in [#27170](https://github.com/mui/material-ui/issues/27170). +You can read more about them in [the docs](/base-ui/getting-started/) and keep track of our progress in [#27170](https://github.com/mui/base-ui/issues/10). Our high-level plan is to use the unstyled components and hooks as the basis of the Material Design components and our second design system. diff --git a/docs/pages/blog/introducing-base-ui.md b/docs/pages/blog/introducing-base-ui.md index 54af0f0943df7a..9b49539b13eb2b 100644 --- a/docs/pages/blog/introducing-base-ui.md +++ b/docs/pages/blog/introducing-base-ui.md @@ -33,7 +33,7 @@ Also, many of the improvements to Material UI proposed by the community over th While they were created for different use cases, these two libraries share many common features and design patterns, and are intended to be complementary to one another within the MUI ecosystem. Base UI's API will be familiar to you if you've used Material UI before, making it easy to migrate a project—or just a part of it—from one library to the other if needed. -We aim to create [unstyled versions of all Material UI components](https://github.com/mui/material-ui/issues/27170) (that make sense to do so). +We aim to create [unstyled versions of all Material UI components](https://github.com/mui/base-ui/issues/10) (that make sense to do so). ## Components and hooks @@ -86,7 +86,7 @@ function MySwitch(props: UseSwitchParameters) { The initial version of the library contains 17 components. Check out the [Base UI documentation](/base-ui/getting-started/) for details. -You can track our progress in adding new components—and comment to influence our priorities—in [this dedicated GitHub issue](https://github.com/mui/material-ui/issues/27170). +You can track our progress in adding new components—and comment to influence our priorities—in [this dedicated GitHub issue](https://github.com/mui/base-ui/issues/10). The `@mui/base` package is released as an alpha. This means the component APIs are subject to change—especially as we receive feedback from the community about room for improvement. diff --git a/docs/pages/blog/mui-core-v5.md b/docs/pages/blog/mui-core-v5.md index 3692acffd9c502..41b88056fc045f 100644 --- a/docs/pages/blog/mui-core-v5.md +++ b/docs/pages/blog/mui-core-v5.md @@ -377,7 +377,7 @@ const CustomButton = React.forwardRef(function CustomButton( <p class="blog-description"><a href="https://codesandbox.io/p/sandbox/7lc1r?file=/demo.tsx">CodeSandbox</a></p> We discuss the effort in [#6218](https://github.com/mui/material-ui/issues/6218). -You can use [#27170](https://github.com/mui/material-ui/issues/27170) to follow our progress. +You can use [#27170](https://github.com/mui/base-ui/issues/10) to follow our progress. ## Improved DX @@ -725,7 +725,7 @@ To continue improving the customization experience, we are doubling down on the These components and hooks contain the main functionalities and accessibility, without being opinionated about how styles are applied nor what styles. We still have work to do to have a full set of unstyled components. -You can read more about them in [the docs](/base-ui/getting-started/) and keep track of our progress in [#27170](https://github.com/mui/material-ui/issues/27170). +You can read more about them in [the docs](/base-ui/getting-started/) and keep track of our progress in [#27170](https://github.com/mui/base-ui/issues/10). Our high-level plan is to use the unstyled components and hooks as the basis of the Material components and second design system. We are aiming to complete this work with the next major release (v6). diff --git a/docs/pages/blog/mui-x-v7.md b/docs/pages/blog/mui-x-v7.md index e95aadeedbe9bd..3bdea7324095d6 100644 --- a/docs/pages/blog/mui-x-v7.md +++ b/docs/pages/blog/mui-x-v7.md @@ -56,11 +56,11 @@ The Data Grid now offers a more responsive experience with smoother scrolling an On its first announcement, some of these improvements were showcased, but during the beta phase, the scrolling performance was further polished for an even better user experience. -<figure style="padding:0; margin:0"> +<figure> <video preload="metadata" autoplay muted loop playsinline width="690" height="417" controls>   <source src="/static/blog/mui-x-v7/sticky-headers-and-vertical-scrolling.mp4" type="video/mp4"> </video> - <figcaption style="color: #888; font-size: 0.9em; text-align: center;">A before and after showcase, first with horizontal and then with vertical scrolling.</figcaption> + <figcaption>A before and after showcase, first with horizontal and then with vertical scrolling.</figcaption> </figure> :::warning @@ -81,9 +81,9 @@ As part of an overarching project aimed at enhancing usability in managing colum The goal is to further enhance this panel by incorporating additional column management functions, such as column reordering and pinning. Additionally, the internal component has been extracted to ease the introduction of the upcoming pivoting UI. -<figure style="padding:0; margin:0; margin-bottom:20px"> +<figure> <img width="310" alt="The new column management panel design" src="/static/blog/mui-x-v7/column-management-panel.png"> - <figcaption style="color: #888; font-size: 0.9em; text-align: center;">The new column managemeent panel design</figcaption> + <figcaption>The new column management panel design</figcaption> </figure> ### Date Object support in filter model @@ -98,9 +98,9 @@ Introducing a separate entry point for locales has significantly reduced the bun As a reference, with the `@mui/x-data-grid` npm package, this change led to a reduction of approximately 19% – shrinking the bundle size from [114.2kB](https://bundlephobia.com/package/@mui/x-data-grid@6.19.2) to [92.9kB](https://bundlephobia.com/package/@mui/x-data-grid@7.0.0). -<figure style="padding:0; margin:0"> +<figure> <img width="600" alt="A chart showcasing the bundle size change" src="/static/blog/mui-x-v7/new-bundle-size.png" > - <figcaption style="color: #888; font-size: 0.9em; text-align: center;">A chart showcasing the Data Grid's bundle size change.</figcaption> + <figcaption>A chart showcasing the Data Grid's bundle size change.</figcaption> </figure> ### New stable features @@ -233,9 +233,9 @@ The newest gauge charts are designed to offer a visually compelling way to displ These charts are particularly useful for showing progress toward a goal or displaying a value within a predefined range. With customizable options for pointers, sizes, and colors, they allow for a personalized visual representation that makes it easy for users to interpret data at a glance. -<figure style="padding:0; margin:0; margin-bottom:20px"> +<figure> <img alt="Gauge charts" src="/static/blog/mui-x-v7/gauge-charts.png" width="1200" height="800" loading="lazy" /> - <figcaption style="color: #888; font-size: 0.9em; text-align: center;">Three different styles of Gauge charts.</figcaption> + <figcaption>Three different styles of Gauge charts.</figcaption> </figure> Check out the [new charts](/x/react-charts/gauge/) documentation page for detailed information. @@ -246,9 +246,9 @@ The charts now have click event handlers, so users can interact with chart eleme This feature makes charts more interactive and transforms the way users can explore the data, improving the overall user experience with details and other information accessed on demand. -<figure style="padding:0; margin:0; margin-bottom:20px"> +<figure> <img alt="Gauge charts" src="/static/blog/mui-x-v7/click-handler.png" width="450" height="416" loading="lazy" /> - <figcaption style="color: #888; font-size: 0.9em; text-align: center;">A pie chart with an item click handler.</figcaption> + <figcaption>A pie chart with an item click handler.</figcaption> </figure> You can find more information about specific event handlers for each type of chart by visiting their respective overview page: @@ -261,9 +261,9 @@ You can find more information about specific event handlers for each type of cha The Axis component now features a built-in Grid, offering users a structured layout for easier data analysis and visualization. -<figure style="padding:0; margin:0; margin-bottom:20px"> +<figure> <img alt="A Chart axis showcasing an horizontal grid" src="/static/blog/mui-x-v7/axis-grid.png" width="1550" height="654" loading="lazy" /> - <figcaption style="color: #888; font-size: 0.9em; text-align: center;">A Chart axis with an horizontal grid.</figcaption> + <figcaption>A Chart axis with an horizontal grid.</figcaption> </figure> For details on its usage and configuration, please refer to the [Grid section](/x/react-charts/axis/#grid) in the documentation. @@ -272,9 +272,9 @@ For details on its usage and configuration, please refer to the [Grid section](/ The `ChartsReferenceLine` component enhances data visualization, providing users with a clear reference to better understand and analyze key data points. -<figure style="padding:0; margin:0; margin-bottom:20px"> +<figure> <img alt="A chart with a reference line" src="/static/blog/mui-x-v7/charts-reference-line.png" width="1200" height="840" loading="lazy" /> - <figcaption style="color: #888; font-size: 0.9em; text-align: center;">A line chart using a reference line.</figcaption> + <figcaption>A line chart using a reference line.</figcaption> </figure> You can find more details on its [documentation](/x/react-charts/axis/#reference-line). @@ -315,11 +315,11 @@ import { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFnsV3'; The latest addition to the Date and Time Pickers suite is the `<DateTimeRangePicker />`, a most anticipated component designed to enrich the user experience with the advanced date and time selection. This intuitive picker simplifies the process of selecting date and time ranges, making it ideal for applications that require detailed scheduling or period selection. -<figure style="padding:0; margin:0; margin-bottom:20px"> +<figure> <video preload="metadata" autoplay muted loop playsinline width="600" height="510">   <source src="/static/blog/mui-x-v7/date-time-range-picker.mp4" type="video/mp4"> </video> - <figcaption style="color: #888; font-size: 0.9em; text-align: center;">A video showcasing a date and time range selection.</figcaption> + <figcaption>A video showcasing a date and time range selection.</figcaption> </figure> Learn how to use and customize the [new component](/x/react-date-pickers/date-time-range-picker/) now! diff --git a/docs/pages/blog/remote-award-win-2024.md b/docs/pages/blog/remote-award-win-2024.md index d41c7702449788..bb8cddee874266 100644 --- a/docs/pages/blog/remote-award-win-2024.md +++ b/docs/pages/blog/remote-award-win-2024.md @@ -7,7 +7,7 @@ tags: ['Company'] card: true --- -MUI has been named a **winner** in the first-ever [Remote Excellence Awards](https://remote.com/remote-excellence-awards/), in the Small & Mighty category! 🎉 +MUI has been named a **winner** in the first-ever [Remote Excellence Awards](https://remote.com/remote-excellence-awards), in the Small & Mighty category! 🎉 <img alt="MUI's official winners badge provided by Remote." src="/static/blog/remote-award-win-2024/award-image.png" width="2400" height="1100" /> diff --git a/docs/pages/material-ui/api/tab-panel.json b/docs/pages/material-ui/api/tab-panel.json index 01ec545ad24756..7c80cfabce2bc7 100644 --- a/docs/pages/material-ui/api/tab-panel.json +++ b/docs/pages/material-ui/api/tab-panel.json @@ -3,6 +3,7 @@ "value": { "type": { "name": "string" }, "required": true }, "children": { "type": { "name": "node" } }, "classes": { "type": { "name": "object" }, "additionalInfo": { "cssApi": true } }, + "keepMounted": { "type": { "name": "bool" }, "default": "false" }, "sx": { "type": { "name": "union", @@ -14,6 +15,12 @@ "name": "TabPanel", "imports": ["import TabPanel from '@mui/lab/TabPanel';", "import { TabPanel } from '@mui/lab';"], "classes": [ + { + "key": "hidden", + "className": "MuiTabPanel-hidden", + "description": "State class applied to the root `div` element if `hidden={true}`.", + "isGlobal": false + }, { "key": "root", "className": "MuiTabPanel-root", diff --git a/docs/pages/material-ui/api/toggle-button-group.json b/docs/pages/material-ui/api/toggle-button-group.json index e3d1c10eefb45c..0ce12e51e361b8 100644 --- a/docs/pages/material-ui/api/toggle-button-group.json +++ b/docs/pages/material-ui/api/toggle-button-group.json @@ -73,12 +73,20 @@ "key": "groupedHorizontal", "className": "MuiToggleButtonGroup-groupedHorizontal", "description": "Styles applied to the children if `orientation=\"horizontal\"`.", - "isGlobal": false + "isGlobal": false, + "isDeprecated": true }, { "key": "groupedVertical", "className": "MuiToggleButtonGroup-groupedVertical", "description": "Styles applied to the children if `orientation=\"vertical\"`.", + "isGlobal": false, + "isDeprecated": true + }, + { + "key": "horizontal", + "className": "MuiToggleButtonGroup-horizontal", + "description": "Styles applied to the root element if `orientation=\"horizontal\"`.", "isGlobal": false }, { diff --git a/docs/public/static/branding/about/jose-quintas.png b/docs/public/static/branding/about/jose-quintas.png new file mode 100644 index 0000000000000000000000000000000000000000..8206d6645cd096b2d7fed31e9d92b2c362e8f72d GIT binary patch literal 137953 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≀(iV-b=^yJ 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 bq5l5?ngS9S@CJJ100000NkvXXu0mjfnLB>) literal 0 HcmV?d00001 diff --git a/docs/src/components/banner/TableOfContentsBanner.tsx b/docs/src/components/banner/TableOfContentsBanner.tsx index 66f492e4b3ca8b..79d27a93df033e 100644 --- a/docs/src/components/banner/TableOfContentsBanner.tsx +++ b/docs/src/components/banner/TableOfContentsBanner.tsx @@ -34,10 +34,9 @@ export default function TableOfContentsBanner() { (theme) => theme.applyDarkStyles({ backgroundColor: alpha(theme.palette.primary[900], 0.2), - borderColor: (theme.vars || theme).palette.divider, '&:hover, &:focus-visible': { backgroundColor: alpha(theme.palette.primary[900], 0.4), - borderColor: (theme.vars || theme).palette.primaryDark[500], + borderColor: (theme.vars || theme).palette.primary[900], }, }), ]} diff --git a/docs/src/components/markdown/MarkdownElement.tsx b/docs/src/components/markdown/MarkdownElement.tsx index 37eda97a4d1289..0fa3ed548afea2 100644 --- a/docs/src/components/markdown/MarkdownElement.tsx +++ b/docs/src/components/markdown/MarkdownElement.tsx @@ -10,7 +10,7 @@ const Root = styled('div')(({ theme }) => ({ ...theme.typography.caption, color: (theme.vars || theme).palette.text.primary, '& pre': { - backgroundColor: '#0F1924', // a special, one-off, color tailored for the code blocks using MUI's branding theme blue palette as the starting point. It has a less saturaded color but still maintaining a bit of the blue tint. + backgroundColor: 'hsl(210, 35%, 9%)', // a special, one-off, color tailored for the code blocks using MUI's branding theme blue palette as the starting point. It has a less saturaded color but still maintaining a bit of the blue tint. color: '#f8f8f2', // fallback color until Prism's theme is loaded overflow: 'auto', margin: 0, diff --git a/docs/src/modules/components/Ad.js b/docs/src/modules/components/Ad.js index 9750bfeed8b6ab..0e612dc7970101 100644 --- a/docs/src/modules/components/Ad.js +++ b/docs/src/modules/components/Ad.js @@ -5,6 +5,7 @@ import Box from '@mui/material/Box'; import Paper from '@mui/material/Paper'; import AdCarbon from 'docs/src/modules/components/AdCarbon'; import AdInHouse from 'docs/src/modules/components/AdInHouse'; +import { GA_ADS_DISPLAY_RATIO } from 'docs/src/modules/constants'; import { AdContext, adShape } from 'docs/src/modules/components/AdManager'; import { useTranslate } from '@mui/docs/i18n'; @@ -197,7 +198,7 @@ export default function Ad() { React.useEffect(() => { // Avoid an exceed on the Google Analytics quotas. - if (Math.random() < 0.9 || !eventLabel) { + if (Math.random() > GA_ADS_DISPLAY_RATIO || !eventLabel) { return undefined; } diff --git a/docs/src/modules/components/AdCarbon.js b/docs/src/modules/components/AdCarbon.js index 64963da1702729..bd62cf8bfe3871 100644 --- a/docs/src/modules/components/AdCarbon.js +++ b/docs/src/modules/components/AdCarbon.js @@ -126,6 +126,7 @@ export function AdCarbonInline(props) { name: ad.company, description: `<strong>${ad.company}</strong> - ${ad.description}`, poweredby: 'Carbon', + label: 'carbon-demo-inline', }} /> </React.Fragment> diff --git a/docs/src/modules/components/AdDisplay.js b/docs/src/modules/components/AdDisplay.js index 1de9a19857246f..e31003bd3225de 100644 --- a/docs/src/modules/components/AdDisplay.js +++ b/docs/src/modules/components/AdDisplay.js @@ -2,6 +2,7 @@ import * as React from 'react'; import PropTypes from 'prop-types'; import { styled } from '@mui/material/styles'; import { adShape } from 'docs/src/modules/components/AdManager'; +import { GA_ADS_DISPLAY_RATIO } from 'docs/src/modules/constants'; import { adStylesObject } from 'docs/src/modules/components/ad.styles'; const Root = styled('span', { shouldForwardProp: (prop) => prop !== 'shape' })(({ @@ -23,6 +24,18 @@ const Root = styled('span', { shouldForwardProp: (prop) => prop !== 'shape' })(( export default function AdDisplay(props) { const { ad, className, shape = 'auto' } = props; + React.useEffect(() => { + // Avoid an exceed on the Google Analytics quotas. + if (Math.random() > GA_ADS_DISPLAY_RATIO || !ad.label) { + return; + } + + window.gtag('event', 'ad', { + eventAction: 'display', + eventLabel: ad.label, + }); + }, [ad.label]); + /* eslint-disable material-ui/no-hardcoded-labels, react/no-danger */ return ( <Root shape={shape === 'inline' ? 'inline' : adShape} className={className}> diff --git a/docs/src/modules/components/AppFrame.js b/docs/src/modules/components/AppFrame.js index 9f43d152a13b07..08d1eb2c232786 100644 --- a/docs/src/modules/components/AppFrame.js +++ b/docs/src/modules/components/AppFrame.js @@ -115,13 +115,12 @@ const StyledAppBar = styled(AppBar, { boxShadow: 'none', backdropFilter: 'blur(8px)', borderStyle: 'solid', - borderColor: (theme.vars || theme).palette.grey[100], + borderColor: (theme.vars || theme).palette.divider, borderWidth: 0, borderBottomWidth: 'thin', backgroundColor: 'rgba(255,255,255,0.8)', color: (theme.vars || theme).palette.grey[800], ...theme.applyDarkStyles({ - borderColor: alpha(theme.palette.primary[100], 0.08), backgroundColor: alpha(theme.palette.primaryDark[900], 0.8), color: (theme.vars || theme).palette.grey[500], }), @@ -166,6 +165,9 @@ export default function AppFrame(props) { const [mobileOpen, setMobileOpen] = React.useState(false); const [settingsOpen, setSettingsOpen] = React.useState(false); + const closeDrawer = React.useCallback(() => setMobileOpen(false), []); + const openDrawer = React.useCallback(() => setMobileOpen(true), []); + const { activePage } = React.useContext(PageContext); const disablePermanent = activePage?.disableDrawer === true || disableDrawer === true; @@ -205,7 +207,7 @@ export default function AppFrame(props) { </Box> </NextLink> <GrowingDiv /> - <Stack direction="row" spacing="10px"> + <Stack direction="row" spacing={1} useFlexGap> <BannerComponent /> <DeferredAppSearch /> <Tooltip title={t('appFrame.github')} enterDelay={300}> @@ -230,8 +232,8 @@ export default function AppFrame(props) { </StyledAppBar> <StyledAppNavDrawer disablePermanent={disablePermanent} - onClose={() => setMobileOpen(false)} - onOpen={() => setMobileOpen(true)} + onClose={closeDrawer} + onOpen={openDrawer} mobileOpen={mobileOpen} /> {children} diff --git a/docs/src/modules/components/AppSearch.js b/docs/src/modules/components/AppSearch.js index 0cf3f3da46828e..c74297650aa327 100644 --- a/docs/src/modules/components/AppSearch.js +++ b/docs/src/modules/components/AppSearch.js @@ -54,10 +54,7 @@ const SearchButton = styled('button')(({ theme }) => [ cursor: 'pointer', transitionProperty: 'all', transitionDuration: '150ms', - boxShadow: `inset 0 -1px 0 ${(theme.vars || theme).palette.grey[100]}, 0 1px 0.5px ${alpha( - theme.palette.grey[100], - 0.6, - )}`, + boxShadow: `hsl(200, 0%, 100%) 0 2px 0 inset, ${alpha(theme.palette.grey[100], 0.5)} 0 -1.5px 0 inset, ${alpha(theme.palette.grey[200], 0.5)} 0 1px 2px 0`, '&:hover': { background: (theme.vars || theme).palette.grey[100], borderColor: (theme.vars || theme).palette.grey[300], @@ -70,9 +67,7 @@ const SearchButton = styled('button')(({ theme }) => [ theme.applyDarkStyles({ backgroundColor: alpha(theme.palette.primaryDark[700], 0.4), borderColor: (theme.vars || theme).palette.primaryDark[700], - boxShadow: `inset 0 -1px 1px ${(theme.vars || theme).palette.primaryDark[900]}, 0 1px 0.5px ${ - (theme.vars || theme).palette.common.black - }`, + boxShadow: `${alpha(theme.palette.primaryDark[600], 0.1)} 0 2px 0 inset, ${(theme.vars || theme).palette.common.black} 0 -2px 0 inset, ${(theme.vars || theme).palette.common.black} 0 1px 2px 0`, '&:hover': { background: (theme.vars || theme).palette.primaryDark[700], borderColor: (theme.vars || theme).palette.primaryDark[600], diff --git a/docs/src/modules/components/Demo.js b/docs/src/modules/components/Demo.js index 4bebe7324c9390..1d6eb268fa9092 100644 --- a/docs/src/modules/components/Demo.js +++ b/docs/src/modules/components/Demo.js @@ -218,6 +218,7 @@ const DemoRootMaterial = styled('div', { border: `1px solid ${(theme.vars || theme).palette.divider}`, borderLeftWidth: 0, borderRightWidth: 0, + borderBottomWidth: 0, ...theme.applyDarkStyles({ backgroundColor: alpha(theme.palette.primaryDark[700], 0.1), }), diff --git a/docs/src/modules/components/DemoEditor.tsx b/docs/src/modules/components/DemoEditor.tsx index e32390019b3f63..a73d74799d6c35 100644 --- a/docs/src/modules/components/DemoEditor.tsx +++ b/docs/src/modules/components/DemoEditor.tsx @@ -16,7 +16,7 @@ const StyledMarkdownElement = styled(MarkdownElement)(({ theme }) => [ maxHeight: 'min(68vh, 1000px)', overflow: 'auto', marginTop: -1, - backgroundColor: '#0F1924', // a special, one-off, color tailored for the code blocks using MUI's branding theme blue palette as the starting point. It has a less saturaded color but still maintaining a bit of the blue tint. + backgroundColor: 'hsl(210, 35%, 9%)', // a special, one-off, color tailored for the code blocks using MUI's branding theme blue palette as the starting point. It has a less saturaded color but still maintaining a bit of the blue tint. border: `1px solid ${(theme.vars || theme).palette.divider}`, colorScheme: 'dark', '&:hover': { diff --git a/docs/src/modules/components/DiamondSponsors.js b/docs/src/modules/components/DiamondSponsors.js index cdd753cb98009b..4461e562ee4742 100644 --- a/docs/src/modules/components/DiamondSponsors.js +++ b/docs/src/modules/components/DiamondSponsors.js @@ -17,7 +17,7 @@ const NativeLink = styled('a')(({ theme }) => ({ border: '1px solid', borderColor: (theme.vars || theme).palette.divider, transition: theme.transitions.create(['color', 'border-color']), - boxShadow: `${alpha(theme.palette.grey[50], 0.5)} 0 1px 0 inset, ${alpha(theme.palette.grey[100], 0.3)} 0 -2px 0 inset, ${alpha(theme.palette.grey[200], 0.5)} 0 1px 2px 0`, + boxShadow: `${alpha(theme.palette.grey[100], 0.3)} 0 -2px 0 inset`, '&:hover': { backgroundColor: (theme.vars || theme).palette.grey[50], }, @@ -29,10 +29,10 @@ const NativeLink = styled('a')(({ theme }) => ({ display: 'inline-block', }, ...theme.applyDarkStyles({ - boxShadow: `${alpha(theme.palette.primaryDark[600], 0.15)} 0 1px 0 inset, ${(theme.vars || theme).palette.common.black} 0 -2px 0 inset, ${(theme.vars || theme).palette.common.black} 0 1px 2px 0`, + boxShadow: `${alpha(theme.palette.primaryDark[600], 0.1)} 0 2px 0 inset, ${(theme.vars || theme).palette.common.black} 0 -2px 0 inset`, '&:hover': { backgroundColor: (theme.vars || theme).palette.primaryDark[800], - borderColor: (theme.vars || theme).palette.primaryDark[600], + borderColor: (theme.vars || theme).palette.primary[900], }, }), })); diff --git a/docs/src/modules/components/EditPage.js b/docs/src/modules/components/EditPage.js index 3136dcee771934..409d996925ed54 100644 --- a/docs/src/modules/components/EditPage.js +++ b/docs/src/modules/components/EditPage.js @@ -25,6 +25,7 @@ export default function EditPage(props) { component="a" size="small" variant="outlined" + color="secondary" startIcon={<GitHubIcon sx={{ mr: 0.5 }} />} href={ userLanguage === 'en' diff --git a/docs/src/modules/components/MarkdownElement.js b/docs/src/modules/components/MarkdownElement.js index 1b2b6a0816f49c..7554dd0820ceac 100644 --- a/docs/src/modules/components/MarkdownElement.js +++ b/docs/src/modules/components/MarkdownElement.js @@ -24,8 +24,8 @@ const Root = styled('div')( lineHeight: 1.5, // Developers like when the code is dense. margin: theme.spacing(2, 'auto'), padding: theme.spacing(2), - backgroundColor: '#0F1924', // a special, one-off, color tailored for the code blocks using MUI's branding theme blue palette as the starting point. It has a less saturaded color but still maintaining a bit of the blue tint. - color: '#f8f8f2', + backgroundColor: 'hsl(210, 35%, 9%)', // a special, one-off, color tailored for the code blocks using MUI's branding theme blue palette as the starting point. It has a less saturaded color but still maintaining a bit of the blue tint. + color: 'hsl(60, 30%, 96%)', colorScheme: 'dark', borderRadius: `var(--muidocs-shape-borderRadius, ${ theme.shape?.borderRadius ?? lightTheme.shape.borderRadius @@ -344,7 +344,7 @@ const Root = styled('div')( }, }, '&.MuiCallout-info': { - color: `var(--muidocs-palette-primary-900, ${lightTheme.palette.primary[900]})`, + color: `var(--muidocs-palette-grey-900, ${lightTheme.palette.grey[900]})`, backgroundColor: `var(--muidocs-palette-grey-50, ${lightTheme.palette.grey[50]})`, borderColor: `var(--muidocs-palette-grey-100, ${lightTheme.palette.grey[100]})`, '& strong': { @@ -375,7 +375,7 @@ const Root = styled('div')( '&.MuiCallout-warning': { color: `var(--muidocs-palette-grey-900, ${lightTheme.palette.grey[900]})`, backgroundColor: alpha(lightTheme.palette.warning[50], 0.5), - borderColor: `var(--muidocs-palette-warning-200, ${lightTheme.palette.warning[200]})`, + borderColor: alpha(lightTheme.palette.warning[700], 0.15), '& strong': { color: `var(--muidocs-palette-warning-800, ${lightTheme.palette.warning[800]})`, }, @@ -540,7 +540,7 @@ const Root = styled('div')( fontWeight: 500, borderRadius: 6, border: 'none', - backgroundColor: '#0F1924', // using the code block one-off background color (defined in line 23) + backgroundColor: 'hsl(210, 35%, 9%)', // using the code block one-off background color (defined in line 23) color: '#FFF', transition: theme.transitions.create(['background', 'borderColor', 'display'], { duration: theme.transitions.duration.shortest, @@ -721,8 +721,8 @@ const Root = styled('div')( }, '&.MuiCallout-error': { color: `var(--muidocs-palette-error-50, ${darkTheme.palette.error[50]})`, - backgroundColor: alpha(darkTheme.palette.error[700], 0.2), - borderColor: alpha(darkTheme.palette.error[600], 0.3), + backgroundColor: alpha(darkTheme.palette.error[700], 0.15), + borderColor: alpha(darkTheme.palette.error[400], 0.1), '& strong': { color: `var(--muidocs-palette-error-300, ${darkTheme.palette.error[300]})`, }, @@ -734,9 +734,9 @@ const Root = styled('div')( }, }, '&.MuiCallout-info': { - color: `var(--muidocs-palette-primary-50, ${darkTheme.palette.primary[50]})`, - backgroundColor: alpha(darkTheme.palette.grey[700], 0.2), - borderColor: `var(--muidocs-palette-grey-800, ${darkTheme.palette.grey[800]})`, + color: `var(--muidocs-palette-grey-50, ${darkTheme.palette.grey[50]})`, + backgroundColor: alpha(darkTheme.palette.grey[700], 0.15), + borderColor: alpha(darkTheme.palette.grey[800], 0.5), '& strong': { color: `var(--muidocs-palette-primary-200, ${darkTheme.palette.primary[200]})`, }, @@ -746,8 +746,8 @@ const Root = styled('div')( }, '&.MuiCallout-success': { color: `var(--muidocs-palette-success-50, ${darkTheme.palette.success[50]})`, - backgroundColor: alpha(darkTheme.palette.success[700], 0.15), - borderColor: alpha(lightTheme.palette.success[600], 0.3), + backgroundColor: alpha(darkTheme.palette.success[700], 0.12), + borderColor: alpha(lightTheme.palette.success[400], 0.1), '& strong': { color: `var(--muidocs-palette-success-200, ${darkTheme.palette.success[200]})`, }, @@ -760,8 +760,8 @@ const Root = styled('div')( }, '&.MuiCallout-warning': { color: `var(--muidocs-palette-warning-50, ${darkTheme.palette.warning[50]})`, - backgroundColor: alpha(darkTheme.palette.warning[700], 0.15), - borderColor: alpha(darkTheme.palette.warning[600], 0.3), + backgroundColor: alpha(darkTheme.palette.warning[700], 0.12), + borderColor: alpha(darkTheme.palette.warning[400], 0.1), '& strong': { color: `var(--muidocs-palette-warning-200, ${darkTheme.palette.warning[200]})`, }, diff --git a/docs/src/modules/components/ThemeViewer.tsx b/docs/src/modules/components/ThemeViewer.tsx index 6db97b5221fb91..60ddb10417cd1f 100644 --- a/docs/src/modules/components/ThemeViewer.tsx +++ b/docs/src/modules/components/ThemeViewer.tsx @@ -205,7 +205,7 @@ export default function ThemeViewer({ sx={{ color: '#FFF', p: 1.5, - bgcolor: '#0F1924', // one-off code container color + bgcolor: 'hsl(210, 35%, 9%)', // one-off code container color borderRadius: 3, border: `1px solid ${blueDark[700]}`, }} diff --git a/docs/src/modules/components/TopLayoutBlog.js b/docs/src/modules/components/TopLayoutBlog.js index be14672647dbc1..e7cf4068a84f5c 100644 --- a/docs/src/modules/components/TopLayoutBlog.js +++ b/docs/src/modules/components/TopLayoutBlog.js @@ -180,6 +180,19 @@ const Root = styled('div')( margin: 'auto', marginBottom: 16, }, + '& figure': { + margin: 0, + padding: 0, + marginBottom: 16, + '& img, & video': { + marginBottom: 8, + }, + }, + '& figcaption': { + color: (theme.vars || theme).palette.text.tertiary, + fontSize: theme.typography.pxToRem(14), + textAlign: 'center', + }, '& strong': { color: (theme.vars || theme).palette.grey[900], }, diff --git a/docs/src/modules/constants.js b/docs/src/modules/constants.js index 7e5a49edcd5a32..527946179861bd 100644 --- a/docs/src/modules/constants.js +++ b/docs/src/modules/constants.js @@ -17,8 +17,12 @@ const LANGUAGES_LABEL = [ }, ]; +// The ratio of ads display sending event to Google Analytics +const GA_ADS_DISPLAY_RATIO = 0.1; + module.exports = { CODE_VARIANTS, LANGUAGES_LABEL, CODE_STYLING, + GA_ADS_DISPLAY_RATIO, }; diff --git a/docs/translations/api-docs-joy/table/table.json b/docs/translations/api-docs-joy/table/table.json index bfd2e6eb18453d..60c828485730e3 100644 --- a/docs/translations/api-docs-joy/table/table.json +++ b/docs/translations/api-docs-joy/table/table.json @@ -19,10 +19,10 @@ "slotProps": { "description": "The props used for each slot inside." }, "slots": { "description": "The components used for each slot inside." }, "stickyFooter": { - "description": "If <code>true</code>, the footer always appear at the bottom of the overflow table.<br>⚠️ It doesn't work with IE11." + "description": "If <code>true</code>, the footer always appear at the bottom of the overflow table." }, "stickyHeader": { - "description": "If <code>true</code>, the header always appear at the top of the overflow table.<br>⚠️ It doesn't work with IE11." + "description": "If <code>true</code>, the header always appear at the top of the overflow table." }, "stripe": { "description": "The odd or even row of the table body will have subtle background color." diff --git a/docs/translations/api-docs/tab-panel/tab-panel.json b/docs/translations/api-docs/tab-panel/tab-panel.json index 97fdf34bb33934..9f39bbeca855b1 100644 --- a/docs/translations/api-docs/tab-panel/tab-panel.json +++ b/docs/translations/api-docs/tab-panel/tab-panel.json @@ -3,6 +3,7 @@ "propDescriptions": { "children": { "description": "The content of the component." }, "classes": { "description": "Override or extend the styles applied to the component." }, + "keepMounted": { "description": "Always keep the children in the DOM." }, "sx": { "description": "The system prop that allows defining system overrides as well as additional CSS styles." }, @@ -10,5 +11,12 @@ "description": "The <code>value</code> of the corresponding <code>Tab</code>. Must use the index of the <code>Tab</code> when no <code>value</code> was passed to <code>Tab</code>." } }, - "classDescriptions": { "root": { "description": "Styles applied to the root element." } } + "classDescriptions": { + "hidden": { + "description": "State class applied to {{nodeName}} if {{conditions}}.", + "nodeName": "the root <code>div</code> element", + "conditions": "<code>hidden={true}</code>" + }, + "root": { "description": "Styles applied to the root element." } + } } diff --git a/docs/translations/api-docs/table/table.json b/docs/translations/api-docs/table/table.json index a121d095ef3c81..c84bbf8d0f86e7 100644 --- a/docs/translations/api-docs/table/table.json +++ b/docs/translations/api-docs/table/table.json @@ -10,9 +10,7 @@ }, "padding": { "description": "Allows TableCells to inherit padding of the Table." }, "size": { "description": "Allows TableCells to inherit size of the Table." }, - "stickyHeader": { - "description": "Set the header sticky.<br>⚠️ It doesn't work with IE11." - }, + "stickyHeader": { "description": "Set the header sticky." }, "sx": { "description": "The system prop that allows defining system overrides as well as additional CSS styles." } diff --git a/docs/translations/api-docs/toggle-button-group/toggle-button-group.json b/docs/translations/api-docs/toggle-button-group/toggle-button-group.json index 21eccbcd92b660..a507c96bf9f224 100644 --- a/docs/translations/api-docs/toggle-button-group/toggle-button-group.json +++ b/docs/translations/api-docs/toggle-button-group/toggle-button-group.json @@ -50,12 +50,19 @@ "groupedHorizontal": { "description": "Styles applied to {{nodeName}} if {{conditions}}.", "nodeName": "the children", - "conditions": "<code>orientation=\"horizontal\"</code>" + "conditions": "<code>orientation=\"horizontal\"</code>", + "deprecationInfo": "Combine the <a href=\"/material-ui/api/toggle-button-group/#toggle-button-group-classes-horizontal\">.MuiToggleButtonGroup-horizontal</a> and <a href=\"/material-ui/api/toggle-button-group/#toggle-button-group-classes-grouped\">.MuiToggleButtonGroup-grouped</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>" }, "groupedVertical": { "description": "Styles applied to {{nodeName}} if {{conditions}}.", "nodeName": "the children", - "conditions": "<code>orientation=\"vertical\"</code>" + "conditions": "<code>orientation=\"vertical\"</code>", + "deprecationInfo": "Combine the <a href=\"/material-ui/api/toggle-button-group/#toggle-button-group-classes-vertical\">.MuiToggleButtonGroup-vertical</a> and <a href=\"/material-ui/api/toggle-button-group/#toggle-button-group-classes-grouped\">.MuiToggleButtonGroup-grouped</a> classes instead. <a href=\"/material-ui/migration/migrating-from-deprecated-apis/\">How to migrate</a>" + }, + "horizontal": { + "description": "Styles applied to {{nodeName}} if {{conditions}}.", + "nodeName": "the root element", + "conditions": "<code>orientation=\"horizontal\"</code>" }, "lastButton": { "description": "Styles applied to {{nodeName}}.", diff --git a/package.json b/package.json index 1ab7e120974cb2..ba58c416b28879 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@mui/monorepo", - "version": "6.0.0-alpha.0", + "version": "6.0.0-alpha.2", "private": true, "scripts": { "preinstall": "npx only-allow pnpm", @@ -91,19 +91,19 @@ }, "devDependencies": { "@argos-ci/core": "^1.5.5", - "@babel/cli": "^7.23.9", - "@babel/core": "^7.23.9", + "@babel/cli": "^7.24.1", + "@babel/core": "^7.24.4", "@babel/node": "^7.23.9", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/plugin-proposal-object-rest-spread": "^7.20.7", "@babel/plugin-proposal-private-methods": "^7.18.6", "@babel/plugin-proposal-private-property-in-object": "^7.21.11", - "@babel/plugin-transform-object-assign": "^7.23.3", - "@babel/plugin-transform-react-constant-elements": "^7.23.3", - "@babel/plugin-transform-runtime": "^7.23.9", - "@babel/preset-env": "^7.23.9", - "@babel/preset-react": "^7.23.3", - "@babel/preset-typescript": "^7.23.3", + "@babel/plugin-transform-object-assign": "^7.24.1", + "@babel/plugin-transform-react-constant-elements": "^7.24.1", + "@babel/plugin-transform-runtime": "^7.24.3", + "@babel/preset-env": "^7.24.4", + "@babel/preset-react": "^7.24.1", + "@babel/preset-typescript": "^7.24.1", "@babel/register": "^7.23.7", "@mnajdova/enzyme-adapter-react-18": "^0.2.0", "@mui/internal-docs-utils": "workspace:^", @@ -116,18 +116,18 @@ "@mui/utils": "workspace:^", "@pigment-css/react": "workspace:^", "@next/eslint-plugin-next": "^14.1.4", - "@octokit/rest": "^20.0.2", - "@playwright/test": "1.42.1", + "@octokit/rest": "^20.1.0", + "@playwright/test": "1.43.0", "@types/enzyme": "^3.10.18", "@types/fs-extra": "^11.0.4", "@types/lodash": "^4.17.0", "@types/mocha": "^10.0.6", - "@types/node": "^18.19.28", + "@types/node": "^18.19.31", "@types/prettier": "^2.7.3", "@types/react": "^18.2.55", "@types/yargs": "^17.0.32", - "@typescript-eslint/eslint-plugin": "^6.19.1", - "@typescript-eslint/parser": "^6.19.1", + "@typescript-eslint/eslint-plugin": "^6.21.0", + "@typescript-eslint/parser": "^6.21.0", "babel-loader": "^9.1.3", "babel-plugin-istanbul": "^6.1.1", "babel-plugin-macros": "^3.1.0", @@ -170,7 +170,7 @@ "lerna": "^8.1.2", "lodash": "^4.17.21", "markdownlint-cli2": "^0.12.1", - "mocha": "^10.3.0", + "mocha": "^10.4.0", "nx": "^17.3.2", "nyc": "^15.1.0", "piscina": "^4.4.0", @@ -186,33 +186,33 @@ "stylelint-processor-styled-components": "^1.10.0", "terser-webpack-plugin": "^5.3.10", "tsup": "^8.0.2", - "tsx": "^4.7.1", - "typescript": "^5.4.3", + "tsx": "^4.7.2", + "typescript": "^5.4.4", "webpack": "^5.90.3", "webpack-bundle-analyzer": "^4.10.1", "webpack-cli": "^5.1.4", "yargs": "^17.7.2" }, - "packageManager": "pnpm@8.15.5", + "packageManager": "pnpm@8.15.6", "resolutions": { - "@babel/core": "^7.23.9", - "@babel/code-frame": "^7.23.5", + "@babel/core": "^7.24.4", + "@babel/code-frame": "^7.24.2", "@babel/plugin-proposal-class-properties": "^7.18.6", "@babel/plugin-proposal-object-rest-spread": "^7.20.7", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", "@babel/plugin-proposal-numeric-separator": "^7.18.6", "@babel/plugin-proposal-optional-chaining": "^7.21.0", "@babel/plugin-transform-destructuring": "npm:@minh.nguyen/plugin-transform-destructuring@^7.5.2", - "@babel/plugin-transform-runtime": "^7.23.9", - "@babel/preset-env": "^7.23.9", - "@babel/preset-react": "^7.23.3", - "@babel/preset-typescript": "^7.23.3", - "@babel/runtime": "^7.23.9", - "@babel/types": "^7.23.9", + "@babel/plugin-transform-runtime": "^7.24.3", + "@babel/preset-env": "^7.24.4", + "@babel/preset-react": "^7.24.1", + "@babel/preset-typescript": "^7.24.1", + "@babel/runtime": "^7.24.4", + "@babel/types": "^7.24.0", "@definitelytyped/header-parser": "^0.2.8", "@definitelytyped/typescript-versions": "^0.1.1", "@definitelytyped/utils": "^0.1.5", - "@types/node": "^18.19.28", + "@types/node": "^18.19.31", "@types/react": "18.2.55", "@types/react-dom": "18.2.19", "cross-fetch": "^4.0.0" diff --git a/packages-internal/docs-utils/package.json b/packages-internal/docs-utils/package.json index c0ac779a5cf3f5..a0bf7c1cc79fdc 100644 --- a/packages-internal/docs-utils/package.json +++ b/packages-internal/docs-utils/package.json @@ -1,6 +1,6 @@ { "name": "@mui/internal-docs-utils", - "version": "1.0.4", + "version": "1.0.5", "author": "MUI Team", "description": "Utilities for MUI docs. This is an internal package not meant for general use.", "main": "./build/index.js", @@ -22,7 +22,7 @@ }, "dependencies": { "rimraf": "^5.0.5", - "typescript": "^5.4.3" + "typescript": "^5.4.4" }, "publishConfig": { "access": "public" diff --git a/packages-internal/scripts/package.json b/packages-internal/scripts/package.json index ea8086d170db3a..d68d07740cbdec 100644 --- a/packages-internal/scripts/package.json +++ b/packages-internal/scripts/package.json @@ -1,6 +1,6 @@ { "name": "@mui/internal-scripts", - "version": "1.0.4", + "version": "1.0.5", "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", @@ -25,15 +25,15 @@ "typescript": "tsc --build tsconfig.typecheck.json" }, "dependencies": { - "@babel/core": "^7.23.9", + "@babel/core": "^7.24.4", "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-jsx": "^7.23.3", - "@babel/plugin-syntax-typescript": "^7.23.3", - "@babel/types": "^7.23.9", + "@babel/plugin-syntax-jsx": "^7.24.1", + "@babel/plugin-syntax-typescript": "^7.24.1", + "@babel/types": "^7.24.0", "@mui/internal-docs-utils": "workspace:^", "doctrine": "^3.0.0", "lodash": "^4.17.21", - "typescript": "^5.4.3", + "typescript": "^5.4.4", "uuid": "^9.0.1" }, "devDependencies": { @@ -42,7 +42,7 @@ "@types/chai": "^4.3.14", "@types/doctrine": "^0.0.9", "@types/lodash": "^4.17.0", - "@types/node": "^18.19.28", + "@types/node": "^18.19.31", "@types/prettier": "^2.7.3", "@types/react": "^18.2.55", "@types/uuid": "^9.0.8", diff --git a/packages/api-docs-builder-core/package.json b/packages/api-docs-builder-core/package.json index a819ced75abe2d..a111b120ec6679 100644 --- a/packages/api-docs-builder-core/package.json +++ b/packages/api-docs-builder-core/package.json @@ -17,10 +17,10 @@ "devDependencies": { "@types/chai": "^4.3.14", "@types/mocha": "^10.0.6", - "@types/node": "^18.19.28", + "@types/node": "^18.19.31", "@types/sinon": "^10.0.20", "chai": "^4.4.1", "sinon": "^15.2.0", - "typescript": "^5.4.3" + "typescript": "^5.4.4" } } diff --git a/packages/api-docs-builder/package.json b/packages/api-docs-builder/package.json index 196734580b15b2..835fefbb459dec 100644 --- a/packages/api-docs-builder/package.json +++ b/packages/api-docs-builder/package.json @@ -8,9 +8,9 @@ "typescript": "tsc -p tsconfig.json" }, "dependencies": { - "@babel/core": "^7.23.9", - "@babel/preset-typescript": "^7.23.3", - "@babel/traverse": "^7.23.9", + "@babel/core": "^7.24.4", + "@babel/preset-typescript": "^7.24.1", + "@babel/traverse": "^7.24.1", "@mui/internal-docs-utils": "workspace:^", "@mui/internal-markdown": "workspace:^", "ast-types": "^0.14.2", @@ -22,7 +22,7 @@ "react-docgen": "^5.4.3", "recast": "^0.23.6", "remark": "^13.0.0", - "typescript": "^5.4.3", + "typescript": "^5.4.4", "unist-util-visit": "^2.0.3" }, "devDependencies": { @@ -32,7 +32,7 @@ "@types/doctrine": "^0.0.9", "@types/mdast": "4.0.3", "@types/mocha": "^10.0.6", - "@types/node": "^18.19.28", + "@types/node": "^18.19.31", "@types/react-docgen": "workspace:*", "@types/sinon": "^10.0.20", "chai": "^4.4.1", diff --git a/packages/eslint-plugin-material-ui/package.json b/packages/eslint-plugin-material-ui/package.json index 5901037dd8812a..39cbd86a6a0709 100644 --- a/packages/eslint-plugin-material-ui/package.json +++ b/packages/eslint-plugin-material-ui/package.json @@ -8,8 +8,8 @@ "emoji-regex": "^10.3.0" }, "devDependencies": { - "@types/eslint": "^8.56.6", - "@typescript-eslint/parser": "^6.19.1", + "@types/eslint": "^8.56.7", + "@typescript-eslint/parser": "^6.21.0", "eslint": "^8.57.0" }, "peerDependencies": { diff --git a/packages/markdown/loader.js b/packages/markdown/loader.js index ed418dc2bfc0b8..2c70b31176dabc 100644 --- a/packages/markdown/loader.js +++ b/packages/markdown/loader.js @@ -126,6 +126,7 @@ module.exports = async function demoLoader() { const components = {}; const demoModuleIDs = new Set(); const componentModuleIDs = new Set(); + const nonEditableDemos = new Set(); const demoNames = Array.from( new Set( docs.en.rendered @@ -133,6 +134,9 @@ module.exports = async function demoLoader() { return typeof markdownOrComponentConfig !== 'string' && markdownOrComponentConfig.demo; }) .map((demoConfig) => { + if (demoConfig.hideToolbar) { + nonEditableDemos.add(demoConfig.demo); + } return demoConfig.demo; }), ), @@ -164,9 +168,12 @@ module.exports = async function demoLoader() { raw: await fs.readFile(moduleFilepath, { encoding: 'utf8' }), }; demoModuleIDs.add(moduleID); - extractImports(demos[demoName].raw).forEach((importModuleID) => - importedModuleIDs.add(importModuleID), - ); + // Skip non-editable demos + if (!nonEditableDemos.has(demoName)) { + extractImports(demos[demoName].raw).forEach((importModuleID) => + importedModuleIDs.add(importModuleID), + ); + } if (multipleDemoVersionsUsed) { // Add Tailwind demo data diff --git a/packages/markdown/package.json b/packages/markdown/package.json index f62b53d362f052..9d6cef39b4b224 100644 --- a/packages/markdown/package.json +++ b/packages/markdown/package.json @@ -1,6 +1,6 @@ { "name": "@mui/internal-markdown", - "version": "1.0.1", + "version": "1.0.2", "author": "MUI Team", "description": "MUI markdown parser. This is an internal package not meant for general use.", "main": "./index.js", @@ -20,7 +20,7 @@ "release:publish:dry-run": "pnpm publish --tag latest --registry=\"http://localhost:4873/\"" }, "dependencies": { - "@babel/runtime": "^7.23.9", + "@babel/runtime": "^7.24.4", "lodash": "^4.17.21", "marked": "^5.1.2", "prismjs": "^1.29.0" diff --git a/packages/mui-babel-macros/package.json b/packages/mui-babel-macros/package.json index 81d369122291af..2cc41924b72c25 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.1", + "version": "1.0.2", "author": "MUI Team", "description": "MUI Babel macros. This is an internal package not meant for general use.", "main": "./MuiError.macro.js", @@ -23,8 +23,8 @@ "test": "cd ../../ && cross-env NODE_ENV=test mocha 'packages/mui-babel-macros/**/*.test.{js,ts,tsx}'" }, "dependencies": { - "@babel/helper-module-imports": "^7.22.15", - "@babel/runtime": "^7.23.9", + "@babel/helper-module-imports": "^7.24.3", + "@babel/runtime": "^7.24.4", "babel-plugin-macros": "^3.1.0" }, "devDependencies": { @@ -32,7 +32,7 @@ "@types/babel-plugin-macros": "^3.1.3", "@types/chai": "^4.3.14", "@types/mocha": "^10.0.6", - "@types/node": "^18.19.28", + "@types/node": "^18.19.31", "babel-plugin-tester": "^11.0.4", "chai": "^4.4.1" }, diff --git a/packages/mui-base/package.json b/packages/mui-base/package.json index f85da5038350b7..51006729c675fa 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.41", + "version": "5.0.0-beta.42", "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.", @@ -41,7 +41,7 @@ "typescript:module-augmentation": "node scripts/testModuleAugmentation.js" }, "dependencies": { - "@babel/runtime": "^7.23.9", + "@babel/runtime": "^7.24.4", "@floating-ui/react-dom": "^2.0.8", "@mui/types": "workspace:^", "@mui/utils": "workspace:^", diff --git a/packages/mui-codemod/README.md b/packages/mui-codemod/README.md index 28af883ae6bdce..20f6078ca6c131 100644 --- a/packages/mui-codemod/README.md +++ b/packages/mui-codemod/README.md @@ -948,6 +948,43 @@ npx @mui/codemod@next deprecations/pagination-item-classes <path> npx @mui/codemod@next deprecations/slider-props <path> ``` +#### `toggle-button-group-classes` + +JS transforms: + +```diff + import { toggleButtonGroupClasses } from '@mui/material/ToggleButtonGroup'; + + MuiToggleButtonGroup: { + styleOverrides: { + root: { +- [`& .${toggleButtonGroupClasses.groupedHorizontal}`]: { ++ [`&.${toggleButtonGroupClasses.horizontal} > .${toggleButtonGroupClasses.grouped}`]: { + color: 'red', + }, +- [`& .${toggleButtonGroupClasses.groupedVertical}`]: { ++ [`&.${toggleButtonGroupClasses.vertical} > .${toggleButtonGroupClasses.grouped}`]: { + color: 'red', + }, + }, + }, + }, +``` + +CSS transforms: + +```diff +-.MuiToggleButtonGroup-root .MuiToggleButtonGroup-groupedHorizontal ++.MuiToggleButtonGroup-root.MuiToggleButtonGroup-horizontal > .MuiToggleButtonGroup-grouped +-.MuiToggleButtonGroup-root .MuiToggleButtonGroup-groupedVertical ++.MuiToggleButtonGroup-root.MuiToggleButtonGroup-vertical > .MuiToggleButtonGroup-grouped + /> +``` + +```bash +npx @mui/codemod@latest deprecations/toggle-button-group-classes <path> +``` + #### `step-label-props` ```diff diff --git a/packages/mui-codemod/package.json b/packages/mui-codemod/package.json index 98bad4c9ffb08b..d66dcb477c1f67 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.0", + "version": "6.0.0-alpha.1", "bin": "./codemod.js", "private": false, "author": "MUI Team", @@ -30,9 +30,9 @@ "url": "https://opencollective.com/mui-org" }, "dependencies": { - "@babel/core": "^7.23.9", - "@babel/runtime": "^7.23.9", - "@babel/traverse": "^7.23.9", + "@babel/core": "^7.24.4", + "@babel/runtime": "^7.24.4", + "@babel/traverse": "^7.24.1", "jscodeshift": "^0.13.1", "jscodeshift-add-imports": "^1.0.10", "postcss": "^8.4.38", diff --git a/packages/mui-codemod/src/deprecations/all/deprecations-all.js b/packages/mui-codemod/src/deprecations/all/deprecations-all.js index 3334e510190f69..3a6ca47eeb1072 100644 --- a/packages/mui-codemod/src/deprecations/all/deprecations-all.js +++ b/packages/mui-codemod/src/deprecations/all/deprecations-all.js @@ -7,6 +7,7 @@ import transformButtonGroupClasses from '../button-group-classes'; import transformChipClasses from '../chip-classes'; import transformPaginationItemClasses from '../pagination-item-classes'; import transformAlertClasses from '../alert-classes'; +import transformToggleButtonGroupClasses from '../toggle-button-group-classes'; import transformStepLabelProps from '../step-label-props'; import transformBackdropProps from '../backdrop-props'; import transformStepConnectorClasses from '../step-connector-classes'; @@ -25,6 +26,7 @@ export default function deprecationsAll(file, api, options) { file.source = transformChipClasses(file, api, options); file.source = transformPaginationItemClasses(file, api, options); file.source = transformAlertClasses(file, api, options); + file.source = transformToggleButtonGroupClasses(file, api, options); file.source = transformStepLabelProps(file, api, options); file.source = transformBackdropProps(file, api, options); file.source = transformStepConnectorClasses(file, api, options); diff --git a/packages/mui-codemod/src/deprecations/all/postcss.config.js b/packages/mui-codemod/src/deprecations/all/postcss.config.js index 704d70a0f0a375..8e72e2f8b9b462 100644 --- a/packages/mui-codemod/src/deprecations/all/postcss.config.js +++ b/packages/mui-codemod/src/deprecations/all/postcss.config.js @@ -9,6 +9,9 @@ const { plugin: paginationItemClassesPlugin, } = require('../pagination-item-classes/postcss-plugin'); const { plugin: stepConnectorClassesPlugin } = require('../step-connector-classes/postcss-plugin'); +const { + plugin: toggleButtonGroupClassesPlugin, +} = require('../toggle-button-group-classes/postcss-plugin'); module.exports = { plugins: [ @@ -19,5 +22,6 @@ module.exports = { chipClassesPlugin, paginationItemClassesPlugin, stepConnectorClassesPlugin, + toggleButtonGroupClassesPlugin, ], }; diff --git a/packages/mui-codemod/src/deprecations/toggle-button-group-classes/index.js b/packages/mui-codemod/src/deprecations/toggle-button-group-classes/index.js new file mode 100644 index 00000000000000..652d00fe9b9c62 --- /dev/null +++ b/packages/mui-codemod/src/deprecations/toggle-button-group-classes/index.js @@ -0,0 +1 @@ +export { default } from './toggle-button-group-classes'; diff --git a/packages/mui-codemod/src/deprecations/toggle-button-group-classes/postcss-plugin.js b/packages/mui-codemod/src/deprecations/toggle-button-group-classes/postcss-plugin.js new file mode 100644 index 00000000000000..fc59a4a1c8b29a --- /dev/null +++ b/packages/mui-codemod/src/deprecations/toggle-button-group-classes/postcss-plugin.js @@ -0,0 +1,33 @@ +const classes = [ + { + deprecatedClass: ' .MuiToggleButtonGroup-groupedHorizontal', + replacementSelector: '.MuiToggleButtonGroup-horizontal > .MuiToggleButtonGroup-grouped', + }, + { + deprecatedClass: ' .MuiToggleButtonGroup-groupedVertical', + replacementSelector: '.MuiToggleButtonGroup-vertical > .MuiToggleButtonGroup-grouped', + }, +]; + +const plugin = () => { + return { + postcssPlugin: `Replace deperecated ToggleButtonGroup classes with new classes`, + Rule(rule) { + const { selector } = rule; + + classes.forEach(({ deprecatedClass, replacementSelector }) => { + const selectorRegex = new RegExp(`${deprecatedClass}$`); + + if (selector.match(selectorRegex)) { + rule.selector = selector.replace(selectorRegex, replacementSelector); + } + }); + }, + }; +}; +plugin.postcss = true; + +module.exports = { + plugin, + classes, +}; diff --git a/packages/mui-codemod/src/deprecations/toggle-button-group-classes/postcss.config.js b/packages/mui-codemod/src/deprecations/toggle-button-group-classes/postcss.config.js new file mode 100644 index 00000000000000..23bebc1125be6e --- /dev/null +++ b/packages/mui-codemod/src/deprecations/toggle-button-group-classes/postcss.config.js @@ -0,0 +1,5 @@ +const { plugin } = require('./postcss-plugin'); + +module.exports = { + plugins: [plugin], +}; diff --git a/packages/mui-codemod/src/deprecations/toggle-button-group-classes/test-cases/actual.css b/packages/mui-codemod/src/deprecations/toggle-button-group-classes/test-cases/actual.css new file mode 100644 index 00000000000000..2e856c77e5cb7b --- /dev/null +++ b/packages/mui-codemod/src/deprecations/toggle-button-group-classes/test-cases/actual.css @@ -0,0 +1,7 @@ +.MuiToggleButtonGroup-root .MuiToggleButtonGroup-groupedHorizontal { + color: red; +} + +.MuiToggleButtonGroup-root .MuiToggleButtonGroup-groupedVertical { + color: red; +} diff --git a/packages/mui-codemod/src/deprecations/toggle-button-group-classes/test-cases/actual.js b/packages/mui-codemod/src/deprecations/toggle-button-group-classes/test-cases/actual.js new file mode 100644 index 00000000000000..eed30d616d7210 --- /dev/null +++ b/packages/mui-codemod/src/deprecations/toggle-button-group-classes/test-cases/actual.js @@ -0,0 +1,6 @@ +import { toggleButtonGroupClasses } from '@mui/material/ToggleButtonGroup'; + +('& .MuiToggleButtonGroup-groupedHorizontal'); +('& .MuiToggleButtonGroup-groupedVertical'); +`& .${toggleButtonGroupClasses.groupedHorizontal}`; +`& .${toggleButtonGroupClasses.groupedVertical}`; diff --git a/packages/mui-codemod/src/deprecations/toggle-button-group-classes/test-cases/expected.css b/packages/mui-codemod/src/deprecations/toggle-button-group-classes/test-cases/expected.css new file mode 100644 index 00000000000000..0a1721efbc7eec --- /dev/null +++ b/packages/mui-codemod/src/deprecations/toggle-button-group-classes/test-cases/expected.css @@ -0,0 +1,7 @@ +.MuiToggleButtonGroup-root.MuiToggleButtonGroup-horizontal > .MuiToggleButtonGroup-grouped { + color: red; +} + +.MuiToggleButtonGroup-root.MuiToggleButtonGroup-vertical > .MuiToggleButtonGroup-grouped { + color: red; +} diff --git a/packages/mui-codemod/src/deprecations/toggle-button-group-classes/test-cases/expected.js b/packages/mui-codemod/src/deprecations/toggle-button-group-classes/test-cases/expected.js new file mode 100644 index 00000000000000..b2030174207157 --- /dev/null +++ b/packages/mui-codemod/src/deprecations/toggle-button-group-classes/test-cases/expected.js @@ -0,0 +1,6 @@ +import { toggleButtonGroupClasses } from '@mui/material/ToggleButtonGroup'; + +("&.MuiToggleButtonGroup-horizontal > .MuiToggleButtonGroup-grouped"); +("&.MuiToggleButtonGroup-vertical > .MuiToggleButtonGroup-grouped"); +`&.${toggleButtonGroupClasses.horizontal} > .${toggleButtonGroupClasses.grouped}`; +`&.${toggleButtonGroupClasses.vertical} > .${toggleButtonGroupClasses.grouped}`; diff --git a/packages/mui-codemod/src/deprecations/toggle-button-group-classes/toggle-button-group-classes.js b/packages/mui-codemod/src/deprecations/toggle-button-group-classes/toggle-button-group-classes.js new file mode 100644 index 00000000000000..60bec34f754946 --- /dev/null +++ b/packages/mui-codemod/src/deprecations/toggle-button-group-classes/toggle-button-group-classes.js @@ -0,0 +1,127 @@ +import { classes } from './postcss-plugin'; + +/** + * @param {import('jscodeshift').FileInfo} file + * @param {import('jscodeshift').API} api + */ +export default function transformer(file, api, options) { + const j = api.jscodeshift; + const root = j(file.source); + const printOptions = options.printOptions; + classes.forEach(({ deprecatedClass, replacementSelector }) => { + const replacementSelectorPrefix = '&'; + root + .find(j.ImportDeclaration) + .filter((path) => path.node.source.value.match(/^@mui\/material\/ToggleButtonGroup$/)) + .forEach((path) => { + path.node.specifiers.forEach((specifier) => { + if ( + specifier.type === 'ImportSpecifier' && + specifier.imported.name === 'toggleButtonGroupClasses' + ) { + const deprecatedAtomicClass = deprecatedClass.replace( + `${deprecatedClass.split('-')[0]}-`, + '', + ); + root + .find(j.MemberExpression, { + object: { name: specifier.local.name }, + property: { name: deprecatedAtomicClass }, + }) + .forEach((memberExpression) => { + const parent = memberExpression.parentPath.parentPath.value; + if (parent.type === j.TemplateLiteral.name) { + const memberExpressionIndex = parent.expressions.findIndex( + (expression) => expression === memberExpression.value, + ); + const precedingTemplateElement = parent.quasis[memberExpressionIndex]; + const atomicClasses = replacementSelector + .replaceAll('MuiToggleButtonGroup-', '') + .replaceAll(replacementSelectorPrefix, '') + .replaceAll(' > ', '') + .split('.') + .filter(Boolean); + + if ( + precedingTemplateElement.value.raw.endsWith( + deprecatedClass.startsWith(' ') + ? `${replacementSelectorPrefix} .` + : `${replacementSelectorPrefix}.`, + ) + ) { + const atomicClassesArgs = [ + memberExpressionIndex, + 1, + ...atomicClasses.map((atomicClass) => + j.memberExpression( + memberExpression.value.object, + j.identifier(atomicClass), + ), + ), + ]; + parent.expressions.splice(...atomicClassesArgs); + + if (replacementSelector.includes(' > ')) { + const quasisArgs = [ + memberExpressionIndex, + 1, + j.templateElement( + { + raw: precedingTemplateElement.value.raw.replace(' ', ''), + cooked: precedingTemplateElement.value.cooked.replace(' ', ''), + }, + false, + ), + j.templateElement({ raw: ' > .', cooked: ' > .' }, false), + ]; + + if (atomicClasses.length === 3) { + quasisArgs.splice( + 3, + 0, + j.templateElement({ raw: '.', cooked: '.' }, false), + ); + } + + parent.quasis.splice(...quasisArgs); + } else { + parent.quasis.splice( + memberExpressionIndex, + 1, + j.templateElement( + { + raw: precedingTemplateElement.value.raw, + cooked: precedingTemplateElement.value.cooked, + }, + false, + ), + + j.templateElement({ raw: '.', cooked: '.' }, false), + ); + } + } + } + }); + } + }); + }); + + const selectorRegex = new RegExp(`${replacementSelectorPrefix}${deprecatedClass}$`); + root + .find( + j.Literal, + (literal) => typeof literal.value === 'string' && literal.value.match(selectorRegex), + ) + .forEach((path) => { + path.replace( + j.literal( + path.value.value.replace( + selectorRegex, + `${replacementSelectorPrefix}${replacementSelector}`, + ), + ), + ); + }); + }); + return root.toSource(printOptions); +} diff --git a/packages/mui-codemod/src/deprecations/toggle-button-group-classes/toggle-button-group-classes.test.js b/packages/mui-codemod/src/deprecations/toggle-button-group-classes/toggle-button-group-classes.test.js new file mode 100644 index 00000000000000..9769a168e9f86c --- /dev/null +++ b/packages/mui-codemod/src/deprecations/toggle-button-group-classes/toggle-button-group-classes.test.js @@ -0,0 +1,78 @@ +import path from 'path'; +import { expect } from 'chai'; +import postcss from 'postcss'; +import { jscodeshift } from '../../../testUtils'; +import jsTransform from './toggle-button-group-classes'; +import { plugin as postcssPlugin } from './postcss-plugin'; +import readFile from '../../util/readFile'; + +function read(fileName) { + return readFile(path.join(__dirname, fileName)); +} + +const postcssProcessor = postcss([postcssPlugin]); + +describe('@mui/codemod', () => { + describe('deprecations', () => { + describe('toggle-button-group-classes', () => { + describe('js-transform', () => { + it('transforms props as needed', () => { + const actual = jsTransform( + { source: read('./test-cases/actual.js') }, + { jscodeshift }, + { printOptions: { quote: 'double', trailingComma: true } }, + ); + + const expected = read('./test-cases/expected.js'); + expect(actual).to.equal(expected, 'The transformed version should be correct'); + }); + + it('should be idempotent', () => { + const actual = jsTransform( + { source: read('./test-cases/expected.js') }, + { jscodeshift }, + {}, + ); + + const expected = read('./test-cases/expected.js'); + expect(actual).to.equal(expected, 'The transformed version should be correct'); + }); + }); + + describe('css-transform', () => { + it('transforms classes as needed', async () => { + const actual = await postcssProcessor.process(read('./test-cases/actual.css'), { + from: undefined, + }); + + const expected = read('./test-cases/expected.css'); + expect(actual.css).to.equal(expected, 'The transformed version should be correct'); + }); + + it('should be idempotent', async () => { + const actual = await postcssProcessor.process(read('./test-cases/expected.css'), { + from: undefined, + }); + + const expected = read('./test-cases/expected.css'); + expect(actual.css).to.equal(expected, 'The transformed version should be correct'); + }); + }); + + describe('test-cases', () => { + it('should not be the same', () => { + const actualJS = read('./test-cases/actual.js'); + const expectedJS = read('./test-cases/expected.js'); + expect(actualJS).not.to.equal(expectedJS, 'The actual and expected should be different'); + + const actualCSS = read('./test-cases/actual.css'); + const expectedCSS = read('./test-cases/expected.css'); + expect(actualCSS).not.to.equal( + expectedCSS, + 'The actual and expected should be different', + ); + }); + }); + }); + }); +}); diff --git a/packages/mui-core-downloads-tracker/package.json b/packages/mui-core-downloads-tracker/package.json index 50d462045792c9..a2aa0d9631db7b 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.0", + "version": "6.0.0-alpha.2", "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 d7cfe6c19c84b8..54f3b4c83f9a47 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.0", + "version": "6.0.0-alpha.2", "private": false, "author": "MUI Team", "description": "MUI Docs - Documentation building blocks.", @@ -35,24 +35,24 @@ "test": "exit 0" }, "dependencies": { - "@babel/runtime": "^7.23.9", + "@babel/runtime": "^7.24.4", "clsx": "^2.1.0", "nprogress": "^0.2.0", "prop-types": "^15.8.1" }, "devDependencies": { - "@mui/material": "workspace:*", "@mui/icons-material": "workspace:*", - "@types/node": "^18.19.28", + "@mui/material": "workspace:*", + "@types/node": "^18.19.31", "@types/prop-types": "^15.7.12", "@types/react": "^18.2.55", "next": "^13.5.1", "react": "^18.2.0" }, "peerDependencies": { - "@mui/material": "^5.0.0", "@mui/base": "*", "@mui/icons-material": "^5.0.0", + "@mui/material": "^5.0.0", "@mui/system": "^5.0.0", "@types/react": "^17.0.0 || ^18.0.0", "next": "^13.5.1 || ^14", diff --git a/packages/mui-docs/src/InfoCard/InfoCard.tsx b/packages/mui-docs/src/InfoCard/InfoCard.tsx index d686fd4f268ee2..754a22b43e5c77 100644 --- a/packages/mui-docs/src/InfoCard/InfoCard.tsx +++ b/packages/mui-docs/src/InfoCard/InfoCard.tsx @@ -79,7 +79,7 @@ export function InfoCard(props: InfoCardProps) { height: '100%', background: `${(theme.vars || theme).palette.gradients.linearSubtle}`, ...theme.applyDarkStyles({ - bgcolor: 'primaryDark.900', + bgcolor: alpha(theme.palette.primaryDark[800], 0.25), background: `${(theme.vars || theme).palette.gradients.linearSubtle}`, borderColor: 'primaryDark.700', }), diff --git a/packages/mui-docs/src/branding/brandingTheme.ts b/packages/mui-docs/src/branding/brandingTheme.ts index e28e76c6bda058..e901fab77e47b9 100644 --- a/packages/mui-docs/src/branding/brandingTheme.ts +++ b/packages/mui-docs/src/branding/brandingTheme.ts @@ -32,8 +32,7 @@ declare module '@mui/material/styles/createPalette' { interface Palette { primaryDark: PaletteColor; gradients: { - lightGrayRadio: string; - stylizedRadio: string; + radioSubtle: string; linearSubtle: string; }; } @@ -91,82 +90,81 @@ declare module '@mui/material/SvgIcon' { const defaultTheme = createTheme(); export const blue = { - 50: '#EBF5FF', - 100: '#CCE5FF', - 200: '#99CCFF', - 300: '#66B2FF', - 400: '#3399FF', - main: '#0073E6', - 500: '#0073E6', - 600: '#006BD6', - 700: '#0061C2', - 800: '#004C99', - 900: '#003A75', + 50: 'hsl(210, 100%, 96%)', + 100: 'hsl(210, 100%, 90%)', + 200: 'hsl(210, 100%, 80%)', + 300: 'hsl(210, 100%, 70%)', + 400: 'hsl(210, 100%, 60%)', + main: 'hsl(210, 100%, 45%)', + 500: 'hsl(210, 100%, 45%)', + 600: 'hsl(210, 100%, 42%)', + 700: 'hsl(210, 100%, 38%)', + 800: 'hsl(210, 100%, 30%)', + 900: 'hsl(210, 100%, 23%)', }; export const blueDark = { - 50: '#EAEDF1', - 100: '#DAE0E7', - 200: '#ACBAC8', - 300: '#7B91A7', - main: '#7B91A7', - 400: '#4B5E71', - 500: '#3B4A59', - 600: '#2F3A46', - 700: '#1F262E', // contrast 13.64:1 - 800: '#141A1F', - 900: '#101418', + 50: 'hsl(210, 14%, 92%)', + 100: 'hsl(210, 14%, 87%)', + 200: 'hsl(210, 14%, 72%)', + 300: 'hsl(210, 14%, 56%)', + main: 'hsl(210, 14%, 56%)', + 400: 'hsl(210, 14%, 36%)', + 500: 'hsl(210, 14%, 28%)', + 600: 'hsl(210, 14%, 22%)', + 700: 'hsl(210, 14%, 13%)', + 800: 'hsl(210, 14%, 9%)', + 900: 'hsl(210, 14%, 7%)', }; export const grey = { - 50: '#F3F6F9', - 100: '#E5EAF2', - 200: '#DAE2ED', - 300: '#C5D0E0', // vs blueDark 900: WCAG 11.6 AAA, APCA 78 Best for text - 400: '#AEBACB', // vs blueDark 900: WCAG 9 AAA, APCA 63.3 Ok for text - 500: '#99A7BB', // vs blueDark 900: WCAG 7.5 AAA, APCA 54.3 Only for large text - 600: '#6F7F95', // vs white bg: WCAG 4.1 AA, APCA 68.7 Ok for text - 700: '#576375', // vs white bg: WCAG 8.3 AAA, APCA 88.7 Best for text - 800: '#303740', // vs white bg: WCAG 11.9 AAA, APCA 97.3 Best for text - 900: '#1C2025', + 50: 'hsl(215, 15%, 97%)', + 100: 'hsl(215, 15%, 92%)', + 200: 'hsl(215, 15%, 89%)', + 300: 'hsl(215, 15%, 82%)', + 400: 'hsl(215, 15%, 75%)', + 500: 'hsl(215, 15%, 65%)', + 600: 'hsl(215, 15%, 50%)', + 700: 'hsl(215, 15%, 40%)', + 800: 'hsl(215, 15%, 22%)', + 900: 'hsl(215, 15%, 12%)', }; export const error = { - 50: '#FFF0F1', - 100: '#FFDBDE', - 200: '#FFBDC2', - 300: '#FF99A2', - 400: '#FF7A86', - 500: '#FF505F', - main: '#EB0014', // contrast 4.63:1 - 600: '#EB0014', - 700: '#C70011', - 800: '#94000D', - 900: '#570007', + 50: 'hsl(355, 98%, 97%)', + 100: 'hsl(355, 98%, 93%)', + 200: 'hsl(355, 98%, 87%)', + 300: 'hsl(355, 98%, 80%)', + 400: 'hsl(355, 98%, 74%)', + 500: 'hsl(355, 98%, 66%)', + main: 'hsl(355, 98%, 66%)', + 600: 'hsl(355, 98%, 46%)', + 700: 'hsl(355, 98%, 39%)', + 800: 'hsl(355, 98%, 29%)', + 900: 'hsl(355, 98%, 17%)', }; export const success = { - 50: '#E9FBF0', - 100: '#C6F6D9', - 200: '#9AEFBC', - 300: '#6AE79C', - 400: '#3EE07F', - 500: '#21CC66', - 600: '#1DB45A', - 700: '#1AA251', - 800: '#178D46', - 900: '#0F5C2E', + 50: 'hsl(144, 72%, 95%)', + 100: 'hsl(144, 72%, 87%)', + 200: 'hsl(144, 72%, 77%)', + 300: 'hsl(144, 72%, 66%)', + 400: 'hsl(144, 72%, 56%)', + 500: 'hsl(144, 72%, 46%)', + 600: 'hsl(144, 72%, 41%)', + 700: 'hsl(144, 72%, 37%)', + 800: 'hsl(144, 72%, 32%)', + 900: 'hsl(144, 72%, 21%)', }; export const warning = { - 50: '#FFF9EB', - 100: '#FFF3C1', - 200: '#FFECA1', - 300: '#FFDC48', // vs blueDark900: WCAG 10.4 AAA, APCA 72 Ok for text - 400: '#F4C000', // vs blueDark900: WCAG 6.4 AA normal, APCA 48 Only large text - 500: '#DEA500', // vs blueDark900: WCAG 8 AAA normal, APCA 58 Only large text - main: '#DEA500', - 600: '#D18E00', // vs blueDark900: WCAG 6.4 AA normal, APCA 48 Only large text - 700: '#AB6800', // vs white bg: WCAG 4.4 AA large, APCA 71 Ok for text - 800: '#8C5800', // vs white bg: WCAG 5.9 AAA large, APCA 80 Best for text - 900: '#5A3600', // vs white bg: WCAG 10.7 AAA, APCA 95 Best for text + 50: 'hsl(48, 100%, 96%)', + 100: 'hsl(48, 100%, 88%)', + 200: 'hsl(48, 100%, 82%)', + 300: 'hsl(48, 100%, 64%)', + 400: 'hsl(48, 100%, 48%)', + 500: 'hsl(48, 100%, 44%)', + main: 'hsl(48, 100%, 44%)', + 600: 'hsl(40, 100%, 40%)', + 700: 'hsl(36, 100%, 34%)', + 800: 'hsl(36, 100%, 27%)', + 900: 'hsl(36, 100%, 18%)', }; -// context on the Advanced Perceptual Contrast Algorithm (APCA) used above here: https://github.com/w3c/wcag/issues/695 const systemFont = [ '-apple-system', @@ -209,7 +207,7 @@ export const getDesignTokens = (mode: 'light' | 'dark') => contrastText: blueDark[600], }), }, - divider: mode === 'dark' ? alpha(blueDark[500], 0.2) : grey[100], + divider: mode === 'dark' ? alpha(blueDark[500], 0.3) : grey[100], primaryDark: blueDark, mode, ...(mode === 'dark' && { @@ -219,7 +217,7 @@ export const getDesignTokens = (mode: 'light' | 'dark') => }, }), common: { - black: '#0B0D0E', + black: 'hsl(200, 10%, 4%)', }, text: { ...(mode === 'light' && { @@ -248,20 +246,18 @@ export const getDesignTokens = (mode: 'light' | 'dark') => success: { ...success, ...(mode === 'dark' && { - main: '#1DB45A', // contrast 6.17:1 (blueDark.800) + main: success[600], }), ...(mode === 'light' && { - main: '#1AA251', // contrast 3.31:1 + main: success[700], }), }, warning, gradients: { - lightGrayRadio: - 'radial-gradient(50% 50% at 50% 50%, #F0F7FF 0%, rgba(240, 247, 255, 0.05) 100%)', - stylizedRadio: + radioSubtle: mode === 'dark' - ? 'linear-gradient(rgba(0 0 0 / 0.1), rgba(0 0 0 / 0.1)), linear-gradient(254.86deg, rgba(0, 58, 117, 0.18) 0%, rgba(11, 13, 14, 0.3) 49.98%, rgba(0, 76, 153, 0.21) 100.95%)' - : 'linear-gradient(rgba(255 255 255 / 0.3), rgba(255 255 255 / 0.3)), linear-gradient(254.86deg, rgba(194, 224, 255, 0.12) 0%, rgba(194, 224, 255, 0.12) 0%, rgba(255, 255, 255, 0.3) 49.98%, rgba(240, 247, 255, 0.3) 100.95%)', + ? `radial-gradient(100% 100% at 100% 100%, transparent 0, ${alpha(blue[900], 0.3)} 300%)` + : `radial-gradient(100% 90% at 50% 0, transparent 0, ${alpha(blue[100], 0.3)} 300%)`, linearSubtle: mode === 'light' ? `linear-gradient(to bottom right, ${alpha(blue[50], 0.3)} 25%, ${alpha(grey[50], 0.2)} 100%)` @@ -718,7 +714,7 @@ export function getThemedComponents(): ThemeOptions { color: (theme.vars || theme).palette.primary.main, backgroundColor: alpha(theme.palette.primaryDark[50], 0.1), borderColor: (theme.vars || theme).palette.primaryDark[100], - boxShadow: `${alpha(theme.palette.grey[50], 0.4)} 0 1px 0 inset, ${alpha(theme.palette.grey[100], 0.5)} 0 -1.5px 0 inset, ${alpha(theme.palette.grey[200], 0.5)} 0 1px 2px 0`, + boxShadow: `${alpha(theme.palette.grey[50], 0.4)} 0 2px 0 inset, ${alpha(theme.palette.grey[100], 0.5)} 0 -1.5px 0 inset, ${alpha(theme.palette.grey[200], 0.5)} 0 1px 2px 0`, '&:hover': { borderColor: (theme.vars || theme).palette.grey[300], background: (theme.vars || theme).palette.grey[50], @@ -728,7 +724,7 @@ export function getThemedComponents(): ThemeOptions { color: (theme.vars || theme).palette.primary[300], borderColor: alpha(theme.palette.primaryDark[600], 0.5), backgroundColor: alpha(theme.palette.primaryDark[700], 0.2), - boxShadow: `${alpha(theme.palette.primaryDark[600], 0.2)} 0 1px 0 inset, ${(theme.vars || theme).palette.common.black} 0 -2px 0 inset, ${(theme.vars || theme).palette.common.black} 0 1px 2px 0`, + boxShadow: `${alpha(theme.palette.primaryDark[600], 0.2)} 0 2px 0 inset, ${(theme.vars || theme).palette.common.black} 0 -2px 0 inset, ${(theme.vars || theme).palette.common.black} 0 1px 2px 0`, '&:hover': { borderColor: (theme.vars || theme).palette.primaryDark[500], background: alpha(theme.palette.primaryDark[700], 0.4), @@ -747,7 +743,7 @@ export function getThemedComponents(): ThemeOptions { border: `1px solid`, backgroundColor: alpha(theme.palette.primaryDark[50], 0.1), borderColor: (theme.vars || theme).palette.primaryDark[100], - boxShadow: `${alpha(theme.palette.grey[50], 0.4)} 0 1px 0 inset, ${alpha(theme.palette.grey[100], 0.5)} 0 -1.5px 0 inset, ${alpha(theme.palette.grey[200], 0.5)} 0 1px 2px 0`, + boxShadow: `${alpha(theme.palette.grey[50], 0.4)} 0 2px 0 inset, ${alpha(theme.palette.grey[100], 0.5)} 0 -1.5px 0 inset, ${alpha(theme.palette.grey[200], 0.5)} 0 1px 2px 0`, '&:hover': { color: (theme.vars || theme).palette.primary.main, borderColor: (theme.vars || theme).palette.grey[300], @@ -757,7 +753,7 @@ export function getThemedComponents(): ThemeOptions { theme.applyDarkStyles({ borderColor: alpha(theme.palette.primaryDark[600], 0.5), backgroundColor: alpha(theme.palette.primaryDark[700], 0.2), - boxShadow: `${alpha(theme.palette.primaryDark[600], 0.2)} 0 1px 0 inset, ${(theme.vars || theme).palette.common.black} 0 -2px 0 inset, ${(theme.vars || theme).palette.common.black} 0 1px 2px 0`, + boxShadow: `${alpha(theme.palette.primaryDark[600], 0.2)} 0 2px 0 inset, ${(theme.vars || theme).palette.common.black} 0 -2px 0 inset, ${(theme.vars || theme).palette.common.black} 0 1px 2px 0`, '&:hover': { color: (theme.vars || theme).palette.primary[400], borderColor: (theme.vars || theme).palette.primaryDark[500], @@ -955,6 +951,9 @@ export function getThemedComponents(): ThemeOptions { color: (theme.vars || theme).palette.primary[700], }, }, + '&.Mui-focusVisible': { + backgroundColor: (theme.vars || theme).palette.primary[200], + }, ...theme.applyDarkStyles({ color: (theme.vars || theme).palette.primary[100], backgroundColor: alpha(theme.palette.primary[800], 0.5), @@ -1081,7 +1080,7 @@ export function getThemedComponents(): ThemeOptions { borderColor: (theme.vars || theme).palette.grey[100], '&[href]': { textDecorationLine: 'none', - boxShadow: `${alpha(theme.palette.grey[50], 0.5)} 0 1px 0 inset, ${alpha(theme.palette.grey[100], 0.3)} 0 -2px 0 inset, ${alpha(theme.palette.grey[200], 0.5)} 0 1px 2px 0`, + boxShadow: `hsl(200, 0%, 100%) 0 2px 0 inset, ${alpha(theme.palette.grey[100], 0.3)} 0 -2px 0 inset, ${alpha(theme.palette.grey[200], 0.5)} 0 1px 2px 0`, '&:hover': { borderColor: (theme.vars || theme).palette.primary[200], boxShadow: `0px 2px 8px ${(theme.vars || theme).palette.primary[100]}`, @@ -1106,7 +1105,7 @@ export function getThemedComponents(): ThemeOptions { backgroundColor: alpha(theme.palette.primaryDark[800], 0.6), '&[href]': { textDecorationLine: 'none', - boxShadow: `${alpha(theme.palette.primaryDark[600], 0.2)} 0 1px 0 inset, ${(theme.vars || theme).palette.common.black} 0 -2px 0 inset, ${(theme.vars || theme).palette.common.black} 0 1px 2px 0`, + boxShadow: `${alpha(theme.palette.primaryDark[700], 0.4)} 0 2px 0 inset, ${(theme.vars || theme).palette.common.black} 0 -2px 0 inset, ${(theme.vars || theme).palette.common.black} 0 1px 2px 0`, '&:hover': { borderColor: alpha(theme.palette.primary[600], 0.5), boxShadow: `0px 2px 8px ${alpha(theme.palette.primary[900], 0.6)}`, diff --git a/packages/mui-envinfo/package.json b/packages/mui-envinfo/package.json index 6df16c363800eb..b345ea78a6c5b6 100644 --- a/packages/mui-envinfo/package.json +++ b/packages/mui-envinfo/package.json @@ -1,6 +1,6 @@ { "name": "@mui/envinfo", - "version": "2.0.19", + "version": "2.0.20", "private": false, "author": "MUI Team", "description": "Logs infos about the environment relevant to @mui/*", diff --git a/packages/mui-envinfo/test/package.json b/packages/mui-envinfo/test/package.json index e63819d86b731c..b4a34d9bcff349 100644 --- a/packages/mui-envinfo/test/package.json +++ b/packages/mui-envinfo/test/package.json @@ -4,7 +4,7 @@ "private": true, "dependencies": { "@emotion/react": "^11.11.4", - "@emotion/styled": "^11.11.0", + "@emotion/styled": "^11.11.5", "@mui/base": "5.0.0-beta.30", "@mui/joy": "5.0.0-beta.22", "@mui/material": "5.15.4", diff --git a/packages/mui-icons-material/package.json b/packages/mui-icons-material/package.json index 506199c74a360c..b5e4c824365edd 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.0", + "version": "6.0.0-alpha.2", "private": false, "author": "MUI Team", "description": "Material Design icons distributed as SVG React components.", @@ -46,7 +46,7 @@ "typescript": "tsc -p tsconfig.json" }, "dependencies": { - "@babel/runtime": "^7.23.9" + "@babel/runtime": "^7.24.4" }, "devDependencies": { "@mui/icons-material": "workspace:*", diff --git a/packages/mui-joy/package.json b/packages/mui-joy/package.json index e0b4746c399d5b..0dabc1fb459b7a 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.33", + "version": "5.0.0-beta.35", "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.", @@ -38,7 +38,7 @@ "typescript:module-augmentation": "node scripts/testModuleAugmentation.js" }, "dependencies": { - "@babel/runtime": "^7.23.9", + "@babel/runtime": "^7.24.4", "@mui/base": "workspace:*", "@mui/core-downloads-tracker": "workspace:^", "@mui/system": "workspace:^", diff --git a/packages/mui-joy/src/Table/Table.tsx b/packages/mui-joy/src/Table/Table.tsx index cffc5d1c300470..37a50b558621af 100644 --- a/packages/mui-joy/src/Table/Table.tsx +++ b/packages/mui-joy/src/Table/Table.tsx @@ -418,15 +418,11 @@ Table.propTypes /* remove-proptypes */ = { }), /** * If `true`, the footer always appear at the bottom of the overflow table. - * - * ⚠️ It doesn't work with IE11. * @default false */ stickyFooter: PropTypes.bool, /** * If `true`, the header always appear at the top of the overflow table. - * - * ⚠️ It doesn't work with IE11. * @default false */ stickyHeader: PropTypes.bool, diff --git a/packages/mui-joy/src/Table/TableProps.ts b/packages/mui-joy/src/Table/TableProps.ts index e87321e1e4747d..df683c4d344a68 100644 --- a/packages/mui-joy/src/Table/TableProps.ts +++ b/packages/mui-joy/src/Table/TableProps.ts @@ -65,15 +65,11 @@ export interface TableTypeMap<P = {}, D extends React.ElementType = 'table'> { size?: OverridableStringUnion<'sm' | 'md' | 'lg', TablePropsSizeOverrides>; /** * If `true`, the header always appear at the top of the overflow table. - * - * ⚠️ It doesn't work with IE11. * @default false */ stickyHeader?: boolean; /** * If `true`, the footer always appear at the bottom of the overflow table. - * - * ⚠️ It doesn't work with IE11. * @default false */ stickyFooter?: boolean; diff --git a/packages/mui-lab/package.json b/packages/mui-lab/package.json index 3692630ab025ed..4ba2dab61dbfaf 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.0", + "version": "6.0.0-alpha.2", "private": false, "author": "MUI Team", "description": "Laboratory for new MUI modules.", @@ -41,7 +41,7 @@ "typescript": "tsc -p tsconfig.json" }, "dependencies": { - "@babel/runtime": "^7.23.9", + "@babel/runtime": "^7.24.4", "@mui/base": "workspace:*", "@mui/system": "workspace:^", "@mui/types": "workspace:^", diff --git a/packages/mui-lab/src/TabPanel/TabPanel.d.ts b/packages/mui-lab/src/TabPanel/TabPanel.d.ts index 235ccbc3d6dc59..378190b80f60e7 100644 --- a/packages/mui-lab/src/TabPanel/TabPanel.d.ts +++ b/packages/mui-lab/src/TabPanel/TabPanel.d.ts @@ -22,6 +22,11 @@ export interface TabPanelProps extends StandardProps<React.HTMLAttributes<HTMLDi * no `value` was passed to `Tab`. */ value: string; + /** + * Always keep the children in the DOM. + * @default false + */ + keepMounted?: boolean; } /** diff --git a/packages/mui-lab/src/TabPanel/TabPanel.js b/packages/mui-lab/src/TabPanel/TabPanel.js index 7e3883cfd2756c..77f8fbc365c1d6 100644 --- a/packages/mui-lab/src/TabPanel/TabPanel.js +++ b/packages/mui-lab/src/TabPanel/TabPanel.js @@ -8,10 +8,10 @@ import { getTabPanelUtilityClass } from './tabPanelClasses'; import { getPanelId, getTabId, useTabContext } from '../TabContext'; const useUtilityClasses = (ownerState) => { - const { classes } = ownerState; + const { classes, hidden } = ownerState; const slots = { - root: ['root'], + root: ['root', hidden && 'hidden'], }; return composeClasses(slots, getTabPanelUtilityClass, classes); @@ -28,7 +28,7 @@ const TabPanelRoot = styled('div', { const TabPanel = React.forwardRef(function TabPanel(inProps, ref) { const props = useThemeProps({ props: inProps, name: 'MuiTabPanel' }); - const { children, className, value, ...other } = props; + const { children, className, value, keepMounted = false, ...other } = props; const ownerState = { ...props, @@ -54,7 +54,7 @@ const TabPanel = React.forwardRef(function TabPanel(inProps, ref) { ownerState={ownerState} {...other} > - {value === context.value && children} + {(keepMounted || value === context.value) && children} </TabPanelRoot> ); }); @@ -76,6 +76,11 @@ TabPanel.propTypes /* remove-proptypes */ = { * @ignore */ className: PropTypes.string, + /** + * Always keep the children in the DOM. + * @default false + */ + keepMounted: PropTypes.bool, /** * The system prop that allows defining system overrides as well as additional CSS styles. */ diff --git a/packages/mui-lab/src/TabPanel/TabPanel.test.tsx b/packages/mui-lab/src/TabPanel/TabPanel.test.tsx index ba0487616e45f9..bf6ec9394c9737 100644 --- a/packages/mui-lab/src/TabPanel/TabPanel.test.tsx +++ b/packages/mui-lab/src/TabPanel/TabPanel.test.tsx @@ -24,14 +24,17 @@ describe('<TabPanel />', () => { ], })); - it('renders a [role="tabpanel"]', () => { - const { getByTestId } = render( + it('renders a [role="tabpanel"] and mounts children', () => { + const { getByTestId, queryByTestId } = render( <TabContext value="0"> - <TabPanel data-testid="tabpanel" value="0" /> + <TabPanel data-testid="tabpanel" value="0"> + <div data-testid="child" /> + </TabPanel> </TabContext>, ); expect(getByTestId('tabpanel')).to.have.attribute('role', 'tabpanel'); + expect(queryByTestId('child')).to.not.equal(null); }); it('is [hidden] when TabPanel#value !== TabContext#value and does not mount children', () => { @@ -47,6 +50,19 @@ describe('<TabPanel />', () => { expect(queryByTestId('child')).to.equal(null); }); + it('is [hidden] when TabPanel#value !== TabContext#value but does mount children when keepMounted', () => { + const { getByTestId, queryByTestId } = render( + <TabContext value="1"> + <TabPanel data-testid="tabpanel" value="0" keepMounted> + <div data-testid="child" /> + </TabPanel> + </TabContext>, + ); + + expect(getByTestId('tabpanel')).to.have.property('hidden', true); + expect(queryByTestId('child')).to.not.equal(null); + }); + it('is accessible when TabPanel#value === TabContext#value', () => { const { getByTestId } = render( <TabContext value="0"> diff --git a/packages/mui-lab/src/TabPanel/tabPanelClasses.ts b/packages/mui-lab/src/TabPanel/tabPanelClasses.ts index 0adc5d0626c42d..cbcff1befa4d5d 100644 --- a/packages/mui-lab/src/TabPanel/tabPanelClasses.ts +++ b/packages/mui-lab/src/TabPanel/tabPanelClasses.ts @@ -4,6 +4,8 @@ import generateUtilityClasses from '@mui/utils/generateUtilityClasses'; export interface TabPanelClasses { /** Styles applied to the root element. */ root: string; + /** State class applied to the root `div` element if `hidden={true}`. */ + hidden: string; } export type TabPanelClassKey = keyof TabPanelClasses; @@ -12,6 +14,6 @@ export function getTabPanelUtilityClass(slot: string): string { return generateUtilityClass('MuiTabPanel', slot); } -const tabPanelClasses: TabPanelClasses = generateUtilityClasses('MuiTabPanel', ['root']); +const tabPanelClasses: TabPanelClasses = generateUtilityClasses('MuiTabPanel', ['root', 'hidden']); export default tabPanelClasses; diff --git a/packages/mui-material-nextjs/package.json b/packages/mui-material-nextjs/package.json index 32ea01247a202c..6f916e47fe5983 100644 --- a/packages/mui-material-nextjs/package.json +++ b/packages/mui-material-nextjs/package.json @@ -37,7 +37,7 @@ "typescript": "tsc -p tsconfig.json" }, "dependencies": { - "@babel/runtime": "^7.23.9" + "@babel/runtime": "^7.24.4" }, "devDependencies": { "@emotion/cache": "^11.11.0", diff --git a/packages/mui-material/package.json b/packages/mui-material/package.json index 357a50c47b34fe..29e2ce960aba0a 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.0", + "version": "6.0.0-alpha.2", "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.", @@ -42,7 +42,7 @@ "typescript:module-augmentation": "node scripts/testModuleAugmentation.js" }, "dependencies": { - "@babel/runtime": "^7.23.9", + "@babel/runtime": "^7.24.4", "@mui/base": "workspace:*", "@mui/core-downloads-tracker": "workspace:^", "@mui/system": "workspace:^", @@ -73,10 +73,10 @@ "fast-glob": "^3.3.2", "fs-extra": "^11.2.0", "lodash": "^4.17.21", - "playwright": "^1.42.1", + "playwright": "^1.43.0", "react": "^18.2.0", "react-dom": "^18.2.0", - "react-router-dom": "^6.21.3", + "react-router-dom": "^6.22.3", "rollup": "^3.29.4", "rollup-plugin-babel": "^4.4.0", "rollup-plugin-commonjs": "^10.1.0", diff --git a/packages/mui-material/src/Select/Select.d.ts b/packages/mui-material/src/Select/Select.d.ts index c39944e1e0ded8..f4984bdc71f84d 100644 --- a/packages/mui-material/src/Select/Select.d.ts +++ b/packages/mui-material/src/Select/Select.d.ts @@ -151,7 +151,8 @@ export interface BaseSelectProps<Value = unknown> variant?: SelectVariants; } -export interface FilledSelectProps extends Omit<FilledInputProps, 'value' | 'onChange'> { +export interface FilledSelectProps + extends Omit<FilledInputProps, 'value' | 'onChange' | 'id' | 'classes' | 'inputProps'> { /** * The variant to use. * @default 'outlined' @@ -159,7 +160,8 @@ export interface FilledSelectProps extends Omit<FilledInputProps, 'value' | 'onC variant: 'filled'; } -export interface StandardSelectProps extends Omit<InputProps, 'value' | 'onChange'> { +export interface StandardSelectProps + extends Omit<InputProps, 'value' | 'onChange' | 'id' | 'classes' | 'inputProps'> { /** * The variant to use. * @default 'outlined' @@ -167,7 +169,8 @@ export interface StandardSelectProps extends Omit<InputProps, 'value' | 'onChang variant: 'standard'; } -export interface OutlinedSelectProps extends Omit<OutlinedInputProps, 'value' | 'onChange'> { +export interface OutlinedSelectProps + extends Omit<OutlinedInputProps, 'value' | 'onChange' | 'id' | 'classes' | 'inputProps'> { /** * The variant to use. * @default 'outlined' @@ -193,8 +196,8 @@ export type SelectProps<Value = unknown> = * - [Select API](https://mui.com/material-ui/api/select/) * - inherits [OutlinedInput API](https://mui.com/material-ui/api/outlined-input/) */ -export default function Select<Value = unknown>( - props: SelectProps<Value>, -): JSX.Element & { +declare const Select: (<Value = unknown>(props: SelectProps<Value>) => JSX.Element) & { muiName: string; }; + +export default Select; diff --git a/packages/mui-material/src/Select/Select.spec.tsx b/packages/mui-material/src/Select/Select.spec.tsx index 78f69c76c606d0..0aaa8004646534 100644 --- a/packages/mui-material/src/Select/Select.spec.tsx +++ b/packages/mui-material/src/Select/Select.spec.tsx @@ -196,3 +196,6 @@ const AppSelect = <T extends string>(props: Props<T>) => { </Select> ); }; + +// test for applying Select's static muiName property type to wrapper components +AppSelect.muiName = Select.muiName; diff --git a/packages/mui-material/src/Slider/Slider.js b/packages/mui-material/src/Slider/Slider.js index 5b5ed8c9e97f61..f87f34f51bdd68 100644 --- a/packages/mui-material/src/Slider/Slider.js +++ b/packages/mui-material/src/Slider/Slider.js @@ -277,6 +277,30 @@ export const SliderThumb = styled('span', { }, }, variants: [ + { + props: { size: 'small' }, + style: { + width: 12, + height: 12, + '&::before': { + boxShadow: 'none', + }, + }, + }, + { + props: { orientation: 'horizontal' }, + style: { + top: '50%', + transform: 'translate(-50%, -50%)', + }, + }, + { + props: { orientation: 'vertical' }, + style: { + left: '50%', + transform: 'translate(-50%, 50%)', + }, + }, ...Object.keys((theme.vars ?? theme).palette) .filter((key) => (theme.vars ?? theme).palette[key].main) .map((color) => ({ @@ -305,30 +329,6 @@ export const SliderThumb = styled('span', { }, }, })), - { - props: { size: 'small' }, - style: { - width: 12, - height: 12, - '&::before': { - boxShadow: 'none', - }, - }, - }, - { - props: { orientation: 'horizontal' }, - style: { - top: '50%', - transform: 'translate(-50%, -50%)', - }, - }, - { - props: { orientation: 'vertical' }, - style: { - left: '50%', - transform: 'translate(-50%, 50%)', - }, - }, ], })); diff --git a/packages/mui-material/src/Table/Table.d.ts b/packages/mui-material/src/Table/Table.d.ts index cbc37912c61bbf..4327d327dc68b9 100644 --- a/packages/mui-material/src/Table/Table.d.ts +++ b/packages/mui-material/src/Table/Table.d.ts @@ -28,8 +28,6 @@ export interface TableOwnProps { size?: OverridableStringUnion<'small' | 'medium', TablePropsSizeOverrides>; /** * Set the header sticky. - * - * ⚠️ It doesn't work with IE11. * @default false */ stickyHeader?: boolean; diff --git a/packages/mui-material/src/Table/Table.js b/packages/mui-material/src/Table/Table.js index 33201ca6ae94ab..8690bf2017f2a0 100644 --- a/packages/mui-material/src/Table/Table.js +++ b/packages/mui-material/src/Table/Table.js @@ -122,8 +122,6 @@ Table.propTypes /* remove-proptypes */ = { ]), /** * Set the header sticky. - * - * ⚠️ It doesn't work with IE11. * @default false */ stickyHeader: PropTypes.bool, diff --git a/packages/mui-material/src/ToggleButtonGroup/ToggleButtonGroup.js b/packages/mui-material/src/ToggleButtonGroup/ToggleButtonGroup.js index 799cf46053b912..34c8a1393d6ca0 100644 --- a/packages/mui-material/src/ToggleButtonGroup/ToggleButtonGroup.js +++ b/packages/mui-material/src/ToggleButtonGroup/ToggleButtonGroup.js @@ -19,7 +19,7 @@ const useUtilityClasses = (ownerState) => { const { classes, orientation, fullWidth, disabled } = ownerState; const slots = { - root: ['root', orientation === 'vertical' && 'vertical', fullWidth && 'fullWidth'], + root: ['root', orientation, fullWidth && 'fullWidth'], grouped: ['grouped', `grouped${capitalize(orientation)}`, disabled && 'disabled'], firstButton: ['firstButton'], lastButton: ['lastButton'], diff --git a/packages/mui-material/src/ToggleButtonGroup/ToggleButtonGroup.test.js b/packages/mui-material/src/ToggleButtonGroup/ToggleButtonGroup.test.js index 142ffc45a3ef5e..385ae149f5d6a7 100644 --- a/packages/mui-material/src/ToggleButtonGroup/ToggleButtonGroup.test.js +++ b/packages/mui-material/src/ToggleButtonGroup/ToggleButtonGroup.test.js @@ -39,6 +39,15 @@ describe('<ToggleButtonGroup />', () => { expect(getByRole('button')).to.have.class('MuiToggleButtonGroup-groupedVertical'); }); + it('should have horizontal class', () => { + const { getByRole } = render( + <ToggleButtonGroup> + <ToggleButton value="one">1</ToggleButton> + </ToggleButtonGroup>, + ); + expect(getByRole('group')).to.have.class(classes.horizontal); + }); + it('should disable all ToggleButton if disabled prop is passed', () => { render( <ToggleButtonGroup disabled> diff --git a/packages/mui-material/src/ToggleButtonGroup/toggleButtonGroupClasses.ts b/packages/mui-material/src/ToggleButtonGroup/toggleButtonGroupClasses.ts index 75cf854a4d59fc..d4a133d61996f7 100644 --- a/packages/mui-material/src/ToggleButtonGroup/toggleButtonGroupClasses.ts +++ b/packages/mui-material/src/ToggleButtonGroup/toggleButtonGroupClasses.ts @@ -4,15 +4,21 @@ import generateUtilityClass from '@mui/utils/generateUtilityClass'; export interface ToggleButtonGroupClasses { /** Styles applied to the root element. */ root: string; + /** Styles applied to the root element if `orientation="horizontal"`. */ + horizontal: string; /** Styles applied to the root element if `orientation="vertical"`. */ vertical: string; /** State class applied to the root element if `disabled={true}`. */ disabled: string; /** Styles applied to the children. */ grouped: string; - /** Styles applied to the children if `orientation="horizontal"`. */ + /** Styles applied to the children if `orientation="horizontal"`. + * @deprecated Combine the [.MuiToggleButtonGroup-horizontal](/material-ui/api/toggle-button-group/#toggle-button-group-classes-horizontal) and [.MuiToggleButtonGroup-grouped](/material-ui/api/toggle-button-group/#toggle-button-group-classes-grouped) classes instead. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/) + */ groupedHorizontal: string; - /** Styles applied to the children if `orientation="vertical"`. */ + /** Styles applied to the children if `orientation="vertical"`. + * @deprecated Combine the [.MuiToggleButtonGroup-vertical](/material-ui/api/toggle-button-group/#toggle-button-group-classes-vertical) and [.MuiToggleButtonGroup-grouped](/material-ui/api/toggle-button-group/#toggle-button-group-classes-grouped) classes instead. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/) + */ groupedVertical: string; /** Styles applied to the root element if `fullWidth={true}`. */ fullWidth: string; @@ -35,6 +41,7 @@ const toggleButtonGroupClasses: ToggleButtonGroupClasses = generateUtilityClasse [ 'root', 'selected', + 'horizontal', 'vertical', 'disabled', 'grouped', diff --git a/packages/mui-material/src/locale/index.ts b/packages/mui-material/src/locale/index.ts index cc37e2429ab0ac..c6c494c16f96f8 100644 --- a/packages/mui-material/src/locale/index.ts +++ b/packages/mui-material/src/locale/index.ts @@ -1864,7 +1864,7 @@ export const isIS: Localization = { }, labelRowsPerPage: 'Raðir á síðu:', labelDisplayedRows: ({ from, to, count }) => - `${from}–${to} af ${count !== -1 ? count : `fleiri enn ${to}`}`, + `${from}–${to} af ${count !== -1 ? count : `fleiri en ${to}`}`, }, }, MuiRating: { diff --git a/packages/mui-private-theming/package.json b/packages/mui-private-theming/package.json index 2f6e029dba0279..7bf488f86cb475 100644 --- a/packages/mui-private-theming/package.json +++ b/packages/mui-private-theming/package.json @@ -1,6 +1,6 @@ { "name": "@mui/private-theming", - "version": "5.15.14", + "version": "6.0.0-alpha.1", "private": false, "author": "MUI Team", "description": "Private - The React theme context to be shared between `@mui/styles` and `@mui/material`.", @@ -38,7 +38,7 @@ "typescript": "tsc -p tsconfig.json" }, "dependencies": { - "@babel/runtime": "^7.23.9", + "@babel/runtime": "^7.24.4", "@mui/utils": "workspace:^", "prop-types": "^15.8.1" }, diff --git a/packages/mui-styled-engine-sc/package.json b/packages/mui-styled-engine-sc/package.json index 1bc6ab3faf2bab..5e850007c2b664 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.19", + "version": "6.0.0-alpha.20", "private": false, "author": "MUI Team", "description": "styled() API wrapper package for styled-components.", @@ -38,7 +38,7 @@ "typescript": "tsc -p tsconfig.json" }, "dependencies": { - "@babel/runtime": "^7.23.9", + "@babel/runtime": "^7.24.4", "csstype": "^3.1.3", "hoist-non-react-statics": "^3.3.2", "prop-types": "^15.8.1" diff --git a/packages/mui-styled-engine/package.json b/packages/mui-styled-engine/package.json index 346aabc3c19b17..3f8e17d2c0f092 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.0", + "version": "6.0.0-alpha.1", "private": false, "author": "MUI Team", "description": "styled() API wrapper package for emotion.", @@ -38,14 +38,14 @@ "typescript": "tsc -p tsconfig.json" }, "dependencies": { - "@babel/runtime": "^7.23.9", + "@babel/runtime": "^7.24.4", "@emotion/cache": "^11.11.0", "csstype": "^3.1.3", "prop-types": "^15.8.1" }, "devDependencies": { "@emotion/react": "^11.11.4", - "@emotion/styled": "^11.11.0", + "@emotion/styled": "^11.11.5", "@mui-internal/test-utils": "workspace:^", "@mui/styled-engine": "workspace:*", "@types/chai": "^4.3.14", diff --git a/packages/mui-styles/package.json b/packages/mui-styles/package.json index 2f5e3d5b1a9909..25fb2d11243519 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.0", + "version": "6.0.0-alpha.2", "private": false, "author": "MUI Team", "description": "MUI Styles - The legacy JSS-based styling solution of Material UI.", @@ -38,7 +38,7 @@ "typescript": "tsc -p tsconfig.json" }, "dependencies": { - "@babel/runtime": "^7.23.9", + "@babel/runtime": "^7.24.4", "@emotion/hash": "^0.9.1", "@mui/private-theming": "workspace:^", "@mui/types": "workspace:^", diff --git a/packages/mui-system/package.json b/packages/mui-system/package.json index 3d6481f3c7fae8..7a6bb48a0104fe 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.0", + "version": "6.0.0-alpha.1", "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.", @@ -40,7 +40,7 @@ "typescript:module-augmentation": "node scripts/testModuleAugmentation.js" }, "dependencies": { - "@babel/runtime": "^7.23.9", + "@babel/runtime": "^7.24.4", "@mui/private-theming": "workspace:^", "@mui/styled-engine": "workspace:^", "@mui/types": "workspace:^", @@ -51,7 +51,7 @@ }, "devDependencies": { "@emotion/react": "^11.11.4", - "@emotion/styled": "^11.11.0", + "@emotion/styled": "^11.11.5", "@mui-internal/test-utils": "workspace:^", "@mui/internal-babel-macros": "workspace:^", "@mui/system": "workspace:*", diff --git a/packages/mui-utils/package.json b/packages/mui-utils/package.json index 106497783ed29e..2675ce2917f370 100644 --- a/packages/mui-utils/package.json +++ b/packages/mui-utils/package.json @@ -1,6 +1,6 @@ { "name": "@mui/utils", - "version": "5.15.14", + "version": "6.0.0-alpha.1", "private": false, "author": "MUI Team", "description": "Utility functions for React components.", @@ -39,7 +39,7 @@ "typescript": "tsc -p tsconfig.json" }, "dependencies": { - "@babel/runtime": "^7.23.9", + "@babel/runtime": "^7.24.4", "@types/prop-types": "^15.7.12", "prop-types": "^15.8.1", "react-is": "^18.2.0" @@ -50,7 +50,7 @@ "@mui/types": "workspace:^", "@types/chai": "^4.3.14", "@types/mocha": "^10.0.6", - "@types/node": "^18.19.28", + "@types/node": "^18.19.31", "@types/react": "^18.2.55", "@types/react-dom": "^18.2.19", "@types/react-is": "^18.2.4", diff --git a/packages/pigment-css-nextjs-plugin/package.json b/packages/pigment-css-nextjs-plugin/package.json index 48fc30fa15324f..7096e3095ad65c 100644 --- a/packages/pigment-css-nextjs-plugin/package.json +++ b/packages/pigment-css-nextjs-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@pigment-css/nextjs-plugin", - "version": "0.0.4", + "version": "0.0.6", "main": "build/index.js", "module": "build/index.mjs", "types": "build/index.d.ts", diff --git a/packages/pigment-css-nextjs-plugin/src/index.ts b/packages/pigment-css-nextjs-plugin/src/index.ts index 6055f710f4ebd8..53e6e62ffdf78e 100644 --- a/packages/pigment-css-nextjs-plugin/src/index.ts +++ b/packages/pigment-css-nextjs-plugin/src/index.ts @@ -53,6 +53,7 @@ export function withPigment(nextConfig: NextConfig, pigmentConfig?: PigmentOptio isServer, outputCss: dev || hasAppDir || !isServer, placeholderCssFile: extractionFile, + projectPath: dir, }, async asyncResolve(what: string, importer: string, stack: string[]) { // Using the same stub file as "next/font". Should be updated in future to diff --git a/packages/pigment-css-react/README.md b/packages/pigment-css-react/README.md index 5fad572dd979ce..a949e580fa803a 100644 --- a/packages/pigment-css-react/README.md +++ b/packages/pigment-css-react/README.md @@ -39,7 +39,9 @@ Pigment CSS is built on top of [WyW-in-JS](https://wyw-in-js.dev/), enabling to ### Start with Next.js -Use the following commands to create a new Next.js project with Pigment CSS set up: +#### Quickstart + +Use the following commands to quickly create a new Next.js project with Pigment CSS set up: ```bash curl https://codeload.github.com/mui/material-ui/tar.gz/master | tar -xz --strip=2 material-ui-master/examples/pigment-css-nextjs-ts @@ -85,7 +87,9 @@ Finally, import the stylesheet in the root `layout.tsx` file: ### Start with Vite -Use the following commands to create a new Vite project with Pigment CSS set up: +#### Quickstart + +Use the following commands to quickly create a new Vite project with Pigment CSS set up: ```bash curl https://codeload.github.com/mui/material-ui/tar.gz/master | tar -xz --strip=2 material-ui-master/examples/pigment-css-vite-ts @@ -188,7 +192,7 @@ function App() { } ``` -The Pigment CSS library differs from "standard" runtime CSS-in-JS libraries in a few ways: +Pigment CSS differs from "standard" runtime CSS-in-JS libraries in a few ways: 1. You never get direct access to props in your styled declarations. This is because prop values are only available at runtime, but the CSS is extracted at build time. See [Styling based on runtime values](#styling-based-on-runtime-values) for a workaround. 2. Your styles must be declarative and must account for all combinations of props that you want to style. @@ -204,11 +208,15 @@ Each variant is an object with `props` and `style` keys. The styles are applied **Example 1** — A button component with `small` and `large` sizes: -```jsx -const Button = styled('button')({ +```tsx +interface ButtonProps { + size?: 'small' | 'large'; +} + +const Button = styled('button')<ButtonProps>({ border: 'none', padding: '0.75rem', - // ...other base styles + // ...other styles variants: [ { props: { size: 'large' }, @@ -335,7 +343,7 @@ Pigment CSS replaces the callback with a CSS variable and injects the value thr ```jsx <h1 style={{ - '--Heading_class_akjsdfb-0': ({ isError }) => (isError ? 'red' : 'black'), + '--Heading_class_akjsdfb-0': isError ? 'red' : 'black', }} > Hello @@ -806,7 +814,7 @@ const Flex = styled('div')((props) => ({ 2. **Programatically generated styles** -For Emotion and styled-components, the styles is different on each render and instance because the styles are generated at runtime: +For Emotion and styled-components, the styles are different on each render and instance because the styles are generated at runtime: ```js function randomBetween(min: number, max: number) { @@ -949,47 +957,47 @@ In this example, a prop named `variant` is defined to let consumers change the a Pass down the `variant` prop to `<StatRoot>` to style the `root` slot, as shown below: ```diff - const Stat = React.forwardRef(function Stat(props, ref) { -+ const { value, unit, variant, ...other } = props; - - return ( -- <StatRoot ref={ref} {...other}> -- <StatValue>{value}</StatValue> -- <StatUnit>{unit}</StatUnit> -- </StatRoot> -+ <StatRoot ref={ref} variant={variant} {...other}> -+ <StatValue>{value}</StatValue> -+ <StatUnit>{unit}</StatUnit> -+ </StatRoot> - ); - }); + const Stat = React.forwardRef(function Stat(props, ref) { ++ const { value, unit, variant, ...other } = props; + + return ( +- <StatRoot ref={ref} {...other}> +- <StatValue>{value}</StatValue> +- <StatUnit>{unit}</StatUnit> +- </StatRoot> ++ <StatRoot ref={ref} variant={variant} {...other}> ++ <StatValue>{value}</StatValue> ++ <StatUnit>{unit}</StatUnit> ++ </StatRoot> + ); + }); ``` Then you can use Pigment CSS variants API to style it when `variant` prop has a value of `outlined`: ```diff - const StatRoot = styled('div', { - name: 'PigmentStat', - slot: 'root', - })({ - display: 'flex', - flexDirection: 'column', - gap: '1rem', - padding: '0.75rem 1rem', - backgroundColor: '#f9f9f9', - borderRadius: '8px', - boxShadow: '0 2px 4px rgba(0, 0, 0, 0.1)', - letterSpacing: '-0.025em', - fontWeight: 600, -+ variants: [ -+ { -+ props: { variant: 'outlined' }, -+ style: { -+ border: `2px solid #e9e9e9`, -+ }, -+ }, -+ ], - }); + const StatRoot = styled('div', { + name: 'PigmentStat', + slot: 'root', + })({ + display: 'flex', + flexDirection: 'column', + gap: '1rem', + padding: '0.75rem 1rem', + backgroundColor: '#f9f9f9', + borderRadius: '8px', + boxShadow: '0 2px 4px rgba(0, 0, 0, 0.1)', + letterSpacing: '-0.025em', + fontWeight: 600, ++ variants: [ ++ { ++ props: { variant: 'outlined' }, ++ style: { ++ border: `2px solid #e9e9e9`, ++ }, ++ }, ++ ], + }); ``` This completes the reusable statistics component. diff --git a/packages/pigment-css-react/package.json b/packages/pigment-css-react/package.json index b193e88ea76d16..296262fd7b28ce 100644 --- a/packages/pigment-css-react/package.json +++ b/packages/pigment-css-react/package.json @@ -1,6 +1,6 @@ { "name": "@pigment-css/react", - "version": "0.0.4", + "version": "0.0.6", "main": "build/index.js", "module": "build/index.mjs", "types": "build/index.d.ts", @@ -31,16 +31,16 @@ "typecheck": "tsc --noEmit -p ." }, "dependencies": { - "@babel/core": "^7.23.9", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/parser": "^7.23.9", - "@babel/types": "^7.23.9", + "@babel/core": "^7.24.4", + "@babel/helper-module-imports": "^7.24.3", + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/parser": "^7.24.4", + "@babel/types": "^7.24.0", "@emotion/css": "^11.11.2", "@emotion/is-prop-valid": "^1.2.2", "@emotion/react": "^11.11.4", - "@emotion/serialize": "^1.1.3", - "@emotion/styled": "^11.11.0", + "@emotion/serialize": "^1.1.4", + "@emotion/styled": "^11.11.5", "@mui/system": "workspace:^", "@wyw-in-js/processor-utils": "^0.5.0", "@wyw-in-js/shared": "^0.5.0", @@ -53,7 +53,7 @@ "stylis-plugin-rtl": "^2.1.1" }, "devDependencies": { - "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/plugin-syntax-jsx": "^7.24.1", "@types/babel__core": "^7.20.5", "@types/babel__helper-module-imports": "^7.18.3", "@types/babel__helper-plugin-utils": "^7.10.3", @@ -61,7 +61,7 @@ "@types/cssesc": "^3.0.2", "@types/lodash": "^4.17.0", "@types/mocha": "^10.0.6", - "@types/node": "^18.19.28", + "@types/node": "^18.19.31", "@types/react": "^18.2.55", "@types/stylis": "^4.2.5", "chai": "^4.4.1", diff --git a/packages/pigment-css-react/src/Box.d.ts b/packages/pigment-css-react/src/Box.d.ts index 8cfb27534aa6d4..0fe8b89db82c79 100644 --- a/packages/pigment-css-react/src/Box.d.ts +++ b/packages/pigment-css-react/src/Box.d.ts @@ -23,4 +23,4 @@ export interface PolymorphicComponent<BaseProps extends BaseDefaultProps> declare const Box: PolymorphicComponent<{}>; -export { Box }; +export default Box; diff --git a/packages/pigment-css-react/src/Box.jsx b/packages/pigment-css-react/src/Box.jsx index 235cb67cf10210..de32424c204c3b 100644 --- a/packages/pigment-css-react/src/Box.jsx +++ b/packages/pigment-css-react/src/Box.jsx @@ -1,7 +1,7 @@ /* eslint-disable react/prop-types */ import * as React from 'react'; -export const Box = React.forwardRef( +const Box = React.forwardRef( ( { as = 'div', @@ -50,3 +50,5 @@ export const Box = React.forwardRef( return <Component ref={ref} className={classes} style={styles} {...rest} />; }, ); + +export default Box; diff --git a/packages/pigment-css-react/src/processors/sx.ts b/packages/pigment-css-react/src/processors/sx.ts index b0293aa8c58f93..141c470ed8c1ae 100644 --- a/packages/pigment-css-react/src/processors/sx.ts +++ b/packages/pigment-css-react/src/processors/sx.ts @@ -11,6 +11,31 @@ import { processCssObject } from '../utils/processCssObject'; import { cssFnValueToVariable } from '../utils/cssFnValueToVariable'; import BaseProcessor from './base-processor'; +// @TODO: Maybe figure out a better way allow imports. +const allowedSxTransformImports = [`${process.env.PACKAGE_NAME}/Box`]; + +/** + * Specifically looks for whether the sx prop should be transformed or not. + * If it's a Pigment CSS styled component, the value of `argumentValue` will + * be a string className starting with "." + * In other cases, it explicitly checks if the import is allowed for sx transformation. + */ +function allowSxTransform(argumentExpression: ExpressionValue, argumentValue?: string) { + if (!argumentExpression) { + return false; + } + if ( + argumentExpression.kind === ValueType.LAZY && + argumentExpression.importedFrom?.some((i) => allowedSxTransformImports.includes(i)) + ) { + return true; + } + if (argumentValue && argumentValue[0] === '.') { + return true; + } + return false; +} + export class SxProcessor extends BaseProcessor { sxArguments: ExpressionValue[] = []; @@ -41,7 +66,7 @@ export class SxProcessor extends BaseProcessor { } } - if (!this.elementClassName || this.elementClassName[0] !== '.') { + if (!allowSxTransform(elementClassExpression, this.elementClassName)) { return; } @@ -95,7 +120,7 @@ export class SxProcessor extends BaseProcessor { doRuntimeReplacement() { const t = this.astService; // do not replace if sx prop is not a Pigment styled component - if (!this.elementClassName) { + if (this.artifacts.length === 0) { return; } if (this.collectedVariables.length) { diff --git a/packages/pigment-css-react/src/utils/remove-prop-types-plugin.ts b/packages/pigment-css-react/src/utils/remove-prop-types-plugin.ts index 944209882af369..de48af2ae2d0ba 100644 --- a/packages/pigment-css-react/src/utils/remove-prop-types-plugin.ts +++ b/packages/pigment-css-react/src/utils/remove-prop-types-plugin.ts @@ -11,7 +11,10 @@ export const removePropTypesPlugin = declare<{}>((api) => { return; } const property = left.get('property'); - if (!property.isIdentifier({ name: 'propTypes' })) { + const isPropTypes = property.isIdentifier({ name: 'propTypes' }); + const isMuiName = property.isIdentifier({ name: 'muiName' }); + + if (!isPropTypes && !isMuiName) { return; } const parentExpression = path.findParent((p) => p.isExpressionStatement()); diff --git a/packages/pigment-css-react/tests/Box/box.test.tsx b/packages/pigment-css-react/tests/Box/box.test.tsx new file mode 100644 index 00000000000000..a5a33298b875b4 --- /dev/null +++ b/packages/pigment-css-react/tests/Box/box.test.tsx @@ -0,0 +1,13 @@ +import path from 'node:path'; +import { runTransformation, expect } from '../testUtils'; + +describe('Pigment CSS - Box', () => { + it('should transform and render sx prop', async () => { + const { output, fixture } = await runTransformation( + path.join(__dirname, 'fixtures/box.input.js'), + ); + + expect(output.js).to.equal(fixture.js); + expect(output.css).to.equal(fixture.css); + }); +}); diff --git a/packages/pigment-css-react/tests/Box/fixtures/box.input.js b/packages/pigment-css-react/tests/Box/fixtures/box.input.js new file mode 100644 index 00000000000000..b8548e7690dc31 --- /dev/null +++ b/packages/pigment-css-react/tests/Box/fixtures/box.input.js @@ -0,0 +1,20 @@ +import Box from '@pigment-css/react/Box'; + +export function App() { + return ( + <Box + as="ul" + sx={{ + margin: 0, + marginBlock: '1rem', + padding: 0, + paddingLeft: '1.5rem', + display: 'flex', + flexDirection: 'column', + gap: '0.5rem', + }} + > + Hello Box + </Box> + ); +} diff --git a/packages/pigment-css-react/tests/Box/fixtures/box.output.css b/packages/pigment-css-react/tests/Box/fixtures/box.output.css new file mode 100644 index 00000000000000..a8ce65359e1e17 --- /dev/null +++ b/packages/pigment-css-react/tests/Box/fixtures/box.output.css @@ -0,0 +1,9 @@ +.bc1d15y { + margin: 0; + margin-block: 1rem; + padding: 0; + padding-left: 1.5rem; + display: flex; + flex-direction: column; + gap: 0.5rem; +} diff --git a/packages/pigment-css-react/tests/Box/fixtures/box.output.js b/packages/pigment-css-react/tests/Box/fixtures/box.output.js new file mode 100644 index 00000000000000..a5deb916f15eff --- /dev/null +++ b/packages/pigment-css-react/tests/Box/fixtures/box.output.js @@ -0,0 +1,8 @@ +import Box from '@pigment-css/react/Box'; +export function App() { + return ( + <Box as="ul" sx={'bc1d15y'}> + Hello Box + </Box> + ); +} diff --git a/packages/pigment-css-react/tests/styled/fixtures/styled-theme.input.js b/packages/pigment-css-react/tests/styled/fixtures/styled-theme.input.js index 80b96babb87007..d06b7864ff96d4 100644 --- a/packages/pigment-css-react/tests/styled/fixtures/styled-theme.input.js +++ b/packages/pigment-css-react/tests/styled/fixtures/styled-theme.input.js @@ -50,3 +50,5 @@ process.env.NODE_ENV !== 'production' children: PropTypes.element, }) : void 0; + +process.env.NODE_ENV !== 'production' ? (App.muiName = 'App') : void 0; diff --git a/packages/pigment-css-react/tests/styled/fixtures/styled-theme.output.js b/packages/pigment-css-react/tests/styled/fixtures/styled-theme.output.js index 2eae296833973e..3e3eae8b2f3244 100644 --- a/packages/pigment-css-react/tests/styled/fixtures/styled-theme.output.js +++ b/packages/pigment-css-react/tests/styled/fixtures/styled-theme.output.js @@ -26,3 +26,4 @@ process.env.NODE_ENV !== 'production' children: PropTypes.element, }) : void 0; +process.env.NODE_ENV !== 'production' ? (App.muiName = 'App') : void 0; diff --git a/packages/pigment-css-react/tests/styled/fixtures/styled.input.js b/packages/pigment-css-react/tests/styled/fixtures/styled.input.js index 1d7464f329a50d..355ba897b1d1f4 100644 --- a/packages/pigment-css-react/tests/styled/fixtures/styled.input.js +++ b/packages/pigment-css-react/tests/styled/fixtures/styled.input.js @@ -46,3 +46,5 @@ export function App() { App.propTypes = { children: PropTypes.element, }; + +App.muiName = 'App'; diff --git a/packages/pigment-css-react/tests/styled/fixtures/styled.output.js b/packages/pigment-css-react/tests/styled/fixtures/styled.output.js index e29c5075747ff5..5ae7640121516f 100644 --- a/packages/pigment-css-react/tests/styled/fixtures/styled.output.js +++ b/packages/pigment-css-react/tests/styled/fixtures/styled.output.js @@ -24,3 +24,4 @@ export function App() { App.propTypes = { children: PropTypes.element, }; +App.muiName = 'App'; diff --git a/packages/pigment-css-unplugin/.eslintrc b/packages/pigment-css-unplugin/.eslintrc new file mode 100644 index 00000000000000..5abd34a395bc37 --- /dev/null +++ b/packages/pigment-css-unplugin/.eslintrc @@ -0,0 +1,5 @@ +{ + "rules": { + "import/prefer-default-export": "off" + } +} diff --git a/packages/pigment-css-unplugin/package.json b/packages/pigment-css-unplugin/package.json index 9dff04d1e21d7f..ecddb0af7ccd3e 100644 --- a/packages/pigment-css-unplugin/package.json +++ b/packages/pigment-css-unplugin/package.json @@ -1,6 +1,6 @@ { "name": "@pigment-css/unplugin", - "version": "0.0.4", + "version": "0.0.6", "main": "build/index.js", "module": "build/index.mjs", "types": "build/index.d.ts", @@ -25,10 +25,12 @@ "watch": "tsup --watch --tsconfig tsconfig.build.json", "copy-license": "node ../../scripts/pigment-license.mjs", "build": "tsup --tsconfig tsconfig.build.json", - "typecheck": "tsc --noEmit -p ." + "typecheck": "tsc --noEmit -p .", + "test": "cd ../../ && cross-env NODE_ENV=test mocha 'packages/pigment-css-unplugin/**/*.test.{js,ts,tsx}'", + "test:ci": "cd ../../ && cross-env NODE_ENV=test BABEL_ENV=coverage nyc --reporter=lcov --report-dir=./coverage/pigment-css-unplugin mocha 'packages/pigment-css-unplugin/**/*.test.{js,ts,tsx}'" }, "dependencies": { - "@babel/core": "^7.23.9", + "@babel/core": "^7.24.4", "@pigment-css/react": "workspace:^", "@wyw-in-js/shared": "^0.5.0", "@wyw-in-js/transform": "^0.5.0", @@ -36,7 +38,10 @@ "unplugin": "^1.7.1" }, "devDependencies": { - "@types/babel__core": "^7.20.5" + "@types/babel__core": "^7.20.5", + "@types/chai": "^4.3.14", + "@types/mocha": "^10.0.6", + "chai": "^4.4.1" }, "sideEffects": false, "publishConfig": { diff --git a/packages/pigment-css-unplugin/src/index.ts b/packages/pigment-css-unplugin/src/index.ts index bd8a047609fd4c..cbddd39982e4d7 100644 --- a/packages/pigment-css-unplugin/src/index.ts +++ b/packages/pigment-css-unplugin/src/index.ts @@ -21,15 +21,19 @@ import { generateThemeTokens, extendTheme, type Theme as BaseTheme, + type PluginCustomOptions, } from '@pigment-css/react/utils'; import type { ResolvePluginInstance } from 'webpack'; +import { handleUrlReplacement, type AsyncResolver } from './utils'; + type NextMeta = { type: 'next'; dev: boolean; isServer: boolean; outputCss: boolean; placeholderCssFile: string; + projectPath: string; }; type ViteMeta = { @@ -41,7 +45,6 @@ type WebpackMeta = { }; type Meta = NextMeta | ViteMeta | WebpackMeta; -export type AsyncResolver = (what: string, importer: string, stack: string[]) => Promise<string>; export type PigmentOptions<Theme extends BaseTheme = BaseTheme> = { theme?: Theme; @@ -52,7 +55,8 @@ export type PigmentOptions<Theme extends BaseTheme = BaseTheme> = { meta?: Meta; asyncResolve?: (...args: Parameters<AsyncResolver>) => Promise<string | null>; transformSx?: boolean; -} & Partial<WywInJsPluginOptions>; +} & Partial<WywInJsPluginOptions> & + Omit<PluginCustomOptions, 'themeArgs'>; const extensions = ['.js', '.jsx', '.mjs', '.cjs', '.ts', '.tsx', '.mts', '.cts']; @@ -100,13 +104,14 @@ export const plugin = createUnplugin<PigmentOptions, true>((options) => { theme, meta, transformLibraries = [], - preprocessor = basePreprocessor, + preprocessor, asyncResolve: asyncResolveOpt, debug = false, sourceMap = false, transformSx = true, overrideContext, tagResolver, + css, ...rest } = options; const cache = new TransformCacheCollection(); @@ -116,7 +121,7 @@ export const plugin = createUnplugin<PigmentOptions, true>((options) => { const isNext = meta?.type === 'next'; const outputCss = isNext && meta.outputCss; const babelTransformPlugin: UnpluginOptions = { - name: 'zero-plugin-transform-babel', + name: 'pigment-css-plugin-transform-babel', enforce: 'post', transformInclude(id) { return isZeroRuntimeProcessableFile(id, transformLibraries); @@ -137,6 +142,7 @@ export const plugin = createUnplugin<PigmentOptions, true>((options) => { }; }, }; + const projectPath = meta?.type === 'next' ? meta.projectPath : process.cwd(); let webpackResolver: AsyncResolver; @@ -151,8 +157,12 @@ export const plugin = createUnplugin<PigmentOptions, true>((options) => { return asyncResolveFallback(what, importer, stack); }; + const withRtl = (selector: string, cssText: string) => { + return basePreprocessor(selector, cssText, css); + }; + const wywInJSTransformPlugin: UnpluginOptions = { - name: 'zero-plugin-transform-wyw-in-js', + name: 'pigment-css-plugin-transform-wyw-in-js', enforce: 'post', buildEnd() { onDone(process.cwd()); @@ -188,12 +198,13 @@ export const plugin = createUnplugin<PigmentOptions, true>((options) => { compiler.options.resolve.plugins = compiler.options.resolve.plugins || []; compiler.options.resolve.plugins.push(resolverPlugin); }, - async transform(code, id) { + async transform(code, filePath) { + const [id] = filePath.split('?'); const transformServices = { options: { filename: id, root: process.cwd(), - preprocessor, + preprocessor: preprocessor ?? withRtl, pluginOptions: { ...rest, themeArgs: { @@ -246,8 +257,15 @@ export const plugin = createUnplugin<PigmentOptions, true>((options) => { map: result.sourceMap, }; } - const slug = slugify(cssText); - const cssFilename = `${slug}.zero.css`; + + if (isNext) { + // Handle url() replacement in css. Only handled in Next.js as the css is injected + // through the use of a placeholder CSS file that lies in the nextjs plugin package. + // So url paths can't be resolved relative to that file. + if (cssText && cssText.includes('url(')) { + cssText = await handleUrlReplacement(cssText, id, asyncResolve, projectPath); + } + } if (sourceMap && result.cssSourceMapText) { const map = Buffer.from(result.cssSourceMapText).toString('base64'); @@ -255,12 +273,13 @@ export const plugin = createUnplugin<PigmentOptions, true>((options) => { } // Virtual modules do not work consistently in Next.js (the build is done at least - // thrice) resulting in error in subsequent builds. So we use a placeholder CSS - // file with the actual CSS content as part of the query params. + // thrice with different combination of parameters) resulting in error in + // subsequent builds. So we use a placeholder CSS file with the actual CSS content + // as part of the query params. if (isNext) { const data = `${meta.placeholderCssFile}?${encodeURIComponent( JSON.stringify({ - filename: cssFilename, + filename: id.split('/').pop(), source: cssText, }), )}`; @@ -270,9 +289,13 @@ export const plugin = createUnplugin<PigmentOptions, true>((options) => { map: result.sourceMap, }; } + + const slug = slugify(cssText); + const cssFilename = `${slug}.pigment.css`; const cssId = `./${cssFilename}`; cssFileLookup.set(cssId, cssFilename); cssLookup.set(cssFilename, cssText); + return { code: `${result.code}\nimport ${JSON.stringify(`./${cssFilename}`)};`, map: result.sourceMap, @@ -287,7 +310,7 @@ export const plugin = createUnplugin<PigmentOptions, true>((options) => { const plugins: Array<UnpluginOptions> = [ { - name: 'zero-plugin-theme-tokens', + name: 'pigment-css-plugin-theme-tokens', enforce: 'pre', webpack(compiler) { compiler.hooks.normalModuleFactory.tap(pluginName, (nmf) => { @@ -295,7 +318,7 @@ export const plugin = createUnplugin<PigmentOptions, true>((options) => { pluginName, // @ts-expect-error CreateData is typed as 'object'... (createData: { matchResource?: string; settings: { sideEffects?: boolean } }) => { - if (createData.matchResource && createData.matchResource.endsWith('.zero.css')) { + if (createData.matchResource && createData.matchResource.endsWith('.pigment.css')) { createData.settings.sideEffects = true; } }, @@ -361,13 +384,13 @@ export const plugin = createUnplugin<PigmentOptions, true>((options) => { // This is already handled separately for Next.js using `placeholderCssFile` if (!isNext) { plugins.push({ - name: 'zero-plugin-load-output-css', + name: 'pigment-css-plugin-load-output-css', enforce: 'pre', resolveId(source: string) { return cssFileLookup.get(source); }, loadInclude(id) { - return id.endsWith('.zero.css'); + return id.endsWith('.pigment.css'); }, load(id) { return cssLookup.get(id) ?? ''; @@ -382,4 +405,4 @@ export const webpack = plugin.webpack as unknown as UnpluginFactoryOutput< WebpackPluginInstance >; -export { extendTheme }; +export { type AsyncResolver, extendTheme }; diff --git a/packages/pigment-css-unplugin/src/utils.ts b/packages/pigment-css-unplugin/src/utils.ts new file mode 100644 index 00000000000000..da108320f607b2 --- /dev/null +++ b/packages/pigment-css-unplugin/src/utils.ts @@ -0,0 +1,66 @@ +import * as path from 'node:path'; + +export type AsyncResolver = (what: string, importer: string, stack: string[]) => Promise<string>; + +/** + * There might be a better way to do this in future, but due to the async + * nature of the resolver, this is the best way currently to replace url() + * content references with the absolute path of the referenced file. + * This is because WyW-in-JS's preprocessor is a sync call. So we can't resolve + * paths in this call asyncronously. + * The upside is that we can use aliases in the url() references as well + * alongside relative paths. + */ +export const handleUrlReplacement = async ( + cssText: string, + filename: string, + asyncResolver: AsyncResolver, + projectPath: string, +) => { + // [0] [1][2] [3] [4] + const urlRegex = /\b(url\((["']?))(\.?[^)]+?)(\2\))/g; + let newCss = ''; + let match = urlRegex.exec(cssText); + let lastIndex = 0; + while (match) { + newCss += cssText.substring(lastIndex, match.index); + const mainItem = match[3]; + // no need to handle data uris or absolute paths + if ( + mainItem.startsWith('data:') || + mainItem.startsWith('http:') || + mainItem.startsWith('https:') + ) { + newCss += `url(${mainItem})`; + } else if (mainItem[0] === '/') { + const newPath = mainItem.replace(projectPath, '').split(path.sep).join('/'); + if (newPath === mainItem) { + // absolute path unrelated to files in the project or in public directory + newCss += `url(${mainItem})`; + } else { + // absolute path to files in the project + newCss += `url(~${mainItem.replace(projectPath, '').split(path.sep).join('/')})`; + } + } else { + // eslint-disable-next-line no-await-in-loop + const resolvedAbsolutePath = await asyncResolver(mainItem, filename, []); + if (!resolvedAbsolutePath) { + newCss += `url(${mainItem})`; + } else { + let pathFromRoot = resolvedAbsolutePath.replace(projectPath, ''); + // Need to do this for Windows paths + pathFromRoot = pathFromRoot.split(path.sep).join('/'); + // const relativePathToProjectRoot = path.relative() + // Next.js expects the path to be relative to the project root and starting with ~ + newCss += `url(~${pathFromRoot})`; + } + } + lastIndex = match.index + match[0].length; + match = urlRegex.exec(cssText); + } + newCss += cssText.substring(lastIndex); + if (!newCss) { + return cssText; + } + return newCss; +}; diff --git a/packages/pigment-css-unplugin/tests/utils.test.ts b/packages/pigment-css-unplugin/tests/utils.test.ts new file mode 100644 index 00000000000000..c0f8a4bd97ee4f --- /dev/null +++ b/packages/pigment-css-unplugin/tests/utils.test.ts @@ -0,0 +1,88 @@ +import { expect } from 'chai'; +import { handleUrlReplacement } from '../src/utils'; + +const DATA_URI = + 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTIwLjUgMTMuN2'; +const HTML_LOGO_URL = 'https://mui.com/static/logo.svg'; +const ABSOLUTE_PATH = '/static/logo.svg'; +const dummyResolver = (url: string) => { + return Promise.resolve(url); +}; + +describe('utils', () => { + describe('handleUrlReplacement', () => { + it('should not replace http/data/absolute urls', async () => { + [DATA_URI, HTML_LOGO_URL, ABSOLUTE_PATH].forEach(async (url) => { + const cssString1 = `.className { + background-image: url(${url}); + }`; + const cssString2 = `.className { + background-image: url('${url}'); + }`; + expect( + await handleUrlReplacement( + cssString1, + '/path/to/project/filename.ts', + dummyResolver, + '/path/to/project', + ), + ).to.equal(cssString1); + expect( + await handleUrlReplacement( + cssString2, + '/path/to/project/filename.ts', + dummyResolver, + '/path/to/project', + ), + ).to.equal(cssString1); + }); + }); + + it('should replace relative or aliased paths with paths relative to the current working directory', async () => { + const projectPath = '/path/to/project'; + const filePath = `${projectPath}/src/components/Slider.tsx`; + const resolver = (url: string): Promise<string> => { + return new Promise((resolve) => { + if (url.startsWith('@/')) { + resolve(`${projectPath}/src${url.slice(1)}`); + } else if (url.startsWith('../../')) { + resolve(`${projectPath}/src/${url.replace('../../', '')}`); + } else if (url.startsWith('/')) { + resolve(url); + } + }); + }; + const cssString = `.className_c17ksbvo{ + background-color:var(--mui-palette-background-default, #fff); + color:var(--mui-palette-text-primary, rgba(0, 0, 0, 0.87)); + background-image: url('${DATA_URI}'); + background-image: url('${HTML_LOGO_URL}'); + background-image: url(${ABSOLUTE_PATH}); + background-image: url('../../assets/mui.svg'); + background-image: url('@/assets/mui.svg'); + background-image: url('${projectPath}/src/assets/mui.svg'); + background-image: url('/assets/mui.svg'); + background-image: url('@/assets/mui.svg'); + display: flex; + position: absolute; + }`; + const expectedCssString = `.className_c17ksbvo{ + background-color:var(--mui-palette-background-default, #fff); + color:var(--mui-palette-text-primary, rgba(0, 0, 0, 0.87)); + background-image: url(${DATA_URI}); + background-image: url(${HTML_LOGO_URL}); + background-image: url(${ABSOLUTE_PATH}); + background-image: url(~/src/assets/mui.svg); + background-image: url(~/src/assets/mui.svg); + background-image: url(~/src/assets/mui.svg); + background-image: url(/assets/mui.svg); + background-image: url(~/src/assets/mui.svg); + display: flex; + position: absolute; + }`; + expect(await handleUrlReplacement(cssString, filePath, resolver, projectPath)).to.equal( + expectedCssString, + ); + }); + }); +}); diff --git a/packages/pigment-css-unplugin/tsconfig.json b/packages/pigment-css-unplugin/tsconfig.json index aa7c7cb0fab5b0..76104e9ff8ee6d 100644 --- a/packages/pigment-css-unplugin/tsconfig.json +++ b/packages/pigment-css-unplugin/tsconfig.json @@ -11,7 +11,8 @@ "@mui/utils/*": ["./packages/mui-utils/src/*"], "@pigment-css/react": ["./packages/pigment-css-react/src"], "@pigment-css/react/*": ["./packages/pigment-css-react/src/*"] - } + }, + "types": ["node", "mocha", "chai"] }, "include": ["src/**/*.ts"], "exclude": ["./tsup.config.ts"] diff --git a/packages/pigment-css-vite-plugin/package.json b/packages/pigment-css-vite-plugin/package.json index 9a76867d55c749..866082e607cfe5 100644 --- a/packages/pigment-css-vite-plugin/package.json +++ b/packages/pigment-css-vite-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@pigment-css/vite-plugin", - "version": "0.0.4", + "version": "0.0.6", "main": "build/index.js", "module": "build/index.mjs", "types": "build/index.d.ts", @@ -28,8 +28,8 @@ "typecheck": "tsc --noEmit -p ." }, "dependencies": { - "@babel/core": "^7.23.9", - "@babel/preset-typescript": "^7.23.3", + "@babel/core": "^7.24.4", + "@babel/preset-typescript": "^7.24.1", "@pigment-css/react": "workspace:^", "@wyw-in-js/shared": "^0.5.0", "@wyw-in-js/transform": "^0.5.0", @@ -37,7 +37,7 @@ }, "devDependencies": { "@types/babel__core": "^7.20.5", - "vite": "^5.0.12" + "vite": "^5.2.8" }, "peerDependencies": { "vite": "^4.0.0 || ^5.0.0" diff --git a/packages/pigment-css-vite-plugin/src/index.ts b/packages/pigment-css-vite-plugin/src/index.ts index 20bb2d6c39b716..a3772fce0f726e 100644 --- a/packages/pigment-css-vite-plugin/src/index.ts +++ b/packages/pigment-css-vite-plugin/src/index.ts @@ -9,16 +9,11 @@ import { import { transformAsync } from '@babel/core'; import baseWywPluginPlugin, { type VitePluginOptions } from './vite-plugin'; -export interface PigmentOptions extends VitePluginOptions { +export interface PigmentOptions extends Omit<VitePluginOptions, 'themeArgs'> { /** * The theme object that you want to be passed to the `styled` function */ theme: Theme; - /** - * Whether the css variables for the default theme should target the :root selector or not. - * @default true - */ - injectDefaultThemeInRoot?: boolean; } const VIRTUAL_CSS_FILE = `\0zero-runtime-styles.css`; diff --git a/packages/rsc-builder/package.json b/packages/rsc-builder/package.json index 41a6f0a0424f3d..8960baa67a5402 100644 --- a/packages/rsc-builder/package.json +++ b/packages/rsc-builder/package.json @@ -9,6 +9,6 @@ }, "devDependencies": { "@types/mocha": "^10.0.6", - "@types/node": "^18.19.28" + "@types/node": "^18.19.31" } } diff --git a/packages/test-utils/package.json b/packages/test-utils/package.json index ba9c13d19bd8a0..4def2c983b8f83 100644 --- a/packages/test-utils/package.json +++ b/packages/test-utils/package.json @@ -18,10 +18,10 @@ "./setupKarma": "./src/setupKarma.js" }, "dependencies": { - "@babel/plugin-transform-modules-commonjs": "^7.23.3", - "@babel/preset-typescript": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.24.1", + "@babel/preset-typescript": "^7.24.1", "@babel/register": "^7.23.7", - "@babel/runtime": "^7.23.9", + "@babel/runtime": "^7.24.4", "@emotion/cache": "^11.11.0", "@emotion/react": "^11.11.4", "@mnajdova/enzyme-adapter-react-18": "^0.2.0", @@ -35,8 +35,8 @@ "fs-extra": "^11.2.0", "jsdom": "^24.0.0", "lodash": "^4.17.21", - "mocha": "^10.3.0", - "playwright": "^1.42.1", + "mocha": "^10.4.0", + "playwright": "^1.43.0", "prop-types": "^15.8.1", "react-test-renderer": "^18.2.0", "sinon": "^15.2.0" @@ -51,7 +51,7 @@ "@types/react-dom": "^18.2.19", "@types/react-test-renderer": "^18.0.7", "@types/sinon": "^10.0.20", - "typescript": "^5.4.3" + "typescript": "^5.4.4" }, "peerDependencies": { "react": "^18.2.0", diff --git a/packages/zero-runtime/src/RtlProvider/index.ts b/packages/zero-runtime/src/RtlProvider/index.ts deleted file mode 100644 index 811b0c2c514f04..00000000000000 --- a/packages/zero-runtime/src/RtlProvider/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { default as RtlProvider, useRtl } from '@mui/system/RtlProvider'; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 026420ff84a2da..3b9d3e7bd1b1e7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,24 +5,24 @@ settings: excludeLinksFromLockfile: false overrides: - '@babel/core': ^7.23.9 - '@babel/code-frame': ^7.23.5 + '@babel/core': ^7.24.4 + '@babel/code-frame': ^7.24.2 '@babel/plugin-proposal-class-properties': ^7.18.6 '@babel/plugin-proposal-object-rest-spread': ^7.20.7 '@babel/plugin-proposal-nullish-coalescing-operator': ^7.18.6 '@babel/plugin-proposal-numeric-separator': ^7.18.6 '@babel/plugin-proposal-optional-chaining': ^7.21.0 '@babel/plugin-transform-destructuring': npm:@minh.nguyen/plugin-transform-destructuring@^7.5.2 - '@babel/plugin-transform-runtime': ^7.23.9 - '@babel/preset-env': ^7.23.9 - '@babel/preset-react': ^7.23.3 - '@babel/preset-typescript': ^7.23.3 - '@babel/runtime': ^7.23.9 - '@babel/types': ^7.23.9 + '@babel/plugin-transform-runtime': ^7.24.3 + '@babel/preset-env': ^7.24.4 + '@babel/preset-react': ^7.24.1 + '@babel/preset-typescript': ^7.24.1 + '@babel/runtime': ^7.24.4 + '@babel/types': ^7.24.0 '@definitelytyped/header-parser': ^0.2.8 '@definitelytyped/typescript-versions': ^0.1.1 '@definitelytyped/utils': ^0.1.5 - '@types/node': ^18.19.28 + '@types/node': ^18.19.31 '@types/react': 18.2.55 '@types/react-dom': 18.2.19 cross-fetch: ^4.0.0 @@ -51,47 +51,47 @@ importers: specifier: ^1.5.5 version: 1.5.5 '@babel/cli': - specifier: ^7.23.9 - version: 7.23.9(@babel/core@7.24.3) + specifier: ^7.24.1 + version: 7.24.1(@babel/core@7.24.4) '@babel/core': - specifier: ^7.23.9 - version: 7.24.3 + specifier: ^7.24.4 + version: 7.24.4 '@babel/node': specifier: ^7.23.9 - version: 7.23.9(@babel/core@7.24.3) + version: 7.23.9(@babel/core@7.24.4) '@babel/plugin-proposal-class-properties': specifier: ^7.18.6 - version: 7.18.6(@babel/core@7.24.3) + version: 7.18.6(@babel/core@7.24.4) '@babel/plugin-proposal-object-rest-spread': specifier: ^7.20.7 - version: 7.20.7(@babel/core@7.24.3) + version: 7.20.7(@babel/core@7.24.4) '@babel/plugin-proposal-private-methods': specifier: ^7.18.6 - version: 7.18.6(@babel/core@7.24.3) + version: 7.18.6(@babel/core@7.24.4) '@babel/plugin-proposal-private-property-in-object': specifier: ^7.21.11 - version: 7.21.11(@babel/core@7.24.3) + version: 7.21.11(@babel/core@7.24.4) '@babel/plugin-transform-object-assign': - specifier: ^7.23.3 - version: 7.23.3(@babel/core@7.24.3) + specifier: ^7.24.1 + version: 7.24.1(@babel/core@7.24.4) '@babel/plugin-transform-react-constant-elements': - specifier: ^7.23.3 - version: 7.23.3(@babel/core@7.24.3) + specifier: ^7.24.1 + version: 7.24.1(@babel/core@7.24.4) '@babel/plugin-transform-runtime': - specifier: ^7.23.9 - version: 7.24.3(@babel/core@7.24.3) + specifier: ^7.24.3 + version: 7.24.3(@babel/core@7.24.4) '@babel/preset-env': - specifier: ^7.23.9 - version: 7.24.3(@babel/core@7.24.3) + specifier: ^7.24.4 + version: 7.24.4(@babel/core@7.24.4) '@babel/preset-react': - specifier: ^7.23.3 - version: 7.23.3(@babel/core@7.24.3) + specifier: ^7.24.1 + version: 7.24.1(@babel/core@7.24.4) '@babel/preset-typescript': - specifier: ^7.23.3 - version: 7.24.1(@babel/core@7.24.3) + specifier: ^7.24.1 + version: 7.24.1(@babel/core@7.24.4) '@babel/register': specifier: ^7.23.7 - version: 7.23.7(@babel/core@7.24.3) + version: 7.23.7(@babel/core@7.24.4) '@mnajdova/enzyme-adapter-react-18': specifier: ^0.2.0 version: 0.2.0(enzyme@3.11.0)(react-dom@18.2.0)(react@18.2.0) @@ -123,14 +123,14 @@ importers: specifier: ^14.1.4 version: 14.1.4 '@octokit/rest': - specifier: ^20.0.2 - version: 20.0.2 + specifier: ^20.1.0 + version: 20.1.0 '@pigment-css/react': specifier: workspace:^ version: link:packages/pigment-css-react '@playwright/test': - specifier: 1.42.1 - version: 1.42.1 + specifier: 1.43.0 + version: 1.43.0 '@types/enzyme': specifier: ^3.10.18 version: 3.10.18 @@ -144,8 +144,8 @@ importers: specifier: ^10.0.6 version: 10.0.6 '@types/node': - specifier: ^18.19.28 - version: 18.19.28 + specifier: ^18.19.31 + version: 18.19.31 '@types/prettier': specifier: ^2.7.3 version: 2.7.3 @@ -156,14 +156,14 @@ importers: specifier: ^17.0.32 version: 17.0.32 '@typescript-eslint/eslint-plugin': - specifier: ^6.19.1 - version: 6.19.1(@typescript-eslint/parser@6.19.1)(eslint@8.57.0)(typescript@5.4.3) + specifier: ^6.21.0 + version: 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.4) '@typescript-eslint/parser': - specifier: ^6.19.1 - version: 6.19.1(eslint@8.57.0)(typescript@5.4.3) + specifier: ^6.21.0 + version: 6.21.0(eslint@8.57.0)(typescript@5.4.4) babel-loader: specifier: ^9.1.3 - version: 9.1.3(@babel/core@7.24.3)(webpack@5.90.3) + version: 9.1.3(@babel/core@7.24.4)(webpack@5.90.3) babel-plugin-istanbul: specifier: ^6.1.1 version: 6.1.1 @@ -214,7 +214,7 @@ importers: version: 15.0.0(eslint-plugin-import@2.29.1)(eslint@8.57.0) eslint-config-airbnb-typescript: specifier: ^17.1.0 - version: 17.1.0(@typescript-eslint/eslint-plugin@6.19.1)(@typescript-eslint/parser@6.19.1)(eslint-plugin-import@2.29.1)(eslint@8.57.0) + version: 17.1.0(@typescript-eslint/eslint-plugin@6.21.0)(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0) eslint-config-prettier: specifier: ^9.1.0 version: 9.1.0(eslint@8.57.0) @@ -229,7 +229,7 @@ importers: version: 1.3.2(eslint@8.57.0) eslint-plugin-import: specifier: ^2.29.1 - version: 2.29.1(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-webpack@0.13.8)(eslint@8.57.0) + version: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-webpack@0.13.8)(eslint@8.57.0) eslint-plugin-jsx-a11y: specifier: ^6.7.1 version: 6.7.1(eslint@8.57.0) @@ -288,8 +288,8 @@ importers: specifier: ^0.12.1 version: 0.12.1 mocha: - specifier: ^10.3.0 - version: 10.3.0 + specifier: ^10.4.0 + version: 10.4.0 nx: specifier: ^17.3.2 version: 17.3.2 @@ -334,13 +334,13 @@ importers: version: 5.3.10(esbuild@0.19.11)(webpack@5.90.3) tsup: specifier: ^8.0.2 - version: 8.0.2(postcss@8.4.38)(typescript@5.4.3) + version: 8.0.2(postcss@8.4.38)(typescript@5.4.4) tsx: - specifier: ^4.7.1 - version: 4.7.1 + specifier: ^4.7.2 + version: 4.7.2 typescript: - specifier: ^5.4.3 - version: 5.4.3 + specifier: ^5.4.4 + version: 5.4.4 webpack: specifier: ^5.90.3 version: 5.90.3(esbuild@0.19.11)(webpack-cli@5.1.4) @@ -394,7 +394,7 @@ importers: version: link:../local-ui-lib next: specifier: latest - version: 14.1.4(@babel/core@7.24.3)(babel-plugin-macros@3.1.0)(react-dom@18.2.0)(react@18.2.0) + version: 14.1.4(@babel/core@7.24.4)(babel-plugin-macros@3.1.0)(react-dom@18.2.0)(react@18.2.0) react: specifier: ^18.2.0 version: 18.2.0 @@ -406,8 +406,8 @@ importers: specifier: workspace:^ version: link:../../packages/pigment-css-nextjs-plugin '@types/node': - specifier: ^18.19.28 - version: 18.19.28 + specifier: ^18.19.31 + version: 18.19.31 '@types/react': specifier: 18.2.55 version: 18.2.55 @@ -418,8 +418,8 @@ importers: specifier: ^8.57.0 version: 8.57.0 typescript: - specifier: ^5.4.3 - version: 5.4.3 + specifier: ^5.4.4 + version: 5.4.4 apps/pigment-css-vite-app: dependencies: @@ -463,15 +463,15 @@ importers: specifier: ^6.22.3 version: 6.22.3(react@18.2.0) react-router-dom: - specifier: ^6.22.1 - version: 6.22.1(react-dom@18.2.0)(react@18.2.0) + specifier: ^6.22.3 + version: 6.22.3(react-dom@18.2.0)(react@18.2.0) devDependencies: '@babel/preset-react': - specifier: ^7.23.3 - version: 7.23.3(@babel/core@7.24.3) + specifier: ^7.24.1 + version: 7.24.1(@babel/core@7.24.4) '@babel/preset-typescript': - specifier: ^7.23.3 - version: 7.24.1(@babel/core@7.24.3) + specifier: ^7.24.1 + version: 7.24.1(@babel/core@7.24.4) '@pigment-css/vite-plugin': specifier: workspace:^ version: link:../../packages/pigment-css-vite-plugin @@ -483,7 +483,7 @@ importers: version: 18.2.19 '@vitejs/plugin-react': specifier: ^4.2.1 - version: 4.2.1(vite@5.2.2) + version: 4.2.1(vite@5.2.8) postcss: specifier: ^8.4.38 version: 8.4.38 @@ -491,17 +491,17 @@ importers: specifier: ^1.0.1 version: 1.0.1 vite: - specifier: 5.2.2 - version: 5.2.2(@types/node@18.19.28) + specifier: 5.2.8 + version: 5.2.8(@types/node@18.19.31) vite-plugin-pages: - specifier: ^0.32.0 - version: 0.32.0(vite@5.2.2) + specifier: ^0.32.1 + version: 0.32.1(vite@5.2.8) benchmark: dependencies: '@chakra-ui/system': specifier: ^2.6.2 - version: 2.6.2(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(react@18.2.0) + version: 2.6.2(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(react@18.2.0) '@emotion/react': specifier: ^11.11.4 version: 11.11.4(@types/react@18.2.55)(react@18.2.0) @@ -509,8 +509,8 @@ importers: specifier: ^11.11.0 version: 11.11.0 '@emotion/styled': - specifier: ^11.11.0 - version: 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) + specifier: ^11.11.5 + version: 11.11.5(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) '@mui/material': specifier: workspace:^ version: link:../packages/mui-material/build @@ -539,8 +539,8 @@ importers: specifier: ^10.10.0 version: 10.10.0 playwright: - specifier: ^1.42.1 - version: 1.42.1 + specifier: ^1.43.0 + version: 1.43.0 prop-types: specifier: ^15.8.1 version: 15.8.1 @@ -581,17 +581,17 @@ importers: docs: dependencies: '@babel/core': - specifier: ^7.23.9 - version: 7.24.3 + specifier: ^7.24.4 + version: 7.24.4 '@babel/plugin-transform-object-assign': - specifier: ^7.23.3 - version: 7.23.3(@babel/core@7.24.3) + specifier: ^7.24.1 + version: 7.24.1(@babel/core@7.24.4) '@babel/runtime': - specifier: ^7.23.9 - version: 7.24.1 + specifier: ^7.24.4 + version: 7.24.4 '@babel/runtime-corejs2': - specifier: ^7.23.9 - version: 7.23.9 + specifier: ^7.24.4 + version: 7.24.4 '@docsearch/react': specifier: ^3.6.0 version: 3.6.0(@algolia/client-search@4.23.0)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0)(search-insights@2.13.0) @@ -605,17 +605,17 @@ importers: specifier: ^11.11.0 version: 11.11.0 '@emotion/styled': - specifier: ^11.11.0 - version: 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) + specifier: ^11.11.5 + version: 11.11.5(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) '@fortawesome/fontawesome-svg-core': - specifier: ^6.5.1 - version: 6.5.1 + specifier: ^6.5.2 + version: 6.5.2 '@fortawesome/free-solid-svg-icons': - specifier: ^6.5.1 - version: 6.5.1 + specifier: ^6.5.2 + version: 6.5.2 '@fortawesome/react-fontawesome': specifier: ^0.2.0 - version: 0.2.0(@fortawesome/fontawesome-svg-core@6.5.1)(react@18.2.0) + version: 0.2.0(@fortawesome/fontawesome-svg-core@6.5.2)(react@18.2.0) '@mui/base': specifier: workspace:* version: link:../packages/mui-base/build @@ -657,31 +657,31 @@ importers: version: link:../packages/mui-utils/build '@mui/x-charts': specifier: 6.19.8 - version: 6.19.8(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@mui/material@packages+mui-material+build)(@mui/system@packages+mui-system+build)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + version: 6.19.8(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@packages+mui-material+build)(@mui/system@packages+mui-system+build)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) '@mui/x-data-grid': - specifier: 7.0.0 - version: 7.0.0(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@mui/material@packages+mui-material+build)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + specifier: 7.1.1 + version: 7.1.1(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@packages+mui-material+build)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) '@mui/x-data-grid-generator': - specifier: 7.0.0 - version: 7.0.0(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@mui/icons-material@packages+mui-icons-material+build)(@mui/material@packages+mui-material+build)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + specifier: 7.1.1 + version: 7.1.1(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/icons-material@packages+mui-icons-material+build)(@mui/material@packages+mui-material+build)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) '@mui/x-data-grid-premium': - specifier: 7.0.0 - version: 7.0.0(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@mui/material@packages+mui-material+build)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + specifier: 7.1.1 + version: 7.1.1(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@packages+mui-material+build)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) '@mui/x-data-grid-pro': - specifier: 7.0.0 - version: 7.0.0(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@mui/material@packages+mui-material+build)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + specifier: 7.1.1 + version: 7.1.1(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@packages+mui-material+build)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) '@mui/x-date-pickers': - specifier: 6.19.8 - version: 6.19.8(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@mui/material@packages+mui-material+build)(@mui/system@packages+mui-system+build)(@types/react@18.2.55)(date-fns-jalali@2.21.3-1)(date-fns@2.30.0)(react-dom@18.2.0)(react@18.2.0) + specifier: 6.19.9 + version: 6.19.9(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@packages+mui-material+build)(@mui/system@packages+mui-system+build)(@types/react@18.2.55)(date-fns-jalali@2.21.3-1)(date-fns@2.30.0)(react-dom@18.2.0)(react@18.2.0) '@mui/x-date-pickers-pro': - specifier: 6.19.8 - version: 6.19.8(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@mui/material@packages+mui-material+build)(@mui/system@packages+mui-system+build)(@types/react@18.2.55)(date-fns-jalali@2.21.3-1)(date-fns@2.30.0)(react-dom@18.2.0)(react@18.2.0) + specifier: 6.19.9 + version: 6.19.9(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@packages+mui-material+build)(@mui/system@packages+mui-system+build)(@types/react@18.2.55)(date-fns-jalali@2.21.3-1)(date-fns@2.30.0)(react-dom@18.2.0)(react@18.2.0) '@mui/x-license-pro': specifier: 6.10.2 version: 6.10.2(@types/react@18.2.55)(react@18.2.0) '@mui/x-tree-view': specifier: 6.17.0 - version: 6.17.0(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@mui/material@packages+mui-material+build)(@mui/system@packages+mui-system+build)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + version: 6.17.0(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@packages+mui-material+build)(@mui/system@packages+mui-system+build)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) '@popperjs/core': specifier: ^2.11.8 version: 2.11.8 @@ -764,14 +764,14 @@ importers: specifier: ^1.5.0 version: 1.5.0 markdown-to-jsx: - specifier: ^7.4.5 - version: 7.4.5(react@18.2.0) + specifier: ^7.4.6 + version: 7.4.6(react@18.2.0) material-ui-popup-state: - specifier: ^5.0.10 - version: 5.0.10(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + specifier: ^5.1.0 + version: 5.1.0(@mui/material@packages+mui-material+build)(react@18.2.0) next: specifier: ^13.5.1 - version: 13.5.1(@babel/core@7.24.3)(babel-plugin-macros@3.1.0)(react-dom@18.2.0)(react@18.2.0) + version: 13.5.1(@babel/core@7.24.4)(babel-plugin-macros@3.1.0)(react-dom@18.2.0)(react@18.2.0) notistack: specifier: 3.0.1 version: 3.0.1(csstype@3.1.3)(react-dom@18.2.0)(react@18.2.0) @@ -809,11 +809,11 @@ importers: specifier: ^18.2.0 version: 18.2.0 react-number-format: - specifier: ^5.3.3 - version: 5.3.3(react-dom@18.2.0)(react@18.2.0) + specifier: ^5.3.4 + version: 5.3.4(react-dom@18.2.0)(react@18.2.0) react-router-dom: - specifier: ^6.21.3 - version: 6.22.1(react-dom@18.2.0)(react@18.2.0) + specifier: ^6.22.3 + version: 6.22.3(react-dom@18.2.0)(react@18.2.0) react-runner: specifier: ^1.0.3 version: 1.0.3(react-dom@18.2.0)(react@18.2.0) @@ -833,8 +833,8 @@ importers: specifier: ^4.4.5 version: 4.4.5(react-dom@18.2.0)(react@18.2.0) react-virtuoso: - specifier: ^4.7.2 - version: 4.7.2(react-dom@18.2.0)(react@18.2.0) + specifier: ^4.7.8 + version: 4.7.8(react-dom@18.2.0)(react@18.2.0) react-window: specifier: ^1.8.10 version: 1.8.10(react-dom@18.2.0)(react@18.2.0) @@ -858,11 +858,11 @@ importers: version: 4.10.1 devDependencies: '@babel/plugin-transform-react-constant-elements': - specifier: ^7.23.3 - version: 7.23.3(@babel/core@7.24.3) + specifier: ^7.24.1 + version: 7.24.1(@babel/core@7.24.4) '@babel/preset-typescript': - specifier: ^7.23.3 - version: 7.24.1(@babel/core@7.24.3) + specifier: ^7.24.1 + version: 7.24.1(@babel/core@7.24.4) '@mui-internal/test-utils': specifier: workspace:^ version: link:../packages/test-utils @@ -885,8 +885,8 @@ importers: specifier: ^0.2.2 version: 0.2.2 '@types/node': - specifier: ^18.19.28 - version: 18.19.28 + specifier: ^18.19.31 + version: 18.19.31 '@types/prop-types': specifier: ^15.7.12 version: 15.7.12 @@ -924,14 +924,14 @@ importers: specifier: ^5.1.2 version: 5.1.2 playwright: - specifier: ^1.42.1 - version: 1.42.1 + specifier: ^1.43.0 + version: 1.43.0 prettier: specifier: ^3.2.5 version: 3.2.5 tailwindcss: - specifier: ^3.4.1 - version: 3.4.1 + specifier: ^3.4.3 + version: 3.4.3 yargs: specifier: ^17.7.2 version: 17.7.2 @@ -942,25 +942,25 @@ importers: specifier: ^5.0.5 version: 5.0.5 typescript: - specifier: ^5.4.3 - version: 5.4.3 + specifier: ^5.4.4 + version: 5.4.4 packages-internal/scripts: dependencies: '@babel/core': - specifier: ^7.23.9 - version: 7.24.3 + specifier: ^7.24.4 + version: 7.24.4 '@babel/plugin-syntax-class-properties': specifier: ^7.12.13 - version: 7.12.13(@babel/core@7.24.3) + version: 7.12.13(@babel/core@7.24.4) '@babel/plugin-syntax-jsx': - specifier: ^7.23.3 - version: 7.24.1(@babel/core@7.24.3) + specifier: ^7.24.1 + version: 7.24.1(@babel/core@7.24.4) '@babel/plugin-syntax-typescript': - specifier: ^7.23.3 - version: 7.24.1(@babel/core@7.24.3) + specifier: ^7.24.1 + version: 7.24.1(@babel/core@7.24.4) '@babel/types': - specifier: ^7.23.9 + specifier: ^7.24.0 version: 7.24.0 '@mui/internal-docs-utils': specifier: workspace:^ @@ -972,15 +972,15 @@ importers: specifier: ^4.17.21 version: 4.17.21 typescript: - specifier: ^5.4.3 - version: 5.4.3 + specifier: ^5.4.4 + version: 5.4.4 uuid: specifier: ^9.0.1 version: 9.0.1 devDependencies: '@babel/register': specifier: ^7.23.7 - version: 7.23.7(@babel/core@7.24.3) + version: 7.23.7(@babel/core@7.24.4) '@types/babel__core': specifier: ^7.20.5 version: 7.20.5 @@ -994,8 +994,8 @@ importers: specifier: ^4.17.0 version: 4.17.0 '@types/node': - specifier: ^18.19.28 - version: 18.19.28 + specifier: ^18.19.31 + version: 18.19.31 '@types/prettier': specifier: ^2.7.3 version: 2.7.3 @@ -1021,13 +1021,13 @@ importers: packages/api-docs-builder: dependencies: '@babel/core': - specifier: ^7.23.9 - version: 7.24.3 + specifier: ^7.24.4 + version: 7.24.4 '@babel/preset-typescript': - specifier: ^7.23.3 - version: 7.24.1(@babel/core@7.24.3) + specifier: ^7.24.1 + version: 7.24.1(@babel/core@7.24.4) '@babel/traverse': - specifier: ^7.23.9 + specifier: ^7.24.1 version: 7.24.1 '@mui/internal-docs-utils': specifier: workspace:^ @@ -1063,8 +1063,8 @@ importers: specifier: ^13.0.0 version: 13.0.0 typescript: - specifier: ^5.4.3 - version: 5.4.3 + specifier: ^5.4.4 + version: 5.4.4 unist-util-visit: specifier: ^2.0.3 version: 2.0.3 @@ -1088,8 +1088,8 @@ importers: specifier: ^10.0.6 version: 10.0.6 '@types/node': - specifier: ^18.19.28 - version: 18.19.28 + specifier: ^18.19.31 + version: 18.19.31 '@types/react-docgen': specifier: workspace:* version: link:../react-docgen-types @@ -1125,8 +1125,8 @@ importers: specifier: ^10.0.6 version: 10.0.6 '@types/node': - specifier: ^18.19.28 - version: 18.19.28 + specifier: ^18.19.31 + version: 18.19.31 '@types/sinon': specifier: ^10.0.20 version: 10.0.20 @@ -1137,8 +1137,8 @@ importers: specifier: ^15.2.0 version: 15.2.0 typescript: - specifier: ^5.4.3 - version: 5.4.3 + specifier: ^5.4.4 + version: 5.4.4 packages/eslint-plugin-material-ui: dependencies: @@ -1147,11 +1147,11 @@ importers: version: 10.3.0 devDependencies: '@types/eslint': - specifier: ^8.56.6 - version: 8.56.6 + specifier: ^8.56.7 + version: 8.56.7 '@typescript-eslint/parser': - specifier: ^6.19.1 - version: 6.19.1(eslint@8.57.0)(typescript@5.4.3) + specifier: ^6.21.0 + version: 6.21.0(eslint@8.57.0)(typescript@5.4.4) eslint: specifier: ^8.57.0 version: 8.57.0 @@ -1176,8 +1176,8 @@ importers: packages/markdown: dependencies: '@babel/runtime': - specifier: ^7.23.9 - version: 7.24.1 + specifier: ^7.24.4 + version: 7.24.4 lodash: specifier: ^4.17.21 version: 4.17.21 @@ -1198,14 +1198,14 @@ importers: packages/mui-babel-macros: dependencies: '@babel/helper-module-imports': - specifier: ^7.22.15 + specifier: ^7.24.3 version: 7.24.3 '@babel/runtime': - specifier: ^7.23.9 - version: 7.24.1 + specifier: ^7.24.4 + version: 7.24.4 '@mui/utils': specifier: ^5.0.0 - version: link:../mui-utils/build + version: 5.15.14(@types/react@18.2.55)(react@18.2.0) babel-plugin-macros: specifier: ^3.1.0 version: 3.1.0 @@ -1223,11 +1223,11 @@ importers: specifier: ^10.0.6 version: 10.0.6 '@types/node': - specifier: ^18.19.28 - version: 18.19.28 + specifier: ^18.19.31 + version: 18.19.31 babel-plugin-tester: specifier: ^11.0.4 - version: 11.0.4(@babel/core@7.24.3) + version: 11.0.4(@babel/core@7.24.4) chai: specifier: ^4.4.1 version: 4.4.1 @@ -1235,8 +1235,8 @@ importers: packages/mui-base: dependencies: '@babel/runtime': - specifier: ^7.23.9 - version: 7.24.1 + specifier: ^7.24.4 + version: 7.24.4 '@floating-ui/react-dom': specifier: ^2.0.8 version: 2.0.8(react-dom@18.2.0)(react@18.2.0) @@ -1306,17 +1306,17 @@ importers: packages/mui-codemod: dependencies: '@babel/core': - specifier: ^7.23.9 - version: 7.24.3 + specifier: ^7.24.4 + version: 7.24.4 '@babel/runtime': - specifier: ^7.23.9 - version: 7.24.1 + specifier: ^7.24.4 + version: 7.24.4 '@babel/traverse': - specifier: ^7.23.9 + specifier: ^7.24.1 version: 7.24.1 jscodeshift: specifier: ^0.13.1 - version: 0.13.1(@babel/preset-env@7.24.3) + version: 0.13.1(@babel/preset-env@7.24.4) jscodeshift-add-imports: specifier: ^1.0.10 version: 1.0.10(jscodeshift@0.13.1) @@ -1347,14 +1347,14 @@ importers: packages/mui-docs: dependencies: '@babel/runtime': - specifier: ^7.23.9 - version: 7.24.1 + specifier: ^7.24.4 + version: 7.24.4 '@mui/base': specifier: '*' version: link:../mui-base/build '@mui/system': specifier: ^5.0.0 - version: 5.15.14(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@types/react@18.2.55)(react@18.2.0) + version: 5.15.14(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.2.55)(react@18.2.0) clsx: specifier: ^2.1.0 version: 2.1.0 @@ -1372,8 +1372,8 @@ importers: specifier: workspace:* version: link:../mui-material/build '@types/node': - specifier: ^18.19.28 - version: 18.19.28 + specifier: ^18.19.31 + version: 18.19.31 '@types/prop-types': specifier: ^15.7.12 version: 15.7.12 @@ -1382,7 +1382,7 @@ importers: version: 18.2.55 next: specifier: ^13.5.1 - version: 13.5.1(@babel/core@7.24.3)(babel-plugin-macros@3.1.0)(react-dom@18.2.0)(react@18.2.0) + version: 13.5.1(@babel/core@7.24.4)(babel-plugin-macros@3.1.0)(react-dom@18.2.0)(react@18.2.0) react: specifier: ^18.2.0 version: 18.2.0 @@ -1410,17 +1410,17 @@ importers: specifier: ^11.11.4 version: 11.11.4(@types/react@18.2.55)(react@18.2.0) '@emotion/styled': - specifier: ^11.11.0 - version: 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) + specifier: ^11.11.5 + version: 11.11.5(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) '@mui/base': specifier: 5.0.0-beta.30 version: 5.0.0-beta.30(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) '@mui/joy': specifier: 5.0.0-beta.22 - version: 5.0.0-beta.22(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + version: 5.0.0-beta.22(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) '@mui/material': specifier: 5.15.4 - version: 5.15.4(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + version: 5.15.4(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) react: specifier: ^18.2.0 version: 18.2.0 @@ -1435,8 +1435,8 @@ importers: packages/mui-icons-material: dependencies: '@babel/runtime': - specifier: ^7.23.9 - version: 7.24.1 + specifier: ^7.24.4 + version: 7.24.4 devDependencies: '@mui/icons-material': specifier: workspace:* @@ -1494,14 +1494,14 @@ importers: packages/mui-joy: dependencies: '@babel/runtime': - specifier: ^7.23.9 - version: 7.24.1 + specifier: ^7.24.4 + version: 7.24.4 '@emotion/react': specifier: ^11.5.0 version: 11.11.4(@types/react@18.2.55)(react@18.2.0) '@emotion/styled': specifier: ^11.3.0 - version: 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) + version: 11.11.5(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) '@mui/base': specifier: workspace:* version: link:../mui-base/build @@ -1556,7 +1556,7 @@ importers: version: 4.17.21 next: specifier: ^13.4.19 - version: 13.5.1(@babel/core@7.24.3)(babel-plugin-macros@3.1.0)(react-dom@18.2.0)(react@18.2.0) + version: 13.5.1(@babel/core@7.24.4)(babel-plugin-macros@3.1.0)(react-dom@18.2.0)(react@18.2.0) react: specifier: ^18.2.0 version: 18.2.0 @@ -1571,14 +1571,14 @@ importers: packages/mui-lab: dependencies: '@babel/runtime': - specifier: ^7.23.9 - version: 7.24.1 + specifier: ^7.24.4 + version: 7.24.4 '@emotion/react': specifier: ^11.5.0 version: 11.11.4(@types/react@18.2.55)(react@18.2.0) '@emotion/styled': specifier: ^11.3.0 - version: 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) + version: 11.11.5(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) '@mui/base': specifier: workspace:* version: link:../mui-base/build @@ -1636,14 +1636,14 @@ importers: packages/mui-material: dependencies: '@babel/runtime': - specifier: ^7.23.9 - version: 7.24.1 + specifier: ^7.24.4 + version: 7.24.4 '@emotion/react': specifier: ^11.5.0 version: 11.11.4(@types/react@18.2.55)(react@18.2.0) '@emotion/styled': specifier: ^11.3.0 - version: 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) + version: 11.11.5(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) '@mui/base': specifier: workspace:* version: link:../mui-base/build @@ -1730,8 +1730,8 @@ importers: specifier: ^4.17.21 version: 4.17.21 playwright: - specifier: ^1.42.1 - version: 1.42.1 + specifier: ^1.43.0 + version: 1.43.0 react: specifier: ^18.2.0 version: 18.2.0 @@ -1739,14 +1739,14 @@ importers: specifier: ^18.2.0 version: 18.2.0(react@18.2.0) react-router-dom: - specifier: ^6.21.3 - version: 6.22.1(react-dom@18.2.0)(react@18.2.0) + specifier: ^6.22.3 + version: 6.22.3(react-dom@18.2.0)(react@18.2.0) rollup: specifier: ^3.29.4 version: 3.29.4 rollup-plugin-babel: specifier: ^4.4.0 - version: 4.4.0(@babel/core@7.24.3)(rollup@3.29.4) + version: 4.4.0(@babel/core@7.24.4)(rollup@3.29.4) rollup-plugin-commonjs: specifier: ^10.1.0 version: 10.1.0(rollup@3.29.4) @@ -1767,8 +1767,8 @@ importers: packages/mui-material-nextjs: dependencies: '@babel/runtime': - specifier: ^7.23.9 - version: 7.24.1 + specifier: ^7.24.4 + version: 7.24.4 '@mui/material': specifier: workspace:^ version: link:../mui-material/build @@ -1787,7 +1787,7 @@ importers: version: 18.2.55 next: specifier: 13.5.1 - version: 13.5.1(@babel/core@7.24.3)(babel-plugin-macros@3.1.0)(react-dom@18.2.0)(react@18.2.0) + version: 13.5.1(@babel/core@7.24.4)(babel-plugin-macros@3.1.0)(react-dom@18.2.0)(react@18.2.0) react: specifier: ^18.2.0 version: 18.2.0 @@ -1796,8 +1796,8 @@ importers: packages/mui-private-theming: dependencies: '@babel/runtime': - specifier: ^7.23.9 - version: 7.24.1 + specifier: ^7.24.4 + version: 7.24.4 '@mui/utils': specifier: workspace:^ version: link:../mui-utils/build @@ -1828,8 +1828,8 @@ importers: packages/mui-styled-engine: dependencies: '@babel/runtime': - specifier: ^7.23.9 - version: 7.24.1 + specifier: ^7.24.4 + version: 7.24.4 '@emotion/cache': specifier: ^11.11.0 version: 11.11.0 @@ -1844,8 +1844,8 @@ importers: specifier: ^11.11.4 version: 11.11.4(@types/react@18.2.55)(react@18.2.0) '@emotion/styled': - specifier: ^11.11.0 - version: 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) + specifier: ^11.11.5 + version: 11.11.5(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) '@mui-internal/test-utils': specifier: workspace:^ version: link:../test-utils @@ -1869,8 +1869,8 @@ importers: packages/mui-styled-engine-sc: dependencies: '@babel/runtime': - specifier: ^7.23.9 - version: 7.24.1 + specifier: ^7.24.4 + version: 7.24.4 csstype: specifier: ^3.1.3 version: 3.1.3 @@ -1910,8 +1910,8 @@ importers: packages/mui-styles: dependencies: '@babel/runtime': - specifier: ^7.23.9 - version: 7.24.1 + specifier: ^7.24.4 + version: 7.24.4 '@emotion/hash': specifier: ^0.9.1 version: 0.9.1 @@ -1996,8 +1996,8 @@ importers: packages/mui-system: dependencies: '@babel/runtime': - specifier: ^7.23.9 - version: 7.24.1 + specifier: ^7.24.4 + version: 7.24.4 '@mui/private-theming': specifier: workspace:^ version: link:../mui-private-theming/build @@ -2024,8 +2024,8 @@ importers: specifier: ^11.11.4 version: 11.11.4(@types/react@18.2.55)(react@18.2.0) '@emotion/styled': - specifier: ^11.11.0 - version: 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) + specifier: ^11.11.5 + version: 11.11.5(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) '@mui-internal/test-utils': specifier: workspace:^ version: link:../test-utils @@ -2080,8 +2080,8 @@ importers: packages/mui-utils: dependencies: '@babel/runtime': - specifier: ^7.23.9 - version: 7.24.1 + specifier: ^7.24.4 + version: 7.24.4 '@types/prop-types': specifier: ^15.7.12 version: 15.7.12 @@ -2108,8 +2108,8 @@ importers: specifier: ^10.0.6 version: 10.0.6 '@types/node': - specifier: ^18.19.28 - version: 18.19.28 + specifier: ^18.19.31 + version: 18.19.31 '@types/react': specifier: 18.2.55 version: 18.2.55 @@ -2150,24 +2150,24 @@ importers: devDependencies: next: specifier: ^13.5.1 - version: 13.5.1(@babel/core@7.24.3)(babel-plugin-macros@3.1.0)(react-dom@18.2.0)(react@18.2.0) + version: 13.5.1(@babel/core@7.24.4)(babel-plugin-macros@3.1.0)(react-dom@18.2.0)(react@18.2.0) packages/pigment-css-react: dependencies: '@babel/core': - specifier: ^7.23.9 - version: 7.24.3 + specifier: ^7.24.4 + version: 7.24.4 '@babel/helper-module-imports': - specifier: ^7.22.15 + specifier: ^7.24.3 version: 7.24.3 '@babel/helper-plugin-utils': - specifier: ^7.22.5 + specifier: ^7.24.0 version: 7.24.0 '@babel/parser': - specifier: ^7.23.9 - version: 7.24.1 + specifier: ^7.24.4 + version: 7.24.4 '@babel/types': - specifier: ^7.23.9 + specifier: ^7.24.0 version: 7.24.0 '@emotion/css': specifier: ^11.11.2 @@ -2179,11 +2179,11 @@ importers: specifier: ^11.11.4 version: 11.11.4(@types/react@18.2.55)(react@18.2.0) '@emotion/serialize': - specifier: ^1.1.3 - version: 1.1.3 + specifier: ^1.1.4 + version: 1.1.4 '@emotion/styled': - specifier: ^11.11.0 - version: 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) + specifier: ^11.11.5 + version: 11.11.5(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) '@mui/system': specifier: workspace:^ version: link:../mui-system/build @@ -2216,8 +2216,8 @@ importers: version: 2.1.1(stylis@4.3.1) devDependencies: '@babel/plugin-syntax-jsx': - specifier: ^7.23.3 - version: 7.24.1(@babel/core@7.24.3) + specifier: ^7.24.1 + version: 7.24.1(@babel/core@7.24.4) '@types/babel__core': specifier: ^7.20.5 version: 7.20.5 @@ -2240,8 +2240,8 @@ importers: specifier: ^10.0.6 version: 10.0.6 '@types/node': - specifier: ^18.19.28 - version: 18.19.28 + specifier: ^18.19.31 + version: 18.19.31 '@types/react': specifier: 18.2.55 version: 18.2.55 @@ -2264,8 +2264,8 @@ importers: packages/pigment-css-unplugin: dependencies: '@babel/core': - specifier: ^7.23.9 - version: 7.24.3 + specifier: ^7.24.4 + version: 7.24.4 '@pigment-css/react': specifier: workspace:^ version: link:../pigment-css-react @@ -2285,15 +2285,24 @@ importers: '@types/babel__core': specifier: ^7.20.5 version: 7.20.5 + '@types/chai': + specifier: ^4.3.14 + version: 4.3.14 + '@types/mocha': + specifier: ^10.0.6 + version: 10.0.6 + chai: + specifier: ^4.4.1 + version: 4.4.1 packages/pigment-css-vite-plugin: dependencies: '@babel/core': - specifier: ^7.23.9 - version: 7.24.3 + specifier: ^7.24.4 + version: 7.24.4 '@babel/preset-typescript': - specifier: ^7.23.3 - version: 7.24.1(@babel/core@7.24.3) + specifier: ^7.24.1 + version: 7.24.1(@babel/core@7.24.4) '@pigment-css/react': specifier: workspace:^ version: link:../pigment-css-react @@ -2311,8 +2320,8 @@ importers: specifier: ^7.20.5 version: 7.20.5 vite: - specifier: ^5.0.12 - version: 5.2.2(@types/node@18.19.28) + specifier: ^5.2.8 + version: 5.2.8(@types/node@18.19.31) packages/react-docgen-types: devDependencies: @@ -2333,23 +2342,23 @@ importers: specifier: ^10.0.6 version: 10.0.6 '@types/node': - specifier: ^18.19.28 - version: 18.19.28 + specifier: ^18.19.31 + version: 18.19.31 packages/test-utils: dependencies: '@babel/plugin-transform-modules-commonjs': - specifier: ^7.23.3 - version: 7.24.1(@babel/core@7.24.3) + specifier: ^7.24.1 + version: 7.24.1(@babel/core@7.24.4) '@babel/preset-typescript': - specifier: ^7.23.3 - version: 7.24.1(@babel/core@7.24.3) + specifier: ^7.24.1 + version: 7.24.1(@babel/core@7.24.4) '@babel/register': specifier: ^7.23.7 - version: 7.23.7(@babel/core@7.24.3) + version: 7.23.7(@babel/core@7.24.4) '@babel/runtime': - specifier: ^7.23.9 - version: 7.24.1 + specifier: ^7.24.4 + version: 7.24.4 '@emotion/cache': specifier: ^11.11.0 version: 11.11.0 @@ -2390,11 +2399,11 @@ importers: specifier: ^4.17.21 version: 4.17.21 mocha: - specifier: ^10.3.0 - version: 10.3.0 + specifier: ^10.4.0 + version: 10.4.0 playwright: - specifier: ^1.42.1 - version: 1.42.1 + specifier: ^1.43.0 + version: 1.43.0 prop-types: specifier: ^15.8.1 version: 15.8.1 @@ -2439,16 +2448,16 @@ importers: specifier: ^10.0.20 version: 10.0.20 typescript: - specifier: ^5.4.3 - version: 5.4.3 + specifier: ^5.4.4 + version: 5.4.4 packages/waterfall: {} test: devDependencies: '@babel/runtime': - specifier: ^7.23.9 - version: 7.24.1 + specifier: ^7.24.4 + version: 7.24.4 '@emotion/cache': specifier: ^11.11.0 version: 11.11.0 @@ -2480,8 +2489,8 @@ importers: specifier: workspace:^ version: link:../packages/mui-utils/build '@playwright/test': - specifier: 1.42.1 - version: 1.42.1 + specifier: 1.43.0 + version: 1.43.0 '@testing-library/dom': specifier: ^9.3.4 version: 9.3.4 @@ -2516,8 +2525,8 @@ importers: specifier: ^4.17.21 version: 4.17.21 playwright: - specifier: ^1.42.1 - version: 1.42.1 + specifier: ^1.43.0 + version: 1.43.0 prop-types: specifier: ^15.8.1 version: 15.8.1 @@ -2531,8 +2540,8 @@ importers: specifier: ^18.2.0 version: 18.2.0 react-router-dom: - specifier: ^6.21.3 - version: 6.22.1(react-dom@18.2.0)(react@18.2.0) + specifier: ^6.22.3 + version: 6.22.3(react-dom@18.2.0)(react@18.2.0) sinon: specifier: ^15.2.0 version: 15.2.0 @@ -2766,14 +2775,14 @@ packages: engines: {node: '>=16.0.0'} dev: true - /@babel/cli@7.23.9(@babel/core@7.24.3): - resolution: {integrity: sha512-vB1UXmGDNEhcf1jNAHKT9IlYk1R+hehVTLFlCLHBi8gfuHQGP6uRjgXVYU0EVlI/qwAWpstqkBdf2aez3/z/5Q==} + /@babel/cli@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-HbmrtxyFUr34LwAlV9jS+sSIjUp4FpdtIMGwgufY3AsxrIfsh/HxlMTywsONAZsU0RMYbZtbZFpUCrSGs7o0EA==} engines: {node: '>=6.9.0'} hasBin: true peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@jridgewell/trace-mapping': 0.3.25 commander: 4.1.1 convert-source-map: 2.0.0 @@ -2793,21 +2802,21 @@ packages: '@babel/highlight': 7.24.2 picocolors: 1.0.0 - /@babel/compat-data@7.24.1: - resolution: {integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==} + /@babel/compat-data@7.24.4: + resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} engines: {node: '>=6.9.0'} - /@babel/core@7.24.3: - resolution: {integrity: sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==} + /@babel/core@7.24.4: + resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.24.2 - '@babel/generator': 7.24.1 + '@babel/generator': 7.24.4 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) - '@babel/helpers': 7.24.1 - '@babel/parser': 7.24.1 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) + '@babel/helpers': 7.24.4 + '@babel/parser': 7.24.4 '@babel/template': 7.24.0 '@babel/traverse': 7.24.1 '@babel/types': 7.24.0 @@ -2819,8 +2828,8 @@ packages: transitivePeerDependencies: - supports-color - /@babel/generator@7.24.1: - resolution: {integrity: sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==} + /@babel/generator@7.24.4: + resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 @@ -2844,46 +2853,46 @@ packages: resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/compat-data': 7.24.1 + '@babel/compat-data': 7.24.4 '@babel/helper-validator-option': 7.23.5 browserslist: 4.23.0 lru-cache: 5.1.1 semver: 6.3.1 - /@babel/helper-create-class-features-plugin@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==} + /@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.24.4): + resolution: {integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 - /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.3): + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.4): resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 semver: 6.3.1 - /@babel/helper-define-polyfill-provider@0.6.1(@babel/core@7.24.3): + /@babel/helper-define-polyfill-provider@0.6.1(@babel/core@7.24.4): resolution: {integrity: sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.0 debug: 4.3.4(supports-color@8.1.1) @@ -2921,13 +2930,13 @@ packages: dependencies: '@babel/types': 7.24.0 - /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.3): + /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4): resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-module-imports': 7.24.3 '@babel/helper-simple-access': 7.22.5 @@ -2944,24 +2953,24 @@ packages: resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} engines: {node: '>=6.9.0'} - /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.3): + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.4): resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-wrap-function': 7.22.20 - /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.3): + /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 @@ -3004,8 +3013,8 @@ packages: '@babel/template': 7.24.0 '@babel/types': 7.24.0 - /@babel/helpers@7.24.1: - resolution: {integrity: sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==} + /@babel/helpers@7.24.4: + resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.24.0 @@ -3023,15 +3032,15 @@ packages: js-tokens: 4.0.0 picocolors: 1.0.0 - /@babel/node@7.23.9(@babel/core@7.24.3): + /@babel/node@7.23.9(@babel/core@7.24.4): resolution: {integrity: sha512-/d4ju/POwlGIJlZ+NqWH1qu61wt6ZlTZZZutrK2MOSdaH1JCh726nLw/GSvAjG+LTY6CO9SsB8uWcttnFKm6yg==} engines: {node: '>=6.9.0'} hasBin: true peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 - '@babel/register': 7.23.7(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/register': 7.23.7(@babel/core@7.24.4) commander: 4.1.1 core-js: 3.32.1 node-environment-flags: 1.0.6 @@ -3039,1105 +3048,1116 @@ packages: v8flags: 3.2.0 dev: true - /@babel/parser@7.24.1: - resolution: {integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==} + /@babel/parser@7.24.4: + resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.24.0 - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.3): + /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.4(@babel/core@7.24.4): + resolution: {integrity: sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.24.4 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.24.0 + + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.3): + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.4) - /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.3): + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.24.3): + /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.24.4): resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead. peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.3) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.3) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.4) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4) dev: false - /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.24.3): + /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.24.4): resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-proposal-export-default-from@7.24.1(@babel/core@7.24.3): + /@babel/plugin-proposal-export-default-from@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-+0hrgGGV3xyYIjOrD/bUZk/iUwOIGuoANfRfVg1cPhYBxF+TIXSEcc42DqzBICmWsnAQ+SfKedY0bj8QD+LuMg==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-export-default-from': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-syntax-export-default-from': 7.24.1(@babel/core@7.24.4) dev: false - /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.24.3): + /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.24.4): resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead. peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4) dev: false - /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.24.3): + /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.24.4): resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead. peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.3) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.4) dev: false - /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.24.3): + /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.24.4): resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/compat-data': 7.24.1 - '@babel/core': 7.24.3 + '@babel/compat-data': 7.24.4 + '@babel/core': 7.24.4 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.4) - /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.24.3): + /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.24.4): resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead. peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4) dev: false - /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.24.3): + /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.24.4): resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead. peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4) dev: false - /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.24.3): + /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.24.4): resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead. peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.3): + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.4): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 - /@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.24.3): + /@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.24.4): resolution: {integrity: sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead. peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.3) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.4) dev: true - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.3): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.4): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.3): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.4): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.3): + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.4): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.3): + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-syntax-export-default-from@7.24.1(@babel/core@7.24.3): + /@babel/plugin-syntax-export-default-from@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-cNXSxv9eTkGUtd0PsNMK8Yx5xeScxfpWOUAxE+ZPAXXEcAMOC3fk7LRdXq5fvpra2pLx2p1YtkAhpUbB2SwaRA==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.3): + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-syntax-flow@7.24.1(@babel/core@7.24.3): + /@babel/plugin-syntax-flow@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-sxi2kLTI5DeW5vDtMUsk4mTPwvlUDbjOnoWayhynCwrw4QXRld4QEYwqzY8JmQXaJUtgUuCIurtSRH5sn4c7mA==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.3): + /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.3): + /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.3): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.4): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.3): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.3): + /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.3): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.4): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.3): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.3): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.4): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.3): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.3): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.3): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.3): + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.4): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.3): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.4): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.3): + /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.3): + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.4): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.3): + /@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.4): resolution: {integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.3) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.3) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.4) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4) - /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-module-imports': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.3) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.4) - /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-transform-block-scoping@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-h71T2QQvDgM2SmT29UYU6ozjMlAt7s7CSs5Hvy8f8cf/GM/Z4a2zMfN+fjVGaieeCrXR3EdQl6C4gQG+OgmbKw==} + /@babel/plugin-transform-block-scoping@7.24.4(@babel/core@7.24.4): + resolution: {integrity: sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-transform-class-static-block@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-FUHlKCn6J3ERiu8Dv+4eoz7w8+kFLSyeVG4vDAikwADGjUCoHw/JHokyGtr8OR4UjpwPVivyF+h8Q5iv/JmrtA==} + /@babel/plugin-transform-class-static-block@7.24.4(@babel/core@7.24.4): + resolution: {integrity: sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.3) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.4) - /@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 - /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/template': 7.24.0 - /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.4) - /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.4) - /@babel/plugin-transform-flow-strip-types@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-flow-strip-types@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-iIYPIWt3dUmUKKE10s3W+jsQ3icFkw0JyRVyY1B7G4yK/nngAOHLVx8xlhA6b/Jzl/Y0nis8gjqhqKtRDQqHWQ==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.24.4) dev: false - /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.4) - /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.3) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.4) - /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-simple-access': 7.22.5 - /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-identifier': 7.22.20 - /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.3): + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.4): resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4) - /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.3) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.4) - /@babel/plugin-transform-object-assign@7.23.3(@babel/core@7.24.3): - resolution: {integrity: sha512-TPJ6O7gVC2rlQH2hvQGRH273G1xdoloCj9Pc07Q7JbIZYDi+Sv5gaE2fu+r5E7qK4zyt6vj0FbZaZTRU5C3OMA==} + /@babel/plugin-transform-object-assign@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-I1kctor9iKtupb7jv7FyjApHCuKLBKCblVAeHVK9PB6FW7GI0ac6RtobC3MwwJy8CZ1JxuhQmnbrsqI5G8hAIg==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.4) - /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) - /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4) - /@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4) - /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.3) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.4) - /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-transform-react-constant-elements@7.23.3(@babel/core@7.24.3): - resolution: {integrity: sha512-zP0QKq/p6O42OL94udMgSfKXyse4RyJ0JqbQ34zDAONWjyrEsghYEyTSK5FIpmXmCpB55SHokL1cRRKHv8L2Qw==} + /@babel/plugin-transform-react-constant-elements@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-QXp1U9x0R7tkiGB0FOk8o74jhnap0FlZ5gNkRIWdG3eP+SvMFg118e1zaWewDzgABb106QSKpVsD3Wgd8t6ifA==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-react-display-name@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-react-display-name@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.24.3): + /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.24.4): resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.4) dev: true - /@babel/plugin-transform-react-jsx-self@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-react-jsx-self@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-kDJgnPujTmAZ/9q2CN4m2/lRsUUPDvsG3+tSHWUJIzMGTt5U/b/fwWd3RO3n+5mjLrsBrVa5eKFRVSQbi3dF1w==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-transform-react-jsx-source@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-react-jsx-source@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-1v202n7aUq4uXAieRTKcwPzNyphlCuqHHDcdSNc+vdhoTEZcFMh+L5yZuCmGaIO7bs1nJUNfHB89TZyoL48xNA==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.3): + /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.4): resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-module-imports': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4) '@babel/types': 7.24.0 - /@babel/plugin-transform-react-pure-annotations@7.23.3(@babel/core@7.24.3): - resolution: {integrity: sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==} + /@babel/plugin-transform-react-pure-annotations@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-+pWEAaDJvSm9aFvJNpLiM2+ktl2Sn2U5DdyiWdZBxmLc6+xGt88dvFqsHiAiDS+8WqUwbDfkKz9jRxK3M0k+kA==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 regenerator-transform: 0.15.2 - /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-transform-runtime@7.24.3(@babel/core@7.24.3): + /@babel/plugin-transform-runtime@7.24.3(@babel/core@7.24.4): resolution: {integrity: sha512-J0BuRPNlNqlMTRJ72eVptpt9VcInbxO6iP3jaxr+1NPhC0UkKL+6oeX6VXMEYdADnuqmMmsBspt4d5w8Y/TCbQ==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-module-imports': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - babel-plugin-polyfill-corejs2: 0.4.10(@babel/core@7.24.3) - babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.3) - babel-plugin-polyfill-regenerator: 0.6.1(@babel/core@7.24.3) + babel-plugin-polyfill-corejs2: 0.4.10(@babel/core@7.24.4) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.4) + babel-plugin-polyfill-regenerator: 0.6.1(@babel/core@7.24.4) semver: 6.3.1 transitivePeerDependencies: - supports-color - /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-transform-typeof-symbol@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-typeof-symbol@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-transform-typescript@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-typescript@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-liYSESjX2fZ7JyBFkYG78nfvHlMKE6IpNdTVnxmlYUR+j5ZLsitFbaAE+eJSK2zPPkNWNw4mXL51rQ8WrvdK0w==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.4) - /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - /@babel/preset-env@7.24.3(@babel/core@7.24.3): - resolution: {integrity: sha512-fSk430k5c2ff8536JcPvPWK4tZDwehWLGlBp0wrsBUjZVdeQV6lePbwKWZaZfK2vnh/1kQX1PzAJWsnBmVgGJA==} + /@babel/preset-env@7.24.4(@babel/core@7.24.4): + resolution: {integrity: sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/compat-data': 7.24.1 - '@babel/core': 7.24.3 + '@babel/compat-data': 7.24.4 + '@babel/core': 7.24.4 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.3) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.3) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.3) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.3) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.3) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.3) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.3) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.3) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.3) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.3) - '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.3) - '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-block-scoping': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-class-static-block': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-classes': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-destructuring': /@minh.nguyen/plugin-transform-destructuring@7.5.2(@babel/core@7.24.3) - '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.3) - '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-object-rest-spread': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-private-property-in-object': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-typeof-symbol': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.3) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.3) - babel-plugin-polyfill-corejs2: 0.4.10(@babel/core@7.24.3) - babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.3) - babel-plugin-polyfill-regenerator: 0.6.1(@babel/core@7.24.3) + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.4(@babel/core@7.24.4) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.4) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.4) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.4) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.4) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.4) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.4) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.4) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.4) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.4) + '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.4) + '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-block-scoping': 7.24.4(@babel/core@7.24.4) + '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-class-static-block': 7.24.4(@babel/core@7.24.4) + '@babel/plugin-transform-classes': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-destructuring': /@minh.nguyen/plugin-transform-destructuring@7.5.2(@babel/core@7.24.4) + '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.4) + '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-object-rest-spread': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-private-property-in-object': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-typeof-symbol': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.4) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.4) + babel-plugin-polyfill-corejs2: 0.4.10(@babel/core@7.24.4) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.4) + babel-plugin-polyfill-regenerator: 0.6.1(@babel/core@7.24.4) core-js-compat: 3.36.1 semver: 6.3.1 transitivePeerDependencies: - supports-color - /@babel/preset-flow@7.24.1(@babel/core@7.24.3): + /@babel/preset-flow@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-sWCV2G9pcqZf+JHyv/RyqEIpFypxdCSxWIxQjpdaQxenNog7cN1pr76hg8u0Fz8Qgg0H4ETkGcJnXL8d4j0PPA==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-transform-flow-strip-types': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-flow-strip-types': 7.24.1(@babel/core@7.24.4) dev: false - /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.3): + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.4): resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/types': 7.24.0 esutils: 2.0.3 - /@babel/preset-react@7.23.3(@babel/core@7.24.3): - resolution: {integrity: sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==} + /@babel/preset-react@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-eFa8up2/8cZXLIpkafhaADTXSnl7IsUFCYenRWrARBz0/qZwcT0RBXpys0LJU4+WfPoF2ZG6ew6s2V6izMCwRA==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-transform-react-display-name': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.3) - '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.24.3) - '@babel/plugin-transform-react-pure-annotations': 7.23.3(@babel/core@7.24.3) + '@babel/plugin-transform-react-display-name': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.4) + '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.24.4) + '@babel/plugin-transform-react-pure-annotations': 7.24.1(@babel/core@7.24.4) dev: true - /@babel/preset-typescript@7.24.1(@babel/core@7.24.3): + /@babel/preset-typescript@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.4) - /@babel/register@7.23.7(@babel/core@7.24.3): + /@babel/register@7.23.7(@babel/core@7.24.4): resolution: {integrity: sha512-EjJeB6+kvpk+Y5DAkEAmbOBEFkh9OASx0huoEkqYTFxAZHzOAX2Oh5uwAUuL2rUddqfM0SA+KPXV2TbzoZ2kvQ==} engines: {node: '>=6.9.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 clone-deep: 4.0.1 find-cache-dir: 2.1.0 make-dir: 2.1.0 @@ -4147,8 +4167,8 @@ packages: /@babel/regjsgen@0.8.0: resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} - /@babel/runtime-corejs2@7.23.9: - resolution: {integrity: sha512-lwwDy5QfMkO2rmSz9AvLj6j2kWt5a4ulMi1t21vWQEO0kNCFslHoszat8reU/uigIQSUDF31zraZG/qMkcqAlw==} + /@babel/runtime-corejs2@7.24.4: + resolution: {integrity: sha512-ZCKqyUKt/Coimg+3Kafu43yNetgYnTXzNbEGAgxc81J5sI0qFNbQ613w7PNny+SmijAmGVroL0GDvx5rG/JI5Q==} engines: {node: '>=6.9.0'} dependencies: core-js: 2.6.12 @@ -4163,8 +4183,8 @@ packages: regenerator-runtime: 0.14.0 dev: false - /@babel/runtime@7.24.1: - resolution: {integrity: sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==} + /@babel/runtime@7.24.4: + resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.0 @@ -4174,7 +4194,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.2 - '@babel/parser': 7.24.1 + '@babel/parser': 7.24.4 '@babel/types': 7.24.0 /@babel/traverse@7.24.1: @@ -4182,12 +4202,12 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.2 - '@babel/generator': 7.24.1 + '@babel/generator': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.24.1 + '@babel/parser': 7.24.4 '@babel/types': 7.24.0 debug: 4.3.4(supports-color@8.1.1) globals: 11.12.0 @@ -4252,7 +4272,7 @@ packages: lodash.mergewith: 4.6.2 dev: false - /@chakra-ui/system@2.6.2(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(react@18.2.0): + /@chakra-ui/system@2.6.2(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(react@18.2.0): resolution: {integrity: sha512-EGtpoEjLrUu4W1fHD+a62XR+hzC5YfsWm+6lO0Kybcga3yYEij9beegO0jZgug27V+Rf7vns95VPVP6mFd/DEQ==} peerDependencies: '@emotion/react': ^11.0.0 @@ -4266,7 +4286,7 @@ packages: '@chakra-ui/theme-utils': 2.0.21 '@chakra-ui/utils': 2.0.15 '@emotion/react': 11.11.4(@types/react@18.2.55)(react@18.2.0) - '@emotion/styled': 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) + '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) react: 18.2.0 react-fast-compare: 3.2.2 dev: false @@ -4391,10 +4411,10 @@ packages: resolution: {integrity: sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==} dependencies: '@babel/helper-module-imports': 7.24.3 - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 '@emotion/hash': 0.9.1 '@emotion/memoize': 0.8.1 - '@emotion/serialize': 1.1.3 + '@emotion/serialize': 1.1.4 babel-plugin-macros: 3.1.0 convert-source-map: 1.8.0 escape-string-regexp: 4.0.0 @@ -4416,7 +4436,7 @@ packages: dependencies: '@emotion/babel-plugin': 11.11.0 '@emotion/cache': 11.11.0 - '@emotion/serialize': 1.1.3 + '@emotion/serialize': 1.1.4 '@emotion/sheet': 1.2.2 '@emotion/utils': 1.2.1 dev: false @@ -4470,10 +4490,10 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 '@emotion/babel-plugin': 11.11.0 '@emotion/cache': 11.11.0 - '@emotion/serialize': 1.1.3 + '@emotion/serialize': 1.1.4 '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0) '@emotion/utils': 1.2.1 '@emotion/weak-memoize': 0.3.1 @@ -4481,8 +4501,8 @@ packages: hoist-non-react-statics: 3.3.2 react: 18.2.0 - /@emotion/serialize@1.1.3: - resolution: {integrity: sha512-iD4D6QVZFDhcbH0RAG1uVu1CwVLMWUkCvAqqlewO/rxf8+87yIBAlt4+AxMiiKPLs5hFc0owNk/sLLAOROw3cA==} + /@emotion/serialize@1.1.4: + resolution: {integrity: sha512-RIN04MBT8g+FnDwgvIUi8czvr1LU1alUMI05LekWB5DGyTm8cCBMCRpq3GqaiyEDRptEXOyXnvZ58GZYu4kBxQ==} dependencies: '@emotion/hash': 0.9.1 '@emotion/memoize': 0.8.1 @@ -4506,8 +4526,8 @@ packages: /@emotion/sheet@1.2.2: resolution: {integrity: sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==} - /@emotion/styled@11.11.0(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0): - resolution: {integrity: sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng==} + /@emotion/styled@11.11.5(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0): + resolution: {integrity: sha512-/ZjjnaNKvuMPxcIiUkf/9SHoG4Q196DRl1w82hQ3WCsjo1IUR8uaGWrC6a87CrYAW0Kb/pK7hk8BnLgLRi9KoQ==} peerDependencies: '@emotion/react': ^11.0.0-rc.0 '@types/react': '*' @@ -4516,11 +4536,11 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 '@emotion/babel-plugin': 11.11.0 '@emotion/is-prop-valid': 1.2.2 '@emotion/react': 11.11.4(@types/react@18.2.55)(react@18.2.0) - '@emotion/serialize': 1.1.3 + '@emotion/serialize': 1.1.4 '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0) '@emotion/utils': 1.2.1 '@types/react': 18.2.55 @@ -4976,7 +4996,7 @@ packages: /@fast-csv/format@4.3.5: resolution: {integrity: sha512-8iRn6QF3I8Ak78lNAa+Gdl5MJJBM5vRHivFtMRUWINdevNo00K7OXxS2PshawLKTejVwieIlPmK5YlLu6w4u8A==} dependencies: - '@types/node': 18.19.28 + '@types/node': 18.19.31 lodash.escaperegexp: 4.1.2 lodash.isboolean: 3.0.3 lodash.isequal: 4.5.0 @@ -4987,7 +5007,7 @@ packages: /@fast-csv/parse@4.3.6: resolution: {integrity: sha512-uRsLYksqpbDmWaSmzvJcuApSEe38+6NQZBUsuAyMZKqHxH0g1wcJgsKUvN3WC8tewaqFjBMMGrkHmC+T7k8LvA==} dependencies: - '@types/node': 18.19.28 + '@types/node': 18.19.31 lodash.escaperegexp: 4.1.2 lodash.groupby: 4.6.0 lodash.isfunction: 3.0.9 @@ -5024,35 +5044,35 @@ packages: resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==} dev: false - /@fortawesome/fontawesome-common-types@6.5.1: - resolution: {integrity: sha512-GkWzv+L6d2bI5f/Vk6ikJ9xtl7dfXtoRu3YGE6nq0p/FFqA1ebMOAWg3XgRyb0I6LYyYkiAo+3/KrwuBp8xG7A==} + /@fortawesome/fontawesome-common-types@6.5.2: + resolution: {integrity: sha512-gBxPg3aVO6J0kpfHNILc+NMhXnqHumFxOmjYCFfOiLZfwhnnfhtsdA2hfJlDnj+8PjAs6kKQPenOTKj3Rf7zHw==} engines: {node: '>=6'} requiresBuild: true dev: false - /@fortawesome/fontawesome-svg-core@6.5.1: - resolution: {integrity: sha512-MfRCYlQPXoLlpem+egxjfkEuP9UQswTrlCOsknus/NcMoblTH2g0jPrapbcIb04KGA7E2GZxbAccGZfWoYgsrQ==} + /@fortawesome/fontawesome-svg-core@6.5.2: + resolution: {integrity: sha512-5CdaCBGl8Rh9ohNdxeeTMxIj8oc3KNBgIeLMvJosBMdslK/UnEB8rzyDRrbKdL1kDweqBPo4GT9wvnakHWucZw==} engines: {node: '>=6'} requiresBuild: true dependencies: - '@fortawesome/fontawesome-common-types': 6.5.1 + '@fortawesome/fontawesome-common-types': 6.5.2 dev: false - /@fortawesome/free-solid-svg-icons@6.5.1: - resolution: {integrity: sha512-S1PPfU3mIJa59biTtXJz1oI0+KAXW6bkAb31XKhxdxtuXDiUIFsih4JR1v5BbxY7hVHsD1RKq+jRkVRaf773NQ==} + /@fortawesome/free-solid-svg-icons@6.5.2: + resolution: {integrity: sha512-QWFZYXFE7O1Gr1dTIp+D6UcFUF0qElOnZptpi7PBUMylJh+vFmIedVe1Ir6RM1t2tEQLLSV1k7bR4o92M+uqlw==} engines: {node: '>=6'} requiresBuild: true dependencies: - '@fortawesome/fontawesome-common-types': 6.5.1 + '@fortawesome/fontawesome-common-types': 6.5.2 dev: false - /@fortawesome/react-fontawesome@0.2.0(@fortawesome/fontawesome-svg-core@6.5.1)(react@18.2.0): + /@fortawesome/react-fontawesome@0.2.0(@fortawesome/fontawesome-svg-core@6.5.2)(react@18.2.0): resolution: {integrity: sha512-uHg75Rb/XORTtVt7OS9WoK8uM276Ufi7gCzshVWkUJbHhh3svsUUeqXerrM96Wm7fRiDzfKRwSoahhMIkGAYHw==} peerDependencies: '@fortawesome/fontawesome-svg-core': ~1 || ~6 react: '>=16.3' dependencies: - '@fortawesome/fontawesome-svg-core': 6.5.1 + '@fortawesome/fontawesome-svg-core': 6.5.2 prop-types: 15.8.1 react: 18.2.0 dev: false @@ -5179,7 +5199,7 @@ packages: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 18.19.28 + '@types/node': 18.19.31 jest-mock: 29.7.0 dev: false @@ -5189,7 +5209,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 18.19.28 + '@types/node': 18.19.31 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -5207,7 +5227,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 18.19.28 + '@types/node': 18.19.31 '@types/yargs': 15.0.19 chalk: 4.1.2 dev: false @@ -5219,7 +5239,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 18.19.28 + '@types/node': 18.19.31 '@types/yargs': 17.0.32 chalk: 4.1.2 dev: false @@ -5338,12 +5358,12 @@ packages: '@types/react': 18.2.55 dev: true - /@minh.nguyen/plugin-transform-destructuring@7.5.2(@babel/core@7.24.3): + /@minh.nguyen/plugin-transform-destructuring@7.5.2(@babel/core@7.24.4): resolution: {integrity: sha512-DIzWFKl5nzSk9Hj9ZsEXAvvgHiyuAsw52queJMuKqfZOk1BOr9u1i2h0tc6tPF3rQieubP+eX4DPLTKSMpbyMg==} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 /@mnajdova/enzyme-adapter-react-18@0.2.0(enzyme@3.11.0)(react-dom@18.2.0)(react@18.2.0): @@ -5378,7 +5398,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 '@floating-ui/react-dom': 2.0.8(react-dom@18.2.0)(react@18.2.0) '@mui/types': 7.2.14(@types/react@18.2.55) '@mui/utils': 5.15.14(@types/react@18.2.55)(react@18.2.0) @@ -5401,7 +5421,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 '@floating-ui/react-dom': 2.0.8(react-dom@18.2.0)(react@18.2.0) '@mui/types': 7.2.14(@types/react@18.2.55) '@mui/utils': 5.15.14(@types/react@18.2.55)(react@18.2.0) @@ -5424,7 +5444,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 '@floating-ui/react-dom': 2.0.8(react-dom@18.2.0)(react@18.2.0) '@mui/types': 7.2.14(@types/react@18.2.55) '@mui/utils': 5.15.14(@types/react@18.2.55)(react@18.2.0) @@ -5440,7 +5460,7 @@ packages: resolution: {integrity: sha512-on75VMd0XqZfaQW+9pGjSNiqW+ghc5E2ZSLRBXwcXl/C4YzjfyjrLPhrEpKnR9Uym9KXBvxrhoHfPcczYHweyA==} dev: false - /@mui/joy@5.0.0-beta.22(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + /@mui/joy@5.0.0-beta.22(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-XFJd/cWXqt9MMlaUh10QQH893YaRw2CORYRhQovXvaJk7mmt/Sc4q3Fb7ANCXf4xMUPdwqdnvawLkAOAKVHuXg==} engines: {node: '>=12.0.0'} peerDependencies: @@ -5457,12 +5477,12 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 '@emotion/react': 11.11.4(@types/react@18.2.55)(react@18.2.0) - '@emotion/styled': 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) + '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) '@mui/base': 5.0.0-beta.31(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) '@mui/core-downloads-tracker': 5.15.14 - '@mui/system': 5.15.14(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@types/react@18.2.55)(react@18.2.0) + '@mui/system': 5.15.14(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.2.55)(react@18.2.0) '@mui/types': 7.2.14(@types/react@18.2.55) '@mui/utils': 5.15.14(@types/react@18.2.55)(react@18.2.0) '@types/react': 18.2.55 @@ -5472,7 +5492,7 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@mui/material@5.15.4(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + /@mui/material@5.15.4(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-T/LGRAC+M0c+D3+y67eHwIN5bSje0TxbcJCWR0esNvU11T0QwrX3jedXItPNBwMupF2F5VWCDHBVLlFnN3+ABA==} engines: {node: '>=12.0.0'} peerDependencies: @@ -5489,12 +5509,12 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 '@emotion/react': 11.11.4(@types/react@18.2.55)(react@18.2.0) - '@emotion/styled': 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) + '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) '@mui/base': 5.0.0-beta.31(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) '@mui/core-downloads-tracker': 5.15.14 - '@mui/system': 5.15.14(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@types/react@18.2.55)(react@18.2.0) + '@mui/system': 5.15.14(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.2.55)(react@18.2.0) '@mui/types': 7.2.14(@types/react@18.2.55) '@mui/utils': 5.15.14(@types/react@18.2.55)(react@18.2.0) '@types/react': 18.2.55 @@ -5518,14 +5538,14 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 '@mui/utils': 5.15.14(@types/react@18.2.55)(react@18.2.0) '@types/react': 18.2.55 prop-types: 15.8.1 react: 18.2.0 dev: false - /@mui/styled-engine@5.15.14(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(react@18.2.0): + /@mui/styled-engine@5.15.14(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(react@18.2.0): resolution: {integrity: sha512-RILkuVD8gY6PvjZjqnWhz8fu68dVkqhM5+jYWfB5yhlSQKg+2rHkmEwm75XIeAqI3qwOndK6zELK5H6Zxn4NHw==} engines: {node: '>=12.0.0'} peerDependencies: @@ -5538,16 +5558,16 @@ packages: '@emotion/styled': optional: true dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 '@emotion/cache': 11.11.0 '@emotion/react': 11.11.4(@types/react@18.2.55)(react@18.2.0) - '@emotion/styled': 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) + '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) csstype: 3.1.3 prop-types: 15.8.1 react: 18.2.0 dev: false - /@mui/system@5.15.14(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@types/react@18.2.55)(react@18.2.0): + /@mui/system@5.15.14(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.2.55)(react@18.2.0): resolution: {integrity: sha512-auXLXzUaCSSOLqJXmsAaq7P96VPRXg2Rrz6OHNV7lr+kB8lobUF+/N84Vd9C4G/wvCXYPs5TYuuGBRhcGbiBGg==} engines: {node: '>=12.0.0'} peerDependencies: @@ -5563,11 +5583,11 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 '@emotion/react': 11.11.4(@types/react@18.2.55)(react@18.2.0) - '@emotion/styled': 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) + '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) '@mui/private-theming': 5.15.14(@types/react@18.2.55)(react@18.2.0) - '@mui/styled-engine': 5.15.14(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(react@18.2.0) + '@mui/styled-engine': 5.15.14(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(react@18.2.0) '@mui/types': 7.2.14(@types/react@18.2.55) '@mui/utils': 5.15.14(@types/react@18.2.55)(react@18.2.0) '@types/react': 18.2.55 @@ -5598,7 +5618,7 @@ packages: '@types/react': optional: true dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 '@types/prop-types': 15.7.12 '@types/react': 18.2.55 prop-types: 15.8.1 @@ -5606,7 +5626,7 @@ packages: react-is: 18.2.0 dev: false - /@mui/x-charts@6.19.8(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@mui/material@packages+mui-material+build)(@mui/system@packages+mui-system+build)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + /@mui/x-charts@6.19.8(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@packages+mui-material+build)(@mui/system@packages+mui-system+build)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-cjwsCJrUPDlMytJHBV+g3gDoSRURiphjclZs8sRnkZ+h4QbHn24K5QkK4bxEj7aCkO2HVJmDE0aqYEg4BnWCOA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -5622,9 +5642,9 @@ packages: '@emotion/styled': optional: true dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 '@emotion/react': 11.11.4(@types/react@18.2.55)(react@18.2.0) - '@emotion/styled': 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) + '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) '@mui/base': 5.0.0-beta.30(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) '@mui/material': link:packages/mui-material/build '@mui/system': link:packages/mui-system/build @@ -5641,19 +5661,19 @@ packages: - '@types/react' dev: false - /@mui/x-data-grid-generator@7.0.0(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@mui/icons-material@packages+mui-icons-material+build)(@mui/material@packages+mui-material+build)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-VnkTeScXs5fYEPGPpTDzZClxb6OupV1I70wH1u2E5TO2bcCF1UTZLFP24rCB7/OFSXlBkcXcQZ0kXrtRIUz7bg==} + /@mui/x-data-grid-generator@7.1.1(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/icons-material@packages+mui-icons-material+build)(@mui/material@packages+mui-material+build)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-PcjmlnkD7kCwu/VPsRjYvCs8mqRA50/slUoPnfaT63J7hwKuPg5xXrOpHCosGWd2B3/4WEoHd+f52h+hldwHzw==} engines: {node: '>=14.0.0'} peerDependencies: '@mui/icons-material': ^5.4.1 '@mui/material': ^5.15.14 react: ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 '@mui/base': 5.0.0-beta.40(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) '@mui/icons-material': link:packages/mui-icons-material/build '@mui/material': link:packages/mui-material/build - '@mui/x-data-grid-premium': 7.0.0(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@mui/material@packages+mui-material+build)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + '@mui/x-data-grid-premium': 7.1.1(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@packages+mui-material+build)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) chance: 1.1.11 clsx: 2.1.0 lru-cache: 7.18.3 @@ -5665,21 +5685,21 @@ packages: - react-dom dev: false - /@mui/x-data-grid-premium@7.0.0(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@mui/material@packages+mui-material+build)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-Vi9o9jzqsFaUcawx2NGq/8sEEeP4smeOwj0EPKftLRcVogJl6zWonnbM7pvth5Swqqyzu6dntn5vPnW2Q5gSfA==} + /@mui/x-data-grid-premium@7.1.1(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@packages+mui-material+build)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-tHQbHGeoyVOGblFQ1I68q4rmNXej/slVlDD/XC/oDTsF2SeJK1R/LIegeuh5P73MVEVe0HeD+q6xhRizkLlg2g==} engines: {node: '>=14.0.0'} peerDependencies: '@mui/material': ^5.15.14 react: ^17.0.0 || ^18.0.0 react-dom: ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 '@mui/material': link:packages/mui-material/build - '@mui/system': 5.15.14(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@types/react@18.2.55)(react@18.2.0) + '@mui/system': 5.15.14(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.2.55)(react@18.2.0) '@mui/utils': 5.15.14(@types/react@18.2.55)(react@18.2.0) - '@mui/x-data-grid': 7.0.0(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@mui/material@packages+mui-material+build)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@mui/x-data-grid-pro': 7.0.0(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@mui/material@packages+mui-material+build)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@mui/x-license': 7.0.0(@types/react@18.2.55)(react@18.2.0) + '@mui/x-data-grid': 7.1.1(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@packages+mui-material+build)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + '@mui/x-data-grid-pro': 7.1.1(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@packages+mui-material+build)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + '@mui/x-license': 7.1.1(@types/react@18.2.55)(react@18.2.0) '@types/format-util': 1.0.4 clsx: 2.1.0 exceljs: 4.4.0 @@ -5693,20 +5713,20 @@ packages: - '@types/react' dev: false - /@mui/x-data-grid-pro@7.0.0(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@mui/material@packages+mui-material+build)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-2lauQfkV3gksfFS5cBC992/Xs1PDfOAcr9JV8bQNX2MmwdYFhCJmJR+MYK5VbO72bDrwCDRJC399Pgxnw9Saxg==} + /@mui/x-data-grid-pro@7.1.1(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@packages+mui-material+build)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-MurP9VpwyHy96gzO92HN8q8Z5GqkIAW2DGIa2465XwIoqzMMfAtGAanyiw93F9AwY+OKnnbYd576Q842rHxzwQ==} engines: {node: '>=14.0.0'} peerDependencies: '@mui/material': ^5.15.14 react: ^17.0.0 || ^18.0.0 react-dom: ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 '@mui/material': link:packages/mui-material/build - '@mui/system': 5.15.14(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@types/react@18.2.55)(react@18.2.0) + '@mui/system': 5.15.14(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.2.55)(react@18.2.0) '@mui/utils': 5.15.14(@types/react@18.2.55)(react@18.2.0) - '@mui/x-data-grid': 7.0.0(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@mui/material@packages+mui-material+build)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) - '@mui/x-license': 7.0.0(@types/react@18.2.55)(react@18.2.0) + '@mui/x-data-grid': 7.1.1(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@packages+mui-material+build)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + '@mui/x-license': 7.1.1(@types/react@18.2.55)(react@18.2.0) '@types/format-util': 1.0.4 clsx: 2.1.0 prop-types: 15.8.1 @@ -5719,17 +5739,17 @@ packages: - '@types/react' dev: false - /@mui/x-data-grid@7.0.0(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@mui/material@packages+mui-material+build)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-Nwwfr+ot/di0oH/pVwIxKV2QD7QyUY/MKkTWRSKzQoJw2aiFQf1Usmvq9Fu1qsCsvMmqIFaToY7972p0cczRjw==} + /@mui/x-data-grid@7.1.1(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@packages+mui-material+build)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-hNvz927lkAznFdy45QPE7mIZVyQhlqveHmTK9+SD0N1us4sSTij90uUJ/roTNDod0VA9f5GqWmNz+5h8ihpz6Q==} engines: {node: '>=14.0.0'} peerDependencies: '@mui/material': ^5.15.14 react: ^17.0.0 || ^18.0.0 react-dom: ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 '@mui/material': link:packages/mui-material/build - '@mui/system': 5.15.14(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@types/react@18.2.55)(react@18.2.0) + '@mui/system': 5.15.14(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@types/react@18.2.55)(react@18.2.0) '@mui/utils': 5.15.14(@types/react@18.2.55)(react@18.2.0) clsx: 2.1.0 prop-types: 15.8.1 @@ -5742,8 +5762,8 @@ packages: - '@types/react' dev: false - /@mui/x-date-pickers-pro@6.19.8(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@mui/material@packages+mui-material+build)(@mui/system@packages+mui-system+build)(@types/react@18.2.55)(date-fns-jalali@2.21.3-1)(date-fns@2.30.0)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-0E4He1uxcJLYovKG0BByvQq2lTqL0MkpPoIdZwKA7PSP4iexSEn46zGsufgbGrcHEi7ievSUxXbjazpcDQPTiQ==} + /@mui/x-date-pickers-pro@6.19.9(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@packages+mui-material+build)(@mui/system@packages+mui-system+build)(@types/react@18.2.55)(date-fns-jalali@2.21.3-1)(date-fns@2.30.0)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-0EmWiRoZUc3ZGin3EdJaYNuCS5PA45KHEc9HkCmkT6sAnPeXMVpXrl8TFJvJxFVV6Vp7IYV8RZHC5gSZcfIrfQ==} engines: {node: '>=14.0.0'} peerDependencies: '@emotion/react': ^11.9.0 @@ -5779,14 +5799,14 @@ packages: moment-jalaali: optional: true dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 '@emotion/react': 11.11.4(@types/react@18.2.55)(react@18.2.0) - '@emotion/styled': 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) + '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) '@mui/base': 5.0.0-beta.30(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) '@mui/material': link:packages/mui-material/build '@mui/system': link:packages/mui-system/build '@mui/utils': 5.15.14(@types/react@18.2.55)(react@18.2.0) - '@mui/x-date-pickers': 6.19.8(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@mui/material@packages+mui-material+build)(@mui/system@packages+mui-system+build)(@types/react@18.2.55)(date-fns-jalali@2.21.3-1)(date-fns@2.30.0)(react-dom@18.2.0)(react@18.2.0) + '@mui/x-date-pickers': 6.19.9(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@packages+mui-material+build)(@mui/system@packages+mui-system+build)(@types/react@18.2.55)(date-fns-jalali@2.21.3-1)(date-fns@2.30.0)(react-dom@18.2.0)(react@18.2.0) '@mui/x-license-pro': 6.10.2(@types/react@18.2.55)(react@18.2.0) clsx: 2.1.0 date-fns: 2.30.0 @@ -5799,8 +5819,8 @@ packages: - '@types/react' dev: false - /@mui/x-date-pickers@6.19.8(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@mui/material@packages+mui-material+build)(@mui/system@packages+mui-system+build)(@types/react@18.2.55)(date-fns-jalali@2.21.3-1)(date-fns@2.30.0)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-6wgc2DoRTR9/mKesku4CVCKr9yYkY3FI2Oy/wshLTs2rFkw2Z10uxXFHBR9ugEtNPNCQv0qqwldElenYI97wsA==} + /@mui/x-date-pickers@6.19.9(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@packages+mui-material+build)(@mui/system@packages+mui-system+build)(@types/react@18.2.55)(date-fns-jalali@2.21.3-1)(date-fns@2.30.0)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-B2m4Fv/fOme5qmV6zuE3QnWQSvj3zKtI2OvikPz5prpiCcIxqpeytkQ7VfrWH3/Aqd5yhG1Yr4IgbqG0ymIXGg==} engines: {node: '>=14.0.0'} peerDependencies: '@emotion/react': ^11.9.0 @@ -5836,9 +5856,9 @@ packages: moment-jalaali: optional: true dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 '@emotion/react': 11.11.4(@types/react@18.2.55)(react@18.2.0) - '@emotion/styled': 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) + '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) '@mui/base': 5.0.0-beta.30(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) '@mui/material': link:packages/mui-material/build '@mui/system': link:packages/mui-system/build @@ -5861,27 +5881,27 @@ packages: peerDependencies: react: ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 '@mui/utils': 5.15.14(@types/react@18.2.55)(react@18.2.0) react: 18.2.0 transitivePeerDependencies: - '@types/react' dev: false - /@mui/x-license@7.0.0(@types/react@18.2.55)(react@18.2.0): - resolution: {integrity: sha512-WR9OkroKKGmnIno6tw4RzuyCQqI/Y+nbzt1r9sKtBgDQG/LvoBI45lC6zNtVosi8HhGWuXVsHDC7NYsEh31suA==} + /@mui/x-license@7.1.1(@types/react@18.2.55)(react@18.2.0): + resolution: {integrity: sha512-MadABMJ7agqaHqmDTzH2BudEqtTDelm3kNDk+WXgkv+DBF3IBFInIeO2YgvqnzOQSBMKpyNF/FiNowRm7uXtqQ==} engines: {node: '>=14.0.0'} peerDependencies: react: ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 '@mui/utils': 5.15.14(@types/react@18.2.55)(react@18.2.0) react: 18.2.0 transitivePeerDependencies: - '@types/react' dev: false - /@mui/x-tree-view@6.17.0(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@mui/material@packages+mui-material+build)(@mui/system@packages+mui-system+build)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): + /@mui/x-tree-view@6.17.0(@emotion/react@11.11.4)(@emotion/styled@11.11.5)(@mui/material@packages+mui-material+build)(@mui/system@packages+mui-system+build)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-09dc2D+Rjg2z8KOaxbUXyPi0aw7fm2jurEtV8Xw48xJ00joLWd5QJm1/v4CarEvaiyhTQzHImNqdgeJW8ZQB6g==} engines: {node: '>=14.0.0'} peerDependencies: @@ -5892,9 +5912,9 @@ packages: react: ^17.0.0 || ^18.0.0 react-dom: ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 '@emotion/react': 11.11.4(@types/react@18.2.55)(react@18.2.0) - '@emotion/styled': 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) + '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) '@mui/base': 5.0.0-beta.30(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) '@mui/material': link:packages/mui-material/build '@mui/system': link:packages/mui-system/build @@ -6361,15 +6381,15 @@ packages: - encoding dev: true - /@octokit/core@5.0.0: - resolution: {integrity: sha512-YbAtMWIrbZ9FCXbLwT9wWB8TyLjq9mxpKdgB3dUNxQcIVTf9hJ70gRPwAcqGZdY6WdJPZ0I7jLaaNDCiloGN2A==} + /@octokit/core@5.2.0: + resolution: {integrity: sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg==} engines: {node: '>= 18'} dependencies: '@octokit/auth-token': 4.0.0 - '@octokit/graphql': 7.0.1 - '@octokit/request': 8.1.1 - '@octokit/request-error': 5.0.0 - '@octokit/types': 11.1.0 + '@octokit/graphql': 7.1.0 + '@octokit/request': 8.3.1 + '@octokit/request-error': 5.1.0 + '@octokit/types': 13.1.0 before-after-hook: 2.2.2 universal-user-agent: 6.0.0 dev: true @@ -6391,12 +6411,11 @@ packages: universal-user-agent: 6.0.0 dev: true - /@octokit/endpoint@9.0.0: - resolution: {integrity: sha512-szrQhiqJ88gghWY2Htt8MqUDO6++E/EIXqJ2ZEp5ma3uGS46o7LZAzSLt49myB7rT+Hfw5Y6gO3LmOxGzHijAQ==} + /@octokit/endpoint@9.0.5: + resolution: {integrity: sha512-ekqR4/+PCLkEBF6qgj8WqJfvDq65RH85OAgrtnVp1mSxaXF03u2xW/hUdweGS5654IlC0wkNYC18Z50tSYTAFw==} engines: {node: '>= 18'} dependencies: - '@octokit/types': 11.1.0 - is-plain-object: 5.0.0 + '@octokit/types': 13.1.0 universal-user-agent: 6.0.0 dev: true @@ -6421,12 +6440,12 @@ packages: - encoding dev: true - /@octokit/graphql@7.0.1: - resolution: {integrity: sha512-T5S3oZ1JOE58gom6MIcrgwZXzTaxRnxBso58xhozxHpOqSTgDS6YNeEUvZ/kRvXgPrRz/KHnZhtb7jUMRi9E6w==} + /@octokit/graphql@7.1.0: + resolution: {integrity: sha512-r+oZUH7aMFui1ypZnAvZmn0KSqAUgE1/tUXIWaqUCa1758ts/Jio84GZuzsvUkme98kv0WFY8//n0J1Z+vsIsQ==} engines: {node: '>= 18'} dependencies: - '@octokit/request': 8.1.1 - '@octokit/types': 11.1.0 + '@octokit/request': 8.3.1 + '@octokit/types': 13.1.0 universal-user-agent: 6.0.0 dev: true @@ -6442,8 +6461,12 @@ packages: resolution: {integrity: sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw==} dev: true - /@octokit/openapi-types@19.0.2: - resolution: {integrity: sha512-8li32fUDUeml/ACRp/njCWTsk5t17cfTM1jp9n08pBrqs5cDFJubtjsSnuz56r5Tad6jdEPJld7LxNp9dNcyjQ==} + /@octokit/openapi-types@20.0.0: + resolution: {integrity: sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==} + dev: true + + /@octokit/openapi-types@21.2.0: + resolution: {integrity: sha512-xx+Xd6I7rYvul/hgUDqv6TeGX0IOGnhSg9IOeYgd/uI7IAqUy6DE2B6Ipv2M4mWoxaMcWjIzgTIcv8pMO3F3vw==} dev: true /@octokit/plugin-enterprise-rest@6.0.1: @@ -6470,14 +6493,14 @@ packages: '@octokit/types': 9.3.2 dev: true - /@octokit/plugin-paginate-rest@9.1.2(@octokit/core@5.0.0): - resolution: {integrity: sha512-euDbNV6fxX6btsCDnZoZM4vw3zO1nj1Z7TskHAulO6mZ9lHoFTpwll6farf+wh31mlBabgU81bBYdflp0GLVAQ==} + /@octokit/plugin-paginate-rest@9.2.1(@octokit/core@5.2.0): + resolution: {integrity: sha512-wfGhE/TAkXZRLjksFXuDZdmGnJQHvtU/joFQdweXUgzo1XwvBCD4o4+75NtFfjfLK5IwLf9vHTfSiU3sLRYpRw==} engines: {node: '>= 18'} peerDependencies: - '@octokit/core': '>=5' + '@octokit/core': '5' dependencies: - '@octokit/core': 5.0.0 - '@octokit/types': 12.1.1 + '@octokit/core': 5.2.0 + '@octokit/types': 12.6.0 dev: true /@octokit/plugin-request-log@1.0.4(@octokit/core@3.6.0): @@ -6496,23 +6519,23 @@ packages: '@octokit/core': 4.2.4 dev: true - /@octokit/plugin-request-log@4.0.0(@octokit/core@5.0.0): + /@octokit/plugin-request-log@4.0.0(@octokit/core@5.2.0): resolution: {integrity: sha512-2uJI1COtYCq8Z4yNSnM231TgH50bRkheQ9+aH8TnZanB6QilOnx8RMD2qsnamSOXtDj0ilxvevf5fGsBhBBzKA==} engines: {node: '>= 18'} peerDependencies: '@octokit/core': '>=5' dependencies: - '@octokit/core': 5.0.0 + '@octokit/core': 5.2.0 dev: true - /@octokit/plugin-rest-endpoint-methods@10.1.2(@octokit/core@5.0.0): - resolution: {integrity: sha512-JztgZ82CY4JNlPTuF0jh4iWuuGpEi5czFCoXyAbMg4F2XyFBbG5DWAKfa3odRvdZww6Df1tQgBKnqpd9X0WF9g==} + /@octokit/plugin-rest-endpoint-methods@10.4.1(@octokit/core@5.2.0): + resolution: {integrity: sha512-xV1b+ceKV9KytQe3zCVqjg+8GTGfDYwaT1ATU5isiUyVtlVAO3HNdzpS4sr4GBx4hxQ46s7ITtZrAsxG22+rVg==} engines: {node: '>= 18'} peerDependencies: - '@octokit/core': '>=5' + '@octokit/core': '5' dependencies: - '@octokit/core': 5.0.0 - '@octokit/types': 12.1.1 + '@octokit/core': 5.2.0 + '@octokit/types': 12.6.0 dev: true /@octokit/plugin-rest-endpoint-methods@5.16.2(@octokit/core@3.6.0): @@ -6552,11 +6575,11 @@ packages: once: 1.4.0 dev: true - /@octokit/request-error@5.0.0: - resolution: {integrity: sha512-1ue0DH0Lif5iEqT52+Rf/hf0RmGO9NWFjrzmrkArpG9trFfDM/efx00BJHdLGuro4BR/gECxCU2Twf5OKrRFsQ==} + /@octokit/request-error@5.1.0: + resolution: {integrity: sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q==} engines: {node: '>= 18'} dependencies: - '@octokit/types': 11.1.0 + '@octokit/types': 13.1.0 deprecation: 2.3.1 once: 1.4.0 dev: true @@ -6588,14 +6611,13 @@ packages: - encoding dev: true - /@octokit/request@8.1.1: - resolution: {integrity: sha512-8N+tdUz4aCqQmXl8FpHYfKG9GelDFd7XGVzyN8rc6WxVlYcfpHECnuRkgquzz+WzvHTK62co5di8gSXnzASZPQ==} + /@octokit/request@8.3.1: + resolution: {integrity: sha512-fin4cl5eHN5Ybmb/gtn7YZ+ycyUlcyqqkg5lfxeSChqj7sUt6TNaJPehREi+0PABKLREYL8pfaUhH3TicEWNoA==} engines: {node: '>= 18'} dependencies: - '@octokit/endpoint': 9.0.0 - '@octokit/request-error': 5.0.0 - '@octokit/types': 11.1.0 - is-plain-object: 5.0.0 + '@octokit/endpoint': 9.0.5 + '@octokit/request-error': 5.1.0 + '@octokit/types': 13.1.0 universal-user-agent: 6.0.0 dev: true @@ -6622,14 +6644,14 @@ packages: - encoding dev: true - /@octokit/rest@20.0.2: - resolution: {integrity: sha512-Ux8NDgEraQ/DMAU1PlAohyfBBXDwhnX2j33Z1nJNziqAfHi70PuxkFYIcIt8aIAxtRE7KVuKp8lSR8pA0J5iOQ==} + /@octokit/rest@20.1.0: + resolution: {integrity: sha512-STVO3itHQLrp80lvcYB2UIKoeil5Ctsgd2s1AM+du3HqZIR35ZH7WE9HLwUOLXH0myA0y3AGNPo8gZtcgIbw0g==} engines: {node: '>= 18'} dependencies: - '@octokit/core': 5.0.0 - '@octokit/plugin-paginate-rest': 9.1.2(@octokit/core@5.0.0) - '@octokit/plugin-request-log': 4.0.0(@octokit/core@5.0.0) - '@octokit/plugin-rest-endpoint-methods': 10.1.2(@octokit/core@5.0.0) + '@octokit/core': 5.2.0 + '@octokit/plugin-paginate-rest': 9.2.1(@octokit/core@5.2.0) + '@octokit/plugin-request-log': 4.0.0(@octokit/core@5.2.0) + '@octokit/plugin-rest-endpoint-methods': 10.4.1(@octokit/core@5.2.0) dev: true /@octokit/tsconfig@1.0.2: @@ -6642,16 +6664,16 @@ packages: '@octokit/openapi-types': 18.0.0 dev: true - /@octokit/types@11.1.0: - resolution: {integrity: sha512-Fz0+7GyLm/bHt8fwEqgvRBWwIV1S6wRRyq+V6exRKLVWaKGsuy6H9QFYeBVDV7rK6fO3XwHgQOPxv+cLj2zpXQ==} + /@octokit/types@12.6.0: + resolution: {integrity: sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==} dependencies: - '@octokit/openapi-types': 18.0.0 + '@octokit/openapi-types': 20.0.0 dev: true - /@octokit/types@12.1.1: - resolution: {integrity: sha512-qnJTldJ1NyGT5MTsCg/Zi+y2IFHZ1Jo5+njNCjJ9FcainV7LjuHgmB697kA0g4MjZeDAJsM3B45iqCVsCLVFZg==} + /@octokit/types@13.1.0: + resolution: {integrity: sha512-nBwAFOYqVUUJ2AZFK4ZzESQptaAVqdTDKk8gE0Xr0o99WuPDSrhUC38x0F40xD9OUxXhOOuZKWNNVVLPSHQDvQ==} dependencies: - '@octokit/openapi-types': 19.0.2 + '@octokit/openapi-types': 21.2.0 dev: true /@octokit/types@6.41.0: @@ -6678,12 +6700,12 @@ packages: requiresBuild: true optional: true - /@playwright/test@1.42.1: - resolution: {integrity: sha512-Gq9rmS54mjBL/7/MvBaNOBwbfnh7beHvS6oS4srqXFcQHpQCV1+c8JXWE8VLPyRDhgS3H8x8A7hztqI9VnwrAQ==} + /@playwright/test@1.43.0: + resolution: {integrity: sha512-Ebw0+MCqoYflop7wVKj711ccbNlrwTBCtjY5rlbiY9kHL2bCYxq+qltK6uPsVBGGAOb033H2VO0YobcQVxoW7Q==} engines: {node: '>=16'} hasBin: true dependencies: - playwright: 1.42.1 + playwright: 1.43.0 dev: true /@polka/url@1.0.0-next.21: @@ -6864,95 +6886,95 @@ packages: engines: {node: '>=18'} dev: false - /@react-native/babel-plugin-codegen@0.73.4(@babel/preset-env@7.24.3): + /@react-native/babel-plugin-codegen@0.73.4(@babel/preset-env@7.24.4): resolution: {integrity: sha512-XzRd8MJGo4Zc5KsphDHBYJzS1ryOHg8I2gOZDAUCGcwLFhdyGu1zBNDJYH2GFyDrInn9TzAbRIf3d4O+eltXQQ==} engines: {node: '>=18'} dependencies: - '@react-native/codegen': 0.73.3(@babel/preset-env@7.24.3) + '@react-native/codegen': 0.73.3(@babel/preset-env@7.24.4) transitivePeerDependencies: - '@babel/preset-env' - supports-color dev: false - /@react-native/babel-preset@0.73.21(@babel/core@7.24.3)(@babel/preset-env@7.24.3): + /@react-native/babel-preset@0.73.21(@babel/core@7.24.4)(@babel/preset-env@7.24.4): resolution: {integrity: sha512-WlFttNnySKQMeujN09fRmrdWqh46QyJluM5jdtDNrkl/2Hx6N4XeDUGhABvConeK95OidVO7sFFf7sNebVXogA==} engines: {node: '>=18'} peerDependencies: - '@babel/core': ^7.23.9 - dependencies: - '@babel/core': 7.24.3 - '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.24.3) - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.3) - '@babel/plugin-proposal-export-default-from': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.24.3) - '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.24.3) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.24.3) - '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.24.3) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.3) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-export-default-from': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-block-scoping': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-classes': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-destructuring': /@minh.nguyen/plugin-transform-destructuring@7.5.2(@babel/core@7.24.3) - '@babel/plugin-transform-flow-strip-types': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.3) - '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-private-property-in-object': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-react-display-name': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.3) - '@babel/plugin-transform-react-jsx-self': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-react-jsx-source': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-runtime': 7.24.3(@babel/core@7.24.3) - '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.3) + '@babel/core': ^7.24.4 + dependencies: + '@babel/core': 7.24.4 + '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.24.4) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.4) + '@babel/plugin-proposal-export-default-from': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.24.4) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.24.4) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.24.4) + '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.24.4) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.4) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-export-default-from': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-block-scoping': 7.24.4(@babel/core@7.24.4) + '@babel/plugin-transform-classes': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-destructuring': /@minh.nguyen/plugin-transform-destructuring@7.5.2(@babel/core@7.24.4) + '@babel/plugin-transform-flow-strip-types': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.4) + '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-private-property-in-object': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-react-display-name': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.4) + '@babel/plugin-transform-react-jsx-self': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-react-jsx-source': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-runtime': 7.24.3(@babel/core@7.24.4) + '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-typescript': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.4) '@babel/template': 7.24.0 - '@react-native/babel-plugin-codegen': 0.73.4(@babel/preset-env@7.24.3) - babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.24.3) + '@react-native/babel-plugin-codegen': 0.73.4(@babel/preset-env@7.24.4) + babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.24.4) react-refresh: 0.14.0 transitivePeerDependencies: - '@babel/preset-env' - supports-color dev: false - /@react-native/codegen@0.73.3(@babel/preset-env@7.24.3): + /@react-native/codegen@0.73.3(@babel/preset-env@7.24.4): resolution: {integrity: sha512-sxslCAAb8kM06vGy9Jyh4TtvjhcP36k/rvj2QE2Jdhdm61KvfafCATSIsOfc0QvnduWFcpXUPvAVyYwuv7PYDg==} engines: {node: '>=18'} peerDependencies: - '@babel/preset-env': ^7.23.9 + '@babel/preset-env': ^7.24.4 dependencies: - '@babel/parser': 7.24.1 - '@babel/preset-env': 7.24.3(@babel/core@7.24.3) + '@babel/parser': 7.24.4 + '@babel/preset-env': 7.24.4(@babel/core@7.24.4) flow-parser: 0.206.0 glob: 7.2.3 invariant: 2.2.4 - jscodeshift: 0.14.0(@babel/preset-env@7.24.3) + jscodeshift: 0.14.0(@babel/preset-env@7.24.4) mkdirp: 0.5.6 nullthrows: 1.1.1 transitivePeerDependencies: - supports-color dev: false - /@react-native/community-cli-plugin@0.73.17(@babel/core@7.24.3)(@babel/preset-env@7.24.3): + /@react-native/community-cli-plugin@0.73.17(@babel/core@7.24.4)(@babel/preset-env@7.24.4): resolution: {integrity: sha512-F3PXZkcHg+1ARIr6FRQCQiB7ZAA+MQXGmq051metRscoLvgYJwj7dgC8pvgy0kexzUkHu5BNKrZeySzUft3xuQ==} engines: {node: '>=18'} dependencies: '@react-native-community/cli-server-api': 12.3.6 '@react-native-community/cli-tools': 12.3.6 '@react-native/dev-middleware': 0.73.8 - '@react-native/metro-babel-transformer': 0.73.15(@babel/core@7.24.3)(@babel/preset-env@7.24.3) + '@react-native/metro-babel-transformer': 0.73.15(@babel/core@7.24.4)(@babel/preset-env@7.24.4) chalk: 4.1.2 execa: 5.1.1 metro: 0.80.7 @@ -7006,14 +7028,14 @@ packages: engines: {node: '>=18'} dev: false - /@react-native/metro-babel-transformer@0.73.15(@babel/core@7.24.3)(@babel/preset-env@7.24.3): + /@react-native/metro-babel-transformer@0.73.15(@babel/core@7.24.4)(@babel/preset-env@7.24.4): resolution: {integrity: sha512-LlkSGaXCz+xdxc9819plmpsl4P4gZndoFtpjN3GMBIu6f7TBV0GVbyJAU4GE8fuAWPVSVL5ArOcdkWKSbI1klw==} engines: {node: '>=18'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 - '@react-native/babel-preset': 0.73.21(@babel/core@7.24.3)(@babel/preset-env@7.24.3) + '@babel/core': 7.24.4 + '@react-native/babel-preset': 0.73.21(@babel/core@7.24.4)(@babel/preset-env@7.24.4) hermes-parser: 0.15.0 nullthrows: 1.1.1 transitivePeerDependencies: @@ -7033,7 +7055,7 @@ packages: dependencies: invariant: 2.2.4 nullthrows: 1.1.1 - react-native: 0.73.6(@babel/core@7.24.3)(@babel/preset-env@7.24.3)(react@18.2.0) + react-native: 0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4)(react@18.2.0) dev: false /@react-spring/animated@9.7.3(react@18.2.0): @@ -7084,7 +7106,7 @@ packages: '@react-spring/shared': 9.7.3(react@18.2.0) '@react-spring/types': 9.7.3 react: 18.2.0 - react-native: 0.73.6(@babel/core@7.24.3)(@babel/preset-env@7.24.3)(react@18.2.0) + react-native: 0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4)(react@18.2.0) dev: false /@react-spring/rafz@9.7.3: @@ -7177,7 +7199,7 @@ packages: react-native: optional: true dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 '@types/react-reconciler': 0.26.7 '@types/webxr': 0.5.14 base64-js: 1.5.1 @@ -7185,7 +7207,7 @@ packages: its-fine: 1.1.3(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-native: 0.73.6(@babel/core@7.24.3)(@babel/preset-env@7.24.3)(react@18.2.0) + react-native: 0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4)(react@18.2.0) react-reconciler: 0.27.0(react@18.2.0) react-use-measure: 2.1.1(react-dom@18.2.0)(react@18.2.0) scheduler: 0.21.0 @@ -7194,14 +7216,9 @@ packages: zustand: 3.7.2(react@18.2.0) dev: false - /@remix-run/router@1.15.1: - resolution: {integrity: sha512-zcU0gM3z+3iqj8UX45AmWY810l3oUmXM7uH4dt5xtzvMhRtYVhKGOmgOd1877dOPPepfCjUv57w+syamWIYe7w==} - engines: {node: '>=14.0.0'} - /@remix-run/router@1.15.3: resolution: {integrity: sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w==} engines: {node: '>=14.0.0'} - dev: false /@rollup/plugin-replace@5.0.5(rollup@3.29.4): resolution: {integrity: sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==} @@ -7473,14 +7490,14 @@ packages: resolution: {integrity: sha512-DTuBFbqu4gGfajREEMrkq5jBhcnskinhr4+AnfJEk48zhVeEv3XnUKGIX98B74kxhYsIMfApGGySTn7V3b5yBA==} engines: {node: '>= 12.13.0', npm: '>= 6.12.0'} dependencies: - '@types/node': 18.19.28 + '@types/node': 18.19.31 dev: false /@slack/logger@4.0.0: resolution: {integrity: sha512-Wz7QYfPAlG/DR+DfABddUZeNgoeY7d1J39OCR2jR+v7VBsB8ezulDK5szTnDDPDwLH5IWhLvXIHlCFZV7MSKgA==} engines: {node: '>= 18', npm: '>= 8.6.0'} dependencies: - '@types/node': 18.19.28 + '@types/node': 18.19.31 dev: false /@slack/oauth@2.6.2: @@ -7490,7 +7507,7 @@ packages: '@slack/logger': 3.0.0 '@slack/web-api': 6.12.0 '@types/jsonwebtoken': 8.5.9 - '@types/node': 18.19.28 + '@types/node': 18.19.31 jsonwebtoken: 9.0.0 lodash.isstring: 4.0.1 transitivePeerDependencies: @@ -7503,7 +7520,7 @@ packages: dependencies: '@slack/logger': 3.0.0 '@slack/web-api': 6.12.0 - '@types/node': 18.19.28 + '@types/node': 18.19.31 '@types/p-queue': 2.3.2 '@types/ws': 7.4.7 eventemitter3: 3.1.2 @@ -7529,7 +7546,7 @@ packages: '@slack/logger': 3.0.0 '@slack/types': 2.11.0 '@types/is-stream': 1.1.0 - '@types/node': 18.19.28 + '@types/node': 18.19.31 axios: 1.6.5(debug@4.3.4) eventemitter3: 3.1.2 form-data: 2.5.1 @@ -7647,7 +7664,7 @@ packages: engines: {node: '>=14'} dependencies: '@babel/code-frame': 7.24.2 - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 '@types/aria-query': 5.0.1 aria-query: 5.1.3 chalk: 4.1.2 @@ -7662,7 +7679,7 @@ packages: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 '@testing-library/dom': 9.3.4 '@types/react-dom': 18.2.19 react: 18.2.0 @@ -7806,7 +7823,7 @@ packages: /@types/babel__core@7.20.5: resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: - '@babel/parser': 7.24.1 + '@babel/parser': 7.24.4 '@babel/types': 7.24.0 '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 @@ -7835,7 +7852,7 @@ packages: /@types/babel__template@7.4.1: resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: - '@babel/parser': 7.24.1 + '@babel/parser': 7.24.4 '@babel/types': 7.24.0 dev: true @@ -7849,7 +7866,7 @@ packages: resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} dependencies: '@types/connect': 3.4.35 - '@types/node': 18.19.28 + '@types/node': 18.19.31 dev: false /@types/cacheable-request@6.0.2: @@ -7857,7 +7874,7 @@ packages: dependencies: '@types/http-cache-semantics': 4.0.1 '@types/keyv': 3.1.4 - '@types/node': 18.19.28 + '@types/node': 18.19.31 '@types/responselike': 1.0.0 dev: true @@ -7874,13 +7891,13 @@ packages: /@types/cheerio@0.22.31: resolution: {integrity: sha512-Kt7Cdjjdi2XWSfrZ53v4Of0wG3ZcmaegFXjMmz9tfNrZSkzzo36G0AL1YqSdcIA78Etjt6E609pt5h1xnQkPUw==} dependencies: - '@types/node': 18.19.28 + '@types/node': 18.19.31 dev: true /@types/connect@3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 18.19.28 + '@types/node': 18.19.31 dev: false /@types/cookie@0.4.1: @@ -7919,11 +7936,11 @@ packages: /@types/eslint-scope@3.7.4: resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} dependencies: - '@types/eslint': 8.56.6 + '@types/eslint': 8.56.7 '@types/estree': 1.0.5 - /@types/eslint@8.56.6: - resolution: {integrity: sha512-ymwc+qb1XkjT/gfoQwxIeHZ6ixH23A+tCT2ADSA/DPVKzAjwYkTXBMCQ/f6fe4wEa85Lhp26VPeUxI7wMhAi7A==} + /@types/eslint@8.56.7: + resolution: {integrity: sha512-SjDvI/x3zsZnOkYZ3lCt9lOZWZLB2jIlNKz+LBgCtDurK0JZcwucxYHn1w2BJkD34dgX9Tjnak0txtq4WTggEA==} dependencies: '@types/estree': 1.0.5 '@types/json-schema': 7.0.12 @@ -7934,7 +7951,7 @@ packages: /@types/express-serve-static-core@4.17.35: resolution: {integrity: sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==} dependencies: - '@types/node': 18.19.28 + '@types/node': 18.19.31 '@types/qs': 6.9.7 '@types/range-parser': 1.2.4 '@types/send': 0.17.1 @@ -7956,7 +7973,7 @@ packages: resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} dependencies: '@types/jsonfile': 6.1.1 - '@types/node': 18.19.28 + '@types/node': 18.19.31 dev: true /@types/hoist-non-react-statics@3.3.5: @@ -7980,7 +7997,7 @@ packages: /@types/is-stream@1.1.0: resolution: {integrity: sha512-jkZatu4QVbR60mpIzjINmtS1ZF4a/FqdTUTBeQDVOQ2PYyidtwFKr0B5G6ERukKwliq+7mIXvxyppwzG5EgRYg==} dependencies: - '@types/node': 18.19.28 + '@types/node': 18.19.31 dev: false /@types/istanbul-lib-coverage@2.0.6: @@ -8020,19 +8037,19 @@ packages: /@types/jsonfile@6.1.1: resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} dependencies: - '@types/node': 18.19.28 + '@types/node': 18.19.31 dev: true /@types/jsonwebtoken@8.5.9: resolution: {integrity: sha512-272FMnFGzAVMGtu9tkr29hRL6bZj4Zs1KZNeHLnKqAvp06tAIcarTMwOh8/8bz4FmKRcMxZhZNeUAQsNLoiPhg==} dependencies: - '@types/node': 18.19.28 + '@types/node': 18.19.31 dev: false /@types/keyv@3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 18.19.28 + '@types/node': 18.19.31 dev: true /@types/lodash.mergewith@4.6.7: @@ -8080,8 +8097,8 @@ packages: resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} dev: true - /@types/node@18.19.28: - resolution: {integrity: sha512-J5cOGD9n4x3YGgVuaND6khm5x07MMdAKkRyXnjVR6KFhLMNh2yONGiP7Z+4+tBOt5mK+GvDTiacTOVGGpqiecw==} + /@types/node@18.19.31: + resolution: {integrity: sha512-ArgCD39YpyyrtFKIqMDvjz79jto5fcI/SVUs2HwB+f0dAzq68yqOdyaSivLiLugSziTpNXLQrVb7RZFmdZzbhA==} dependencies: undici-types: 5.26.5 @@ -8179,13 +8196,13 @@ packages: /@types/resolve@0.0.8: resolution: {integrity: sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==} dependencies: - '@types/node': 18.19.28 + '@types/node': 18.19.31 dev: true /@types/responselike@1.0.0: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: - '@types/node': 18.19.28 + '@types/node': 18.19.31 dev: true /@types/retry@0.12.0: @@ -8203,7 +8220,7 @@ packages: resolution: {integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==} dependencies: '@types/mime': 1.3.2 - '@types/node': 18.19.28 + '@types/node': 18.19.31 dev: false /@types/serve-static@1.15.2: @@ -8211,7 +8228,7 @@ packages: dependencies: '@types/http-errors': 2.0.1 '@types/mime': 3.0.1 - '@types/node': 18.19.28 + '@types/node': 18.19.31 dev: false /@types/sinon@10.0.20: @@ -8267,7 +8284,7 @@ packages: /@types/ws@7.4.7: resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} dependencies: - '@types/node': 18.19.28 + '@types/node': 18.19.31 dev: false /@types/yargs-parser@21.0.3: @@ -8284,8 +8301,8 @@ packages: dependencies: '@types/yargs-parser': 21.0.3 - /@typescript-eslint/eslint-plugin@6.19.1(@typescript-eslint/parser@6.19.1)(eslint@8.57.0)(typescript@5.4.3): - resolution: {integrity: sha512-roQScUGFruWod9CEyoV5KlCYrubC/fvG8/1zXuT0WTcxX87GnMMmnksMwSg99lo1xiKrBzw2icsJPMAw1OtKxg==} + /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.4): + resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -8296,25 +8313,25 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.6.2 - '@typescript-eslint/parser': 6.19.1(eslint@8.57.0)(typescript@5.4.3) - '@typescript-eslint/scope-manager': 6.19.1 - '@typescript-eslint/type-utils': 6.19.1(eslint@8.57.0)(typescript@5.4.3) - '@typescript-eslint/utils': 6.19.1(eslint@8.57.0)(typescript@5.4.3) - '@typescript-eslint/visitor-keys': 6.19.1 + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.4) + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.4.4) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.4) + '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.4(supports-color@8.1.1) eslint: 8.57.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 semver: 7.6.0 - ts-api-utils: 1.0.1(typescript@5.4.3) - typescript: 5.4.3 + ts-api-utils: 1.0.1(typescript@5.4.4) + typescript: 5.4.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@6.19.1(eslint@8.57.0)(typescript@5.4.3): - resolution: {integrity: sha512-WEfX22ziAh6pRE9jnbkkLGp/4RhTpffr2ZK5bJ18M8mIfA8A+k97U9ZyaXCEJRlmMHh7R9MJZWXp/r73DzINVQ==} + /@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.4): + resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -8323,27 +8340,27 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.19.1 - '@typescript-eslint/types': 6.19.1 - '@typescript-eslint/typescript-estree': 6.19.1(typescript@5.4.3) - '@typescript-eslint/visitor-keys': 6.19.1 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.4) + '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.4(supports-color@8.1.1) eslint: 8.57.0 - typescript: 5.4.3 + typescript: 5.4.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager@6.19.1: - resolution: {integrity: sha512-4CdXYjKf6/6aKNMSly/BP4iCSOpvMmqtDzRtqFyyAae3z5kkqEjKndR5vDHL8rSuMIIWP8u4Mw4VxLyxZW6D5w==} + /@typescript-eslint/scope-manager@6.21.0: + resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.19.1 - '@typescript-eslint/visitor-keys': 6.19.1 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 dev: true - /@typescript-eslint/type-utils@6.19.1(eslint@8.57.0)(typescript@5.4.3): - resolution: {integrity: sha512-0vdyld3ecfxJuddDjACUvlAeYNrHP/pDeQk2pWBR2ESeEzQhg52DF53AbI9QCBkYE23lgkhLCZNkHn2hEXXYIg==} + /@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.4.4): + resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -8352,23 +8369,23 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.19.1(typescript@5.4.3) - '@typescript-eslint/utils': 6.19.1(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.4) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.4) debug: 4.3.4(supports-color@8.1.1) eslint: 8.57.0 - ts-api-utils: 1.0.1(typescript@5.4.3) - typescript: 5.4.3 + ts-api-utils: 1.0.1(typescript@5.4.4) + typescript: 5.4.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types@6.19.1: - resolution: {integrity: sha512-6+bk6FEtBhvfYvpHsDgAL3uo4BfvnTnoge5LrrCj2eJN8g3IJdLTD4B/jK3Q6vo4Ql/Hoip9I8aB6fF+6RfDqg==} + /@typescript-eslint/types@6.21.0: + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/typescript-estree@6.19.1(typescript@5.4.3): - resolution: {integrity: sha512-aFdAxuhzBFRWhy+H20nYu19+Km+gFfwNO4TEqyszkMcgBDYQjmPJ61erHxuT2ESJXhlhrO7I5EFIlZ+qGR8oVA==} + /@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.4): + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -8376,21 +8393,21 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.19.1 - '@typescript-eslint/visitor-keys': 6.19.1 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 semver: 7.6.0 - ts-api-utils: 1.0.1(typescript@5.4.3) - typescript: 5.4.3 + ts-api-utils: 1.0.1(typescript@5.4.4) + typescript: 5.4.4 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@6.19.1(eslint@8.57.0)(typescript@5.4.3): - resolution: {integrity: sha512-JvjfEZuP5WoMqwh9SPAPDSHSg9FBHHGhjPugSRxu5jMfjvBpq5/sGTD+9M9aQ5sh6iJ8AY/Kk/oUYVEMAPwi7w==} + /@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.4.4): + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -8398,9 +8415,9 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.12 '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 6.19.1 - '@typescript-eslint/types': 6.19.1 - '@typescript-eslint/typescript-estree': 6.19.1(typescript@5.4.3) + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.4) eslint: 8.57.0 semver: 7.6.0 transitivePeerDependencies: @@ -8408,11 +8425,11 @@ packages: - typescript dev: true - /@typescript-eslint/visitor-keys@6.19.1: - resolution: {integrity: sha512-gkdtIO+xSO/SmI0W68DBg4u1KElmIUo3vXzgHyGPs6cxgB0sa3TlptRAAE0hUY1hM6FcDKEv7aIwiTGm76cXfQ==} + /@typescript-eslint/visitor-keys@6.21.0: + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.19.1 + '@typescript-eslint/types': 6.21.0 eslint-visitor-keys: 3.4.3 dev: true @@ -8420,18 +8437,18 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@vitejs/plugin-react@4.2.1(vite@5.2.2): + /@vitejs/plugin-react@4.2.1(vite@5.2.8): resolution: {integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^4.2.0 || ^5.0.0 dependencies: - '@babel/core': 7.24.3 - '@babel/plugin-transform-react-jsx-self': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-react-jsx-source': 7.24.1(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/plugin-transform-react-jsx-self': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-react-jsx-source': 7.24.1(@babel/core@7.24.4) '@types/babel__core': 7.20.5 react-refresh: 0.14.0 - vite: 5.2.2(@types/node@18.19.28) + vite: 5.2.8(@types/node@18.19.31) transitivePeerDependencies: - supports-color dev: true @@ -8565,7 +8582,7 @@ packages: resolution: {integrity: sha512-3sRwuDTMy2GmD+44bhCTcBasCrjBexzYRzhxkmMrX49cpVDmQOH+4O7kX5OMRbmzMXe6Z5MsnxIlDlm3bJlcww==} engines: {node: '>=16.0.0'} dependencies: - '@babel/generator': 7.24.1 + '@babel/generator': 7.24.4 '@wyw-in-js/shared': 0.5.0 transitivePeerDependencies: - supports-color @@ -8586,16 +8603,16 @@ packages: resolution: {integrity: sha512-tpa2/FsB30fdXB1E+9MmfxQYbRgLv/+VMKzpBKNraDH39zwnA2eGGAEho5gpqK40cEV7NH6zhVbaBcEnV0HQyw==} engines: {node: '>=16.0.0'} dependencies: - '@babel/core': 7.24.3 - '@babel/generator': 7.24.1 + '@babel/core': 7.24.4 + '@babel/generator': 7.24.4 '@babel/helper-module-imports': 7.24.3 - '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.4) '@babel/template': 7.24.0 '@babel/traverse': 7.24.1 '@babel/types': 7.24.0 '@wyw-in-js/processor-utils': 0.5.0 '@wyw-in-js/shared': 0.5.0 - babel-merge: 3.0.0(@babel/core@7.24.3) + babel-merge: 3.0.0(@babel/core@7.24.4) cosmiconfig: 8.2.0 happy-dom: 12.10.3 source-map: 0.7.4 @@ -9340,34 +9357,34 @@ packages: resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} dev: true - /babel-core@7.0.0-bridge.0(@babel/core@7.24.3): + /babel-core@7.0.0-bridge.0(@babel/core@7.24.4): resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 dev: false - /babel-loader@9.1.3(@babel/core@7.24.3)(webpack@5.90.3): + /babel-loader@9.1.3(@babel/core@7.24.4)(webpack@5.90.3): resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} engines: {node: '>= 14.15.0'} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 webpack: '>=5' dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 find-cache-dir: 4.0.0 schema-utils: 4.2.0 webpack: 5.90.3(esbuild@0.19.11)(webpack-cli@5.1.4) dev: true - /babel-merge@3.0.0(@babel/core@7.24.3): + /babel-merge@3.0.0(@babel/core@7.24.4): resolution: {integrity: sha512-eBOBtHnzt9xvnjpYNI5HmaPp/b2vMveE5XggzqHnQeHJ8mFIBrBv6WZEVIj5jJ2uwTItkqKo9gWzEEcBxEq0yw==} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 deepmerge: 2.2.1 object.omit: 3.0.0 dev: false @@ -9394,7 +9411,7 @@ packages: resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} engines: {node: '>=10', npm: '>=6'} dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 cosmiconfig: 7.0.1 resolve: 1.22.8 @@ -9411,56 +9428,56 @@ packages: /babel-plugin-optimize-clsx@2.6.2: resolution: {integrity: sha512-TxgyjdVb7trTAsg/J5ByqJdbBPTYR8yaWLGQGpSxwygw8IFST5gEc1J9QktCGCHCb+69t04DWg9KOE0y2hN30w==} dependencies: - '@babel/generator': 7.24.1 + '@babel/generator': 7.24.4 '@babel/template': 7.24.0 '@babel/types': 7.24.0 find-cache-dir: 3.3.2 lodash: 4.17.21 object-hash: 2.2.0 - /babel-plugin-polyfill-corejs2@0.4.10(@babel/core@7.24.3): + /babel-plugin-polyfill-corejs2@0.4.10(@babel/core@7.24.4): resolution: {integrity: sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/compat-data': 7.24.1 - '@babel/core': 7.24.3 - '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3) + '@babel/compat-data': 7.24.4 + '@babel/core': 7.24.4 + '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.4) semver: 6.3.1 transitivePeerDependencies: - supports-color - /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.3): + /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.4): resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.4) core-js-compat: 3.36.1 transitivePeerDependencies: - supports-color - /babel-plugin-polyfill-regenerator@0.6.1(@babel/core@7.24.3): + /babel-plugin-polyfill-regenerator@0.6.1(@babel/core@7.24.4): resolution: {integrity: sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.4) transitivePeerDependencies: - supports-color /babel-plugin-react-remove-properties@0.3.0: resolution: {integrity: sha512-vbxegtXGyVcUkCvayLzftU95vuvpYFV85pRpeMpohMHeEY46Qe0VNWfkVVcCbaZ12CXHzDFOj0esumATcW83ng==} - /babel-plugin-tester@11.0.4(@babel/core@7.24.3): + /babel-plugin-tester@11.0.4(@babel/core@7.24.4): resolution: {integrity: sha512-cqswtpSPo0e++rZB0l/54EG17LL25l9gLgh59yXfnmNxX+2lZTIOpx2zt4YI9QIClVXc8xf63J6yWwKkzy0jNg==} engines: {node: ^14.20.0 || ^16.16.0 || >=18.5.0} peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 core-js: 3.32.1 debug: 4.3.4(supports-color@8.1.1) lodash.mergewith: 4.6.2 @@ -9470,10 +9487,10 @@ packages: - supports-color dev: true - /babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.24.3): + /babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.24.4): resolution: {integrity: sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==} dependencies: - '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.24.4) transitivePeerDependencies: - '@babel/core' dev: false @@ -10110,7 +10127,7 @@ packages: engines: {node: '>=12.13.0'} hasBin: true dependencies: - '@types/node': 18.19.28 + '@types/node': 18.19.31 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.4.2 @@ -10125,7 +10142,7 @@ packages: /chromium-edge-launcher@1.0.0: resolution: {integrity: sha512-pgtgjNKZ7i5U++1g1PWv75umkHvhVTDOQIZ+sjeUX9483S7Y6MUvO0lrd7ShGlQlFHMN4SwKTCq/X8hWrbv2KA==} dependencies: - '@types/node': 18.19.28 + '@types/node': 18.19.31 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.4.2 @@ -10814,7 +10831,7 @@ packages: /css-jss@10.10.0: resolution: {integrity: sha512-YyMIS/LsSKEGXEaVJdjonWe18p4vXLo8CMA4FrW/kcaEyqdIGKCFXao31gbJddXEdIxSXFFURWrenBJPlKTgAA==} dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 jss: 10.10.0 jss-preset-default: 10.10.0 dev: false @@ -10867,7 +10884,7 @@ packages: /css-vendor@2.0.8: resolution: {integrity: sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==} dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 is-in-browser: 1.1.3 dev: false @@ -11062,7 +11079,7 @@ packages: resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} engines: {node: '>=0.11'} dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 /date-format@4.0.13: resolution: {integrity: sha512-bnYCwf8Emc3pTD8pXnre+wfnjGtfi5ncMDKy7+cWZXbmRAsdWkOQHrfC1yz/KiwP5thDp2kCHWYWKBX4HP1hoQ==} @@ -11387,7 +11404,7 @@ packages: /dom-helpers@5.2.1: resolution: {integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==} dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 csstype: 3.1.3 dev: false @@ -11552,7 +11569,7 @@ packages: dependencies: '@types/cookie': 0.4.1 '@types/cors': 2.8.12 - '@types/node': 18.19.28 + '@types/node': 18.19.31 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.4.2 @@ -11912,13 +11929,13 @@ packages: dependencies: confusing-browser-globals: 1.0.11 eslint: 8.57.0 - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-webpack@0.13.8)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-webpack@0.13.8)(eslint@8.57.0) object.assign: 4.1.5 object.entries: 1.1.7 semver: 6.3.1 dev: true - /eslint-config-airbnb-typescript@17.1.0(@typescript-eslint/eslint-plugin@6.19.1)(@typescript-eslint/parser@6.19.1)(eslint-plugin-import@2.29.1)(eslint@8.57.0): + /eslint-config-airbnb-typescript@17.1.0(@typescript-eslint/eslint-plugin@6.21.0)(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0): resolution: {integrity: sha512-GPxI5URre6dDpJ0CtcthSZVBAfI+Uw7un5OYNVxP2EYi3H81Jw701yFP7AU+/vCE7xBtFmjge7kfhhk4+RAiig==} peerDependencies: '@typescript-eslint/eslint-plugin': ^5.13.0 || ^6.0.0 @@ -11926,11 +11943,11 @@ packages: eslint: ^7.32.0 || ^8.2.0 eslint-plugin-import: ^2.25.3 dependencies: - '@typescript-eslint/eslint-plugin': 6.19.1(@typescript-eslint/parser@6.19.1)(eslint@8.57.0)(typescript@5.4.3) - '@typescript-eslint/parser': 6.19.1(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.4) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.4) eslint: 8.57.0 eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.29.1)(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-webpack@0.13.8)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-webpack@0.13.8)(eslint@8.57.0) dev: true /eslint-config-airbnb@19.0.4(eslint-plugin-import@2.29.1)(eslint-plugin-jsx-a11y@6.7.1)(eslint-plugin-react-hooks@4.6.0)(eslint-plugin-react@7.34.1)(eslint@8.57.0): @@ -11945,7 +11962,7 @@ packages: dependencies: eslint: 8.57.0 eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.29.1)(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-webpack@0.13.8)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-webpack@0.13.8)(eslint@8.57.0) eslint-plugin-jsx-a11y: 6.7.1(eslint@8.57.0) eslint-plugin-react: 7.34.1(eslint@8.57.0) eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0) @@ -11982,7 +11999,7 @@ packages: array.prototype.find: 2.2.2 debug: 3.2.7 enhanced-resolve: 0.9.1 - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-webpack@0.13.8)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-webpack@0.13.8)(eslint@8.57.0) find-root: 1.1.0 hasown: 2.0.2 interpret: 1.4.0 @@ -11996,7 +12013,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.8)(eslint@8.57.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.8)(eslint@8.57.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -12017,7 +12034,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.19.1(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.4) debug: 3.2.7 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 @@ -12048,7 +12065,7 @@ packages: lodash.upperfirst: 4.3.1 dev: true - /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-webpack@0.13.8)(eslint@8.57.0): + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-webpack@0.13.8)(eslint@8.57.0): resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} engines: {node: '>=4'} peerDependencies: @@ -12058,7 +12075,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.19.1(eslint@8.57.0)(typescript@5.4.3) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.4) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 @@ -12067,7 +12084,7 @@ packages: doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.19.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.8)(eslint@8.57.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.8)(eslint@8.57.0) hasown: 2.0.2 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -12089,7 +12106,7 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 aria-query: 5.3.0 array-includes: 3.1.7 array.prototype.flatmap: 1.3.2 @@ -12654,7 +12671,7 @@ packages: resolution: {integrity: sha512-TL48Pi1oNHeMOHrKv1bCJUrWZDcD3DIG6AGYVNOnyZPr7Bd/pStN0pL+lfzF5BNoj/FclaoiaLenk4XUIFVYng==} engines: {node: '>=8'} dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 dev: false /finalhandler@1.1.2: @@ -14449,7 +14466,7 @@ packages: resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 6.3.1 @@ -14461,8 +14478,8 @@ packages: resolution: {integrity: sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.24.3 - '@babel/parser': 7.24.1 + '@babel/core': 7.24.4 + '@babel/parser': 7.24.4 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 6.3.1 @@ -14587,7 +14604,7 @@ packages: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 18.19.28 + '@types/node': 18.19.31 jest-mock: 29.7.0 jest-util: 29.7.0 dev: false @@ -14616,7 +14633,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 18.19.28 + '@types/node': 18.19.31 jest-util: 29.7.0 dev: false @@ -14625,7 +14642,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 18.19.28 + '@types/node': 18.19.31 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -14648,7 +14665,7 @@ packages: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 18.19.28 + '@types/node': 18.19.31 merge-stream: 2.0.0 supports-color: 7.2.0 dev: true @@ -14657,7 +14674,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 18.19.28 + '@types/node': 18.19.31 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -14665,14 +14682,14 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 18.19.28 + '@types/node': 18.19.31 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 dev: false - /jiti@1.19.1: - resolution: {integrity: sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==} + /jiti@1.21.0: + resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} hasBin: true dev: true @@ -14726,7 +14743,7 @@ packages: jscodeshift: ^0.7.0 || ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 dependencies: '@babel/traverse': 7.24.1 - jscodeshift: 0.13.1(@babel/preset-env@7.24.3) + jscodeshift: 0.13.1(@babel/preset-env@7.24.4) jscodeshift-find-imports: 2.0.4(jscodeshift@0.13.1) transitivePeerDependencies: - supports-color @@ -14737,26 +14754,26 @@ packages: peerDependencies: jscodeshift: ^0.7.0 || ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 dependencies: - jscodeshift: 0.13.1(@babel/preset-env@7.24.3) + jscodeshift: 0.13.1(@babel/preset-env@7.24.4) dev: false - /jscodeshift@0.13.1(@babel/preset-env@7.24.3): + /jscodeshift@0.13.1(@babel/preset-env@7.24.4): resolution: {integrity: sha512-lGyiEbGOvmMRKgWk4vf+lUrCWO/8YR8sUR3FKF1Cq5fovjZDlIcw3Hu5ppLHAnEXshVffvaM0eyuY/AbOeYpnQ==} hasBin: true peerDependencies: - '@babel/preset-env': ^7.23.9 - dependencies: - '@babel/core': 7.24.3 - '@babel/parser': 7.24.1 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.3) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.24.3) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.3) - '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3) - '@babel/preset-env': 7.24.3(@babel/core@7.24.3) - '@babel/preset-flow': 7.24.1(@babel/core@7.24.3) - '@babel/preset-typescript': 7.24.1(@babel/core@7.24.3) - '@babel/register': 7.23.7(@babel/core@7.24.3) - babel-core: 7.0.0-bridge.0(@babel/core@7.24.3) + '@babel/preset-env': ^7.24.4 + dependencies: + '@babel/core': 7.24.4 + '@babel/parser': 7.24.4 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.4) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.24.4) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.4) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.4) + '@babel/preset-env': 7.24.4(@babel/core@7.24.4) + '@babel/preset-flow': 7.24.1(@babel/core@7.24.4) + '@babel/preset-typescript': 7.24.1(@babel/core@7.24.4) + '@babel/register': 7.23.7(@babel/core@7.24.4) + babel-core: 7.0.0-bridge.0(@babel/core@7.24.4) chalk: 4.1.2 flow-parser: 0.206.0 graceful-fs: 4.2.11 @@ -14770,23 +14787,23 @@ packages: - supports-color dev: false - /jscodeshift@0.14.0(@babel/preset-env@7.24.3): + /jscodeshift@0.14.0(@babel/preset-env@7.24.4): resolution: {integrity: sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==} hasBin: true peerDependencies: - '@babel/preset-env': ^7.23.9 - dependencies: - '@babel/core': 7.24.3 - '@babel/parser': 7.24.1 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.3) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.24.3) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.3) - '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3) - '@babel/preset-env': 7.24.3(@babel/core@7.24.3) - '@babel/preset-flow': 7.24.1(@babel/core@7.24.3) - '@babel/preset-typescript': 7.24.1(@babel/core@7.24.3) - '@babel/register': 7.23.7(@babel/core@7.24.3) - babel-core: 7.0.0-bridge.0(@babel/core@7.24.3) + '@babel/preset-env': ^7.24.4 + dependencies: + '@babel/core': 7.24.4 + '@babel/parser': 7.24.4 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.4) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.24.4) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.4) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.4) + '@babel/preset-env': 7.24.4(@babel/core@7.24.4) + '@babel/preset-flow': 7.24.1(@babel/core@7.24.4) + '@babel/preset-typescript': 7.24.1(@babel/core@7.24.4) + '@babel/register': 7.23.7(@babel/core@7.24.4) + babel-core: 7.0.0-bridge.0(@babel/core@7.24.4) chalk: 4.1.2 flow-parser: 0.206.0 graceful-fs: 4.2.11 @@ -14937,7 +14954,7 @@ packages: /jss-plugin-camel-case@10.10.0: resolution: {integrity: sha512-z+HETfj5IYgFxh1wJnUAU8jByI48ED+v0fuTuhKrPR+pRBYS2EDwbusU8aFOpCdYhtRc9zhN+PJ7iNE8pAWyPw==} dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 hyphenate-style-name: 1.0.4 jss: 10.10.0 dev: false @@ -14945,7 +14962,7 @@ packages: /jss-plugin-compose@10.10.0: resolution: {integrity: sha512-F5kgtWpI2XfZ3Z8eP78tZEYFdgTIbpA/TMuX3a8vwrNolYtN1N4qJR/Ob0LAsqIwCMLojtxN7c7Oo/+Vz6THow==} dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 jss: 10.10.0 tiny-warning: 1.0.3 dev: false @@ -14953,21 +14970,21 @@ packages: /jss-plugin-default-unit@10.10.0: resolution: {integrity: sha512-SvpajxIECi4JDUbGLefvNckmI+c2VWmP43qnEy/0eiwzRUsafg5DVSIWSzZe4d2vFX1u9nRDP46WCFV/PXVBGQ==} dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 jss: 10.10.0 dev: false /jss-plugin-expand@10.10.0: resolution: {integrity: sha512-ymT62W2OyDxBxr7A6JR87vVX9vTq2ep5jZLIdUSusfBIEENLdkkc0lL/Xaq8W9s3opUq7R0sZQpzRWELrfVYzA==} dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 jss: 10.10.0 dev: false /jss-plugin-extend@10.10.0: resolution: {integrity: sha512-sKYrcMfr4xxigmIwqTjxNcHwXJIfvhvjTNxF+Tbc1NmNdyspGW47Ey6sGH8BcQ4FFQhLXctpWCQSpDwdNmXSwg==} dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 jss: 10.10.0 tiny-warning: 1.0.3 dev: false @@ -14975,14 +14992,14 @@ packages: /jss-plugin-global@10.10.0: resolution: {integrity: sha512-icXEYbMufiNuWfuazLeN+BNJO16Ge88OcXU5ZDC2vLqElmMybA31Wi7lZ3lf+vgufRocvPj8443irhYRgWxP+A==} dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 jss: 10.10.0 dev: false /jss-plugin-nested@10.10.0: resolution: {integrity: sha512-9R4JHxxGgiZhurDo3q7LdIiDEgtA1bTGzAbhSPyIOWb7ZubrjQe8acwhEQ6OEKydzpl8XHMtTnEwHXCARLYqYA==} dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 jss: 10.10.0 tiny-warning: 1.0.3 dev: false @@ -14990,14 +15007,14 @@ packages: /jss-plugin-props-sort@10.10.0: resolution: {integrity: sha512-5VNJvQJbnq/vRfje6uZLe/FyaOpzP/IH1LP+0fr88QamVrGJa0hpRRyAa0ea4U/3LcorJfBFVyC4yN2QC73lJg==} dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 jss: 10.10.0 dev: false /jss-plugin-rule-value-function@10.10.0: resolution: {integrity: sha512-uEFJFgaCtkXeIPgki8ICw3Y7VMkL9GEan6SqmT9tqpwM+/t+hxfMUdU4wQ0MtOiMNWhwnckBV0IebrKcZM9C0g==} dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 jss: 10.10.0 tiny-warning: 1.0.3 dev: false @@ -15005,7 +15022,7 @@ packages: /jss-plugin-rule-value-observable@10.10.0: resolution: {integrity: sha512-ZLMaYrR3QE+vD7nl3oNXuj79VZl9Kp8/u6A1IbTPDcuOu8b56cFdWRZNZ0vNr8jHewooEeq2doy8Oxtymr2ZPA==} dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 jss: 10.10.0 symbol-observable: 1.2.0 dev: false @@ -15013,7 +15030,7 @@ packages: /jss-plugin-template@10.10.0: resolution: {integrity: sha512-ocXZBIOJOA+jISPdsgkTs8wwpK6UbsvtZK5JI7VUggTD6LWKbtoxUzadd2TpfF+lEtlhUmMsCkTRNkITdPKa6w==} dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 jss: 10.10.0 tiny-warning: 1.0.3 dev: false @@ -15021,7 +15038,7 @@ packages: /jss-plugin-vendor-prefixer@10.10.0: resolution: {integrity: sha512-UY/41WumgjW8r1qMCO8l1ARg7NHnfRVWRhZ2E2m0DMYsr2DD91qIXLyNhiX83hHswR7Wm4D+oDYNC1zWCJWtqg==} dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 css-vendor: 2.0.8 jss: 10.10.0 dev: false @@ -15029,7 +15046,7 @@ packages: /jss-preset-default@10.10.0: resolution: {integrity: sha512-GL175Wt2FGhjE+f+Y3aWh+JioL06/QWFgZp53CbNNq6ZkVU0TDplD8Bxm9KnkotAYn3FlplNqoW5CjyLXcoJ7Q==} dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 jss: 10.10.0 jss-plugin-camel-case: 10.10.0 jss-plugin-compose: 10.10.0 @@ -15057,7 +15074,7 @@ packages: /jss@10.10.0: resolution: {integrity: sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw==} dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 csstype: 3.1.3 is-in-browser: 1.1.3 tiny-warning: 1.0.3 @@ -15346,7 +15363,7 @@ packages: strong-log-transformer: 2.1.0 tar: 6.1.11 temp-dir: 1.0.0 - typescript: 5.4.3 + typescript: 5.4.4 upath: 2.0.1 uuid: 9.0.1 validate-npm-package-license: 3.0.4 @@ -15866,8 +15883,8 @@ packages: uc.micro: 2.0.0 dev: true - /markdown-to-jsx@7.4.5(react@18.2.0): - resolution: {integrity: sha512-c8NB0H/ig+FOWssE9be0PKsYbCDhcWEkicxMnpdfUuHbFljnen4LAdgUShOyR/PgO3/qKvt9cwfQ0U/zQvZ44A==} + /markdown-to-jsx@7.4.6(react@18.2.0): + resolution: {integrity: sha512-3cyNxI/PwotvYkjg6KmFaN1uyN/7NqETteD2DobBB8ro/FR9jsHIh4Fi7ywAz0s9QHRKCmGlOUggs5GxSWACKA==} engines: {node: '>= 10'} peerDependencies: react: '>= 0.14.0' @@ -15918,21 +15935,20 @@ packages: resolution: {integrity: sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==} dev: false - /material-ui-popup-state@5.0.10(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-gd0DI8skwCSdth/j/yndoIwNkS2eDusosTe5hyPZ3jbrMzDkbQBs+tBbwapQ9hLfgiVLwICd1mwyerUV9Y5Elw==} + /material-ui-popup-state@5.1.0(@mui/material@packages+mui-material+build)(react@18.2.0): + resolution: {integrity: sha512-kG0xGqdPx3WM6AYnq0h7hCb3gk2M1FM/G/NFQN+HahcyABxCx3EFzLj5mdJICu2NYj0etZ2s7VDhAbrAezkxYg==} + engines: {node: '>=16'} peerDependencies: + '@mui/material': ^5.0.0 react: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.24.1 - '@mui/material': 5.15.4(@emotion/react@11.11.4)(@emotion/styled@11.11.0)(@types/react@18.2.55)(react-dom@18.2.0)(react@18.2.0) + '@babel/runtime': 7.24.4 + '@mui/material': link:packages/mui-material/build + '@types/prop-types': 15.7.12 + '@types/react': 18.2.55 classnames: 2.3.2 prop-types: 15.8.1 react: 18.2.0 - transitivePeerDependencies: - - '@emotion/react' - - '@emotion/styled' - - '@types/react' - - react-dom dev: false /mathml-tag-names@2.1.3: @@ -16056,7 +16072,7 @@ packages: resolution: {integrity: sha512-b773yA16DsDQiM4OOzCsr1gwEd+iio9au98o3bj7F/bxVyoz1LuYox06BIdsiLL1o4kV5VtzTu3UXSJ2X0ZGXg==} engines: {node: '>=18'} dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 hermes-parser: 0.20.1 nullthrows: 1.1.1 transitivePeerDependencies: @@ -16138,7 +16154,7 @@ packages: resolution: {integrity: sha512-gWqzfm9YQw9I08L23hcLmY7XNx48W0c0vLEkVEF5P7ZNIOSfX9CkEv0JvTTJWshRYkbgIqsdtpMAHq13LJJ6iA==} engines: {node: '>=18'} dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 dev: false /metro-source-map@0.80.7: @@ -16176,8 +16192,8 @@ packages: resolution: {integrity: sha512-ENGvQF7wZCtn2rO6jwsYy3XRSPrlm0G/1TgDC8AXdvz0yjfAe1ODSCYWxP8S3JXfjKL5m3b6j9RsV8sQIxsUjQ==} engines: {node: '>=18'} dependencies: - '@babel/core': 7.24.3 - '@babel/generator': 7.24.1 + '@babel/core': 7.24.4 + '@babel/generator': 7.24.4 '@babel/template': 7.24.0 '@babel/traverse': 7.24.1 nullthrows: 1.1.1 @@ -16189,9 +16205,9 @@ packages: resolution: {integrity: sha512-QcgKpx3WZo71jTtXMEeeFuGpA+nG8YuWjxPTIsIYTjgDxcArS8zDDRzS18mmYkP65yyzH4dT94B1FJH9+flRag==} engines: {node: '>=18'} dependencies: - '@babel/core': 7.24.3 - '@babel/generator': 7.24.1 - '@babel/parser': 7.24.1 + '@babel/core': 7.24.4 + '@babel/generator': 7.24.4 + '@babel/parser': 7.24.4 '@babel/types': 7.24.0 metro: 0.80.7 metro-babel-transformer: 0.80.7 @@ -16214,9 +16230,9 @@ packages: hasBin: true dependencies: '@babel/code-frame': 7.24.2 - '@babel/core': 7.24.3 - '@babel/generator': 7.24.1 - '@babel/parser': 7.24.1 + '@babel/core': 7.24.4 + '@babel/generator': 7.24.4 + '@babel/parser': 7.24.4 '@babel/template': 7.24.0 '@babel/traverse': 7.24.1 '@babel/types': 7.24.0 @@ -16525,8 +16541,8 @@ packages: ufo: 1.4.0 dev: true - /mocha@10.3.0: - resolution: {integrity: sha512-uF2XJs+7xSLsrmIvn37i/wnc91nw7XjOQB8ccyx5aEgdnohr7n+rEiZP23WkCYHjilR6+EboEnbq/ZQDz4LSbg==} + /mocha@10.4.0: + resolution: {integrity: sha512-eqhGB8JKapEYcC4ytX/xrzKforgEc3j1pGlAXVy3eRwrtAy5/nIfT1SvgGzfN0XZZxeLq0aQWkOUAmqIJiv+bA==} engines: {node: '>= 14.0.0'} hasBin: true dependencies: @@ -16667,7 +16683,7 @@ packages: resolution: {integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==} dev: true - /next@13.5.1(@babel/core@7.24.3)(babel-plugin-macros@3.1.0)(react-dom@18.2.0)(react@18.2.0): + /next@13.5.1(@babel/core@7.24.4)(babel-plugin-macros@3.1.0)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-GIudNR7ggGUZoIL79mSZcxbXK9f5pwAIPZxEM8+j2yLqv5RODg4TkmUlaKSYVqE1bPQueamXSqdC3j7axiTSEg==} engines: {node: '>=16.14.0'} hasBin: true @@ -16689,7 +16705,7 @@ packages: postcss: 8.4.14 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(@babel/core@7.24.3)(babel-plugin-macros@3.1.0)(react@18.2.0) + styled-jsx: 5.1.1(@babel/core@7.24.4)(babel-plugin-macros@3.1.0)(react@18.2.0) watchpack: 2.4.0 zod: 3.21.4 optionalDependencies: @@ -16706,7 +16722,7 @@ packages: - '@babel/core' - babel-plugin-macros - /next@14.1.4(@babel/core@7.24.3)(babel-plugin-macros@3.1.0)(react-dom@18.2.0)(react@18.2.0): + /next@14.1.4(@babel/core@7.24.4)(babel-plugin-macros@3.1.0)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-1WTaXeSrUwlz/XcnhGTY7+8eiaFvdet5z9u3V2jb+Ek1vFo0VhHKSAIJvDWfQpttWjnyw14kBeq28TPq7bTeEQ==} engines: {node: '>=18.17.0'} hasBin: true @@ -16729,7 +16745,7 @@ packages: postcss: 8.4.31 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(@babel/core@7.24.3)(babel-plugin-macros@3.1.0)(react@18.2.0) + styled-jsx: 5.1.1(@babel/core@7.24.4)(babel-plugin-macros@3.1.0)(react@18.2.0) optionalDependencies: '@next/swc-darwin-arm64': 14.1.4 '@next/swc-darwin-x64': 14.1.4 @@ -17969,17 +17985,17 @@ packages: resolution: {integrity: sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==} dev: false - /playwright-core@1.42.1: - resolution: {integrity: sha512-mxz6zclokgrke9p1vtdy/COWBH+eOZgYUVVU34C73M+4j4HLlQJHtfcqiqqxpP0o8HhMkflvfbquLX5dg6wlfA==} + /playwright-core@1.43.0: + resolution: {integrity: sha512-iWFjyBUH97+pUFiyTqSLd8cDMMOS0r2ZYz2qEsPjH8/bX++sbIJT35MSwKnp1r/OQBAqC5XO99xFbJ9XClhf4w==} engines: {node: '>=16'} hasBin: true - /playwright@1.42.1: - resolution: {integrity: sha512-PgwB03s2DZBcNRoW+1w9E+VkLBxweib6KTXM0M3tkiT4jVxKSi6PmVJ591J+0u10LUrgxB7dLRbiJqO5s2QPMg==} + /playwright@1.43.0: + resolution: {integrity: sha512-SiOKHbVjTSf6wHuGCbqrEyzlm6qvXcv7mENP+OZon1I07brfZLGdfWV0l/efAzVx7TF3Z45ov1gPEkku9q25YQ==} engines: {node: '>=16'} hasBin: true dependencies: - playwright-core: 1.42.1 + playwright-core: 1.43.0 optionalDependencies: fsevents: 2.3.2 @@ -18133,7 +18149,7 @@ packages: postcss: ^8.4.21 dependencies: postcss: 8.4.38 - typescript: 5.4.3 + typescript: 5.4.4 dev: true /postcss-value-parser@4.2.0: @@ -18577,9 +18593,9 @@ packages: engines: {node: '>=8.10.0'} hasBin: true dependencies: - '@babel/core': 7.24.3 - '@babel/generator': 7.24.1 - '@babel/runtime': 7.24.1 + '@babel/core': 7.24.4 + '@babel/generator': 7.24.4 + '@babel/runtime': 7.24.4 ast-types: 0.14.2 commander: 2.20.3 doctrine: 3.0.0 @@ -18617,7 +18633,7 @@ packages: peerDependencies: react: '>=16.13.1' dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 react: 18.2.0 dev: false @@ -18626,7 +18642,7 @@ packages: peerDependencies: react: ^16.3.0 dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 prop-types: 15.8.1 react: 18.2.0 warning: 4.0.3 @@ -18642,7 +18658,7 @@ packages: final-form: ^4.20.4 react: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 final-form: 4.20.10 react: 18.2.0 dev: false @@ -18685,7 +18701,7 @@ packages: peerDependencies: react: '>=16.8.6' dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 '@emotion/is-prop-valid': 0.7.3 css-jss: 10.10.0 hoist-non-react-statics: 3.3.2 @@ -18715,7 +18731,7 @@ packages: scheduler: 0.23.0 dev: false - /react-native@0.73.6(@babel/core@7.24.3)(@babel/preset-env@7.24.3)(react@18.2.0): + /react-native@0.73.6(@babel/core@7.24.4)(@babel/preset-env@7.24.4)(react@18.2.0): resolution: {integrity: sha512-oqmZe8D2/VolIzSPZw+oUd6j/bEmeRHwsLn1xLA5wllEYsZ5zNuMsDus235ONOnCRwexqof/J3aztyQswSmiaA==} engines: {node: '>=18'} hasBin: true @@ -18727,8 +18743,8 @@ packages: '@react-native-community/cli-platform-android': 12.3.6 '@react-native-community/cli-platform-ios': 12.3.6 '@react-native/assets-registry': 0.73.1 - '@react-native/codegen': 0.73.3(@babel/preset-env@7.24.3) - '@react-native/community-cli-plugin': 0.73.17(@babel/core@7.24.3)(@babel/preset-env@7.24.3) + '@react-native/codegen': 0.73.3(@babel/preset-env@7.24.4) + '@react-native/community-cli-plugin': 0.73.17(@babel/core@7.24.4)(@babel/preset-env@7.24.4) '@react-native/gradle-plugin': 0.73.4 '@react-native/js-polyfills': 0.73.1 '@react-native/normalize-colors': 0.73.2 @@ -18770,8 +18786,8 @@ packages: - utf-8-validate dev: false - /react-number-format@5.3.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-maGHWmOvwYzyeRIpL0YC6drWqYaX6iFqjisdJXpZ+HzEtSEJsL6nqw4azTpF5Sm6SAvwUeAr7JY924Ebqq8EdA==} + /react-number-format@5.3.4(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-2hHN5mbLuCDUx19bv0Q8wet67QqYK6xmtLQeY5xx+h7UXiMmRtaCwqko4mMPoKXLc6xAzwRrutg8XbTRlsfjRg==} peerDependencies: react: ^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 react-dom: ^0.14 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 @@ -18823,7 +18839,7 @@ packages: redux: optional: true dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 '@types/hoist-non-react-statics': 3.3.5 '@types/react': 18.2.55 '@types/use-sync-external-store': 0.0.3 @@ -18839,26 +18855,17 @@ packages: resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==} engines: {node: '>=0.10.0'} - /react-router-dom@6.22.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-iwMyyyrbL7zkKY7MRjOVRy+TMnS/OPusaFVxM2P11x9dzSzGmLsebkCvYirGq0DWB9K9hOspHYYtDz33gE5Duw==} + /react-router-dom@6.22.3(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-7ZILI7HjcE+p31oQvwbokjk6OA/bnFxrhJ19n82Ex9Ph8fNAq+Hm/7KchpMGlTgWhUxRHMMCut+vEtNpWpowKw==} engines: {node: '>=14.0.0'} peerDependencies: react: '>=16.8' react-dom: '>=16.8' dependencies: - '@remix-run/router': 1.15.1 + '@remix-run/router': 1.15.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-router: 6.22.1(react@18.2.0) - - /react-router@6.22.1(react@18.2.0): - resolution: {integrity: sha512-0pdoRGwLtemnJqn1K0XHUbnKiX0S4X8CgvVVmHGOWmofESj31msHo/1YiqcJWK7Wxfq2a4uvvtS01KAQyWK/CQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - react: '>=16.8' - dependencies: - '@remix-run/router': 1.15.1 - react: 18.2.0 + react-router: 6.22.3(react@18.2.0) /react-router@6.22.3(react@18.2.0): resolution: {integrity: sha512-dr2eb3Mj5zK2YISHK++foM9w4eBnO23eKnZEDs7c880P6oKbrjz/Svg9+nxqtHQK+oMW4OtjZca0RqPglXxguQ==} @@ -18868,7 +18875,6 @@ packages: dependencies: '@remix-run/router': 1.15.3 react: 18.2.0 - dev: false /react-runner@1.0.3(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-KyAzNzSVdrBc4A7aGW3FD0wVuujfgcBlyIGF0QVicJu0ucMpLYyTHE+PgBu82Iq698TPKRH+eEi6Mrq/e7OffA==} @@ -18928,7 +18934,7 @@ packages: resolution: {integrity: sha512-0W/e9uPweNEOSPjmYtuKSC/SvKKg1sfo+WtPdnxeLF3t2L82h7jjszuOHz9C23fzkvLfdgkaOmcbAxE9w2GEjA==} engines: {node: '>=6.0.0'} dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 warning: 4.0.3 dev: false @@ -18936,7 +18942,7 @@ packages: resolution: {integrity: sha512-W+fXBOsDqgFK1/g7MzRMVcDurp3LqO3ksC8UgInh2P/tKgb5DusuuB1geKHFc6o1wKl+4oyER4Zh3Lxmr8xbXA==} engines: {node: '>=6.0.0'} dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 keycode: 2.2.1 prop-types: 15.8.1 react-event-listener: 0.6.6(react@18.2.0) @@ -18952,7 +18958,7 @@ packages: peerDependencies: react: ^15.3.0 || ^16.0.0 || ^17.0.0 dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 prop-types: 15.8.1 react: 18.2.0 react-swipeable-views-core: 0.14.0 @@ -18976,7 +18982,7 @@ packages: react: '>=16.6.0' react-dom: '>=16.6.0' dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 @@ -18995,8 +19001,8 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /react-virtuoso@4.7.2(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-xF4es1ajK36Hs9MciaiGA9l16tV2bpkpgxM9JVKh0rJSn6uhdAUrxSQ6FttQOOPAGt4GRG2A4gdjlo18JWhyRw==} + /react-virtuoso@4.7.8(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-P0BHOsLrmfnXv1bY9Nja07nvFciRGNgM7lTRHMcVDteTDb9tLtHzajBapKGUZ5zdyUOEVWvuW6ufQxzdGN2AKw==} engines: {node: '>=10'} peerDependencies: react: '>=16 || >=17 || >= 18' @@ -19013,7 +19019,7 @@ packages: react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 react-dom: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 memoize-one: 5.2.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -19244,7 +19250,7 @@ packages: /redux@4.2.1: resolution: {integrity: sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==} dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 dev: false /reflect.getprototypeof@1.0.4: @@ -19280,7 +19286,7 @@ packages: /regenerator-transform@0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 /regex-not@1.0.2: resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} @@ -19537,14 +19543,14 @@ packages: dependencies: glob: 10.3.10 - /rollup-plugin-babel@4.4.0(@babel/core@7.24.3)(rollup@3.29.4): + /rollup-plugin-babel@4.4.0(@babel/core@7.24.4)(rollup@3.29.4): resolution: {integrity: sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw==} deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-babel. peerDependencies: - '@babel/core': ^7.23.9 + '@babel/core': ^7.24.4 rollup: '>=0.60.0 <3' dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-module-imports': 7.24.3 rollup: 3.29.4 rollup-pluginutils: 2.8.2 @@ -19652,7 +19658,7 @@ packages: /rtl-css-js@1.16.0: resolution: {integrity: sha512-Oc7PnzwIEU4M0K1J4h/7qUUaljXhQ0kCObRsZjxs2HjkpKsnoTMvSmvJ4sqgJZd0zBoEfAyTdnK/jMIYvrjySQ==} dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 dev: false /run-async@2.4.1: @@ -20589,7 +20595,7 @@ packages: stylis: 4.3.1 tslib: 2.5.0 - /styled-jsx@5.1.1(@babel/core@7.24.3)(babel-plugin-macros@3.1.0)(react@18.2.0): + /styled-jsx@5.1.1(@babel/core@7.24.4)(babel-plugin-macros@3.1.0)(react@18.2.0): resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: @@ -20602,7 +20608,7 @@ packages: babel-plugin-macros: optional: true dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 babel-plugin-macros: 3.1.0 client-only: 0.0.1 react: 18.2.0 @@ -20647,7 +20653,7 @@ packages: /stylelint-processor-styled-components@1.10.0: resolution: {integrity: sha512-g4HpN9rm0JD0LoHuIOcd/FIjTZCJ0ErQ+dC3VTxp+dSvnkV+MklKCCmCQEdz5K5WxF4vPuzfVgdbSDuPYGZhoA==} dependencies: - '@babel/parser': 7.24.1 + '@babel/parser': 7.24.4 '@babel/traverse': 7.24.1 micromatch: 4.0.5 postcss: 7.0.39 @@ -20837,8 +20843,8 @@ packages: strip-ansi: 6.0.1 dev: true - /tailwindcss@3.4.1: - resolution: {integrity: sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==} + /tailwindcss@3.4.3: + resolution: {integrity: sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==} engines: {node: '>=14.0.0'} hasBin: true dependencies: @@ -20850,7 +20856,7 @@ packages: fast-glob: 3.3.2 glob-parent: 6.0.2 is-glob: 4.0.3 - jiti: 1.19.1 + jiti: 1.21.0 lilconfig: 2.1.0 micromatch: 4.0.5 normalize-path: 3.0.0 @@ -21183,13 +21189,13 @@ packages: resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} dev: false - /ts-api-utils@1.0.1(typescript@5.4.3): + /ts-api-utils@1.0.1(typescript@5.4.4): resolution: {integrity: sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==} engines: {node: '>=16.13.0'} peerDependencies: typescript: '>=4.2.0' dependencies: - typescript: 5.4.3 + typescript: 5.4.4 dev: true /ts-interface-checker@0.1.13: @@ -21235,7 +21241,7 @@ packages: engines: {node: '>=0.6.x'} dev: false - /tsup@8.0.2(postcss@8.4.38)(typescript@5.4.3): + /tsup@8.0.2(postcss@8.4.38)(typescript@5.4.4): resolution: {integrity: sha512-NY8xtQXdH7hDUAZwcQdY/Vzlw9johQsaqf7iwZ6g1DOUlFYQ5/AtVAjTvihhEyeRlGo4dLRVHtrRaL35M1daqQ==} engines: {node: '>=18'} hasBin: true @@ -21269,14 +21275,14 @@ packages: source-map: 0.8.0-beta.0 sucrase: 3.34.0 tree-kill: 1.2.2 - typescript: 5.4.3 + typescript: 5.4.4 transitivePeerDependencies: - supports-color - ts-node dev: true - /tsx@4.7.1: - resolution: {integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==} + /tsx@4.7.2: + resolution: {integrity: sha512-BCNd4kz6fz12fyrgCTEdZHGJ9fWTGeUzXmQysh0RVocDY3h4frk05ZNCXSy4kIenF7y/QnrdiVpTsyNRn6vlAw==} engines: {node: '>=18.0.0'} hasBin: true dependencies: @@ -21427,8 +21433,8 @@ packages: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} dev: true - /typescript@5.4.3: - resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==} + /typescript@5.4.4: + resolution: {integrity: sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw==} engines: {node: '>=14.17'} hasBin: true @@ -21775,8 +21781,8 @@ packages: vfile-message: 2.0.4 dev: false - /vite-plugin-pages@0.32.0(vite@5.2.2): - resolution: {integrity: sha512-OxS3n0zUo5wsfgNCAuw2FiG/KD1ipgQV+2Flst4RyeI2iPv+m0YueVq+nx41k5NOWJj/zhqEas6I0b7HXveXjA==} + /vite-plugin-pages@0.32.1(vite@5.2.8): + resolution: {integrity: sha512-4oPlIbb+J+zpJGfT2xI/27xqY+qTkRc3MBgWKfbW6IWM3CTcSyybuL9kRMCFRdBHfmgkF28qDs7fqVf/HjH1Xw==} peerDependencies: '@vue/compiler-sfc': ^2.7.0 || ^3.0.0 vite: ^2.0.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0 @@ -21792,18 +21798,18 @@ packages: json5: 2.2.3 local-pkg: 0.5.0 picocolors: 1.0.0 - vite: 5.2.2(@types/node@18.19.28) + vite: 5.2.8(@types/node@18.19.31) yaml: 2.4.1 transitivePeerDependencies: - supports-color dev: true - /vite@5.2.2(@types/node@18.19.28): - resolution: {integrity: sha512-FWZbz0oSdLq5snUI0b6sULbz58iXFXdvkZfZWR/F0ZJuKTSPO7v72QPXt6KqYeMFb0yytNp6kZosxJ96Nr/wDQ==} + /vite@5.2.8(@types/node@18.19.31): + resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: - '@types/node': ^18.19.28 + '@types/node': ^18.19.31 less: '*' lightningcss: ^1.21.0 sass: '*' @@ -21826,7 +21832,7 @@ packages: terser: optional: true dependencies: - '@types/node': 18.19.28 + '@types/node': 18.19.31 esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.13.0 @@ -22484,16 +22490,16 @@ packages: peerDependencies: react: ^17.0.0 || ^18.0.0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-module-imports': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/parser': 7.24.1 + '@babel/parser': 7.24.4 '@babel/types': 7.24.0 '@emotion/css': 11.11.2 '@emotion/is-prop-valid': 1.2.2 '@emotion/react': 11.11.4(@types/react@18.2.55)(react@18.2.0) - '@emotion/serialize': 1.1.3 - '@emotion/styled': 11.11.0(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) + '@emotion/serialize': 1.1.4 + '@emotion/styled': 11.11.5(@emotion/react@11.11.4)(@types/react@18.2.55)(react@18.2.0) '@mui/system': link:packages/mui-system/build '@wyw-in-js/processor-utils': 0.5.0 '@wyw-in-js/shared': 0.5.0 diff --git a/test/bundling/fixtures/create-react-app/package.json b/test/bundling/fixtures/create-react-app/package.json index c5cfabb1f6c3ae..f576760bfb700c 100644 --- a/test/bundling/fixtures/create-react-app/package.json +++ b/test/bundling/fixtures/create-react-app/package.json @@ -25,7 +25,7 @@ "devDependencies": { "concurrently": "7.4.0", "cross-env": "7.0.3", - "playwright": "1.42.1", + "playwright": "1.43.0", "serve": "14.0.1" }, "browserslist": { diff --git a/test/bundling/fixtures/esbuild/package.json b/test/bundling/fixtures/esbuild/package.json index b4d19f0ee05829..78cb20425e6c5b 100644 --- a/test/bundling/fixtures/esbuild/package.json +++ b/test/bundling/fixtures/esbuild/package.json @@ -25,7 +25,7 @@ }, "devDependencies": { "concurrently": "7.4.0", - "playwright": "1.42.1", + "playwright": "1.43.0", "serve": "14.0.1" } } diff --git a/test/bundling/fixtures/gatsby/package.json b/test/bundling/fixtures/gatsby/package.json index 712e24e04d31d7..26cfb6a4ad426c 100644 --- a/test/bundling/fixtures/gatsby/package.json +++ b/test/bundling/fixtures/gatsby/package.json @@ -23,6 +23,6 @@ }, "devDependencies": { "concurrently": "7.4.0", - "playwright": "1.42.1" + "playwright": "1.43.0" } } diff --git a/test/bundling/fixtures/next-webpack4/package.json b/test/bundling/fixtures/next-webpack4/package.json index f6d4ab868517b3..e1eed0558d467c 100644 --- a/test/bundling/fixtures/next-webpack4/package.json +++ b/test/bundling/fixtures/next-webpack4/package.json @@ -23,6 +23,6 @@ }, "devDependencies": { "concurrently": "7.4.0", - "playwright": "1.42.1" + "playwright": "1.43.0" } } diff --git a/test/bundling/fixtures/next-webpack5/package.json b/test/bundling/fixtures/next-webpack5/package.json index 65f197ec50f422..89418e1e310ef0 100644 --- a/test/bundling/fixtures/next-webpack5/package.json +++ b/test/bundling/fixtures/next-webpack5/package.json @@ -23,6 +23,6 @@ }, "devDependencies": { "concurrently": "7.4.0", - "playwright": "1.42.1" + "playwright": "1.43.0" } } diff --git a/test/bundling/fixtures/snowpack/package.json b/test/bundling/fixtures/snowpack/package.json index 697bea33ec61a5..d1e54da1e01734 100644 --- a/test/bundling/fixtures/snowpack/package.json +++ b/test/bundling/fixtures/snowpack/package.json @@ -24,7 +24,7 @@ }, "devDependencies": { "concurrently": "7.4.0", - "playwright": "1.42.1", + "playwright": "1.43.0", "serve": "14.0.1" } } diff --git a/test/bundling/fixtures/vite/package.json b/test/bundling/fixtures/vite/package.json index 40b4108a0151b6..948d209ed8c5ff 100644 --- a/test/bundling/fixtures/vite/package.json +++ b/test/bundling/fixtures/vite/package.json @@ -20,11 +20,11 @@ "react": "18.2.0", "react-dom": "18.2.0", "react-is": "18.2.0", - "vite": "3.2.8" + "vite": "3.2.10" }, "devDependencies": { "concurrently": "7.4.0", - "playwright": "1.42.1", + "playwright": "1.43.0", "serve": "14.0.1" } } diff --git a/test/package.json b/test/package.json index 1e6dfd957b8b89..fc2f3b067219b1 100644 --- a/test/package.json +++ b/test/package.json @@ -6,7 +6,7 @@ "typescript": "tsc -p tsconfig.json" }, "devDependencies": { - "@babel/runtime": "^7.23.9", + "@babel/runtime": "^7.24.4", "@emotion/cache": "^11.11.0", "@emotion/react": "^11.11.4", "@mui-internal/test-utils": "workspace:^", @@ -17,7 +17,7 @@ "@mui/material": "workspace:^", "@mui/system": "workspace:^", "@mui/utils": "workspace:^", - "@playwright/test": "1.42.1", + "@playwright/test": "1.43.0", "@testing-library/dom": "^9.3.4", "@types/chai": "^4.3.14", "@types/react": "^18.2.55", @@ -29,12 +29,12 @@ "fs-extra": "^11.2.0", "html-webpack-plugin": "^5.6.0", "lodash": "^4.17.21", - "playwright": "^1.42.1", + "playwright": "^1.43.0", "prop-types": "^15.8.1", "react": "^18.2.0", "react-dom": "^18.2.0", "react-is": "^18.2.0", - "react-router-dom": "^6.21.3", + "react-router-dom": "^6.22.3", "sinon": "^15.2.0", "styled-components": "^6.1.8", "stylis": "4.2.0", diff --git a/test/regressions/index.js b/test/regressions/index.js index 29e521fc490585..2d6fe49c0dad6e 100644 --- a/test/regressions/index.js +++ b/test/regressions/index.js @@ -31,7 +31,6 @@ const blacklist = [ 'docs-getting-started-templates-sign-in/CustomIcons.png', // Theme file 'docs-getting-started-templates-sign-up/CustomIcons.png', // Theme file 'docs-getting-started-templates-sign-in-side/getSignInSideTheme.png', // Theme file - 'docs-getting-started-templates-sign-in/getSignInTheme.png', // Theme file 'docs-getting-started-templates-sign-up/getSignUpTheme.png', // Theme file 'docs-getting-started-templates-checkout/getCheckoutTheme.png', // Theme file 'docs-getting-started-templates-landing-page/getLPTheme.png', // Theme file @@ -173,6 +172,13 @@ function excludeDemoFixture(suite, name) { return true; } + // Exclude files that are not images and are not PascalCase + // Tantamount to skipping JS/TS files that are not React components or "index.js" files + // PascalCase starts with a capital letter and has zero or more capital letters in the middle + if (!suite.endsWith('.png') && name !== 'index' && !/^[A-Z][A-Za-z0-9]*$/.test(name)) { + return true; + } + if (suite.includes('docs-joy') && name.match(/(Variables|Usage)$/)) { return true; }