From 4e39167d4b9c81c8be4c0ea8a3ef60a2fe40b8b2 Mon Sep 17 00:00:00 2001 From: Cody Olsen Date: Wed, 10 Jul 2024 20:23:55 +0200 Subject: [PATCH] Hyperspeed POC --- .eslintrc.js | 2 +- .github/workflows/main.yml | 6 +- .prettierrc | 7 - .storybook/main.ts | 1 + package.json | 49 +- pnpm-lock.yaml | 2606 ++++++----------- src/core/__workshop__/constants.ts | 72 +- .../components/autocomplete/autocomplete.tsx | 2 +- .../components/breadcrumbs/breadcrumbs.tsx | 21 +- src/core/components/dialog/dialog.tsx | 33 +- src/core/components/dialog/styles.ts | 16 +- src/core/components/menu/menu.tsx | 29 +- src/core/components/menu/menuButton.tsx | 22 +- src/core/components/menu/menuContext.ts | 2 +- src/core/components/menu/useMenuController.ts | 28 +- src/core/components/tab/tab.tsx | 16 +- src/core/components/tab/tabPanel.tsx | 2 +- src/core/components/toast/styles.ts | 3 +- src/core/components/toast/useToast.ts | 1 + src/core/components/tree/tree.tsx | 1 + src/core/components/tree/treeItem.tsx | 1 + src/core/helpers/focus.ts | 1 + src/core/helpers/scroll.ts | 1 + src/core/hooks/_internal/index.ts | 1 - src/core/hooks/_internal/useUnique.ts | 34 - src/core/hooks/index.ts | 5 +- src/core/hooks/useClickOutside.ts | 110 +- src/core/hooks/useElementSize.ts | 1 + src/core/hooks/useMatchMedia.ts | 46 + src/core/hooks/useMediaIndex/useMediaIndex.ts | 12 +- src/core/hooks/usePrefersDark.ts | 65 +- src/core/hooks/usePrefersReducedMotion.ts | 66 +- src/core/primitives/avatar/styles.ts | 84 +- src/core/primitives/badge/styles.ts | 4 +- src/core/primitives/button/styles.ts | 8 +- src/core/primitives/inline/styles.ts | 4 +- .../popover/__workshop__/AlignedStory.tsx | 16 +- src/core/primitives/popover/constants.ts | 8 +- src/core/primitives/stack/styles.ts | 4 +- .../tooltip/__workshop__/customPortal.tsx | 16 +- src/core/primitives/tooltip/constants.ts | 8 +- src/core/primitives/tooltip/tooltip.tsx | 119 +- .../tooltipDelayGroupProvider.tsx | 1 + src/core/styles/font/responsiveFont.ts | 16 +- src/core/theme/__workshop__/debug/story.tsx | 22 +- src/core/utils/layer/layerProvider.tsx | 1 + src/core/utils/portal/__workshop__/named.tsx | 18 +- src/core/utils/portal/portalProvider.tsx | 20 +- src/theme/build/buildColorTheme.test.ts | 26 +- src/theme/config/tokens/color/types.ts | 28 +- src/theme/defaults/colorTokens.ts | 72 +- stories/components/MenuButton.stories.tsx | 4 +- stories/controls.ts | 34 +- stories/primitives/Tooltip.stories.tsx | 2 +- test/setupFilesAfterEnv.ts | 2 +- 55 files changed, 1474 insertions(+), 2305 deletions(-) delete mode 100644 .prettierrc delete mode 100644 src/core/hooks/_internal/index.ts delete mode 100644 src/core/hooks/_internal/useUnique.ts create mode 100644 src/core/hooks/useMatchMedia.ts diff --git a/.eslintrc.js b/.eslintrc.js index 19fdf11d8..491976d9e 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -137,6 +137,6 @@ module.exports = { mode: 'full', }, ], - react: {version: 'detect'}, + 'react': {version: 'detect'}, }, } diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b86491040..598fdb80f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -14,7 +14,7 @@ permissions: jobs: lint: - name: 'ESLint' + name: "ESLint" runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -40,7 +40,7 @@ jobs: - platform: macos-latest node-version: lts/* env: - CYPRESS_CACHE_FOLDER: '~/.cache/Cypress' + CYPRESS_CACHE_FOLDER: "~/.cache/Cypress" steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 @@ -65,7 +65,7 @@ jobs: release: permissions: id-token: write # to enable use of OIDC for npm provenance - name: 'Semantic release' + name: "Semantic release" needs: [lint, test] runs-on: ubuntu-latest steps: diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index 0e679b57f..000000000 --- a/.prettierrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "semi": false, - "printWidth": 100, - "bracketSpacing": false, - "singleQuote": true, - "plugins": ["prettier-plugin-packagejson"] -} diff --git a/.storybook/main.ts b/.storybook/main.ts index c98069760..942adffbc 100644 --- a/.storybook/main.ts +++ b/.storybook/main.ts @@ -11,6 +11,7 @@ const config: StorybookConfig = { '@storybook/addon-interactions', '@storybook/addon-storysource', '@storybook/addon-themes', + '@storybook/addon-mdx-gfm' ], framework: { name: '@storybook/react-vite', diff --git a/package.json b/package.json index 7fc1f92de..edae16070 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@sanity/ui", - "version": "2.6.3", + "version": "2.6.4-canary.2", "keywords": [ "sanity", "ui", @@ -87,6 +87,7 @@ "prettier --write --cache --ignore-unknown" ] }, + "prettier": "@sanity/prettier-config", "release": { "branches": [ "+([0-9])?(.{+([0-9]),x}).x", @@ -109,7 +110,8 @@ "@sanity/icons": "^3.3.0", "csstype": "^3.1.3", "framer-motion": "11.0.8", - "react-refractor": "^2.2.0" + "react-refractor": "^2.2.0", + "use-effect-event": "^1.0.2" }, "devDependencies": { "@babel/core": "^7.24.7", @@ -120,24 +122,25 @@ "@commitlint/config-conventional": "^19.2.2", "@juggle/resize-observer": "^3.4.0", "@sanity/pkg-utils": "^6.10.3", - "@sanity/semantic-release-preset": "^4.1.8", + "@sanity/prettier-config": "^1.0.2", + "@sanity/semantic-release-preset": "^5.0.0", "@sanity/ui-workshop": "^2.0.15", - "@storybook/addon-a11y": "^8.0.8", - "@storybook/addon-docs": "^8.0.8", - "@storybook/addon-essentials": "^8.0.8", - "@storybook/addon-interactions": "^8.0.8", - "@storybook/addon-links": "^8.0.8", - "@storybook/addon-storysource": "^8.0.8", - "@storybook/addon-themes": "^8.0.8", - "@storybook/blocks": "^8.0.8", - "@storybook/jest": "^0.2.3", - "@storybook/manager-api": "^8.0.8", - "@storybook/react": "^8.0.8", - "@storybook/react-vite": "^8.0.8", - "@storybook/testing-library": "^0.2.2", - "@storybook/theming": "^8.0.8", + "@storybook/addon-a11y": "^8.2.1", + "@storybook/addon-docs": "^8.2.1", + "@storybook/addon-essentials": "^8.2.1", + "@storybook/addon-interactions": "^8.2.1", + "@storybook/addon-links": "^8.2.1", + "@storybook/addon-mdx-gfm": "^8.2.1", + "@storybook/addon-storysource": "^8.2.1", + "@storybook/addon-themes": "^8.2.1", + "@storybook/blocks": "^8.2.1", + "@storybook/manager-api": "^8.2.1", + "@storybook/react": "^8.2.1", + "@storybook/react-vite": "^8.2.1", + "@storybook/test": "^8.2.1", + "@storybook/theming": "^8.2.1", "@testing-library/dom": "^10.3.1", - "@testing-library/jest-dom": "^5.17.0", + "@testing-library/jest-dom": "^6.4.6", "@testing-library/react": "^16.0.0", "@types/jest": "^29.5.12", "@types/jest-axe": "^3.5.9", @@ -146,7 +149,6 @@ "@types/react-dom": "^18.3.0", "@types/react-is": "^18.3.0", "@types/refractor": "^3.4.1", - "@types/testing-library__jest-dom": "^5.14.9", "@typescript-eslint/eslint-plugin": "^7.16.0", "@typescript-eslint/parser": "^7.16.0", "commitizen": "^4.3.0", @@ -172,7 +174,6 @@ "module-alias": "^2.2.3", "npm-run-all2": "^5.0.2", "prettier": "^3.3.2", - "prettier-plugin-packagejson": "^2.5.0", "react": "^18.3.1", "react-dom": "^18.3.1", "react-is": "^18.3.1", @@ -180,7 +181,7 @@ "rimraf": "^5.0.5", "semantic-release": "^24.0.0", "start-server-and-test": "^2.0.4", - "storybook": "^8.0.8", + "storybook": "^8.2.1", "styled-components": "^6.1.11", "tsconfig-paths": "^4.2.0", "typescript": "5.5.3", @@ -200,12 +201,12 @@ "publishConfig": { "access": "public" }, - "esm.sh": { - "bundle": false - }, "pnpm": { "overrides": { "conventional-changelog-conventionalcommits": ">= 8.0.0" } + }, + "esm.sh": { + "bundle": false } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9e9ccf527..368bb2ef3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -29,6 +29,9 @@ importers: react-refractor: specifier: ^2.2.0 version: 2.2.0(react@18.3.1) + use-effect-event: + specifier: ^1.0.2 + version: 1.0.2(react@18.3.1) devDependencies: '@babel/core': specifier: ^7.24.7 @@ -54,60 +57,63 @@ importers: '@sanity/pkg-utils': specifier: ^6.10.3 version: 6.10.3(@types/babel__core@7.20.5)(@types/node@20.12.7)(typescript@5.5.3) + '@sanity/prettier-config': + specifier: ^1.0.2 + version: 1.0.2(prettier@3.3.2) '@sanity/semantic-release-preset': - specifier: ^4.1.8 - version: 4.1.8(semantic-release@24.0.0(typescript@5.5.3)) + specifier: ^5.0.0 + version: 5.0.0(semantic-release@24.0.0(typescript@5.5.3)) '@sanity/ui-workshop': specifier: ^2.0.15 - version: 2.0.15(@sanity/icons@3.3.0(react@18.3.1))(@sanity/ui@2.6.3(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(styled-components@6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/node@20.12.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.30.3) + version: 2.0.15(@sanity/icons@3.3.0(react@18.3.1))(@sanity/ui@2.6.4-canary.0(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(styled-components@6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/node@20.12.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.30.3) '@storybook/addon-a11y': - specifier: ^8.0.8 - version: 8.0.8 + specifier: ^8.2.1 + version: 8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7))) '@storybook/addon-docs': - specifier: ^8.0.8 - version: 8.0.8 + specifier: ^8.2.1 + version: 8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7))) '@storybook/addon-essentials': - specifier: ^8.0.8 - version: 8.0.8(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^8.2.1 + version: 8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7))) '@storybook/addon-interactions': - specifier: ^8.0.8 - version: 8.0.8(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.12.7)) + specifier: ^8.2.1 + version: 8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7))) '@storybook/addon-links': - specifier: ^8.0.8 - version: 8.0.8(react@18.3.1) + specifier: ^8.2.1 + version: 8.2.1(react@18.3.1)(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7))) + '@storybook/addon-mdx-gfm': + specifier: ^8.2.1 + version: 8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7))) '@storybook/addon-storysource': - specifier: ^8.0.8 - version: 8.0.8 + specifier: ^8.2.1 + version: 8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7))) '@storybook/addon-themes': - specifier: ^8.0.8 - version: 8.0.8 + specifier: ^8.2.1 + version: 8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7))) '@storybook/blocks': - specifier: ^8.0.8 - version: 8.0.8(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/jest': - specifier: ^0.2.3 - version: 0.2.3(@jest/globals@29.7.0)(jest@29.7.0(@types/node@20.12.7)) + specifier: ^8.2.1 + version: 8.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7))) '@storybook/manager-api': - specifier: ^8.0.8 - version: 8.0.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^8.2.1 + version: 8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7))) '@storybook/react': - specifier: ^8.0.8 - version: 8.0.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + specifier: ^8.2.1 + version: 8.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)))(typescript@5.5.3) '@storybook/react-vite': - specifier: ^8.0.8 - version: 8.0.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.18.1)(typescript@5.5.3)(vite@5.3.3(@types/node@20.12.7)(terser@5.30.3)) - '@storybook/testing-library': - specifier: ^0.2.2 - version: 0.2.2 + specifier: ^8.2.1 + version: 8.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.18.1)(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)))(typescript@5.5.3)(vite@5.3.3(@types/node@20.12.7)(terser@5.30.3)) + '@storybook/test': + specifier: ^8.2.1 + version: 8.2.1(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.12.7))(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7))) '@storybook/theming': - specifier: ^8.0.8 - version: 8.0.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^8.2.1 + version: 8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7))) '@testing-library/dom': specifier: ^10.3.1 version: 10.3.1 '@testing-library/jest-dom': - specifier: ^5.17.0 - version: 5.17.0 + specifier: ^6.4.6 + version: 6.4.6(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.12.7)) '@testing-library/react': specifier: ^16.0.0 version: 16.0.0(@testing-library/dom@10.3.1)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -132,9 +138,6 @@ importers: '@types/refractor': specifier: ^3.4.1 version: 3.4.1 - '@types/testing-library__jest-dom': - specifier: ^5.14.9 - version: 5.14.9 '@typescript-eslint/eslint-plugin': specifier: ^7.16.0 version: 7.16.0(@typescript-eslint/parser@7.16.0(eslint@8.57.0)(typescript@5.5.3))(eslint@8.57.0)(typescript@5.5.3) @@ -210,9 +213,6 @@ importers: prettier: specifier: ^3.3.2 version: 3.3.2 - prettier-plugin-packagejson: - specifier: ^2.5.0 - version: 2.5.0(prettier@3.3.2) react: specifier: ^18.3.1 version: 18.3.1 @@ -235,8 +235,8 @@ importers: specifier: ^2.0.4 version: 2.0.4 storybook: - specifier: ^8.0.8 - version: 8.0.8(@babel/preset-env@7.24.7(@babel/core@7.24.7))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^8.2.1 + version: 8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)) styled-components: specifier: ^6.1.11 version: 6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -277,17 +277,13 @@ packages: resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} engines: {node: '>=0.10.0'} - '@adobe/css-tools@4.3.3': - resolution: {integrity: sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==} + '@adobe/css-tools@4.4.0': + resolution: {integrity: sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==} '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@aw-web-design/x-default-browser@1.4.126': - resolution: {integrity: sha512-Xk1sIhyNC/esHGGVjL/niHLowM0csl/kFO5uawBy4IrWwy0o1G8LGt3jP6nmWGz+USxeeqbihAmp/oVZju6wug==} - hasBin: true - '@babel/code-frame@7.24.7': resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} @@ -1055,10 +1051,6 @@ packages: '@cypress/xvfb@1.2.4': resolution: {integrity: sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==} - '@discoveryjs/json-ext@0.5.7': - resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} - engines: {node: '>=10.0.0'} - '@emotion/is-prop-valid@0.8.8': resolution: {integrity: sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==} @@ -1074,17 +1066,6 @@ packages: '@emotion/unitless@0.8.1': resolution: {integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==} - '@emotion/use-insertion-effect-with-fallbacks@1.0.1': - resolution: {integrity: sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==} - peerDependencies: - react: '>=16.8.0' - - '@esbuild/aix-ppc64@0.20.2': - resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - '@esbuild/aix-ppc64@0.21.5': resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} engines: {node: '>=12'} @@ -1097,12 +1078,6 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.20.2': - resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - '@esbuild/android-arm64@0.21.5': resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} engines: {node: '>=12'} @@ -1115,12 +1090,6 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm@0.20.2': - resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - '@esbuild/android-arm@0.21.5': resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} engines: {node: '>=12'} @@ -1133,12 +1102,6 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-x64@0.20.2': - resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - '@esbuild/android-x64@0.21.5': resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} engines: {node: '>=12'} @@ -1151,12 +1114,6 @@ packages: cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.20.2': - resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - '@esbuild/darwin-arm64@0.21.5': resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} engines: {node: '>=12'} @@ -1169,12 +1126,6 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.20.2': - resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - '@esbuild/darwin-x64@0.21.5': resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} engines: {node: '>=12'} @@ -1187,12 +1138,6 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.20.2': - resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - '@esbuild/freebsd-arm64@0.21.5': resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} engines: {node: '>=12'} @@ -1205,12 +1150,6 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.20.2': - resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - '@esbuild/freebsd-x64@0.21.5': resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} engines: {node: '>=12'} @@ -1223,12 +1162,6 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.20.2': - resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - '@esbuild/linux-arm64@0.21.5': resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} engines: {node: '>=12'} @@ -1241,12 +1174,6 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.20.2': - resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - '@esbuild/linux-arm@0.21.5': resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} engines: {node: '>=12'} @@ -1259,12 +1186,6 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.20.2': - resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - '@esbuild/linux-ia32@0.21.5': resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} engines: {node: '>=12'} @@ -1277,12 +1198,6 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.20.2': - resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - '@esbuild/linux-loong64@0.21.5': resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} engines: {node: '>=12'} @@ -1295,12 +1210,6 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.20.2': - resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - '@esbuild/linux-mips64el@0.21.5': resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} engines: {node: '>=12'} @@ -1313,12 +1222,6 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.20.2': - resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - '@esbuild/linux-ppc64@0.21.5': resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} engines: {node: '>=12'} @@ -1331,12 +1234,6 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.20.2': - resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - '@esbuild/linux-riscv64@0.21.5': resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} engines: {node: '>=12'} @@ -1349,12 +1246,6 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.20.2': - resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - '@esbuild/linux-s390x@0.21.5': resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} engines: {node: '>=12'} @@ -1367,12 +1258,6 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.20.2': - resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - '@esbuild/linux-x64@0.21.5': resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} engines: {node: '>=12'} @@ -1385,12 +1270,6 @@ packages: cpu: [x64] os: [linux] - '@esbuild/netbsd-x64@0.20.2': - resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - '@esbuild/netbsd-x64@0.21.5': resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} engines: {node: '>=12'} @@ -1409,12 +1288,6 @@ packages: cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.20.2': - resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - '@esbuild/openbsd-x64@0.21.5': resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} engines: {node: '>=12'} @@ -1427,12 +1300,6 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.20.2': - resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - '@esbuild/sunos-x64@0.21.5': resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} engines: {node: '>=12'} @@ -1445,12 +1312,6 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.20.2': - resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - '@esbuild/win32-arm64@0.21.5': resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} engines: {node: '>=12'} @@ -1463,12 +1324,6 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.20.2': - resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - '@esbuild/win32-ia32@0.21.5': resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} engines: {node: '>=12'} @@ -1481,12 +1336,6 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.20.2': - resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - '@esbuild/win32-x64@0.21.5': resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} engines: {node: '>=12'} @@ -1517,9 +1366,6 @@ packages: resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@fal-works/esbuild-plugin-global-externals@2.1.2': - resolution: {integrity: sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==} - '@figma/plugin-typings@1.97.0': resolution: {integrity: sha512-AcmZey7TBbc43g2dO+9hjrcTbgb0UFY32do3to3rFU1OXb9hinsrmmbddyhD5105DHzRDac4oT7A5+VOow7p1Q==} @@ -1611,10 +1457,6 @@ packages: node-notifier: optional: true - '@jest/schemas@28.1.3': - resolution: {integrity: sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - '@jest/schemas@29.6.3': resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -1639,16 +1481,12 @@ packages: resolution: {integrity: sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==} engines: {node: '>= 6'} - '@jest/types@27.5.1': - resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - '@jest/types@29.6.3': resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@joshwooding/vite-plugin-react-docgen-typescript@0.3.0': - resolution: {integrity: sha512-2D6y7fNvFmsLmRt6UCOFJPvFoPMJGT0Uh1Wg0RaigUp7kdQPs6yYn8Dmx6GZkOH/NW0yMTwRz/p0SRMMRo50vA==} + '@joshwooding/vite-plugin-react-docgen-typescript@0.3.1': + resolution: {integrity: sha512-pdoMZ9QaPnVlSM+SdU/wgg0nyD/8wQ7y90ttO2CMCyrrm7RxveYIJ5eNfjPaoMFqW41LZra7QO9j+xV4Y18Glw==} peerDependencies: typescript: '>= 4.3.x' vite: ^3.0.0 || ^4.0.0 || ^5.0.0 @@ -1699,9 +1537,6 @@ packages: '@microsoft/tsdoc@0.15.0': resolution: {integrity: sha512-HZpPoABogPvjeJOdzCOSJsXeL/SMCBgBZMVC3X3d7YYp2gf31MfxhUoYUNwf1ERPJOnQc0wkFn9trqI6ZEdZuA==} - '@ndelangen/get-tarball@3.0.9': - resolution: {integrity: sha512-9JKTEik4vq+yGosHYhZ1tiH/3WpUS0Nh0kej4Agndhox8pAdWhEx5knFVRcb/ya9knCRCs1rPxNrSXTDdfVqpA==} - '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -1798,24 +1633,6 @@ packages: resolution: {integrity: sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==} engines: {node: '>=12'} - '@radix-ui/react-compose-refs@1.0.1': - resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - - '@radix-ui/react-slot@1.0.2': - resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} - peerDependencies: - '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 - peerDependenciesMeta: - '@types/react': - optional: true - '@rollup/plugin-alias@5.1.0': resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} engines: {node: '>=14.0.0'} @@ -2023,11 +1840,16 @@ packages: peerDependencies: typescript: 5.4.x || 5.5.x - '@sanity/semantic-release-preset@4.1.8': - resolution: {integrity: sha512-D9M2R7sDj3cMEIcCdvCMpFqr8yIAkFbpbMSE5m9LrPgnFl12sfaSeMCeFHM5/ArHsJVIcQIVsQFbP+c1m1a8vg==} + '@sanity/prettier-config@1.0.2': + resolution: {integrity: sha512-V4HinfhMYxQoyXefJ2B8zJnwlf7A8mVzAzKk24B/iCg4pkVlMGc8bj0buu9Uieh4bNeHvEAHOIQv+Xd7tiLuNA==} + peerDependencies: + prettier: ^3.2.5 + + '@sanity/semantic-release-preset@5.0.0': + resolution: {integrity: sha512-2lCuU57OZW6WY7O8d4vjbpghQIc9lnxS9+dLnzrBYh8e6pA467DxlCNum4NgDeDyHxNh9HGXNalXEWJz8tec+A==} engines: {node: '>= 20.8'} peerDependencies: - semantic-release: ^22.0.12 || ^23.0.2 || ^24.0.0 + semantic-release: ^24 '@sanity/ui-workshop@2.0.15': resolution: {integrity: sha512-mlfD85OzEf35wZMMriX56S91Iu84oavbjAfj2Rs0xTCrkCuAzAmiaua0Szh+8+C9mnWSsqht3t7rn4SWjtQD6Q==} @@ -2039,8 +1861,8 @@ packages: react-dom: ^18 styled-components: ^5.2 || ^6 - '@sanity/ui@2.6.3': - resolution: {integrity: sha512-qyNaIlfRvLQ21Z4+PP61qZ/Rjbk2UqqC/YTS9AmeRvetL9WEuUYFbMrprdKzAAUcWOqabBZVLjrU9F01nDEtmw==} + '@sanity/ui@2.6.4-canary.0': + resolution: {integrity: sha512-txPWpsLs87Gi/OpKcXvd+iYWSZaAFLHU0Hs8/9WfNb3VzsCqQNaCYbCW0uAx5iMJwrhPbPDJK3gBElGNL74/KA==} engines: {node: '>=14.0.0'} peerDependencies: react: ^18 @@ -2110,9 +1932,6 @@ packages: '@sideway/pinpoint@2.0.0': resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} - '@sinclair/typebox@0.24.51': - resolution: {integrity: sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==} - '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} @@ -2134,74 +1953,107 @@ packages: '@sinonjs/fake-timers@10.3.0': resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} - '@storybook/addon-a11y@8.0.8': - resolution: {integrity: sha512-QiNzKej1C3QjPBHm8nwk0lqv9N9cLInlyJ62Cp+/+ethcH2elNnBf1H3ad/DC6XIQRyMtvvhCOnzygAMnjCq1w==} + '@storybook/addon-a11y@8.2.1': + resolution: {integrity: sha512-t+SiKtxutMJNHrv8wbpqTBlB3DSpGa4JRoW5aR4FnDMVTAOC/m0CD0+IbXzdwvxk/SmXuEe8HH7XFeShs9zQPg==} + peerDependencies: + storybook: ^8.2.1 - '@storybook/addon-actions@8.0.8': - resolution: {integrity: sha512-F3qpN0n53d058EroW1A2IlzrsFNR5p2srLY4FmXB80nxAKV8oqoDI4jp15zYlf8ThcJoQl36plT8gx3r1BpANA==} + '@storybook/addon-actions@8.2.1': + resolution: {integrity: sha512-rosuPmufr41Uojjo1ok+1r2X3/qS4WvOn6Wc8SGos9oQZwCoIbRIABOg8sz41UatPKcYHF9sJKBy8l1NXCz6LQ==} + peerDependencies: + storybook: ^8.2.1 - '@storybook/addon-backgrounds@8.0.8': - resolution: {integrity: sha512-lrAJjVxDeXSK116rDajb56TureZiT76ygraP22/IvU3IcWCEcRiKYwlay8WgCTbJHtFmdBpelLBapoT46+IR9Q==} + '@storybook/addon-backgrounds@8.2.1': + resolution: {integrity: sha512-/60Ft8RtcfG/khqpZ8X4u3UZsgabzWgmAHY8hnbcM2uKO6dk6jHjiN4C72MKJ9eKnxcjoNGXN7igJzw5ebMbcg==} + peerDependencies: + storybook: ^8.2.1 - '@storybook/addon-controls@8.0.8': - resolution: {integrity: sha512-7xANN18CLYsVthuSXwxKezqpelEKJlT9xaYLtw5vvD00btW5g3vxq+Z/A31OkS2OuaH2bE0GfRCoG2OLR8yQQA==} + '@storybook/addon-controls@8.2.1': + resolution: {integrity: sha512-qSlTftH0VuchVnGJWdf62bdRdeaiAKvGMTja/TVvEW1TgQ8hl508sUT9LtmbuyqKqvGGxWTPTFRIBoXQx59VeQ==} + peerDependencies: + storybook: ^8.2.1 - '@storybook/addon-docs@8.0.8': - resolution: {integrity: sha512-HNiY4ESH9WxGS6QpIpURzdSbyDxbRh7VIgbvUrePSKajlsL4RFN/gdnn5TnSL00tOP/w+Cy/fXcbljMUKy7Ivg==} + '@storybook/addon-docs@8.2.1': + resolution: {integrity: sha512-/p2Xj/txqrxZgqIOhsIDjtZJaklTbxO3qrHIvHpeFvF9iWV4IN7D0JFpIoHhRA+bo94mWtZwPVEDABPnGpYUZA==} + peerDependencies: + storybook: ^8.2.1 - '@storybook/addon-essentials@8.0.8': - resolution: {integrity: sha512-bc9KJk7SPM2I5CCJEAP8R5leP+74IYxhWPiTN8Y1YFmf3MA1lpDJbwy+RfuRZ2ZKnSKszCXCVzU/T10HKUHLZw==} + '@storybook/addon-essentials@8.2.1': + resolution: {integrity: sha512-c9OH5J097NwbuLFejZsmZSQv7Gz+gk4r1H4Nak8JeUZL5CapkY3HWe0dhWl6u6YqGcjhEjcuFvLoWbctKoSr/Q==} + peerDependencies: + storybook: ^8.2.1 - '@storybook/addon-highlight@8.0.8': - resolution: {integrity: sha512-KKD7xiNhxZQM4fdDidtcla6jSzgN1f9qe1AwFSHLXwIW22+4c97Vgf+AookN7cJvB77HxRUnvQH//zV1CJEDug==} + '@storybook/addon-highlight@8.2.1': + resolution: {integrity: sha512-rz4Hj2J8jz4Zdq+pF5hMWpwHrsPQNmyGkG+MBli7GEge4Bed6HAQkDT8sE/3OGgizrudE1YBLnAIO1M+Lk85Ew==} + peerDependencies: + storybook: ^8.2.1 - '@storybook/addon-interactions@8.0.8': - resolution: {integrity: sha512-UOPKOe97uV4psH1O1YeE0oFuUQgD1Vkv95JjHjQG8KiPWvwdiezV7rrjPvw8RApnSKUopjFETs8F5D59i4eARw==} + '@storybook/addon-interactions@8.2.1': + resolution: {integrity: sha512-dpYir2cMlQuTG/798GF0OQw5pWKks+16HLLB7wUSYolSHDdu3ahKtjCJcY4y+UTQSyLupC/5KHWty9czk/WTiA==} + peerDependencies: + storybook: ^8.2.1 - '@storybook/addon-links@8.0.8': - resolution: {integrity: sha512-iRI/W9I6fOom5zfZvsu53gfJtuhBSMmhgI/u5uZbAbfEoNL5D1PqpDXD4ygM8Vvlx90AZNZ2W5slEe7gCZOMyA==} + '@storybook/addon-links@8.2.1': + resolution: {integrity: sha512-k07LuKnYr+URPdmTbei9r7tO9VCV8vd2zfBlbXyg+GuaVqDZBrZD8Xd9QAMB8O3+iA7uPHTXSOH92IO3QiRfSg==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + storybook: ^8.2.1 peerDependenciesMeta: react: optional: true - '@storybook/addon-measure@8.0.8': - resolution: {integrity: sha512-akyoa+1F2ripV6ELF2UbxiSHv791LWSAVK7gsD/a5eJfKZMm5yoHjcY7Icdkc/ctE+pyjAQNhkXTixUngge09w==} + '@storybook/addon-mdx-gfm@8.2.1': + resolution: {integrity: sha512-t0I9b1QUItNLl5vffIXF3o3EDYl6HaD9YrtoJ8tXzUYZXF7H5j4311yMnFS7dz4NQw3MFS47aF+Z/jVC0WkCmw==} + peerDependencies: + storybook: ^8.2.1 + + '@storybook/addon-measure@8.2.1': + resolution: {integrity: sha512-+6yfp+cm+QI/KjJ8ShgP7lpC8Yf8MGOUMDRjsPm99fzrOEAZ6QAocCOGUyCs6Uyij+Mpn+QTm9ulfAPYXSL8gA==} + peerDependencies: + storybook: ^8.2.1 - '@storybook/addon-outline@8.0.8': - resolution: {integrity: sha512-8Gxs095ekpa5YZolLSs5cWbWK94GZTevEUX8GFeLGIz9sf1KO3kmEO3eC5ogzDoB0cloqvbmVAJvYJ3FWiUx8w==} + '@storybook/addon-outline@8.2.1': + resolution: {integrity: sha512-rsC+r56PB4Hlu5fAybAP78u/cY6I5bYlC6JrLwU44igH0wFQR2XdpQ7OLYZaeu8nKDtanS29D+99KVk4oyzRBw==} + peerDependencies: + storybook: ^8.2.1 - '@storybook/addon-storysource@8.0.8': - resolution: {integrity: sha512-mhnT+Cd12DZIQvqK1O9NHeCJ9a8j/tJjKw/jxOQ222HfZBNS1UjhqSTEYkXSx3HKs1qiBSz8423+pzEybuRTGQ==} + '@storybook/addon-storysource@8.2.1': + resolution: {integrity: sha512-ZBm7GLdNE5dt7M0FfLI1Ofvp6UdZif8RvriFsYD//CszDdjscHmIlWueIM1SZt/188jze2qaWgtJTUW3AkxYEg==} + peerDependencies: + storybook: ^8.2.1 - '@storybook/addon-themes@8.0.8': - resolution: {integrity: sha512-vLzWHByRDULzerQtkTEYJEy9xIIw50LVfHg5b54peqlXLenrEnJnDkvmuZV2FzDeyVMIoG+MEAzTVi9BQ13uDQ==} + '@storybook/addon-themes@8.2.1': + resolution: {integrity: sha512-xi08E49HgEfDlYMjv0LCIPp0W8woFfRluqDTjSqkrVqwMM+aCWABj0BumKpyq5AOEkaqYI7K7GvjjOC6OQuLWw==} + peerDependencies: + storybook: ^8.2.1 - '@storybook/addon-toolbars@8.0.8': - resolution: {integrity: sha512-PZxlK+/Fwk2xcrpr5kkXYjCbBaEjAWcEHWq7mhQReMFaAs5AJE8dvmeQ7rmPDOHnlg4+YsARDFKz5FJtthRIgg==} + '@storybook/addon-toolbars@8.2.1': + resolution: {integrity: sha512-UzK2TPEDt2bwi+IGeK2OXTc3VqIhqxqQ2tbXdBBVBwnsV4u4quvlXrnMKugaf0YdkeIRewJq/u2J+bQNs5TErw==} + peerDependencies: + storybook: ^8.2.1 - '@storybook/addon-viewport@8.0.8': - resolution: {integrity: sha512-nOuc6DquGvm24c/A0HFTgeEN/opd58ebs1KLaEEq1f6iYV0hT2Gpnk0Usg/seOiFtJnj3NyAM46HSkZz06T8Sw==} + '@storybook/addon-viewport@8.2.1': + resolution: {integrity: sha512-mk5FGH8W6IIjbRRpCPagjWfY77UgHmxUUYzUagc9KZKG0MfSy6hYtXaWy5NrZOegblS5K9cGNdKXdM59Rc9JFg==} + peerDependencies: + storybook: ^8.2.1 - '@storybook/blocks@8.0.8': - resolution: {integrity: sha512-kwsjhvnmFEaIl51QHJt/83G7mZ5YbzFKnWCwy8WUpi0xvVcyoFQSGGgwR3XRrzGfUEPK8P2FDHeKw1bLzyIejA==} + '@storybook/blocks@8.2.1': + resolution: {integrity: sha512-7E5WAx5JcrPBCjonogfTvcLJ1y6IFQzqLv1mone8TH1b5lCHuLtWMxYY/4oQabfEanVUpo81KfbyooiR3FXlOA==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + storybook: ^8.2.1 peerDependenciesMeta: react: optional: true react-dom: optional: true - '@storybook/builder-manager@8.0.8': - resolution: {integrity: sha512-0uihNTpTou0RFMM6PQLlfCxDxse9nIDEb83AmWE/OUnpKDDY9+WFupVWGaZc9HfH9h4Yqre2fiuK1b7KNYe7AQ==} - - '@storybook/builder-vite@8.0.8': - resolution: {integrity: sha512-ibWOxoHczCc6ttMQqiSXv29m/e44sKVoc1BJluApQcjCXl9g6QXyN45zV70odjCxMfNy7EQgUjCA0mgAgMHSIw==} + '@storybook/builder-vite@8.2.1': + resolution: {integrity: sha512-2L8TTWodvvFrPEXywKd4+Ut1wAyC0XbPCjdwXthMbtCOYsqBltirWRxZ4cfO7Bj6uR54qgfx3uHf53ez/kwDQw==} peerDependencies: '@preact/preset-vite': '*' + storybook: ^8.2.1 typescript: '>= 4.3.x' vite: ^4.0.0 || ^5.0.0 vite-plugin-glimmerx: '*' @@ -2213,55 +2065,22 @@ packages: vite-plugin-glimmerx: optional: true - '@storybook/channels@8.0.8': - resolution: {integrity: sha512-L3EGVkabv3fweXnykD/GlNUDO5HtwlIfSovC7BF4MmP7662j2/eqlZrJxDojGtbv11XHjWp/UJHUIfKpcHXYjQ==} - - '@storybook/cli@8.0.8': - resolution: {integrity: sha512-RnSdgykh2i7es1rQ7CNGpDrKK/PN1f0xjwpkAHXCEB6T9KpHBmqDquzZp+N127a1HBHHXy018yi4wT8mSQyEoA==} - hasBin: true - - '@storybook/client-logger@8.0.8': - resolution: {integrity: sha512-a4BKwl9NLFcuRgMyI7S4SsJeLFK0LCQxIy76V6YyrE1DigoXz4nA4eQxdjLf7JVvU0EZFmNSfbVL/bXzzWKNXA==} + '@storybook/codemod@8.2.1': + resolution: {integrity: sha512-LYvVLOKj5mDbbAPLrxd3BWQaemTqp2y5RV5glNqsPq3FoFX4rn4VnWb5X/YBWsMqqCK+skimH/f7HQ5fDvWubg==} - '@storybook/codemod@8.0.8': - resolution: {integrity: sha512-ufEBLciLmLlAh+L6lGgBObTiny6odXMKqiJOewQ9XfIN0wdWdyRUf5QdZIPOdfgHhWF2Q2HeswiulsoHm8Z/hA==} + '@storybook/core@8.2.1': + resolution: {integrity: sha512-hmuBRtT0JwmvEpsi4f/hh/QOqiEUmvV1xCbLQy+FEqMBxk5VsksVLKXJiWFG5lYodmjdxCLCb37JDVuOOZIIpw==} - '@storybook/components@8.0.8': - resolution: {integrity: sha512-EpBExH4kHWQJSfA8QXJJ5AsLRUGi5X/zWY7ffiYW8rtnBmEnk3T9FpmnyJlY1A8sdd3b1wQ07JGBDHfL1mdELw==} + '@storybook/csf-plugin@8.2.1': + resolution: {integrity: sha512-/3nT7kvOsGSS8ym4qDFuz28h43BjiodLbRwUNa+p50fpO59s3F8MbK4lSBHPFXfTViWfrOZ5gL7CHe1f8PFJRA==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - - '@storybook/core-common@8.0.8': - resolution: {integrity: sha512-CL15M2oeQW+Rb1l7ciunLDI2Re+ojL2lX1ZFAiDedcOU+JHsdq43zAuXoZVzp8icUi2AUSwEjZIxGCSingj+JQ==} - - '@storybook/core-events@8.0.8': - resolution: {integrity: sha512-PtuvR7vS4glDEdCfKB4f1k3Vs1C3rTWP2DNbF+IjjPhNLMBznCdzTAPcz+NUIBvpjjGnhKwWikJ0yj931YjSVg==} - - '@storybook/core-server@8.0.8': - resolution: {integrity: sha512-tSEueEBttbSohzhZVN2bFNlFx3eoqQ7p57cjQLKXXwKygS2qKxISKnFy+Y0nj20APz68Wj51kx0rN0nGALeegw==} - - '@storybook/csf-plugin@8.0.8': - resolution: {integrity: sha512-x9WspjZGcqXENj/Vn4Qmn0oTW93KN2V9wqpflWwCUJTByl2MugQsh5xRuDbs2yM7dD6zKcqRyPaTY+GFZBW+Vg==} - - '@storybook/csf-tools@8.0.8': - resolution: {integrity: sha512-Ji5fpoGym/MSyHJ6ALghVUUecwhEbN0On+jOZ2VPkrkATi9UDtryHQPdF60HKR63Iv53xRuWRzudB6zm43RTzw==} + storybook: ^8.2.1 '@storybook/csf@0.0.1': resolution: {integrity: sha512-USTLkZze5gkel8MYCujSRBVIrUQ3YPBrLOx7GNk/0wttvVtlzWXAq9eLbQ4p/NicGxP+3T7KPEMVV//g+yubpw==} - '@storybook/csf@0.1.3': - resolution: {integrity: sha512-IPZvXXo4b3G+gpmgBSBqVM81jbp2ePOKsvhgJdhyZJtkYQCII7rg9KKLQhvBQM5sLaF1eU6r0iuwmyynC9d9SA==} - - '@storybook/docs-mdx@3.0.0': - resolution: {integrity: sha512-NmiGXl2HU33zpwTv1XORe9XG9H+dRUC1Jl11u92L4xr062pZtrShLmD4VKIsOQujxhhOrbxpwhNOt+6TdhyIdQ==} - - '@storybook/docs-tools@8.0.8': - resolution: {integrity: sha512-p/MIrDshXMl/fiCRlfG9StkRYI1QlUyUSQQ/YDBFlBfWcJYARIt3TIvQyvs3Q/apnQNcDXIW663W57s7WHTO2w==} - - '@storybook/expect@28.1.3-5': - resolution: {integrity: sha512-lS1oJnY1qTAxnH87C765NdfvGhksA6hBcbUVI5CHiSbNsEtr456wtg/z+dT9XlPriq1D5t2SgfNL9dBAoIGyIA==} - deprecated: In Storybook 8, this package functionality has been integrated to a new package called @storybook/test, which uses Vitest APIs for an improved experience. When upgrading to Storybook 8 with 'npx storybook@latest upgrade', you will get prompted and will get an automigration for the new package. Please migrate when you can. + '@storybook/csf@0.1.11': + resolution: {integrity: sha512-dHYFQH3mA+EtnCkHXzicbLgsvzYjcDJ1JWsogbItZogkPHgSJM/Wr71uMkcvw8v9mmCyP4NpXJuu6bPoVsOnzg==} '@storybook/global@5.0.0': resolution: {integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==} @@ -2273,97 +2092,90 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - '@storybook/instrumenter@8.0.8': - resolution: {integrity: sha512-bCu9Tu48WOQ8ZNUed+FCSMr3Uw81b4yW/knD2goqx15nD33B7xXBNSI2GTHH5YaEHVyIFFggQcKHLkELXWlsoA==} - - '@storybook/jest@0.2.3': - resolution: {integrity: sha512-ov5izrmbAFObzKeh9AOC5MlmFxAcf0o5i6YFGae9sDx6DGh6alXsRM+chIbucVkUwVHVlSzdfbLDEFGY/ShaYw==} - deprecated: In Storybook 8, this package functionality has been integrated to a new package called @storybook/test, which uses Vitest APIs for an improved experience. When upgrading to Storybook 8 with 'npx storybook@latest upgrade', you will get prompted and will get an automigration for the new package. Please migrate when you can. - - '@storybook/manager-api@8.0.8': - resolution: {integrity: sha512-1HU4nfLRi0sD2uw229gb8EQyufNWrLvMNpg013kBsBXRd+Dj4dqF3v+KrYFNtteY7riC4mAJ6YcQ4tBUNYZDug==} - - '@storybook/manager@8.0.8': - resolution: {integrity: sha512-pWYHSDmgT8p/XbQMKuDPdgB6KzjePI6dU5KQ5MERYfch1UiuGPVm1HHDlxxSfHW0IIXw9Qnwq4L0Awe4qhvJKQ==} - - '@storybook/node-logger@8.0.8': - resolution: {integrity: sha512-ymps3MMTxtMWq0eDiXk1iO7iv0Eg0PuUvOpPPohEJauGzU9THv81xx01aaHKSprFFJYD2LMQr1aFuUplItO12g==} - - '@storybook/preview-api@8.0.8': - resolution: {integrity: sha512-khgw2mNiBrSZS3KNGQPzjneL3Csh3BOq0yLAtJpT7CRSrI/YjlE7jjcTkKzoxW+UCgvNTnLvsowcuzu82e69fA==} + '@storybook/instrumenter@8.2.1': + resolution: {integrity: sha512-z+j0HITkLiuwWbRv7kXlA43FkCh13IumQLDiycl98TXM+1IZlQGPh/Lyc/VviSZI2I1ZJas6aNGXfd3nMJoY8A==} + peerDependencies: + storybook: ^8.2.1 - '@storybook/preview@8.0.8': - resolution: {integrity: sha512-J/ooKcvDV1s7ROH7lF/0vOyWDOgDB7bN6vS67J1WK0HLvMGaqUzU+q3ndakGzu0LU/jvUBqEFSZd1ALWyZINDQ==} + '@storybook/manager-api@8.2.1': + resolution: {integrity: sha512-xFd4E6kmIITaQ+XiC6id1hqw9q8+HZqF3e49BBWhd3NtcdWuen+6RFH2Rk6uTI3ueWHKc7YdoIWsvkm6B/BJ1g==} + peerDependencies: + storybook: ^8.2.1 - '@storybook/react-dom-shim@8.0.8': - resolution: {integrity: sha512-vOMlAz2HH/xfgZmSO28fCEmp5/tPxINDEdBDVLdZeYG6R1j5jlMRyaNcXt4cPNDkyc///PkB/K767hg4goca/Q==} + '@storybook/react-dom-shim@8.2.1': + resolution: {integrity: sha512-c6nfjyqiNduN6qk9yMP3EVNMslTJB+KGpKEDjpNOBGrTLkapp4dKTk8fN3EiFc3jEwhfN+xY+19eXwq7JBWCtg==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + storybook: ^8.2.1 - '@storybook/react-vite@8.0.8': - resolution: {integrity: sha512-3xN+/KgcjEAKJ0cM8yFYk8+T59kgKSMlQaavoIgQudbEErSubr9l7jDWXH44afQIEBVs++ayYWrbEN2wyMGoug==} + '@storybook/react-vite@8.2.1': + resolution: {integrity: sha512-CCFjPSmI4yttLy3J7nEk9UBJzXI6AfZfJIlrk28HCB+k1fcqJS19cGXdNkjm4cWyAnUQFYJJVJJnqnrye1mVEw==} engines: {node: '>=18.0.0'} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + storybook: ^8.2.1 vite: ^4.0.0 || ^5.0.0 - '@storybook/react@8.0.8': - resolution: {integrity: sha512-pPTlQntl09kv7qkAFYsxUq6qCLeeZC/K3yGFBGMy2Dc+PFjBYdT6mt2I8GB3twK0Cq5gJESlLj48QnYLQ/9PbA==} + '@storybook/react@8.2.1': + resolution: {integrity: sha512-QBhHURQ/UPM9vaqP1ixxzpWhGd2bZw4664hL9s6rtFCi9zvvZWTb/tD3gVMKCDs2JVXwTaZq/Spd0QwZxNEJgQ==} engines: {node: '>=18.0.0'} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta + storybook: ^8.2.1 typescript: '>= 4.2.x' peerDependenciesMeta: typescript: optional: true - '@storybook/router@8.0.8': - resolution: {integrity: sha512-wdFdNsEKweigU9VkGZtpb7GhBJLWzbABcwOuEy2h0d5m7egB97hy9BxhANdqkC+PbAHrabxC99Ca3wTj50MoDg==} - - '@storybook/source-loader@8.0.8': - resolution: {integrity: sha512-3xYr3/ziaiOrJ33r9+XHUZkWmY4Ej6I/ZXr6kTUMdCuia7d+WYkuzULk4DhJ/15Dv0TdygYNZZJKDkgw2sqlRg==} - - '@storybook/telemetry@8.0.8': - resolution: {integrity: sha512-Uvj4nN01vQgjXZYKF/GKTFE85//Qm4ZTlJxTFWid+oYWc8NpAyJvlsJkj/dsEn4cLrgnJx2e4xvnx0Umr2ck+A==} - - '@storybook/test@8.0.8': - resolution: {integrity: sha512-YXgwgg1e8ggDg2BlgeExwdN3MjeExnDvybQIUugADgun87tRIujJFCdjh0PAxg0Qvln6+lU3w+3Y2aryvX42RA==} + '@storybook/source-loader@8.2.1': + resolution: {integrity: sha512-QAUo70bB3jChjaKp/FUyUYjCSQ81GBUXZfVkRZoXGAe5JkTb627rrcks3lD2emF4Id1rCdMs767G59KA8xw3EA==} + peerDependencies: + storybook: ^8.2.1 - '@storybook/testing-library@0.2.2': - resolution: {integrity: sha512-L8sXFJUHmrlyU2BsWWZGuAjv39Jl1uAqUHdxmN42JY15M4+XCMjGlArdCCjDe1wpTSW6USYISA9axjZojgtvnw==} - deprecated: In Storybook 8, this package functionality has been integrated to a new package called @storybook/test, which uses Vitest APIs for an improved experience. When upgrading to Storybook 8 with 'npx storybook@latest upgrade', you will get prompted and will get an automigration for the new package. Please migrate when you can. + '@storybook/test@8.2.1': + resolution: {integrity: sha512-23b4tXkKEGiJaDHrTXaMmoBx4JSxdHD6K0pfuB2jte+CyyPBZSXRIey7TxJFOKlEal6/9+7w2TMQGdBspjD9/g==} + peerDependencies: + storybook: ^8.2.1 - '@storybook/theming@8.0.8': - resolution: {integrity: sha512-43hkNz7yo8Bl97AO2WbxIGprUqMhUZyK9g8383bd30gSxy9nfND/bdSdcgmA8IokDn8qp37Q4QmxtUZdhjMzZQ==} + '@storybook/theming@8.2.1': + resolution: {integrity: sha512-HJCOP3r+PG4hxowLVSzrOQLHTCJg6A7sAbk5QeULy0fcVgVGyMXeuxJhynf2j4wYTb9u93QCXWFlqEZhNBX++Q==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - peerDependenciesMeta: - react: - optional: true - react-dom: - optional: true + storybook: ^8.2.1 - '@storybook/types@8.0.8': - resolution: {integrity: sha512-NGsgCsXnWlaZmHenHDgHGs21zhweZACkqTNsEQ7hvsiF08QeiKAdgJLQg3YeGK73h9mFDRP9djprUtJYab6vnQ==} + '@testing-library/dom@10.1.0': + resolution: {integrity: sha512-wdsYKy5zupPyLCW2Je5DLHSxSfbIp6h80WoHOQc+RPtmPGA52O9x5MJEkv92Sjonpq+poOAtUKhh1kBGAXBrNA==} + engines: {node: '>=18'} '@testing-library/dom@10.3.1': resolution: {integrity: sha512-q/WL+vlXMpC0uXDyfsMtc1rmotzLV8Y0gq6q1gfrrDjQeHoeLrqHbxdPvPNAh1i+xuJl7+BezywcXArz7vLqKQ==} engines: {node: '>=18'} - '@testing-library/dom@9.3.4': - resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} - engines: {node: '>=14'} - - '@testing-library/jest-dom@5.17.0': - resolution: {integrity: sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg==} - engines: {node: '>=8', npm: '>=6', yarn: '>=1'} + '@testing-library/jest-dom@6.4.5': + resolution: {integrity: sha512-AguB9yvTXmCnySBP1lWjfNNUwpbElsaQ567lt2VdGqAdHtpieLgjmcVyv1q7PMIvLbgpDdkWV5Ydv3FEejyp2A==} + engines: {node: '>=14', npm: '>=6', yarn: '>=1'} + peerDependencies: + '@jest/globals': '>= 28' + '@types/bun': latest + '@types/jest': '>= 28' + jest: '>= 28' + vitest: '>= 0.32' + peerDependenciesMeta: + '@jest/globals': + optional: true + '@types/bun': + optional: true + '@types/jest': + optional: true + jest: + optional: true + vitest: + optional: true - '@testing-library/jest-dom@6.4.2': - resolution: {integrity: sha512-CzqH0AFymEMG48CpzXFriYYkOjk6ZGPCLMhW9e9jg3KMCn5OfJecF8GtGW7yGfR/IgCe3SX8BSwjdzI6BBbZLw==} + '@testing-library/jest-dom@6.4.6': + resolution: {integrity: sha512-8qpnGVincVDLEcQXWaHOf6zmlbwTKc6Us6PPu4CRnPXCzo2OGBS5cwgMMOWdxDpEz1mkbvXHpEy99M5Yvt682w==} engines: {node: '>=14', npm: '>=6', yarn: '>=1'} peerDependencies: '@jest/globals': '>= 28' @@ -2438,18 +2250,12 @@ packages: '@types/cross-spawn@6.0.6': resolution: {integrity: sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==} - '@types/detect-port@1.3.5': - resolution: {integrity: sha512-Rf3/lB9WkDfIL9eEKaSYKc+1L/rNVYBjThk22JTqQw0YozXarX8YljFAz+HCoC6h4B4KwCMsBPZHaFezwT4BNA==} - - '@types/doctrine@0.0.3': - resolution: {integrity: sha512-w5jZ0ee+HaPOaX25X2/2oGR/7rgAQSYII7X7pp0m9KgBfMP7uKfMfTvcpl5Dj+eDBbpxKGiqE+flqDr6XTd2RA==} + '@types/debug@4.1.12': + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} '@types/doctrine@0.0.9': resolution: {integrity: sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==} - '@types/ejs@3.1.5': - resolution: {integrity: sha512-nv+GSx77ZtXiJzwKdsASqi+YQ5Z7vwHsTP0JY2SiQgjGckkBRKZnk8nIM+7oUZ1VCtuTz0+By4qVR7fqzp/Dfg==} - '@types/emscripten@1.39.10': resolution: {integrity: sha512-TB/6hBkYQJxsZHSqyeuO1Jt0AB/bW6G7rHt9g7lML7SOF6lbgcHvw/Lr+69iqN0qxgXLhWKScAon73JNnptuDw==} @@ -2501,9 +2307,6 @@ packages: '@types/jest-axe@3.5.9': resolution: {integrity: sha512-z98CzR0yVDalCEuhGXXO4/zN4HHuSebAukXDjTLJyjEAgoUf1H1i+sr7SUB/mz8CRS/03/XChsx0dcLjHkndoQ==} - '@types/jest@28.1.3': - resolution: {integrity: sha512-Tsbjk8Y2hkBaY/gJsataeb4q9Mubw9EOz7+4RjPkzD5KjTvHHs7cpws22InaoXxAVAhF5HfFbzJjo6oKWqSZLw==} - '@types/jest@29.5.12': resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} @@ -2519,6 +2322,9 @@ packages: '@types/lodash@4.17.0': resolution: {integrity: sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==} + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + '@types/mdx@2.0.12': resolution: {integrity: sha512-H9VZ9YqE+H28FQVchC83RCs5xQ2J7mAAv6qdDEaWmXEVl3OpdH+xfrSUzQ1lp7U7oSTRZ0RvW08ASPJsYBi7Cw==} @@ -2528,6 +2334,9 @@ packages: '@types/minimatch@5.1.2': resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} + '@types/ms@0.7.34': + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + '@types/node@18.19.29': resolution: {integrity: sha512-5pAX7ggTmWZdhUrhRWLPf+5oM7F80bcKVCBbr0zwEkTNzTJL2CWQjznpFgHYy6GrzkYi2Yjy7DHKoynFxqPV8g==} @@ -2537,9 +2346,6 @@ packages: '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - '@types/pretty-hrtime@1.0.3': - resolution: {integrity: sha512-nj39q0wAIdhwn7DGUyT9irmsKK1tV0bd5WFEhgpqNTMFZ8cE+jieuTphCW0tfdm47S2zVT5mr09B28b1chmQMA==} - '@types/prismjs@1.26.3': resolution: {integrity: sha512-A0D0aTXvjlqJ5ZILMz3rNfDBOx9hHxLZYv2by47Sm/pqW35zzjusrZTryatjN/Rf8Us2gZrJD+KeHbUSTux1Cw==} @@ -2591,9 +2397,6 @@ packages: '@types/stylis@4.2.5': resolution: {integrity: sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw==} - '@types/testing-library__jest-dom@5.14.9': - resolution: {integrity: sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==} - '@types/tough-cookie@4.0.5': resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} @@ -2612,9 +2415,6 @@ packages: '@types/yargs@13.0.12': resolution: {integrity: sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==} - '@types/yargs@16.0.9': - resolution: {integrity: sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==} - '@types/yargs@17.0.32': resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} @@ -2715,26 +2515,17 @@ packages: peerDependencies: vite: ^4.2.0 || ^5.0.0 - '@vitest/expect@1.3.1': - resolution: {integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==} + '@vitest/expect@1.6.0': + resolution: {integrity: sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==} - '@vitest/spy@1.3.1': - resolution: {integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==} - - '@vitest/spy@1.4.0': - resolution: {integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==} - - '@vitest/utils@1.3.1': - resolution: {integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==} + '@vitest/spy@1.6.0': + resolution: {integrity: sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==} '@vitest/utils@1.4.0': resolution: {integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==} - '@yarnpkg/esbuild-plugin-pnp@3.0.0-rc.15': - resolution: {integrity: sha512-kYzDJO5CA9sy+on/s2aIW0411AklfCi8Ck/4QDivOqsMKpStZA2SsR+X27VTggGwpStWaLrjJcDcdDMowtG8MA==} - engines: {node: '>=14.15.0'} - peerDependencies: - esbuild: '>=0.10.0' + '@vitest/utils@1.6.0': + resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} '@yarnpkg/fslib@2.10.3': resolution: {integrity: sha512-41H+Ga78xT9sHvWLlFOZLIhtU6mTGZ20pZ29EiZa97vnxdohJD2AF42rCoAoWfqUz486xY6fhjMH+DYEM9r14A==} @@ -2782,10 +2573,6 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - address@1.2.2: - resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} - engines: {node: '>= 10.0.0'} - agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} @@ -2881,9 +2668,6 @@ packages: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} - app-root-dir@1.0.2: - resolution: {integrity: sha512-jlpIfsOoNoafl92Sz//64uQHGSyMrD2vYG5d8o2a4qGvyNCvXur7bzIsWtAC/6flI2RYAp3kv8rsfBtaLm7w0g==} - arch@2.2.0: resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} @@ -2981,9 +2765,6 @@ packages: resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} engines: {node: '>=0.8'} - assert@2.1.0: - resolution: {integrity: sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==} - assertion-error@1.1.0: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} @@ -3098,6 +2879,9 @@ packages: babel-runtime@6.26.0: resolution: {integrity: sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==} + bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -3118,14 +2902,6 @@ packages: before-after-hook@3.0.2: resolution: {integrity: sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==} - better-opn@3.0.2: - resolution: {integrity: sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==} - engines: {node: '>=12.0.0'} - - big-integer@1.6.52: - resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} - engines: {node: '>=0.6'} - binary-extensions@1.13.1: resolution: {integrity: sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==} engines: {node: '>=0.10.0'} @@ -3153,10 +2929,6 @@ packages: bottleneck@2.19.5: resolution: {integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==} - bplist-parser@0.2.0: - resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==} - engines: {node: '>= 5.10.0'} - brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} @@ -3178,9 +2950,6 @@ packages: browser-assert@1.2.1: resolution: {integrity: sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==} - browserify-zlib@0.1.4: - resolution: {integrity: sha512-19OEpq7vWgsH6WkvkBJQDFvJS1uPcbFOQ4v9CU839dO+ZZXUZO6XpE6hNCqvlIIj+4fZvRiJ6DsAQ382GwiyTQ==} - browserslist@4.23.2: resolution: {integrity: sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -3202,10 +2971,6 @@ packages: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} - bytes@3.0.0: - resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} - engines: {node: '>= 0.8'} - bytes@3.1.2: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} @@ -3251,6 +3016,9 @@ packages: caseless@0.12.0: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + chai@4.4.1: resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} engines: {node: '>=4'} @@ -3311,9 +3079,6 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} - chownr@1.1.4: - resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} - chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} @@ -3454,14 +3219,6 @@ packages: component-emitter@1.3.1: resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==} - compressible@2.0.18: - resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} - engines: {node: '>= 0.6'} - - compression@1.7.4: - resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} - engines: {node: '>= 0.8.0'} - concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -3579,10 +3336,6 @@ packages: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} - crypto-random-string@2.0.0: - resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} - engines: {node: '>=8'} - crypto-random-string@4.0.0: resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} engines: {node: '>=12'} @@ -3713,8 +3466,8 @@ packages: babel-plugin-macros: optional: true - deep-eql@4.1.3: - resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + deep-eql@4.1.4: + resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==} engines: {node: '>=6'} deep-equal@2.2.3: @@ -3732,10 +3485,6 @@ packages: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} - default-browser-id@3.0.0: - resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==} - engines: {node: '>=12'} - defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} @@ -3743,10 +3492,6 @@ packages: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} - define-lazy-prop@2.0.0: - resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} - engines: {node: '>=8'} - define-properties@1.2.1: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} @@ -3766,10 +3511,6 @@ packages: defu@6.1.4: resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} - del@6.1.1: - resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} - engines: {node: '>=10'} - delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} @@ -3806,17 +3547,8 @@ packages: resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - detect-package-manager@2.0.1: - resolution: {integrity: sha512-j/lJHyoLlWi6G1LDdLgvUtz60Zo5GEj+sVYtTVXnYLDPuzgC3llMxonXym9zIwhhUII8vjdw0LXxavpLqTbl1A==} - engines: {node: '>=12'} - - detect-port@1.5.1: - resolution: {integrity: sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==} - hasBin: true - - diff-sequences@28.1.1: - resolution: {integrity: sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} diff-sequences@29.6.3: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} @@ -3849,10 +3581,6 @@ packages: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} engines: {node: '>=8'} - dotenv-expand@10.0.0: - resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==} - engines: {node: '>=12'} - dotenv-flow@4.1.0: resolution: {integrity: sha512-0cwP9jpQBQfyHwvE0cRhraZMkdV45TQedA8AAUZMsFzvmLcQyc1HPv+oX0OOYwLFjIlvgVepQ+WuQHbqDaHJZg==} engines: {node: '>= 12.0.0'} @@ -3867,9 +3595,6 @@ packages: duplexer@0.1.2: resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} - duplexify@3.7.1: - resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==} - eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -3879,11 +3604,6 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - ejs@3.1.9: - resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==} - engines: {node: '>=0.10.0'} - hasBin: true - electron-to-chromium@1.4.823: resolution: {integrity: sha512-4h+oPeAiGQOHFyUJOqpoEcPj/xxlicxBzOErVeYVMMmAiXUXsGpsFd0QXBMaUUbnD8hhSfLf9uw+MlsoIA7j5w==} @@ -3950,9 +3670,6 @@ packages: resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==} engines: {node: '>= 0.4'} - es-module-lexer@0.9.3: - resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} - es-module-lexer@1.5.0: resolution: {integrity: sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==} @@ -3971,19 +3688,11 @@ packages: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} - esbuild-plugin-alias@0.2.1: - resolution: {integrity: sha512-jyfL/pwPqaFXyKnj8lP8iLk6Z0m099uXR45aSN8Av1XD4vhvQutxxPzgA2bTcAwQpa1zCXDcWOlhFgyP3GKqhQ==} - esbuild-register@3.5.0: resolution: {integrity: sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A==} peerDependencies: esbuild: '>=0.12 <1' - esbuild@0.20.2: - resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} - engines: {node: '>=12'} - hasBin: true - esbuild@0.21.5: resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} engines: {node: '>=12'} @@ -4286,12 +3995,12 @@ packages: fb-watchman@2.0.2: resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + fd-package-json@1.2.0: + resolution: {integrity: sha512-45LSPmWf+gC5tdCQMNH4s9Sr00bIkiD9aN7dc5hqkrEw1geRYyDQS1v1oMHAW3ysfxfndqGsrDREHHjNNbKUfA==} + fd-slicer@1.1.0: resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} - fetch-retry@5.0.6: - resolution: {integrity: sha512-3yurQZ2hD9VISAhJJP9bpYFNQrHHBXE2JxxjY5aLEcDi46RmAzJE2OC9FAde0yis5ElW0jTTzs0zfg/Cca4XqQ==} - figures@2.0.0: resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==} engines: {node: '>=4'} @@ -4308,15 +4017,9 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} - file-system-cache@2.3.0: - resolution: {integrity: sha512-l4DMNdsIPsVnKrgEXbJwDJsA5mB8rGwHYERMgqQx/xAUtChPJMre1bXBzDEqqVbWv9AIbFezXMxeEkZDSrXUOQ==} - file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} - filelist@1.0.4: - resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} - filename-regex@2.0.1: resolution: {integrity: sha512-BTCqyBaWBTsauvnHiE8i562+EdJj+oUpkqWp2R1iCoR8f6oo8STRu3of7WJJ0TqWtxN50a5YFpzYK4Jj9esYfQ==} engines: {node: '>=0.10.0'} @@ -4465,13 +4168,6 @@ packages: from@0.1.7: resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==} - fs-constants@1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - - fs-extra@11.1.1: - resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} - engines: {node: '>=14.14'} - fs-extra@11.2.0: resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} engines: {node: '>=14.14'} @@ -4539,10 +4235,6 @@ packages: resolution: {integrity: sha512-Q6IBWr/zzw57zIkJmNhI23eRTw3nZ4BWWK034meLwOYU9L3J3IpXiyM73u2pYUwN6U7ahkerCwg2T0jlxiLwsw==} engines: {node: '>=14.18'} - get-npm-tarball-url@2.1.0: - resolution: {integrity: sha512-ro+DiMu5DXgRBabqXupW38h7WPZ9+Ad8UjwhvsmmN8w1sU7ab0nzAXvVZ4kqYg57OrqomRtJvepX5/xvFKNtjA==} - engines: {node: '>=12.17'} - get-package-type@0.1.0: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} engines: {node: '>=8.0.0'} @@ -4637,9 +4329,6 @@ packages: peerDependencies: glob: ^7.1.6 - glob-to-regexp@0.4.1: - resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - glob2base@0.0.12: resolution: {integrity: sha512-ZyqlgowMbfj2NPjxaZZ/EtsXlOch28FRXgMd64vqZWk1bT9+wvSRLYD1om9M7QfQru51zJPAT17qXm4/zd+9QA==} engines: {node: '>= 0.10'} @@ -4712,10 +4401,6 @@ packages: graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - gunzip-maybe@1.4.2: - resolution: {integrity: sha512-4haO1M4mLO91PW57BMsDFf75UmwoRX0GkdD+Faw+Lr+r/OZrOCS0pIBwOL1xCKQqnQzbNFGgK2V2CpBUPeFNTw==} - hasBin: true - handlebars@4.7.8: resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} engines: {node: '>=0.4.7'} @@ -4973,9 +4658,6 @@ packages: invariant@2.2.4: resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} - ip@2.0.1: - resolution: {integrity: sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==} - ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} @@ -5066,9 +4748,6 @@ packages: is-decimal@2.0.1: resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} - is-deflate@1.0.0: - resolution: {integrity: sha512-YDoFpuZWu1VRXlsnlYMzKyVRITXj7Ej/V9gXQ2/pAe7X1J7M/RNOqaIYi6qUn+B7nGyB9pDXrv02dsB58d2ZAQ==} - is-descriptor@0.1.7: resolution: {integrity: sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==} engines: {node: '>= 0.4'} @@ -5077,11 +4756,6 @@ packages: resolution: {integrity: sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==} engines: {node: '>= 0.4'} - is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - is-dotfile@1.0.3: resolution: {integrity: sha512-9YclgOGtN/f8zx0Pr4FQYMdibBiTaH3sn52vjYip4ZSf6C4/6RfTEZ+MR4GvKhCxdPh21Bg42/WL55f6KSnKpg==} engines: {node: '>=0.10.0'} @@ -5133,10 +4807,6 @@ packages: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} - is-gzip@1.0.0: - resolution: {integrity: sha512-rcfALRIb1YewtnksfRIHGcIY93QnK8BIQ/2c9yDYcG/Y6+vRoJuTWBmmSEbyLLYtXm7q35pHOHbZFQBaLrhlWQ==} - engines: {node: '>=0.10.0'} - is-hexadecimal@1.0.4: resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} @@ -5158,10 +4828,6 @@ packages: is-module@1.0.0: resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} - is-nan@1.3.2: - resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} - engines: {node: '>= 0.4'} - is-negative-zero@2.0.3: resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} engines: {node: '>= 0.4'} @@ -5190,10 +4856,6 @@ packages: resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} engines: {node: '>=8'} - is-path-cwd@2.2.0: - resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} - engines: {node: '>=6'} - is-path-inside@3.0.3: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} @@ -5300,10 +4962,6 @@ packages: resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} engines: {node: '>=0.10.0'} - is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} - isarray@1.0.0: resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} @@ -5359,11 +5017,6 @@ packages: resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==} engines: {node: '>=14'} - jake@10.8.7: - resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==} - engines: {node: '>=10'} - hasBin: true - java-properties@1.0.2: resolution: {integrity: sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==} engines: {node: '>= 0.6.0'} @@ -5402,10 +5055,6 @@ packages: ts-node: optional: true - jest-diff@28.1.3: - resolution: {integrity: sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - jest-diff@29.7.0: resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -5431,10 +5080,6 @@ packages: resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-get-type@28.0.2: - resolution: {integrity: sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - jest-get-type@29.6.3: resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -5447,10 +5092,6 @@ packages: resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-matcher-utils@28.1.3: - resolution: {integrity: sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - jest-matcher-utils@29.2.2: resolution: {integrity: sha512-4DkJ1sDPT+UX2MR7Y3od6KtvRi9Im1ZGLGgdLFLm4lPexbTaCgJW5NN3IOXlQHF7NSHY/VHhflQ+WoKtD/vyCw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -5463,10 +5104,6 @@ packages: resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-mock@27.5.1: - resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - jest-mock@29.7.0: resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -5665,10 +5302,6 @@ packages: resolution: {integrity: sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==} engines: {node: '> 0.8'} - lazy-universal-dotenv@4.0.0: - resolution: {integrity: sha512-aXpZJRnTkpK6gQ/z4nk+ZBLd/Qdp118cvPruLSIQzQNRhKwEcdXCOzXuF55VDqIiuAaY3UGZ10DJtvZzDcvsxg==} - engines: {node: '>=14.0.0'} - leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} @@ -5797,6 +5430,9 @@ packages: resolution: {integrity: sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + longest@2.0.1: resolution: {integrity: sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q==} engines: {node: '>=0.10.0'} @@ -5860,8 +5496,11 @@ packages: resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} engines: {node: '>=0.10.0'} - markdown-to-jsx@7.3.2: - resolution: {integrity: sha512-B+28F5ucp83aQm+OxNrPkS8z0tMKaeHiy0lHJs3LqCyDQFtWuenaIrkaVTgAm1pf1AU85LXltva86hlaT17i8Q==} + markdown-table@3.0.3: + resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} + + markdown-to-jsx@7.4.7: + resolution: {integrity: sha512-0+ls1IQZdU6cwM1yu0ZjjiVWYtkbExSyUIFU2ZeDIFuZM1W42Mh4OlJ4nb4apX4H8smxDHRdFaoIVJGwfv5hkg==} engines: {node: '>= 10'} peerDependencies: react: '>= 0.14.0' @@ -5880,6 +5519,39 @@ packages: math-random@1.0.4: resolution: {integrity: sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==} + mdast-util-find-and-replace@3.0.1: + resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} + + mdast-util-from-markdown@2.0.1: + resolution: {integrity: sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==} + + mdast-util-gfm-autolink-literal@2.0.0: + resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==} + + mdast-util-gfm-footnote@2.0.0: + resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} + + mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + + mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + + mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + + mdast-util-gfm@3.0.0: + resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} + + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + + mdast-util-to-markdown@2.1.0: + resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} + + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + media-typer@0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} @@ -5916,6 +5588,90 @@ packages: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} + micromark-core-commonmark@2.0.1: + resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==} + + micromark-extension-gfm-autolink-literal@2.1.0: + resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} + + micromark-extension-gfm-footnote@2.1.0: + resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} + + micromark-extension-gfm-strikethrough@2.1.0: + resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} + + micromark-extension-gfm-table@2.1.0: + resolution: {integrity: sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==} + + micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} + + micromark-extension-gfm-task-list-item@2.1.0: + resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} + + micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + + micromark-factory-destination@2.0.0: + resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} + + micromark-factory-label@2.0.0: + resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} + + micromark-factory-space@2.0.0: + resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} + + micromark-factory-title@2.0.0: + resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} + + micromark-factory-whitespace@2.0.0: + resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} + + micromark-util-character@2.1.0: + resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} + + micromark-util-chunked@2.0.0: + resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} + + micromark-util-classify-character@2.0.0: + resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} + + micromark-util-combine-extensions@2.0.0: + resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} + + micromark-util-decode-numeric-character-reference@2.0.1: + resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} + + micromark-util-decode-string@2.0.0: + resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} + + micromark-util-encode@2.0.0: + resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} + + micromark-util-html-tag-name@2.0.0: + resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} + + micromark-util-normalize-identifier@2.0.0: + resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} + + micromark-util-resolve-all@2.0.0: + resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} + + micromark-util-sanitize-uri@2.0.0: + resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + + micromark-util-subtokenize@2.0.1: + resolution: {integrity: sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==} + + micromark-util-symbol@2.0.0: + resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} + + micromark-util-types@2.0.0: + resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} + + micromark@4.0.0: + resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} + micromatch@2.3.11: resolution: {integrity: sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==} engines: {node: '>=0.10.0'} @@ -5972,10 +5728,6 @@ packages: minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} - minimatch@8.0.4: resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==} engines: {node: '>=16 || 14 >=14.17'} @@ -6014,9 +5766,6 @@ packages: resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} engines: {node: '>=0.10.0'} - mkdirp-classic@0.5.3: - resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} - mkdirp@0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true @@ -6090,15 +5839,6 @@ packages: node-fetch-native@1.6.4: resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} - 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 - node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} @@ -6284,10 +6024,6 @@ packages: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} - on-headers@1.0.2: - resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} - engines: {node: '>= 0.8'} - once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} @@ -6299,10 +6035,6 @@ packages: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} - open@8.4.2: - resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} - engines: {node: '>=12'} - opener@1.5.2: resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} hasBin: true @@ -6401,9 +6133,6 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - pako@0.2.9: - resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} - pako@2.1.0: resolution: {integrity: sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==} @@ -6525,9 +6254,6 @@ packages: pause-stream@0.0.11: resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} - peek-stream@1.1.3: - resolution: {integrity: sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==} - pend@1.2.0: resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} @@ -6579,10 +6305,6 @@ packages: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} - pkg-dir@5.0.0: - resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==} - engines: {node: '>=10'} - pkg-up@3.1.0: resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} engines: {node: '>=8'} @@ -6651,18 +6373,10 @@ packages: resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - pretty-format@28.1.3: - resolution: {integrity: sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} - pretty-format@29.7.0: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - pretty-hrtime@1.0.3: - resolution: {integrity: sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==} - engines: {node: '>= 0.8'} - pretty-ms@9.0.0: resolution: {integrity: sha512-E9e9HJ9R9NasGOgPaPE8VMeiPKAyWR5jcFpNnwIejslIhWqdqOrb2wShBsncMPUb+BcCd2OPYfh7p2W6oemTng==} engines: {node: '>=18'} @@ -6718,15 +6432,9 @@ packages: psl@1.9.0: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} - pump@2.0.1: - resolution: {integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==} - pump@3.0.0: resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} - pumpify@1.5.1: - resolution: {integrity: sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==} - punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} @@ -6752,9 +6460,6 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - ramda@0.29.0: - resolution: {integrity: sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==} - randomatic@3.1.1: resolution: {integrity: sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==} engines: {node: '>= 0.10.0'} @@ -6834,10 +6539,6 @@ packages: engines: {node: '>=18'} deprecated: Renamed to read-package-up - read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} - read-pkg@5.2.0: resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} engines: {node: '>=8'} @@ -6929,6 +6630,15 @@ packages: rehype-slug@6.0.0: resolution: {integrity: sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==} + remark-gfm@4.0.0: + resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} + + remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} + + remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} + remove-trailing-separator@1.1.0: resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} @@ -7327,11 +7037,8 @@ packages: resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} engines: {node: '>= 0.4'} - store2@2.14.3: - resolution: {integrity: sha512-4QcZ+yx7nzEFiV4BMLnr/pRa5HYzNITX2ri0Zh6sT9EyQHbBHacC6YigllUPU9X3D0f/22QCgfokpKs52YRrUg==} - - storybook@8.0.8: - resolution: {integrity: sha512-9gTnnAakJBtMCg8oPGqnpy7g/C3Tj2IWiVflHiFg1SDD9zXBoc4mZhaYPTne4LRBUhXk7XuFagKfiRN2V/MuKA==} + storybook@8.2.1: + resolution: {integrity: sha512-YT6//jQk5vfBCRVgcq1oBDUz8kE9PELTJAZr9VeeaLay/Fl5cUeNxjP7bm06hCOyYQ2gSUe4jF6TAwzwGePMLQ==} hasBin: true stream-combiner2@1.1.1: @@ -7340,9 +7047,6 @@ packages: stream-combiner@0.0.4: resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==} - stream-shift@1.0.3: - resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} - string-argv@0.3.2: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} @@ -7475,13 +7179,6 @@ packages: resolution: {integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==} engines: {node: ^14.18.0 || >=16.0.0} - tar-fs@2.1.1: - resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} - - tar-stream@2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} - engines: {node: '>=6'} - tar@6.2.1: resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} @@ -7489,10 +7186,6 @@ packages: telejson@7.2.0: resolution: {integrity: sha512-1QTEcJkJEhc8OnStBx/ILRu5J2p0GjvWsBx56bmZRqnrkdBMUe+nX92jxV+p3dB4CP6PZCdJMQJwCggkNBMzkQ==} - temp-dir@2.0.0: - resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} - engines: {node: '>=8'} - temp-dir@3.0.0: resolution: {integrity: sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==} engines: {node: '>=14.16'} @@ -7501,10 +7194,6 @@ packages: resolution: {integrity: sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==} engines: {node: '>=6.0.0'} - tempy@1.0.1: - resolution: {integrity: sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w==} - engines: {node: '>=10'} - tempy@3.1.0: resolution: {integrity: sha512-7jDLIdD2Zp0bDe5r3D2qtkd1QOCacylBuL7oa4udvN6v2pqr4+LcCr67C8DR1zkpaZ8XosF5m1yQSabKAW6f2g==} engines: {node: '>=14.16'} @@ -7583,9 +7272,6 @@ packages: resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} engines: {node: '>=0.10.0'} - tocbot@4.25.0: - resolution: {integrity: sha512-kE5wyCQJ40hqUaRVkyQ4z5+4juzYsv/eK+aqD97N62YH0TxFhzJvo22RUQQZdO3YnXAk42ZOfOpjVdy+Z0YokA==} - toidentifier@1.0.1: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} @@ -7594,9 +7280,6 @@ packages: resolution: {integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==} engines: {node: '>=6'} - tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - tr46@3.0.0: resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} engines: {node: '>=12'} @@ -7613,6 +7296,9 @@ packages: resolution: {integrity: sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==} engines: {node: '>=0.10.0'} + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + ts-api-utils@1.3.0: resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} engines: {node: '>=16'} @@ -7666,10 +7352,6 @@ packages: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} - type-fest@0.16.0: - resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} - engines: {node: '>=10'} - type-fest@0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} @@ -7682,10 +7364,6 @@ packages: resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} engines: {node: '>=8'} - type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} - type-fest@1.4.0: resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} engines: {node: '>=10'} @@ -7766,6 +7444,9 @@ packages: resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} engines: {node: '>=18'} + unified@11.0.5: + resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} + union-value@1.0.1: resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} engines: {node: '>=0.10.0'} @@ -7774,10 +7455,6 @@ packages: resolution: {integrity: sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==} engines: {node: '>= 0.8.0'} - unique-string@2.0.0: - resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} - engines: {node: '>=8'} - unique-string@3.0.0: resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} engines: {node: '>=12'} @@ -7791,6 +7468,9 @@ packages: unist-util-is@6.0.0: resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + unist-util-visit-parents@3.1.1: resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} @@ -7854,6 +7534,11 @@ packages: url-parse@1.5.10: resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + use-effect-event@1.0.2: + resolution: {integrity: sha512-9c8AAmtQja4LwJXI0EQPhQCip6dmrcSe0FMcTUZBeGh/XTCOLgw3Qbt0JdUT8Rcrm/ZH+Web7MIcMdqgQKdXJg==} + peerDependencies: + react: ^18.3 || ^19.0.0-0 + use@3.1.1: resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} engines: {node: '>=0.10.0'} @@ -7899,6 +7584,12 @@ packages: resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} engines: {'0': node >=0.6.0} + vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + + vfile@6.0.1: + resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==} + vite-tsconfig-paths@4.3.2: resolution: {integrity: sha512-0Vd/a6po6Q+86rPlntHye7F31zA2URZMbH8M3saAZ/xR9QoGN/L21bxEGfXdWmFdNkqPpRdxFT7nmNe12e9/uA==} peerDependencies: @@ -7944,19 +7635,15 @@ packages: engines: {node: '>=12.0.0'} hasBin: true + walk-up-path@3.0.1: + resolution: {integrity: sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==} + walker@1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} - watchpack@2.4.1: - resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==} - engines: {node: '>=10.13.0'} - wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - webidl-conversions@7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} @@ -7980,9 +7667,6 @@ packages: resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} engines: {node: '>=12'} - whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} @@ -8096,8 +7780,8 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + yocto-queue@1.1.1: + resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} engines: {node: '>=12.20'} yoctocolors@2.0.2: @@ -8119,21 +7803,20 @@ packages: zod@3.23.8: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + snapshots: '@aashutoshrathi/word-wrap@1.2.6': {} - '@adobe/css-tools@4.3.3': {} + '@adobe/css-tools@4.4.0': {} '@ampproject/remapping@2.3.0': dependencies: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - '@aw-web-design/x-default-browser@1.4.126': - dependencies: - default-browser-id: 3.0.0 - '@babel/code-frame@7.24.7': dependencies: '@babel/highlight': 7.24.7 @@ -9178,8 +8861,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@discoveryjs/json-ext@0.5.7': {} - '@emotion/is-prop-valid@0.8.8': dependencies: '@emotion/memoize': 0.7.4 @@ -9196,166 +8877,108 @@ snapshots: '@emotion/unitless@0.8.1': {} - '@emotion/use-insertion-effect-with-fallbacks@1.0.1(react@18.3.1)': - dependencies: - react: 18.3.1 - - '@esbuild/aix-ppc64@0.20.2': - optional: true - '@esbuild/aix-ppc64@0.21.5': optional: true '@esbuild/aix-ppc64@0.23.0': optional: true - '@esbuild/android-arm64@0.20.2': - optional: true - '@esbuild/android-arm64@0.21.5': optional: true '@esbuild/android-arm64@0.23.0': optional: true - '@esbuild/android-arm@0.20.2': - optional: true - '@esbuild/android-arm@0.21.5': optional: true '@esbuild/android-arm@0.23.0': optional: true - '@esbuild/android-x64@0.20.2': - optional: true - '@esbuild/android-x64@0.21.5': optional: true '@esbuild/android-x64@0.23.0': optional: true - '@esbuild/darwin-arm64@0.20.2': - optional: true - '@esbuild/darwin-arm64@0.21.5': optional: true '@esbuild/darwin-arm64@0.23.0': optional: true - '@esbuild/darwin-x64@0.20.2': - optional: true - '@esbuild/darwin-x64@0.21.5': optional: true '@esbuild/darwin-x64@0.23.0': optional: true - '@esbuild/freebsd-arm64@0.20.2': - optional: true - '@esbuild/freebsd-arm64@0.21.5': optional: true '@esbuild/freebsd-arm64@0.23.0': optional: true - '@esbuild/freebsd-x64@0.20.2': - optional: true - '@esbuild/freebsd-x64@0.21.5': optional: true '@esbuild/freebsd-x64@0.23.0': optional: true - '@esbuild/linux-arm64@0.20.2': - optional: true - '@esbuild/linux-arm64@0.21.5': optional: true '@esbuild/linux-arm64@0.23.0': optional: true - '@esbuild/linux-arm@0.20.2': - optional: true - '@esbuild/linux-arm@0.21.5': optional: true '@esbuild/linux-arm@0.23.0': optional: true - '@esbuild/linux-ia32@0.20.2': - optional: true - '@esbuild/linux-ia32@0.21.5': optional: true '@esbuild/linux-ia32@0.23.0': optional: true - '@esbuild/linux-loong64@0.20.2': - optional: true - '@esbuild/linux-loong64@0.21.5': optional: true '@esbuild/linux-loong64@0.23.0': optional: true - '@esbuild/linux-mips64el@0.20.2': - optional: true - '@esbuild/linux-mips64el@0.21.5': optional: true '@esbuild/linux-mips64el@0.23.0': optional: true - '@esbuild/linux-ppc64@0.20.2': - optional: true - '@esbuild/linux-ppc64@0.21.5': optional: true '@esbuild/linux-ppc64@0.23.0': optional: true - '@esbuild/linux-riscv64@0.20.2': - optional: true - '@esbuild/linux-riscv64@0.21.5': optional: true '@esbuild/linux-riscv64@0.23.0': optional: true - '@esbuild/linux-s390x@0.20.2': - optional: true - '@esbuild/linux-s390x@0.21.5': optional: true '@esbuild/linux-s390x@0.23.0': optional: true - '@esbuild/linux-x64@0.20.2': - optional: true - '@esbuild/linux-x64@0.21.5': optional: true '@esbuild/linux-x64@0.23.0': optional: true - '@esbuild/netbsd-x64@0.20.2': - optional: true - '@esbuild/netbsd-x64@0.21.5': optional: true @@ -9365,45 +8988,30 @@ snapshots: '@esbuild/openbsd-arm64@0.23.0': optional: true - '@esbuild/openbsd-x64@0.20.2': - optional: true - '@esbuild/openbsd-x64@0.21.5': optional: true '@esbuild/openbsd-x64@0.23.0': optional: true - '@esbuild/sunos-x64@0.20.2': - optional: true - '@esbuild/sunos-x64@0.21.5': optional: true '@esbuild/sunos-x64@0.23.0': optional: true - '@esbuild/win32-arm64@0.20.2': - optional: true - '@esbuild/win32-arm64@0.21.5': optional: true '@esbuild/win32-arm64@0.23.0': optional: true - '@esbuild/win32-ia32@0.20.2': - optional: true - '@esbuild/win32-ia32@0.21.5': optional: true '@esbuild/win32-ia32@0.23.0': optional: true - '@esbuild/win32-x64@0.20.2': - optional: true - '@esbuild/win32-x64@0.21.5': optional: true @@ -9433,8 +9041,6 @@ snapshots: '@eslint/js@8.57.0': {} - '@fal-works/esbuild-plugin-global-externals@2.1.2': {} - '@figma/plugin-typings@1.97.0': {} '@floating-ui/core@1.6.0': @@ -9600,10 +9206,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@jest/schemas@28.1.3': - dependencies: - '@sinclair/typebox': 0.24.51 - '@jest/schemas@29.6.3': dependencies: '@sinclair/typebox': 0.27.8 @@ -9654,14 +9256,6 @@ snapshots: '@types/istanbul-reports': 1.1.2 '@types/yargs': 13.0.12 - '@jest/types@27.5.1': - dependencies: - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports': 3.0.4 - '@types/node': 20.12.7 - '@types/yargs': 16.0.9 - chalk: 4.1.2 - '@jest/types@29.6.3': dependencies: '@jest/schemas': 29.6.3 @@ -9671,7 +9265,7 @@ snapshots: '@types/yargs': 17.0.32 chalk: 4.1.2 - '@joshwooding/vite-plugin-react-docgen-typescript@0.3.0(typescript@5.5.3)(vite@5.3.3(@types/node@20.12.7)(terser@5.30.3))': + '@joshwooding/vite-plugin-react-docgen-typescript@0.3.1(typescript@5.5.3)(vite@5.3.3(@types/node@20.12.7)(terser@5.30.3))': dependencies: glob: 7.2.3 glob-promise: 4.2.2(glob@7.2.3) @@ -9746,12 +9340,6 @@ snapshots: '@microsoft/tsdoc@0.15.0': {} - '@ndelangen/get-tarball@3.0.9': - dependencies: - gunzip-maybe: 1.4.2 - pump: 3.0.0 - tar-fs: 2.1.1 - '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -9856,21 +9444,6 @@ snapshots: '@pnpm/network.ca-file': 1.0.2 config-chain: 1.1.13 - '@radix-ui/react-compose-refs@1.0.1(@types/react@18.3.3)(react@18.3.1)': - dependencies: - '@babel/runtime': 7.24.4 - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.3 - - '@radix-ui/react-slot@1.0.2(@types/react@18.3.3)(react@18.3.1)': - dependencies: - '@babel/runtime': 7.24.4 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1) - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.3 - '@rollup/plugin-alias@5.1.0(rollup@4.18.1)': dependencies: slash: 4.0.0 @@ -10087,7 +9660,12 @@ snapshots: - '@types/node' - supports-color - '@sanity/semantic-release-preset@4.1.8(semantic-release@24.0.0(typescript@5.5.3))': + '@sanity/prettier-config@1.0.2(prettier@3.3.2)': + dependencies: + prettier: 3.3.2 + prettier-plugin-packagejson: 2.5.0(prettier@3.3.2) + + '@sanity/semantic-release-preset@5.0.0(semantic-release@24.0.0(typescript@5.5.3))': dependencies: '@semantic-release/changelog': 6.0.3(semantic-release@24.0.0(typescript@5.5.3)) '@semantic-release/exec': 6.0.3(semantic-release@24.0.0(typescript@5.5.3)) @@ -10098,10 +9676,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@sanity/ui-workshop@2.0.15(@sanity/icons@3.3.0(react@18.3.1))(@sanity/ui@2.6.3(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(styled-components@6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/node@20.12.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.30.3)': + '@sanity/ui-workshop@2.0.15(@sanity/icons@3.3.0(react@18.3.1))(@sanity/ui@2.6.4-canary.0(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(styled-components@6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1)))(@types/node@20.12.7)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(terser@5.30.3)': dependencies: '@sanity/icons': 3.3.0(react@18.3.1) - '@sanity/ui': 2.6.3(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(styled-components@6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@sanity/ui': 2.6.4-canary.0(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(styled-components@6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@vitejs/plugin-react': 4.3.0(vite@5.3.3(@types/node@20.12.7)(terser@5.30.3)) axe-core: 4.9.1 cac: 6.7.14 @@ -10131,7 +9709,7 @@ snapshots: - supports-color - terser - '@sanity/ui@2.6.3(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(styled-components@6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@sanity/ui@2.6.4-canary.0(react-dom@18.3.1(react@18.3.1))(react-is@18.3.1)(react@18.3.1)(styled-components@6.1.11(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: '@floating-ui/react-dom': 2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@sanity/color': 3.0.6 @@ -10261,8 +9839,6 @@ snapshots: '@sideway/pinpoint@2.0.0': {} - '@sinclair/typebox@0.24.51': {} - '@sinclair/typebox@0.27.8': {} '@sindresorhus/is@4.6.0': {} @@ -10279,454 +9855,223 @@ snapshots: dependencies: '@sinonjs/commons': 3.0.1 - '@storybook/addon-a11y@8.0.8': + '@storybook/addon-a11y@8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)))': dependencies: - '@storybook/addon-highlight': 8.0.8 + '@storybook/addon-highlight': 8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7))) axe-core: 4.9.1 + storybook: 8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)) - '@storybook/addon-actions@8.0.8': + '@storybook/addon-actions@8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)))': dependencies: - '@storybook/core-events': 8.0.8 '@storybook/global': 5.0.0 '@types/uuid': 9.0.8 dequal: 2.0.3 polished: 4.3.1 + storybook: 8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)) uuid: 9.0.1 - '@storybook/addon-backgrounds@8.0.8': + '@storybook/addon-backgrounds@8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)))': dependencies: '@storybook/global': 5.0.0 memoizerific: 1.11.3 + storybook: 8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)) ts-dedent: 2.2.0 - '@storybook/addon-controls@8.0.8(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@storybook/addon-controls@8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)))': dependencies: - '@storybook/blocks': 8.0.8(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + dequal: 2.0.3 lodash: 4.17.21 + storybook: 8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)) ts-dedent: 2.2.0 - transitivePeerDependencies: - - '@types/react' - - encoding - - react - - react-dom - - supports-color - '@storybook/addon-docs@8.0.8': + '@storybook/addon-docs@8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)))': dependencies: '@babel/core': 7.24.7 '@mdx-js/react': 3.0.1(@types/react@18.3.3)(react@18.3.1) - '@storybook/blocks': 8.0.8(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/client-logger': 8.0.8 - '@storybook/components': 8.0.8(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/csf-plugin': 8.0.8 - '@storybook/csf-tools': 8.0.8 + '@storybook/blocks': 8.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7))) + '@storybook/csf-plugin': 8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7))) '@storybook/global': 5.0.0 - '@storybook/node-logger': 8.0.8 - '@storybook/preview-api': 8.0.8 - '@storybook/react-dom-shim': 8.0.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/theming': 8.0.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/types': 8.0.8 + '@storybook/react-dom-shim': 8.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7))) '@types/react': 18.3.3 fs-extra: 11.2.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) rehype-external-links: 3.0.0 rehype-slug: 6.0.0 + storybook: 8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)) ts-dedent: 2.2.0 transitivePeerDependencies: - - encoding - supports-color - '@storybook/addon-essentials@8.0.8(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@storybook/addon-actions': 8.0.8 - '@storybook/addon-backgrounds': 8.0.8 - '@storybook/addon-controls': 8.0.8(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/addon-docs': 8.0.8 - '@storybook/addon-highlight': 8.0.8 - '@storybook/addon-measure': 8.0.8 - '@storybook/addon-outline': 8.0.8 - '@storybook/addon-toolbars': 8.0.8 - '@storybook/addon-viewport': 8.0.8 - '@storybook/core-common': 8.0.8 - '@storybook/manager-api': 8.0.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/node-logger': 8.0.8 - '@storybook/preview-api': 8.0.8 + '@storybook/addon-essentials@8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)))': + dependencies: + '@storybook/addon-actions': 8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7))) + '@storybook/addon-backgrounds': 8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7))) + '@storybook/addon-controls': 8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7))) + '@storybook/addon-docs': 8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7))) + '@storybook/addon-highlight': 8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7))) + '@storybook/addon-measure': 8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7))) + '@storybook/addon-outline': 8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7))) + '@storybook/addon-toolbars': 8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7))) + '@storybook/addon-viewport': 8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7))) + storybook: 8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)) ts-dedent: 2.2.0 transitivePeerDependencies: - - '@types/react' - - encoding - - react - - react-dom - supports-color - '@storybook/addon-highlight@8.0.8': + '@storybook/addon-highlight@8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)))': dependencies: '@storybook/global': 5.0.0 + storybook: 8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)) - '@storybook/addon-interactions@8.0.8(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.12.7))': + '@storybook/addon-interactions@8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)))': dependencies: '@storybook/global': 5.0.0 - '@storybook/instrumenter': 8.0.8 - '@storybook/test': 8.0.8(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.12.7)) - '@storybook/types': 8.0.8 + '@storybook/instrumenter': 8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7))) polished: 4.3.1 + storybook: 8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)) ts-dedent: 2.2.0 - transitivePeerDependencies: - - '@jest/globals' - - '@types/bun' - - '@types/jest' - - jest - - vitest - '@storybook/addon-links@8.0.8(react@18.3.1)': + '@storybook/addon-links@8.2.1(react@18.3.1)(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)))': dependencies: - '@storybook/csf': 0.1.3 + '@storybook/csf': 0.1.11 '@storybook/global': 5.0.0 + storybook: 8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)) ts-dedent: 2.2.0 optionalDependencies: react: 18.3.1 - '@storybook/addon-measure@8.0.8': + '@storybook/addon-mdx-gfm@8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)))': + dependencies: + remark-gfm: 4.0.0 + storybook: 8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)) + ts-dedent: 2.2.0 + transitivePeerDependencies: + - supports-color + + '@storybook/addon-measure@8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)))': dependencies: '@storybook/global': 5.0.0 + storybook: 8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)) tiny-invariant: 1.3.3 - '@storybook/addon-outline@8.0.8': + '@storybook/addon-outline@8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)))': dependencies: '@storybook/global': 5.0.0 + storybook: 8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)) ts-dedent: 2.2.0 - '@storybook/addon-storysource@8.0.8': + '@storybook/addon-storysource@8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)))': dependencies: - '@storybook/source-loader': 8.0.8 + '@storybook/source-loader': 8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7))) estraverse: 5.3.0 + storybook: 8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)) tiny-invariant: 1.3.3 - '@storybook/addon-themes@8.0.8': + '@storybook/addon-themes@8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)))': dependencies: + storybook: 8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)) ts-dedent: 2.2.0 - '@storybook/addon-toolbars@8.0.8': {} + '@storybook/addon-toolbars@8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)))': + dependencies: + storybook: 8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)) - '@storybook/addon-viewport@8.0.8': + '@storybook/addon-viewport@8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)))': dependencies: memoizerific: 1.11.3 + storybook: 8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)) - '@storybook/blocks@8.0.8(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@storybook/blocks@8.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)))': dependencies: - '@storybook/channels': 8.0.8 - '@storybook/client-logger': 8.0.8 - '@storybook/components': 8.0.8(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/core-events': 8.0.8 - '@storybook/csf': 0.1.3 - '@storybook/docs-tools': 8.0.8 + '@storybook/csf': 0.1.11 '@storybook/global': 5.0.0 '@storybook/icons': 1.2.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/manager-api': 8.0.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/preview-api': 8.0.8 - '@storybook/theming': 8.0.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/types': 8.0.8 '@types/lodash': 4.17.0 color-convert: 2.0.1 dequal: 2.0.3 lodash: 4.17.21 - markdown-to-jsx: 7.3.2(react@18.3.1) + markdown-to-jsx: 7.4.7(react@18.3.1) memoizerific: 1.11.3 polished: 4.3.1 react-colorful: 5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + storybook: 8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)) telejson: 7.2.0 - tocbot: 4.25.0 ts-dedent: 2.2.0 util-deprecate: 1.0.2 optionalDependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - transitivePeerDependencies: - - '@types/react' - - encoding - - supports-color - '@storybook/builder-manager@8.0.8': + '@storybook/builder-vite@8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)))(typescript@5.5.3)(vite@5.3.3(@types/node@20.12.7)(terser@5.30.3))': dependencies: - '@fal-works/esbuild-plugin-global-externals': 2.1.2 - '@storybook/core-common': 8.0.8 - '@storybook/manager': 8.0.8 - '@storybook/node-logger': 8.0.8 - '@types/ejs': 3.1.5 - '@yarnpkg/esbuild-plugin-pnp': 3.0.0-rc.15(esbuild@0.20.2) - browser-assert: 1.2.1 - ejs: 3.1.9 - esbuild: 0.20.2 - esbuild-plugin-alias: 0.2.1 - express: 4.19.2 - fs-extra: 11.2.0 - process: 0.11.10 - util: 0.12.5 - transitivePeerDependencies: - - encoding - - supports-color - - '@storybook/builder-vite@8.0.8(typescript@5.5.3)(vite@5.3.3(@types/node@20.12.7)(terser@5.30.3))': - dependencies: - '@storybook/channels': 8.0.8 - '@storybook/client-logger': 8.0.8 - '@storybook/core-common': 8.0.8 - '@storybook/core-events': 8.0.8 - '@storybook/csf-plugin': 8.0.8 - '@storybook/node-logger': 8.0.8 - '@storybook/preview': 8.0.8 - '@storybook/preview-api': 8.0.8 - '@storybook/types': 8.0.8 + '@storybook/csf-plugin': 8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7))) '@types/find-cache-dir': 3.2.1 browser-assert: 1.2.1 - es-module-lexer: 0.9.3 + es-module-lexer: 1.5.0 express: 4.19.2 find-cache-dir: 3.3.2 fs-extra: 11.2.0 magic-string: 0.30.9 + storybook: 8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)) ts-dedent: 2.2.0 vite: 5.3.3(@types/node@20.12.7)(terser@5.30.3) optionalDependencies: typescript: 5.5.3 transitivePeerDependencies: - - encoding - supports-color - '@storybook/channels@8.0.8': - dependencies: - '@storybook/client-logger': 8.0.8 - '@storybook/core-events': 8.0.8 - '@storybook/global': 5.0.0 - telejson: 7.2.0 - tiny-invariant: 1.3.3 - - '@storybook/cli@8.0.8(@babel/preset-env@7.24.7(@babel/core@7.24.7))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@storybook/codemod@8.2.1': dependencies: '@babel/core': 7.24.7 + '@babel/preset-env': 7.24.7(@babel/core@7.24.7) '@babel/types': 7.24.7 - '@ndelangen/get-tarball': 3.0.9 - '@storybook/codemod': 8.0.8 - '@storybook/core-common': 8.0.8 - '@storybook/core-events': 8.0.8 - '@storybook/core-server': 8.0.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/csf-tools': 8.0.8 - '@storybook/node-logger': 8.0.8 - '@storybook/telemetry': 8.0.8 - '@storybook/types': 8.0.8 - '@types/semver': 7.5.8 - '@yarnpkg/fslib': 2.10.3 - '@yarnpkg/libzip': 2.3.0 - chalk: 4.1.2 - commander: 6.2.1 + '@storybook/core': 8.2.1 + '@storybook/csf': 0.1.11 + '@types/cross-spawn': 6.0.6 cross-spawn: 7.0.3 - detect-indent: 6.1.0 - envinfo: 7.11.1 - execa: 5.1.1 - find-up: 5.0.0 - fs-extra: 11.2.0 - get-npm-tarball-url: 2.1.0 - giget: 1.2.3 - globby: 11.1.0 + globby: 14.0.1 jscodeshift: 0.15.2(@babel/preset-env@7.24.7(@babel/core@7.24.7)) - leven: 3.1.0 - ora: 5.4.1 + lodash: 4.17.21 prettier: 3.3.2 - prompts: 2.4.2 - read-pkg-up: 7.0.1 - semver: 7.6.2 - strip-json-comments: 3.1.1 - tempy: 1.0.1 + recast: 0.23.9 tiny-invariant: 1.3.3 - ts-dedent: 2.2.0 transitivePeerDependencies: - - '@babel/preset-env' - bufferutil - - encoding - - react - - react-dom - supports-color - utf-8-validate - '@storybook/client-logger@8.0.8': - dependencies: - '@storybook/global': 5.0.0 - - '@storybook/codemod@8.0.8': - dependencies: - '@babel/core': 7.24.7 - '@babel/preset-env': 7.24.7(@babel/core@7.24.7) - '@babel/types': 7.24.7 - '@storybook/csf': 0.1.3 - '@storybook/csf-tools': 8.0.8 - '@storybook/node-logger': 8.0.8 - '@storybook/types': 8.0.8 - '@types/cross-spawn': 6.0.6 - cross-spawn: 7.0.3 - globby: 11.1.0 - jscodeshift: 0.15.2(@babel/preset-env@7.24.7(@babel/core@7.24.7)) - lodash: 4.17.21 - prettier: 3.3.2 - recast: 0.23.9 - tiny-invariant: 1.3.3 - transitivePeerDependencies: - - supports-color - - '@storybook/components@8.0.8(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@radix-ui/react-slot': 1.0.2(@types/react@18.3.3)(react@18.3.1) - '@storybook/client-logger': 8.0.8 - '@storybook/csf': 0.1.3 - '@storybook/global': 5.0.0 - '@storybook/icons': 1.2.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/theming': 8.0.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/types': 8.0.8 - memoizerific: 1.11.3 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - util-deprecate: 1.0.2 - transitivePeerDependencies: - - '@types/react' - - '@storybook/core-common@8.0.8': - dependencies: - '@storybook/core-events': 8.0.8 - '@storybook/csf-tools': 8.0.8 - '@storybook/node-logger': 8.0.8 - '@storybook/types': 8.0.8 - '@yarnpkg/fslib': 2.10.3 - '@yarnpkg/libzip': 2.3.0 - chalk: 4.1.2 - cross-spawn: 7.0.3 - esbuild: 0.20.2 - esbuild-register: 3.5.0(esbuild@0.20.2) - execa: 5.1.1 - file-system-cache: 2.3.0 - find-cache-dir: 3.3.2 - find-up: 5.0.0 - fs-extra: 11.2.0 - glob: 10.4.1 - handlebars: 4.7.8 - lazy-universal-dotenv: 4.0.0 - node-fetch: 2.7.0 - picomatch: 2.3.1 - pkg-dir: 5.0.0 - pretty-hrtime: 1.0.3 - resolve-from: 5.0.0 - semver: 7.6.2 - tempy: 1.0.1 - tiny-invariant: 1.3.3 - ts-dedent: 2.2.0 - util: 0.12.5 - transitivePeerDependencies: - - encoding - - supports-color - - '@storybook/core-events@8.0.8': - dependencies: - ts-dedent: 2.2.0 - - '@storybook/core-server@8.0.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@storybook/core@8.2.1': dependencies: - '@aw-web-design/x-default-browser': 1.4.126 - '@babel/core': 7.24.7 - '@discoveryjs/json-ext': 0.5.7 - '@storybook/builder-manager': 8.0.8 - '@storybook/channels': 8.0.8 - '@storybook/core-common': 8.0.8 - '@storybook/core-events': 8.0.8 - '@storybook/csf': 0.1.3 - '@storybook/csf-tools': 8.0.8 - '@storybook/docs-mdx': 3.0.0 - '@storybook/global': 5.0.0 - '@storybook/manager': 8.0.8 - '@storybook/manager-api': 8.0.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/node-logger': 8.0.8 - '@storybook/preview-api': 8.0.8 - '@storybook/telemetry': 8.0.8 - '@storybook/types': 8.0.8 - '@types/detect-port': 1.3.5 + '@storybook/csf': 0.1.11 + '@types/express': 4.17.21 '@types/node': 18.19.29 - '@types/pretty-hrtime': 1.0.3 - '@types/semver': 7.5.8 - better-opn: 3.0.2 - chalk: 4.1.2 - cli-table3: 0.6.4 - compression: 1.7.4 - detect-port: 1.5.1 + browser-assert: 1.2.1 + esbuild: 0.21.5 + esbuild-register: 3.5.0(esbuild@0.21.5) express: 4.19.2 - fs-extra: 11.2.0 - globby: 11.1.0 - ip: 2.0.1 - lodash: 4.17.21 - open: 8.4.2 - pretty-hrtime: 1.0.3 - prompts: 2.4.2 - read-pkg-up: 7.0.1 - semver: 7.6.2 - telejson: 7.2.0 - tiny-invariant: 1.3.3 - ts-dedent: 2.2.0 + process: 0.11.10 + recast: 0.23.9 util: 0.12.5 - util-deprecate: 1.0.2 - watchpack: 2.4.1 ws: 8.16.0 transitivePeerDependencies: - bufferutil - - encoding - - react - - react-dom - supports-color - utf-8-validate - '@storybook/csf-plugin@8.0.8': + '@storybook/csf-plugin@8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)))': dependencies: - '@storybook/csf-tools': 8.0.8 + storybook: 8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)) unplugin: 1.10.1 - transitivePeerDependencies: - - supports-color - - '@storybook/csf-tools@8.0.8': - dependencies: - '@babel/generator': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 - '@storybook/csf': 0.1.3 - '@storybook/types': 8.0.8 - fs-extra: 11.2.0 - recast: 0.23.9 - ts-dedent: 2.2.0 - transitivePeerDependencies: - - supports-color '@storybook/csf@0.0.1': dependencies: lodash: 4.17.21 - '@storybook/csf@0.1.3': + '@storybook/csf@0.1.11': dependencies: type-fest: 2.19.0 - '@storybook/docs-mdx@3.0.0': {} - - '@storybook/docs-tools@8.0.8': - dependencies: - '@storybook/core-common': 8.0.8 - '@storybook/preview-api': 8.0.8 - '@storybook/types': 8.0.8 - '@types/doctrine': 0.0.3 - assert: 2.1.0 - doctrine: 3.0.0 - lodash: 4.17.21 - transitivePeerDependencies: - - encoding - - supports-color - - '@storybook/expect@28.1.3-5': - dependencies: - '@types/jest': 28.1.3 - '@storybook/global@5.0.0': {} '@storybook/icons@1.2.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': @@ -10734,108 +10079,49 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@storybook/instrumenter@8.0.8': + '@storybook/instrumenter@8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)))': dependencies: - '@storybook/channels': 8.0.8 - '@storybook/client-logger': 8.0.8 - '@storybook/core-events': 8.0.8 '@storybook/global': 5.0.0 - '@storybook/preview-api': 8.0.8 '@vitest/utils': 1.4.0 + storybook: 8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)) util: 0.12.5 - '@storybook/jest@0.2.3(@jest/globals@29.7.0)(jest@29.7.0(@types/node@20.12.7))': - dependencies: - '@storybook/expect': 28.1.3-5 - '@testing-library/jest-dom': 6.4.2(@jest/globals@29.7.0)(@types/jest@28.1.3)(jest@29.7.0(@types/node@20.12.7)) - '@types/jest': 28.1.3 - jest-mock: 27.5.1 - transitivePeerDependencies: - - '@jest/globals' - - '@types/bun' - - jest - - vitest - - '@storybook/manager-api@8.0.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@storybook/manager-api@8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)))': dependencies: - '@storybook/channels': 8.0.8 - '@storybook/client-logger': 8.0.8 - '@storybook/core-events': 8.0.8 - '@storybook/csf': 0.1.3 - '@storybook/global': 5.0.0 - '@storybook/icons': 1.2.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/router': 8.0.8 - '@storybook/theming': 8.0.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/types': 8.0.8 - dequal: 2.0.3 - lodash: 4.17.21 - memoizerific: 1.11.3 - store2: 2.14.3 - telejson: 7.2.0 - ts-dedent: 2.2.0 - transitivePeerDependencies: - - react - - react-dom - - '@storybook/manager@8.0.8': {} - - '@storybook/node-logger@8.0.8': {} - - '@storybook/preview-api@8.0.8': - dependencies: - '@storybook/channels': 8.0.8 - '@storybook/client-logger': 8.0.8 - '@storybook/core-events': 8.0.8 - '@storybook/csf': 0.1.3 - '@storybook/global': 5.0.0 - '@storybook/types': 8.0.8 - '@types/qs': 6.9.14 - dequal: 2.0.3 - lodash: 4.17.21 - memoizerific: 1.11.3 - qs: 6.12.0 - tiny-invariant: 1.3.3 - ts-dedent: 2.2.0 - util-deprecate: 1.0.2 - - '@storybook/preview@8.0.8': {} + storybook: 8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)) - '@storybook/react-dom-shim@8.0.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@storybook/react-dom-shim@8.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)))': dependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + storybook: 8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)) - '@storybook/react-vite@8.0.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.18.1)(typescript@5.5.3)(vite@5.3.3(@types/node@20.12.7)(terser@5.30.3))': + '@storybook/react-vite@8.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(rollup@4.18.1)(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)))(typescript@5.5.3)(vite@5.3.3(@types/node@20.12.7)(terser@5.30.3))': dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.3.0(typescript@5.5.3)(vite@5.3.3(@types/node@20.12.7)(terser@5.30.3)) + '@joshwooding/vite-plugin-react-docgen-typescript': 0.3.1(typescript@5.5.3)(vite@5.3.3(@types/node@20.12.7)(terser@5.30.3)) '@rollup/pluginutils': 5.1.0(rollup@4.18.1) - '@storybook/builder-vite': 8.0.8(typescript@5.5.3)(vite@5.3.3(@types/node@20.12.7)(terser@5.30.3)) - '@storybook/node-logger': 8.0.8 - '@storybook/react': 8.0.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + '@storybook/builder-vite': 8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)))(typescript@5.5.3)(vite@5.3.3(@types/node@20.12.7)(terser@5.30.3)) + '@storybook/react': 8.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)))(typescript@5.5.3) find-up: 5.0.0 magic-string: 0.30.9 react: 18.3.1 react-docgen: 7.0.3 react-dom: 18.3.1(react@18.3.1) resolve: 1.22.8 + storybook: 8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)) tsconfig-paths: 4.2.0 vite: 5.3.3(@types/node@20.12.7)(terser@5.30.3) transitivePeerDependencies: - '@preact/preset-vite' - - encoding - rollup - supports-color - typescript - vite-plugin-glimmerx - '@storybook/react@8.0.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3)': + '@storybook/react@8.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)))(typescript@5.5.3)': dependencies: - '@storybook/client-logger': 8.0.8 - '@storybook/docs-tools': 8.0.8 '@storybook/global': 5.0.0 - '@storybook/preview-api': 8.0.8 - '@storybook/react-dom-shim': 8.0.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/types': 8.0.8 + '@storybook/react-dom-shim': 8.2.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7))) '@types/escodegen': 0.0.6 '@types/estree': 0.0.51 '@types/node': 18.19.29 @@ -10850,55 +10136,31 @@ snapshots: react-dom: 18.3.1(react@18.3.1) react-element-to-jsx-string: 15.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) semver: 7.6.2 + storybook: 8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)) ts-dedent: 2.2.0 type-fest: 2.19.0 util-deprecate: 1.0.2 optionalDependencies: typescript: 5.5.3 - transitivePeerDependencies: - - encoding - - supports-color - '@storybook/router@8.0.8': + '@storybook/source-loader@8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)))': dependencies: - '@storybook/client-logger': 8.0.8 - memoizerific: 1.11.3 - qs: 6.12.0 - - '@storybook/source-loader@8.0.8': - dependencies: - '@storybook/csf': 0.1.3 - '@storybook/types': 8.0.8 + '@storybook/csf': 0.1.11 estraverse: 5.3.0 lodash: 4.17.21 prettier: 3.3.2 - - '@storybook/telemetry@8.0.8': - dependencies: - '@storybook/client-logger': 8.0.8 - '@storybook/core-common': 8.0.8 - '@storybook/csf-tools': 8.0.8 - chalk: 4.1.2 - detect-package-manager: 2.0.1 - fetch-retry: 5.0.6 - fs-extra: 11.2.0 - read-pkg-up: 7.0.1 - transitivePeerDependencies: - - encoding - - supports-color - - '@storybook/test@8.0.8(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.12.7))': - dependencies: - '@storybook/client-logger': 8.0.8 - '@storybook/core-events': 8.0.8 - '@storybook/instrumenter': 8.0.8 - '@storybook/preview-api': 8.0.8 - '@testing-library/dom': 9.3.4 - '@testing-library/jest-dom': 6.4.2(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.12.7)) - '@testing-library/user-event': 14.5.2(@testing-library/dom@9.3.4) - '@vitest/expect': 1.3.1 - '@vitest/spy': 1.4.0 - chai: 4.4.1 + storybook: 8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)) + + '@storybook/test@8.2.1(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.12.7))(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)))': + dependencies: + '@storybook/csf': 0.1.11 + '@storybook/instrumenter': 8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7))) + '@testing-library/dom': 10.1.0 + '@testing-library/jest-dom': 6.4.5(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.12.7)) + '@testing-library/user-event': 14.5.2(@testing-library/dom@10.1.0) + '@vitest/expect': 1.6.0 + '@vitest/spy': 1.6.0 + storybook: 8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)) util: 0.12.5 transitivePeerDependencies: - '@jest/globals' @@ -10907,29 +10169,11 @@ snapshots: - jest - vitest - '@storybook/testing-library@0.2.2': + '@storybook/theming@8.2.1(storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)))': dependencies: - '@testing-library/dom': 9.3.4 - '@testing-library/user-event': 14.5.2(@testing-library/dom@9.3.4) - ts-dedent: 2.2.0 + storybook: 8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)) - '@storybook/theming@8.0.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.3.1) - '@storybook/client-logger': 8.0.8 - '@storybook/global': 5.0.0 - memoizerific: 1.11.3 - optionalDependencies: - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@storybook/types@8.0.8': - dependencies: - '@storybook/channels': 8.0.8 - '@types/express': 4.17.21 - file-system-cache: 2.3.0 - - '@testing-library/dom@10.3.1': + '@testing-library/dom@10.1.0': dependencies: '@babel/code-frame': 7.24.7 '@babel/runtime': 7.24.4 @@ -10940,32 +10184,20 @@ snapshots: lz-string: 1.5.0 pretty-format: 27.5.1 - '@testing-library/dom@9.3.4': + '@testing-library/dom@10.3.1': dependencies: '@babel/code-frame': 7.24.7 '@babel/runtime': 7.24.4 '@types/aria-query': 5.0.4 - aria-query: 5.1.3 + aria-query: 5.3.0 chalk: 4.1.2 dom-accessibility-api: 0.5.16 lz-string: 1.5.0 pretty-format: 27.5.1 - '@testing-library/jest-dom@5.17.0': + '@testing-library/jest-dom@6.4.5(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.12.7))': dependencies: - '@adobe/css-tools': 4.3.3 - '@babel/runtime': 7.24.4 - '@types/testing-library__jest-dom': 5.14.9 - aria-query: 5.3.0 - chalk: 3.0.0 - css.escape: 1.5.1 - dom-accessibility-api: 0.5.16 - lodash: 4.17.21 - redent: 3.0.0 - - '@testing-library/jest-dom@6.4.2(@jest/globals@29.7.0)(@types/jest@28.1.3)(jest@29.7.0(@types/node@20.12.7))': - dependencies: - '@adobe/css-tools': 4.3.3 + '@adobe/css-tools': 4.4.0 '@babel/runtime': 7.24.4 aria-query: 5.3.0 chalk: 3.0.0 @@ -10975,12 +10207,12 @@ snapshots: redent: 3.0.0 optionalDependencies: '@jest/globals': 29.7.0 - '@types/jest': 28.1.3 + '@types/jest': 29.5.12 jest: 29.7.0(@types/node@20.12.7) - '@testing-library/jest-dom@6.4.2(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.12.7))': + '@testing-library/jest-dom@6.4.6(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.12.7))': dependencies: - '@adobe/css-tools': 4.3.3 + '@adobe/css-tools': 4.4.0 '@babel/runtime': 7.24.4 aria-query: 5.3.0 chalk: 3.0.0 @@ -11003,9 +10235,9 @@ snapshots: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 - '@testing-library/user-event@14.5.2(@testing-library/dom@9.3.4)': + '@testing-library/user-event@14.5.2(@testing-library/dom@10.1.0)': dependencies: - '@testing-library/dom': 9.3.4 + '@testing-library/dom': 10.1.0 '@tootallnate/once@2.0.0': {} @@ -11051,14 +10283,12 @@ snapshots: dependencies: '@types/node': 20.12.7 - '@types/detect-port@1.3.5': {} - - '@types/doctrine@0.0.3': {} + '@types/debug@4.1.12': + dependencies: + '@types/ms': 0.7.34 '@types/doctrine@0.0.9': {} - '@types/ejs@3.1.5': {} - '@types/emscripten@1.39.10': {} '@types/escodegen@0.0.6': {} @@ -11122,11 +10352,6 @@ snapshots: '@types/jest': 29.5.12 axe-core: 3.5.6 - '@types/jest@28.1.3': - dependencies: - jest-matcher-utils: 28.1.3 - pretty-format: 28.1.3 - '@types/jest@29.5.12': dependencies: expect: 29.7.0 @@ -11144,12 +10369,18 @@ snapshots: '@types/lodash@4.17.0': {} + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.2 + '@types/mdx@2.0.12': {} '@types/mime@1.3.5': {} '@types/minimatch@5.1.2': {} + '@types/ms@0.7.34': {} + '@types/node@18.19.29': dependencies: undici-types: 5.26.5 @@ -11160,8 +10391,6 @@ snapshots: '@types/normalize-package-data@2.4.4': {} - '@types/pretty-hrtime@1.0.3': {} - '@types/prismjs@1.26.3': {} '@types/prop-types@15.7.12': {} @@ -11212,10 +10441,6 @@ snapshots: '@types/stylis@4.2.5': {} - '@types/testing-library__jest-dom@5.14.9': - dependencies: - '@types/jest': 29.5.12 - '@types/tough-cookie@4.0.5': {} '@types/unist@2.0.10': {} @@ -11230,10 +10455,6 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@types/yargs@16.0.9': - dependencies: - '@types/yargs-parser': 21.0.3 - '@types/yargs@17.0.32': dependencies: '@types/yargs-parser': 21.0.3 @@ -11378,39 +10599,30 @@ snapshots: transitivePeerDependencies: - supports-color - '@vitest/expect@1.3.1': + '@vitest/expect@1.6.0': dependencies: - '@vitest/spy': 1.3.1 - '@vitest/utils': 1.3.1 + '@vitest/spy': 1.6.0 + '@vitest/utils': 1.6.0 chai: 4.4.1 - '@vitest/spy@1.3.1': + '@vitest/spy@1.6.0': dependencies: tinyspy: 2.2.1 - '@vitest/spy@1.4.0': - dependencies: - tinyspy: 2.2.1 - - '@vitest/utils@1.3.1': + '@vitest/utils@1.4.0': dependencies: diff-sequences: 29.6.3 estree-walker: 3.0.3 loupe: 2.3.7 pretty-format: 29.7.0 - '@vitest/utils@1.4.0': + '@vitest/utils@1.6.0': dependencies: diff-sequences: 29.6.3 estree-walker: 3.0.3 loupe: 2.3.7 pretty-format: 29.7.0 - '@yarnpkg/esbuild-plugin-pnp@3.0.0-rc.15(esbuild@0.20.2)': - dependencies: - esbuild: 0.20.2 - tslib: 2.6.2 - '@yarnpkg/fslib@2.10.3': dependencies: '@yarnpkg/libzip': 2.3.0 @@ -11454,8 +10666,6 @@ snapshots: acorn@8.11.3: {} - address@1.2.2: {} - agent-base@6.0.2: dependencies: debug: 4.3.5(supports-color@8.1.1) @@ -11549,8 +10759,6 @@ snapshots: normalize-path: 3.0.0 picomatch: 2.3.1 - app-root-dir@1.0.2: {} - arch@2.2.0: {} arg@5.0.2: {} @@ -11669,14 +10877,6 @@ snapshots: assert-plus@1.0.0: {} - assert@2.1.0: - dependencies: - call-bind: 1.0.7 - is-nan: 1.3.2 - object-is: 1.1.6 - object.assign: 4.1.5 - util: 0.12.5 - assertion-error@1.1.0: {} assign-symbols@1.0.0: {} @@ -11822,6 +11022,8 @@ snapshots: core-js: 2.6.12 regenerator-runtime: 0.11.1 + bail@2.0.2: {} + balanced-match@1.0.2: {} base64-js@1.5.1: {} @@ -11846,12 +11048,6 @@ snapshots: before-after-hook@3.0.2: {} - better-opn@3.0.2: - dependencies: - open: 8.4.2 - - big-integer@1.6.52: {} - binary-extensions@1.13.1: {} binary-extensions@2.3.0: {} @@ -11890,10 +11086,6 @@ snapshots: bottleneck@2.19.5: {} - bplist-parser@0.2.0: - dependencies: - big-integer: 1.6.52 - brace-expansion@1.1.11: dependencies: balanced-match: 1.0.2 @@ -11930,10 +11122,6 @@ snapshots: browser-assert@1.2.1: {} - browserify-zlib@0.1.4: - dependencies: - pako: 0.2.9 - browserslist@4.23.2: dependencies: caniuse-lite: 1.0.30001641 @@ -11956,8 +11144,6 @@ snapshots: builtin-modules@3.3.0: {} - bytes@3.0.0: {} - bytes@3.1.2: {} cac@6.7.14: {} @@ -11998,11 +11184,13 @@ snapshots: caseless@0.12.0: {} + ccount@2.0.1: {} + chai@4.4.1: dependencies: assertion-error: 1.1.0 check-error: 1.0.3 - deep-eql: 4.1.3 + deep-eql: 4.1.4 get-func-name: 2.0.2 loupe: 2.3.7 pathval: 1.1.1 @@ -12075,8 +11263,6 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - chownr@1.1.4: {} - chownr@2.0.0: {} ci-info@3.9.0: {} @@ -12225,22 +11411,6 @@ snapshots: component-emitter@1.3.1: {} - compressible@2.0.18: - dependencies: - mime-db: 1.52.0 - - compression@1.7.4: - dependencies: - accepts: 1.3.8 - bytes: 3.0.0 - compressible: 2.0.18 - debug: 2.6.9 - on-headers: 1.0.2 - safe-buffer: 5.1.2 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - concat-map@0.0.1: {} config-chain@1.1.13: @@ -12366,8 +11536,6 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - crypto-random-string@2.0.0: {} - crypto-random-string@4.0.0: dependencies: type-fest: 1.4.0 @@ -12525,7 +11693,7 @@ snapshots: dedent@1.5.1: {} - deep-eql@4.1.3: + deep-eql@4.1.4: dependencies: type-detect: 4.0.8 @@ -12556,11 +11724,6 @@ snapshots: deepmerge@4.3.1: {} - default-browser-id@3.0.0: - dependencies: - bplist-parser: 0.2.0 - untildify: 4.0.0 - defaults@1.0.4: dependencies: clone: 1.0.4 @@ -12571,8 +11734,6 @@ snapshots: es-errors: 1.3.0 gopd: 1.0.1 - define-lazy-prop@2.0.0: {} - define-properties@1.2.1: dependencies: define-data-property: 1.1.4 @@ -12594,17 +11755,6 @@ snapshots: defu@6.1.4: {} - del@6.1.1: - dependencies: - globby: 11.1.0 - graceful-fs: 4.2.11 - is-glob: 4.0.3 - is-path-cwd: 2.2.0 - is-path-inside: 3.0.3 - p-map: 4.0.0 - rimraf: 3.0.2 - slash: 3.0.0 - delayed-stream@1.0.0: {} depd@2.0.0: {} @@ -12623,18 +11773,9 @@ snapshots: detect-newline@4.0.1: {} - detect-package-manager@2.0.1: - dependencies: - execa: 5.1.1 - - detect-port@1.5.1: + devlop@1.1.0: dependencies: - address: 1.2.2 - debug: 4.3.5(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - - diff-sequences@28.1.1: {} + dequal: 2.0.3 diff-sequences@29.6.3: {} @@ -12662,8 +11803,6 @@ snapshots: dependencies: is-obj: 2.0.0 - dotenv-expand@10.0.0: {} - dotenv-flow@4.1.0: dependencies: dotenv: 16.4.5 @@ -12676,13 +11815,6 @@ snapshots: duplexer@0.1.2: {} - duplexify@3.7.1: - dependencies: - end-of-stream: 1.4.4 - inherits: 2.0.4 - readable-stream: 2.3.8 - stream-shift: 1.0.3 - eastasianwidth@0.2.0: {} ecc-jsbn@0.1.2: @@ -12692,10 +11824,6 @@ snapshots: ee-first@1.1.1: {} - ejs@3.1.9: - dependencies: - jake: 10.8.7 - electron-to-chromium@1.4.823: {} emittery@0.13.1: {} @@ -12816,8 +11944,6 @@ snapshots: iterator.prototype: 1.1.2 safe-array-concat: 1.1.2 - es-module-lexer@0.9.3: {} - es-module-lexer@1.5.0: {} es-object-atoms@1.0.0: @@ -12840,15 +11966,6 @@ snapshots: is-date-object: 1.0.5 is-symbol: 1.0.4 - esbuild-plugin-alias@0.2.1: {} - - esbuild-register@3.5.0(esbuild@0.20.2): - dependencies: - debug: 4.3.5(supports-color@8.1.1) - esbuild: 0.20.2 - transitivePeerDependencies: - - supports-color - esbuild-register@3.5.0(esbuild@0.21.5): dependencies: debug: 4.3.5(supports-color@8.1.1) @@ -12863,32 +11980,6 @@ snapshots: transitivePeerDependencies: - supports-color - esbuild@0.20.2: - optionalDependencies: - '@esbuild/aix-ppc64': 0.20.2 - '@esbuild/android-arm': 0.20.2 - '@esbuild/android-arm64': 0.20.2 - '@esbuild/android-x64': 0.20.2 - '@esbuild/darwin-arm64': 0.20.2 - '@esbuild/darwin-x64': 0.20.2 - '@esbuild/freebsd-arm64': 0.20.2 - '@esbuild/freebsd-x64': 0.20.2 - '@esbuild/linux-arm': 0.20.2 - '@esbuild/linux-arm64': 0.20.2 - '@esbuild/linux-ia32': 0.20.2 - '@esbuild/linux-loong64': 0.20.2 - '@esbuild/linux-mips64el': 0.20.2 - '@esbuild/linux-ppc64': 0.20.2 - '@esbuild/linux-riscv64': 0.20.2 - '@esbuild/linux-s390x': 0.20.2 - '@esbuild/linux-x64': 0.20.2 - '@esbuild/netbsd-x64': 0.20.2 - '@esbuild/openbsd-x64': 0.20.2 - '@esbuild/sunos-x64': 0.20.2 - '@esbuild/win32-arm64': 0.20.2 - '@esbuild/win32-ia32': 0.20.2 - '@esbuild/win32-x64': 0.20.2 - esbuild@0.21.5: optionalDependencies: '@esbuild/aix-ppc64': 0.21.5 @@ -13410,12 +12501,14 @@ snapshots: dependencies: bser: 2.1.1 + fd-package-json@1.2.0: + dependencies: + walk-up-path: 3.0.1 + fd-slicer@1.1.0: dependencies: pend: 1.2.0 - fetch-retry@5.0.6: {} - figures@2.0.0: dependencies: escape-string-regexp: 1.0.5 @@ -13432,18 +12525,9 @@ snapshots: dependencies: flat-cache: 3.2.0 - file-system-cache@2.3.0: - dependencies: - fs-extra: 11.1.1 - ramda: 0.29.0 - file-uri-to-path@1.0.0: optional: true - filelist@1.0.4: - dependencies: - minimatch: 5.1.6 - filename-regex@2.0.1: {} fill-range@2.2.4: @@ -13602,17 +12686,9 @@ snapshots: from2@2.3.0: dependencies: inherits: 2.0.4 - readable-stream: 2.3.8 - - from@0.1.7: {} - - fs-constants@1.0.0: {} - - fs-extra@11.1.1: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.1 + readable-stream: 2.3.8 + + from@0.1.7: {} fs-extra@11.2.0: dependencies: @@ -13699,8 +12775,6 @@ snapshots: transitivePeerDependencies: - supports-color - get-npm-tarball-url@2.1.0: {} - get-package-type@0.1.0: {} get-stdin@9.0.0: {} @@ -13803,8 +12877,6 @@ snapshots: '@types/glob': 7.2.0 glob: 7.2.3 - glob-to-regexp@0.4.1: {} - glob2base@0.0.12: dependencies: find-index: 0.1.1 @@ -13903,15 +12975,6 @@ snapshots: graphemer@1.4.0: {} - gunzip-maybe@1.4.2: - dependencies: - browserify-zlib: 0.1.4 - is-deflate: 1.0.0 - is-gzip: 1.0.0 - peek-stream: 1.1.3 - pumpify: 1.5.1 - through2: 2.0.5 - handlebars@4.7.8: dependencies: minimist: 1.2.8 @@ -14200,8 +13263,6 @@ snapshots: dependencies: loose-envify: 1.4.0 - ip@2.0.1: {} - ipaddr.js@1.9.1: {} is-absolute-url@4.0.1: {} @@ -14289,8 +13350,6 @@ snapshots: is-decimal@2.0.1: {} - is-deflate@1.0.0: {} - is-descriptor@0.1.7: dependencies: is-accessor-descriptor: 1.0.1 @@ -14301,8 +13360,6 @@ snapshots: is-accessor-descriptor: 1.0.1 is-data-descriptor: 1.0.1 - is-docker@2.2.1: {} - is-dotfile@1.0.3: {} is-equal-shallow@0.1.3: @@ -14341,8 +13398,6 @@ snapshots: dependencies: is-extglob: 2.1.1 - is-gzip@1.0.0: {} - is-hexadecimal@1.0.4: {} is-hexadecimal@2.0.1: {} @@ -14358,11 +13413,6 @@ snapshots: is-module@1.0.0: {} - is-nan@1.3.2: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - is-negative-zero@2.0.3: {} is-number-object@1.0.7: @@ -14383,8 +13433,6 @@ snapshots: is-obj@2.0.0: {} - is-path-cwd@2.2.0: {} - is-path-inside@3.0.3: {} is-plain-obj@4.1.0: {} @@ -14465,10 +13513,6 @@ snapshots: is-windows@1.0.2: {} - is-wsl@2.2.0: - dependencies: - is-docker: 2.2.1 - isarray@1.0.0: {} isarray@2.0.5: {} @@ -14546,13 +13590,6 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 - jake@10.8.7: - dependencies: - async: 3.2.5 - chalk: 4.1.2 - filelist: 1.0.4 - minimatch: 3.1.2 - java-properties@1.0.2: {} jest-axe@9.0.0: @@ -14643,13 +13680,6 @@ snapshots: - babel-plugin-macros - supports-color - jest-diff@28.1.3: - dependencies: - chalk: 4.1.2 - diff-sequences: 28.1.1 - jest-get-type: 28.0.2 - pretty-format: 28.1.3 - jest-diff@29.7.0: dependencies: chalk: 4.1.2 @@ -14693,8 +13723,6 @@ snapshots: jest-mock: 29.7.0 jest-util: 29.7.0 - jest-get-type@28.0.2: {} - jest-get-type@29.6.3: {} jest-haste-map@29.7.0: @@ -14718,13 +13746,6 @@ snapshots: jest-get-type: 29.6.3 pretty-format: 29.7.0 - jest-matcher-utils@28.1.3: - dependencies: - chalk: 4.1.2 - jest-diff: 28.1.3 - jest-get-type: 28.0.2 - pretty-format: 28.1.3 - jest-matcher-utils@29.2.2: dependencies: chalk: 4.1.2 @@ -14751,11 +13772,6 @@ snapshots: slash: 3.0.0 stack-utils: 2.0.6 - jest-mock@27.5.1: - dependencies: - '@jest/types': 27.5.1 - '@types/node': 20.12.7 - jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 @@ -15076,12 +14092,6 @@ snapshots: lazy-ass@1.6.0: {} - lazy-universal-dotenv@4.0.0: - dependencies: - app-root-dir: 1.0.2 - dotenv: 16.4.5 - dotenv-expand: 10.0.0 - leven@3.1.0: {} levn@0.4.1: @@ -15218,6 +14228,8 @@ snapshots: strip-ansi: 7.1.0 wrap-ansi: 8.1.0 + longest-streak@3.1.0: {} + longest@2.0.1: {} loose-envify@1.4.0: @@ -15275,7 +14287,9 @@ snapshots: dependencies: object-visit: 1.0.1 - markdown-to-jsx@7.3.2(react@18.3.1): + markdown-table@3.0.3: {} + + markdown-to-jsx@7.4.7(react@18.3.1): dependencies: react: 18.3.1 @@ -15293,6 +14307,107 @@ snapshots: math-random@1.0.4: {} + mdast-util-find-and-replace@3.0.1: + dependencies: + '@types/mdast': 4.0.4 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + + mdast-util-from-markdown@2.0.1: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.2 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-decode-string: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-autolink-literal@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.1 + micromark-util-character: 2.1.0 + + mdast-util-gfm-footnote@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + micromark-util-normalize-identifier: 2.0.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-strikethrough@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-table@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + markdown-table: 3.0.3 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm-task-list-item@2.0.0: + dependencies: + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.1 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-gfm@3.0.0: + dependencies: + mdast-util-from-markdown: 2.0.1 + mdast-util-gfm-autolink-literal: 2.0.0 + mdast-util-gfm-footnote: 2.0.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + + mdast-util-phrasing@4.1.0: + dependencies: + '@types/mdast': 4.0.4 + unist-util-is: 6.0.0 + + mdast-util-to-markdown@2.1.0: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.2 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-decode-string: 2.0.0 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 + + mdast-util-to-string@4.0.0: + dependencies: + '@types/mdast': 4.0.4 + media-typer@0.3.0: {} memoizerific@1.11.3: @@ -15315,6 +14430,197 @@ snapshots: methods@1.1.2: {} + micromark-core-commonmark@2.0.1: + dependencies: + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-factory-destination: 2.0.0 + micromark-factory-label: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-factory-title: 2.0.0 + micromark-factory-whitespace: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-html-tag-name: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-subtokenize: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-autolink-literal@2.1.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-footnote@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-core-commonmark: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-strikethrough@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-table@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm-tagfilter@2.0.0: + dependencies: + micromark-util-types: 2.0.0 + + micromark-extension-gfm-task-list-item@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-extension-gfm@3.0.0: + dependencies: + micromark-extension-gfm-autolink-literal: 2.1.0 + micromark-extension-gfm-footnote: 2.1.0 + micromark-extension-gfm-strikethrough: 2.1.0 + micromark-extension-gfm-table: 2.1.0 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.1.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-destination@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-label@2.0.0: + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-space@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-types: 2.0.0 + + micromark-factory-title@2.0.0: + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-factory-whitespace@2.0.0: + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-character@2.1.0: + dependencies: + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-chunked@2.0.0: + dependencies: + micromark-util-symbol: 2.0.0 + + micromark-util-classify-character@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-combine-extensions@2.0.0: + dependencies: + micromark-util-chunked: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-decode-numeric-character-reference@2.0.1: + dependencies: + micromark-util-symbol: 2.0.0 + + micromark-util-decode-string@2.0.0: + dependencies: + decode-named-character-reference: 1.0.2 + micromark-util-character: 2.1.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-symbol: 2.0.0 + + micromark-util-encode@2.0.0: {} + + micromark-util-html-tag-name@2.0.0: {} + + micromark-util-normalize-identifier@2.0.0: + dependencies: + micromark-util-symbol: 2.0.0 + + micromark-util-resolve-all@2.0.0: + dependencies: + micromark-util-types: 2.0.0 + + micromark-util-sanitize-uri@2.0.0: + dependencies: + micromark-util-character: 2.1.0 + micromark-util-encode: 2.0.0 + micromark-util-symbol: 2.0.0 + + micromark-util-subtokenize@2.0.1: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + + micromark-util-symbol@2.0.0: {} + + micromark-util-types@2.0.0: {} + + micromark@4.0.0: + dependencies: + '@types/debug': 4.1.12 + debug: 4.3.5(supports-color@8.1.1) + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.1 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-encode: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-subtokenize: 2.0.1 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + transitivePeerDependencies: + - supports-color + micromatch@2.3.11: dependencies: arr-diff: 2.0.0 @@ -15385,10 +14691,6 @@ snapshots: dependencies: brace-expansion: 1.1.11 - minimatch@5.1.6: - dependencies: - brace-expansion: 2.0.1 - minimatch@8.0.4: dependencies: brace-expansion: 2.0.1 @@ -15421,8 +14723,6 @@ snapshots: for-in: 1.0.2 is-extendable: 1.0.1 - mkdirp-classic@0.5.3: {} - mkdirp@0.5.6: dependencies: minimist: 1.2.8 @@ -15491,10 +14791,6 @@ snapshots: node-fetch-native@1.6.4: {} - node-fetch@2.7.0: - dependencies: - whatwg-url: 5.0.0 - node-int64@0.4.0: {} node-releases@2.0.14: {} @@ -15625,8 +14921,6 @@ snapshots: dependencies: ee-first: 1.1.1 - on-headers@1.0.2: {} - once@1.4.0: dependencies: wrappy: 1.0.2 @@ -15639,12 +14933,6 @@ snapshots: dependencies: mimic-fn: 4.0.0 - open@8.4.2: - dependencies: - define-lazy-prop: 2.0.0 - is-docker: 2.2.1 - is-wsl: 2.2.0 - opener@1.5.2: {} optionator@0.9.3: @@ -15698,7 +14986,7 @@ snapshots: p-limit@4.0.0: dependencies: - yocto-queue: 1.0.0 + yocto-queue: 1.1.1 p-locate@2.0.0: dependencies: @@ -15734,8 +15022,6 @@ snapshots: p-try@2.2.0: {} - pako@0.2.9: {} - pako@2.1.0: {} parent-module@1.0.1: @@ -15855,12 +15141,6 @@ snapshots: dependencies: through: 2.3.8 - peek-stream@1.1.3: - dependencies: - buffer-from: 1.1.2 - duplexify: 3.7.1 - through2: 2.0.5 - pend@1.2.0: {} performance-now@2.1.0: {} @@ -15894,10 +15174,6 @@ snapshots: dependencies: find-up: 4.1.0 - pkg-dir@5.0.0: - dependencies: - find-up: 5.0.0 - pkg-up@3.1.0: dependencies: find-up: 3.0.0 @@ -15964,21 +15240,12 @@ snapshots: ansi-styles: 5.2.0 react-is: 17.0.2 - pretty-format@28.1.3: - dependencies: - '@jest/schemas': 28.1.3 - ansi-regex: 5.0.1 - ansi-styles: 5.2.0 - react-is: 18.3.1 - pretty-format@29.7.0: dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 react-is: 18.3.1 - pretty-hrtime@1.0.3: {} - pretty-ms@9.0.0: dependencies: parse-ms: 4.0.0 @@ -16030,22 +15297,11 @@ snapshots: psl@1.9.0: {} - pump@2.0.1: - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - pump@3.0.0: dependencies: end-of-stream: 1.4.4 once: 1.4.0 - pumpify@1.5.1: - dependencies: - duplexify: 3.7.1 - inherits: 2.0.4 - pump: 2.0.1 - punycode@2.3.1: {} pure-rand@6.1.0: {} @@ -16066,8 +15322,6 @@ snapshots: queue-microtask@1.2.3: {} - ramda@0.29.0: {} - randomatic@3.1.1: dependencies: is-number: 4.0.0 @@ -16165,12 +15419,6 @@ snapshots: read-pkg: 9.0.1 type-fest: 4.15.0 - read-pkg-up@7.0.1: - dependencies: - find-up: 4.1.0 - read-pkg: 5.2.0 - type-fest: 0.8.1 - read-pkg@5.2.0: dependencies: '@types/normalize-package-data': 2.4.4 @@ -16318,6 +15566,32 @@ snapshots: hast-util-to-string: 3.0.0 unist-util-visit: 5.0.0 + remark-gfm@4.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-gfm: 3.0.0 + micromark-extension-gfm: 3.0.0 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-parse@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.1 + micromark-util-types: 2.0.0 + unified: 11.0.5 + transitivePeerDependencies: + - supports-color + + remark-stringify@11.0.0: + dependencies: + '@types/mdast': 4.0.4 + mdast-util-to-markdown: 2.1.0 + unified: 11.0.5 + remove-trailing-separator@1.1.0: {} repeat-element@1.1.4: {} @@ -16788,17 +16062,39 @@ snapshots: dependencies: internal-slot: 1.0.7 - store2@2.14.3: {} - - storybook@8.0.8(@babel/preset-env@7.24.7(@babel/core@7.24.7))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + storybook@8.2.1(@babel/preset-env@7.24.7(@babel/core@7.24.7)): dependencies: - '@storybook/cli': 8.0.8(@babel/preset-env@7.24.7(@babel/core@7.24.7))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@babel/core': 7.24.7 + '@babel/types': 7.24.7 + '@storybook/codemod': 8.2.1 + '@storybook/core': 8.2.1 + '@types/semver': 7.5.8 + '@yarnpkg/fslib': 2.10.3 + '@yarnpkg/libzip': 2.3.0 + chalk: 4.1.2 + commander: 6.2.1 + cross-spawn: 7.0.3 + detect-indent: 6.1.0 + envinfo: 7.11.1 + execa: 5.1.1 + fd-package-json: 1.2.0 + find-up: 5.0.0 + fs-extra: 11.2.0 + giget: 1.2.3 + globby: 14.0.1 + jscodeshift: 0.15.2(@babel/preset-env@7.24.7(@babel/core@7.24.7)) + leven: 3.1.0 + ora: 5.4.1 + prettier: 3.3.2 + prompts: 2.4.2 + semver: 7.6.2 + strip-json-comments: 3.1.1 + tempy: 3.1.0 + tiny-invariant: 1.3.3 + ts-dedent: 2.2.0 transitivePeerDependencies: - '@babel/preset-env' - bufferutil - - encoding - - react - - react-dom - supports-color - utf-8-validate @@ -16811,8 +16107,6 @@ snapshots: dependencies: duplexer: 0.1.2 - stream-shift@1.0.3: {} - string-argv@0.3.2: {} string-length@4.0.2: @@ -16965,21 +16259,6 @@ snapshots: '@pkgr/core': 0.1.1 tslib: 2.6.2 - tar-fs@2.1.1: - dependencies: - chownr: 1.1.4 - mkdirp-classic: 0.5.3 - pump: 3.0.0 - tar-stream: 2.2.0 - - tar-stream@2.2.0: - dependencies: - bl: 4.1.0 - end-of-stream: 1.4.4 - fs-constants: 1.0.0 - inherits: 2.0.4 - readable-stream: 3.6.2 - tar@6.2.1: dependencies: chownr: 2.0.0 @@ -16993,22 +16272,12 @@ snapshots: dependencies: memoizerific: 1.11.3 - temp-dir@2.0.0: {} - temp-dir@3.0.0: {} temp@0.8.4: dependencies: rimraf: 2.6.3 - tempy@1.0.1: - dependencies: - del: 6.1.1 - is-stream: 2.0.1 - temp-dir: 2.0.0 - type-fest: 0.16.0 - unique-string: 2.0.0 - tempy@3.1.0: dependencies: is-stream: 3.0.0 @@ -17088,8 +16357,6 @@ snapshots: regex-not: 1.0.2 safe-regex: 1.1.0 - tocbot@4.25.0: {} - toidentifier@1.0.1: {} tough-cookie@4.1.3: @@ -17099,8 +16366,6 @@ snapshots: universalify: 0.2.0 url-parse: 1.5.10 - tr46@0.0.3: {} - tr46@3.0.0: dependencies: punycode: 2.3.1 @@ -17111,6 +16376,8 @@ snapshots: trim-right@1.0.1: {} + trough@2.2.0: {} + ts-api-utils@1.3.0(typescript@5.5.3): dependencies: typescript: 5.5.3 @@ -17155,16 +16422,12 @@ snapshots: type-detect@4.0.8: {} - type-fest@0.16.0: {} - type-fest@0.20.2: {} type-fest@0.21.3: {} type-fest@0.6.0: {} - type-fest@0.8.1: {} - type-fest@1.4.0: {} type-fest@2.19.0: {} @@ -17241,6 +16504,16 @@ snapshots: unicorn-magic@0.1.0: {} + unified@11.0.5: + dependencies: + '@types/unist': 3.0.2 + bail: 2.0.2 + devlop: 1.1.0 + extend: 3.0.2 + is-plain-obj: 4.1.0 + trough: 2.2.0 + vfile: 6.0.1 + union-value@1.0.1: dependencies: arr-union: 3.1.0 @@ -17252,10 +16525,6 @@ snapshots: dependencies: qs: 6.12.0 - unique-string@2.0.0: - dependencies: - crypto-random-string: 2.0.0 - unique-string@3.0.0: dependencies: crypto-random-string: 4.0.0 @@ -17270,6 +16539,10 @@ snapshots: dependencies: '@types/unist': 3.0.2 + unist-util-stringify-position@4.0.0: + dependencies: + '@types/unist': 3.0.2 + unist-util-visit-parents@3.1.1: dependencies: '@types/unist': 2.0.10 @@ -17331,6 +16604,10 @@ snapshots: querystringify: 2.2.0 requires-port: 1.0.0 + use-effect-event@1.0.2(react@18.3.1): + dependencies: + react: 18.3.1 + use@3.1.1: {} user-home@2.0.0: @@ -17374,6 +16651,17 @@ snapshots: core-util-is: 1.0.2 extsprintf: 1.3.0 + vfile-message@4.0.2: + dependencies: + '@types/unist': 3.0.2 + unist-util-stringify-position: 4.0.0 + + vfile@6.0.1: + dependencies: + '@types/unist': 3.0.2 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.2 + vite-tsconfig-paths@4.3.2(typescript@5.5.3)(vite@5.3.3(@types/node@20.12.7)(terser@5.30.3)): dependencies: debug: 4.3.5(supports-color@8.1.1) @@ -17409,21 +16697,16 @@ snapshots: transitivePeerDependencies: - debug + walk-up-path@3.0.1: {} + walker@1.0.8: dependencies: makeerror: 1.0.12 - watchpack@2.4.1: - dependencies: - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - wcwidth@1.0.1: dependencies: defaults: 1.0.4 - webidl-conversions@3.0.1: {} - webidl-conversions@7.0.0: {} webpack-sources@3.2.3: {} @@ -17441,11 +16724,6 @@ snapshots: tr46: 3.0.0 webidl-conversions: 7.0.0 - whatwg-url@5.0.0: - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 - which-boxed-primitive@1.0.2: dependencies: is-bigint: 1.0.4 @@ -17574,7 +16852,7 @@ snapshots: yocto-queue@0.1.0: {} - yocto-queue@1.0.0: {} + yocto-queue@1.1.1: {} yoctocolors@2.0.2: {} @@ -17587,3 +16865,5 @@ snapshots: zod: 3.23.8 zod@3.23.8: {} + + zwitch@2.0.4: {} diff --git a/src/core/__workshop__/constants.ts b/src/core/__workshop__/constants.ts index c30ddf90d..1fd4c983b 100644 --- a/src/core/__workshop__/constants.ts +++ b/src/core/__workshop__/constants.ts @@ -44,9 +44,9 @@ export const WORKSHOP_BUTTON_MODE_OPTIONS: {[key: string]: ButtonMode} = { export const WORKSHOP_BUTTON_TEXT_ALIGN_OPTIONS: {[key: string]: ButtonTextAlign | ''} = { '(none)': '', - Left: 'left', - Right: 'right', - Center: 'center', + 'Left': 'left', + 'Right': 'right', + 'Center': 'center', } export const WORKSHOP_BUTTON_TONE_OPTIONS: {[key: string]: ButtonTone} = { @@ -61,11 +61,11 @@ export const WORKSHOP_CARD_AS_OPTIONS: { [key: string]: 'div' | 'button' | 'span' | 'ol' | 'pre' | 'ul' } = { 'DIV (default)': 'div', - BUTTON: 'button', - SPAN: 'span', - OL: 'ol', - PRE: 'pre', - UL: 'ul', + 'BUTTON': 'button', + 'SPAN': 'span', + 'OL': 'ol', + 'PRE': 'pre', + 'UL': 'ul', } export const WORKSHOP_CARD_TONE_OPTIONS: {[key: string]: CardTone} = { @@ -92,7 +92,7 @@ export const WORKSHOP_CONTAINER_WIDTH_OPTIONS: {[key: string]: number | 'auto'} '3': 3, '4': 4, '5': 5, - auto: 'auto', + 'auto': 'auto', } export const WORKSHOP_DIALOG_POSITION_OPTIONS: {[key: string]: DialogPosition} = { @@ -106,15 +106,15 @@ export const WORKSHOP_FLEX_DIRECTION_OPTIONS: {[key: string]: 'row' | 'column'} } export const WORKSHOP_FLEX_ALIGN_OPTIONS: Record = { - baseline: 'baseline', - center: 'center', + 'baseline': 'baseline', + 'center': 'center', 'flex-end': 'flex-end', 'flex-start': 'flex-start', - stretch: 'stretch', + 'stretch': 'stretch', } export const WORKSHOP_FLEX_JUSTIFY_OPTIONS: Record = { - center: 'center', + 'center': 'center', 'flex-end': 'flex-end', 'flex-start': 'flex-start', 'space-around': 'space-around', @@ -157,16 +157,16 @@ export const WORKSHOP_LABEL_FONT_SIZE_OPTIONS = { } export const WORKSHOP_PLACEMENT_OPTIONS: Record = { - top: 'top', + 'top': 'top', 'top-start': 'top-start', 'top-end': 'top-end', - right: 'right', + 'right': 'right', 'right-start': 'right-start', 'right-end': 'right-end', - left: 'left', + 'left': 'left', 'left-start': 'left-start', 'left-end': 'left-end', - bottom: 'bottom', + 'bottom': 'bottom', 'bottom-start': 'bottom-start', 'bottom-end': 'bottom-end', } @@ -217,11 +217,11 @@ export const WORKSHOP_SPOT_COLOR_OPTIONS: {[key: string]: ThemeColorSpotKey} = { export const WORKSHOP_TEXT_ALIGN_OPTIONS: {[key: string]: TextAlign | ''} = { '(none)': '', - Initial: 'initial', - Left: 'left', - Right: 'right', - Center: 'center', - Justify: 'justify', + 'Initial': 'initial', + 'Left': 'left', + 'Right': 'right', + 'Center': 'center', + 'Justify': 'justify', } export const WORKSHOP_TEXT_FONT_SIZE_OPTIONS = { @@ -233,17 +233,17 @@ export const WORKSHOP_TEXT_FONT_SIZE_OPTIONS = { } export const WORKSHOP_TEXT_INPUT_TYPE_OPTIONS: {[key: string]: TextInputType} = { - date: 'date', + 'date': 'date', 'datetime-local': 'datetime-local', - email: 'email', - month: 'month', - number: 'number', - password: 'password', - tel: 'tel', - time: 'time', - text: 'text', - week: 'week', - color: 'color', + 'email': 'email', + 'month': 'month', + 'number': 'number', + 'password': 'password', + 'tel': 'tel', + 'time': 'time', + 'text': 'text', + 'week': 'week', + 'color': 'color', } export const WORKSHOP_TEXT_OVERFLOW_OPTIONS: {[key: string]: 'ellipsis' | ''} = { @@ -261,9 +261,9 @@ export const WORKSHOP_TEXT_SIZE_OPTIONS = { export const WORKSHOP_TEXT_WEIGHT_OPTIONS: {[key: string]: ThemeFontWeightKey | ''} = { 'Regular (default)': '', - Medium: 'medium', - Semibold: 'semibold', - Bold: 'bold', + 'Medium': 'medium', + 'Semibold': 'semibold', + 'Bold': 'bold', } export const WORKSHOP_THEME_COLOR_TONE_OPTIONS: {[key: string]: ThemeColorToneKey} = { @@ -286,7 +286,7 @@ export const WORKSHOP_TOAST_STATUS_OPTIONS: { } export const WORKSHOP_WIDTH_OPTIONS: {[key: string]: number | 'auto'} = { - Auto: 'auto', + 'Auto': 'auto', '0': 0, '1': 1, '2': 2, diff --git a/src/core/components/autocomplete/autocomplete.tsx b/src/core/components/autocomplete/autocomplete.tsx index c851360ee..08d5d935f 100644 --- a/src/core/components/autocomplete/autocomplete.tsx +++ b/src/core/components/autocomplete/autocomplete.tsx @@ -452,7 +452,7 @@ const InnerAutocomplete = forwardRef(function InnerAutocomplete< if (!loading && !disabled && value) { return { 'aria-label': 'Clear', - onFocus: handleClearButtonFocus, + 'onFocus': handleClearButtonFocus, } } diff --git a/src/core/components/breadcrumbs/breadcrumbs.tsx b/src/core/components/breadcrumbs/breadcrumbs.tsx index 53e83fc81..c8fba2c07 100644 --- a/src/core/components/breadcrumbs/breadcrumbs.tsx +++ b/src/core/components/breadcrumbs/breadcrumbs.tsx @@ -1,4 +1,13 @@ -import {Children, forwardRef, Fragment, isValidElement, useCallback, useMemo, useState} from 'react' +import { + Children, + forwardRef, + Fragment, + isValidElement, + useCallback, + useMemo, + useRef, + useState, +} from 'react' import {useArrayProp, useClickOutside} from '../../hooks' import {Box, Popover, Stack, Text} from '../../primitives' import {ExpandButton, Root} from './breadcrumbs.styles' @@ -22,13 +31,13 @@ export const Breadcrumbs = forwardRef(function Breadcrumbs( const {children, maxLength, separator, space: spaceRaw = 2, ...restProps} = props const space = useArrayProp(spaceRaw) const [open, setOpen] = useState(false) - const [expandElement, setExpandElement] = useState(null) - const [popoverElement, setPopoverElement] = useState(null) + const expandElementRef = useRef(null) + const popoverElementRef = useRef(null) const collapse = useCallback(() => setOpen(false), []) const expand = useCallback(() => setOpen(true), []) - useClickOutside(collapse, [expandElement, popoverElement]) + useClickOutside(collapse, () => [expandElementRef.current, popoverElementRef.current]) const rawItems = useMemo(() => Children.toArray(children).filter(isValidElement), [children]) @@ -52,14 +61,14 @@ export const Breadcrumbs = forwardRef(function Breadcrumbs( open={open} placement="top" portal - ref={setPopoverElement} + ref={popoverElementRef} > diff --git a/src/core/components/dialog/dialog.tsx b/src/core/components/dialog/dialog.tsx index 2e04ed609..5ac4084cc 100644 --- a/src/core/components/dialog/dialog.tsx +++ b/src/core/components/dialog/dialog.tsx @@ -1,6 +1,6 @@ import {CloseIcon} from '@sanity/icons' import {ThemeColorSchemeKey} from '@sanity/ui/theme' -import {forwardRef, useCallback, useEffect, useImperativeHandle, useRef, useState} from 'react' +import {forwardRef, useCallback, useEffect, useImperativeHandle, useRef} from 'react' import {styled} from 'styled-components' import { containsOrEqualsElement, @@ -170,7 +170,6 @@ const DialogCard = forwardRef(function DialogCard( const shadow = useArrayProp(shadowProp) const width = useArrayProp(widthProp) const ref = useRef(null) - const [rootElement, setRootElement] = useState(null) const contentRef = useRef(null) const layer = useLayer() const {isTopLayer} = layer @@ -216,32 +215,24 @@ const DialogCard = forwardRef(function DialogCard( ) useClickOutside( - useCallback( - (event: MouseEvent) => { - if (!isTopLayer || !onClickOutside) return + (event: MouseEvent | TouchEvent) => { + if (!isTopLayer || !onClickOutside) return - const target = event.target as Node | null + const target = event.target as Node | null - if (target && !isTargetWithinScope(boundaryElement, portalElement, target)) { - // Ignore clicks outside of the scope - return - } + if (target && !isTargetWithinScope(boundaryElement, portalElement, target)) { + // Ignore clicks outside of the scope + return + } - onClickOutside() - }, - [boundaryElement, isTopLayer, onClickOutside, portalElement], - ), - [rootElement], + onClickOutside() + }, + () => [ref.current], ) - const setRef = useCallback((el: HTMLDivElement | null) => { - setRootElement(el) - ref.current = el - }, []) - return ( - + {showHeader && ( diff --git a/src/core/components/dialog/styles.ts b/src/core/components/dialog/styles.ts index 3abc37f83..59902f8c7 100644 --- a/src/core/components/dialog/styles.ts +++ b/src/core/components/dialog/styles.ts @@ -18,14 +18,14 @@ export function dialogStyle({theme}: ThemeProps): CSSObject { display: 'flex', }, - top: 0, - left: 0, - right: 0, - bottom: 0, - alignItems: 'center', - justifyContent: 'center', - outline: 'none', - background: color.backdrop, + 'top': 0, + 'left': 0, + 'right': 0, + 'bottom': 0, + 'alignItems': 'center', + 'justifyContent': 'center', + 'outline': 'none', + 'background': color.backdrop, } } diff --git a/src/core/components/menu/menu.tsx b/src/core/components/menu/menu.tsx index b84a0a373..61949cfaa 100644 --- a/src/core/components/menu/menu.tsx +++ b/src/core/components/menu/menu.tsx @@ -19,7 +19,7 @@ export interface MenuProps extends ResponsivePaddingProps { * @deprecated Use `shouldFocus="last"` instead. */ focusLast?: boolean - onClickOutside?: (event: MouseEvent) => void + onClickOutside?: (event: MouseEvent | TouchEvent) => void onEscape?: () => void onItemClick?: () => void onItemSelect?: (index: number) => void @@ -75,16 +75,18 @@ export const Menu = forwardRef(function Menu( handleItemMouseLeave, handleKeyDown, mount, - rootElement, - setRootElement, - } = useMenuController({onKeyDown, originElement, shouldFocus}) + } = useMenuController({onKeyDown, originElement, shouldFocus, rootElementRef: ref}) const handleRefChange = useCallback( (el: HTMLDivElement | null) => { - setRootElement(el) ref.current = el + + // Register root element (for nested menus) + if (ref.current && registerElement) { + registerElement(ref.current) + } }, - [setRootElement], + [registerElement], ) // Trigger `onItemSelect` when active index changes @@ -94,11 +96,8 @@ export const Menu = forwardRef(function Menu( // Close menu when clicking outside useClickOutside( - useCallback( - (event) => isTopLayer && onClickOutside && onClickOutside(event), - [isTopLayer, onClickOutside], - ), - [rootElement], + (event) => isTopLayer && onClickOutside && onClickOutside(event), + () => [ref.current], ) // Close menu when pressing Escape @@ -116,13 +115,7 @@ export const Menu = forwardRef(function Menu( ), ) - // Register root element (for nested menus) - useEffect(() => { - if (!rootElement || !registerElement) return - - return registerElement(rootElement) - }, [registerElement, rootElement]) - + // @TODO split out into separate contexts const value: MenuContextValue = useMemo( () => ({ version: 0.0, diff --git a/src/core/components/menu/menuButton.tsx b/src/core/components/menu/menuButton.tsx index faa75c9cb..adf8cf280 100644 --- a/src/core/components/menu/menuButton.tsx +++ b/src/core/components/menu/menuButton.tsx @@ -140,7 +140,7 @@ export const MenuButton = forwardRef(function MenuButton( }, []) const handleMenuClickOutside = useCallback( - (event: MouseEvent) => { + (event: MouseEvent | TouchEvent) => { const target = event.target if (!(target instanceof Node)) { @@ -206,11 +206,11 @@ export const MenuButton = forwardRef(function MenuButton( const menuProps: MenuProps = useMemo( () => ({ 'aria-labelledby': id, - onBlurCapture: handleBlur, - onClickOutside: handleMenuClickOutside, - onEscape: handleMenuEscape, - onItemClick: handleItemClick, - originElement: buttonElement, + 'onBlurCapture': handleBlur, + 'onClickOutside': handleMenuClickOutside, + 'onEscape': handleMenuEscape, + 'onItemClick': handleItemClick, + 'originElement': buttonElement, registerElement, shouldFocus, }), @@ -235,13 +235,13 @@ export const MenuButton = forwardRef(function MenuButton( cloneElement(buttonProp, { 'data-ui': 'MenuButton', id, - onClick: handleButtonClick, - onKeyDown: handleButtonKeyDown, - onMouseDown: handleMouseDown, + 'onClick': handleButtonClick, + 'onKeyDown': handleButtonKeyDown, + 'onMouseDown': handleMouseDown, 'aria-haspopup': true, 'aria-expanded': open, - ref: ref, - selected: buttonProp.props.selected ?? open, + 'ref': ref, + 'selected': buttonProp.props.selected ?? open, }), [buttonProp, handleButtonClick, handleButtonKeyDown, handleMouseDown, id, open], ) diff --git a/src/core/components/menu/menuContext.ts b/src/core/components/menu/menuContext.ts index fcf11d9a1..b36b0458b 100644 --- a/src/core/components/menu/menuContext.ts +++ b/src/core/components/menu/menuContext.ts @@ -5,7 +5,7 @@ export interface MenuContextValue { activeElement: HTMLElement | null activeIndex: number mount: (element: HTMLElement | null, selected?: boolean) => () => void - onClickOutside?: (event: MouseEvent) => void + onClickOutside?: (event: MouseEvent | TouchEvent) => void onEscape?: () => void onItemClick?: () => void onItemMouseEnter?: (event: React.MouseEvent) => void diff --git a/src/core/components/menu/useMenuController.ts b/src/core/components/menu/useMenuController.ts index e227291f7..0501d43f3 100644 --- a/src/core/components/menu/useMenuController.ts +++ b/src/core/components/menu/useMenuController.ts @@ -1,4 +1,4 @@ -import {useCallback, useEffect, useRef, useState} from 'react' +import {useCallback, useEffect, useMemo, useRef, useState} from 'react' import {_getFocusableElements, _sortElements} from './helpers' /** @@ -11,8 +11,6 @@ export interface MenuController { handleItemMouseLeave: () => void handleKeyDown: (event: React.KeyboardEvent) => void mount: (element: HTMLElement | null, selected?: boolean) => () => void - rootElement: HTMLDivElement | null - setRootElement: (el: HTMLDivElement | null) => void } /** @@ -24,14 +22,14 @@ export function useMenuController(props: { onKeyDown?: React.KeyboardEventHandler originElement?: HTMLElement | null shouldFocus: 'first' | 'last' | null + rootElementRef: React.MutableRefObject }): MenuController { - const {onKeyDown, originElement, shouldFocus} = props + const {onKeyDown, originElement, shouldFocus, rootElementRef} = props const elementsRef = useRef([]) - const [rootElement, setRootElement] = useState(null) const [activeIndex, _setActiveIndex] = useState(-1) const activeIndexRef = useRef(activeIndex) - const activeElement = elementsRef.current[activeIndex] || null - const mounted = Boolean(rootElement) + const activeElement = useMemo(() => elementsRef.current[activeIndex] || null, [activeIndex]) + const mounted = Boolean(rootElementRef.current) const setActiveIndex = useCallback((nextActiveIndex: number) => { _setActiveIndex(nextActiveIndex) @@ -44,7 +42,7 @@ export function useMenuController(props: { if (elementsRef.current.indexOf(element) === -1) { elementsRef.current.push(element) - _sortElements(rootElement, elementsRef.current) + _sortElements(rootElementRef.current, elementsRef.current) } if (selected) { @@ -61,7 +59,7 @@ export function useMenuController(props: { } } }, - [rootElement, setActiveIndex], + [rootElementRef, setActiveIndex], ) const handleKeyDown = useCallback( @@ -179,17 +177,15 @@ export function useMenuController(props: { // which would be incorrect when the user hovers over a gap // between two menu items or a menu divider. setActiveIndex(-2) - rootElement?.focus() - }, [setActiveIndex, rootElement]) + rootElementRef.current?.focus() + }, [rootElementRef, setActiveIndex]) // Set focus on the currently active element useEffect(() => { if (!mounted) return const rafId = window.requestAnimationFrame(() => { - const _activeIndex = activeIndexRef.current - - if (_activeIndex === -1) { + if (activeIndex === -1) { if (shouldFocus === 'first') { const focusableElements = _getFocusableElements(elementsRef.current) const el = focusableElements[0] @@ -217,7 +213,7 @@ export function useMenuController(props: { return } - const element = elementsRef.current[_activeIndex] || null + const element = elementsRef.current[activeIndex] || null element?.focus() }) @@ -234,7 +230,5 @@ export function useMenuController(props: { handleItemMouseLeave, handleKeyDown, mount, - rootElement, - setRootElement, } } diff --git a/src/core/components/tab/tab.tsx b/src/core/components/tab/tab.tsx index 423c6e27b..0cf700cf4 100644 --- a/src/core/components/tab/tab.tsx +++ b/src/core/components/tab/tab.tsx @@ -11,14 +11,14 @@ export interface TabProps { * The `id` of the correlating `TabPanel` component. */ 'aria-controls': string - id: string - icon?: React.ElementType | React.ReactNode - focused?: boolean - fontSize?: number | number[] - label?: React.ReactNode - padding?: number | number[] - selected?: boolean - tone?: ButtonTone + 'id': string + 'icon'?: React.ElementType | React.ReactNode + 'focused'?: boolean + 'fontSize'?: number | number[] + 'label'?: React.ReactNode + 'padding'?: number | number[] + 'selected'?: boolean + 'tone'?: ButtonTone } const CustomButton = styled(Button)` diff --git a/src/core/components/tab/tabPanel.tsx b/src/core/components/tab/tabPanel.tsx index 5a8a60032..df124ac80 100644 --- a/src/core/components/tab/tabPanel.tsx +++ b/src/core/components/tab/tabPanel.tsx @@ -9,7 +9,7 @@ export interface TabPanelProps extends BoxProps { * The `id` of the correlating `Tab` component. */ 'aria-labelledby': string - id: string + 'id': string } /** diff --git a/src/core/components/toast/styles.ts b/src/core/components/toast/styles.ts index 55b7bc9f2..50df44be3 100644 --- a/src/core/components/toast/styles.ts +++ b/src/core/components/toast/styles.ts @@ -14,11 +14,12 @@ const loadingAnimation = keyframes` } 100% { width: 100%; - } + } ` const LOADING_BAR_HEIGHT = 2 +// @TODO get rid of $duration modifier, set data attribute instead and use stable selector export function rootStyles( props: {$duration?: number; tone: ThemeColorStateToneKey} & ThemeProps, ): ReturnType { diff --git a/src/core/components/toast/useToast.ts b/src/core/components/toast/useToast.ts index 2398c7ef6..3e1b2a1fc 100644 --- a/src/core/components/toast/useToast.ts +++ b/src/core/components/toast/useToast.ts @@ -13,6 +13,7 @@ export function useToast(): ToastContextValue { throw new Error('useToast(): missing context value') } + // @TODO context and hooks doesn't really work like this, there will never be a mismatch between the provider and the consumer, we can remove these version specifiers // NOTE: This check is for future-compatiblity // - If the value is not an object, it’s not compatible with the current version // - If the value is an object, but doesn’t have `version: 0.0`, it’s not compatible with the current version diff --git a/src/core/components/tree/tree.tsx b/src/core/components/tree/tree.tsx index dd9d1b7f6..f49515354 100644 --- a/src/core/components/tree/tree.tsx +++ b/src/core/components/tree/tree.tsx @@ -84,6 +84,7 @@ export const Tree = memo( }) }, []) + // @TODO split out into separate contexts const contextValue: TreeContextValue = useMemo( () => ({ version: 0.0, diff --git a/src/core/components/tree/treeItem.tsx b/src/core/components/tree/treeItem.tsx index 5c92d8f34..c0b485037 100644 --- a/src/core/components/tree/treeItem.tsx +++ b/src/core/components/tree/treeItem.tsx @@ -76,6 +76,7 @@ export const TreeItem = memo(function TreeItem( const focused = tree.focusedElement === rootRef.current const expanded = itemState?.expanded === undefined ? expandedProp : itemState?.expanded || false const tabIndex = tree.focusedElement && tree.focusedElement === rootRef.current ? 0 : -1 + // @TODO split out into separate contexts const contextValue = useMemo( () => ({...tree, level: tree.level + 1, path: itemPath}), [itemPath, tree], diff --git a/src/core/helpers/focus.ts b/src/core/helpers/focus.ts index 2e331ddf0..ea4b6995b 100644 --- a/src/core/helpers/focus.ts +++ b/src/core/helpers/focus.ts @@ -15,6 +15,7 @@ import { * @internal */ export function _hasFocus(element: HTMLElement): boolean { + // @TODO verify this is not called during render return Boolean(document.activeElement) && element.contains(document.activeElement) } diff --git a/src/core/helpers/scroll.ts b/src/core/helpers/scroll.ts index bff6de6e9..d850e51be 100644 --- a/src/core/helpers/scroll.ts +++ b/src/core/helpers/scroll.ts @@ -4,6 +4,7 @@ export function _isScrollable(el: Node): boolean { if (!(el instanceof Element)) return false + // @TODO check if this is called during render const style = window.getComputedStyle(el) return ( diff --git a/src/core/hooks/_internal/index.ts b/src/core/hooks/_internal/index.ts deleted file mode 100644 index 89652a849..000000000 --- a/src/core/hooks/_internal/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './useUnique' diff --git a/src/core/hooks/_internal/useUnique.ts b/src/core/hooks/_internal/useUnique.ts deleted file mode 100644 index d7a14e372..000000000 --- a/src/core/hooks/_internal/useUnique.ts +++ /dev/null @@ -1,34 +0,0 @@ -import {useRef} from 'react' - -/** - * This is a React hook to make sure that a record identity is the same on every render. Uses strict - * equality comparison (eg by identity), and only goes one level deep. - * - * @internal - */ -type Comparable = Record | undefined | null - -export function useUnique(value: ValueType): ValueType { - const valueRef = useRef(value) - - if (!_isEqual(valueRef.current, value)) { - valueRef.current = value - } - - return valueRef.current -} - -function _isEqual(objA: Comparable, objB: Comparable): boolean { - if (!objA || !objB) { - return objA === objB - } - - const keysA = Object.keys(objA) - const keysB = Object.keys(objB) - - if (keysA.length !== keysB.length) { - return false - } - - return keysA.every((key) => objA[key] === objB[key]) -} diff --git a/src/core/hooks/index.ts b/src/core/hooks/index.ts index 5599c3213..df1576c1b 100644 --- a/src/core/hooks/index.ts +++ b/src/core/hooks/index.ts @@ -1,10 +1,11 @@ export * from './useArrayProp' export * from './useClickOutside' +export * from './useCustomValidity' export * from './useElementRect' export * from './useElementSize' +export * from './useForwardedRef' export * from './useGlobalKeyDown' +export * from './useMatchMedia' export * from './useMediaIndex' export * from './usePrefersDark' export * from './usePrefersReducedMotion' -export * from './useForwardedRef' -export * from './useCustomValidity' diff --git a/src/core/hooks/useClickOutside.ts b/src/core/hooks/useClickOutside.ts index 92a46f466..439fee3e0 100644 --- a/src/core/hooks/useClickOutside.ts +++ b/src/core/hooks/useClickOutside.ts @@ -1,99 +1,65 @@ -import {useEffect, useRef, useState} from 'react' +import {useEffect} from 'react' +import {useEffectEvent} from 'use-effect-event' import {EMPTY_ARRAY} from '../constants' /** * @public */ -export type ClickOutsideListener = (event: MouseEvent) => void - -function _getElements( - element: HTMLElement | null, - elementsArg: Array, -): HTMLElement[] { - const ret = [element] - - for (const el of elementsArg) { - if (Array.isArray(el)) { - ret.push(...el) - } else { - ret.push(el) - } - } - - return ret.filter(Boolean) as HTMLElement[] -} +export type ClickOutsideListener = (event: MouseEvent | TouchEvent) => void /** + * Use the callback version of `elementsArg` if you're using `useRef` to handle elements: + * ```tsx + * useClickOutside( + * () => {}, + * () => [ref.current], + * ) + * * @public */ export function useClickOutside( listener: ClickOutsideListener, - elementsArg: Array = EMPTY_ARRAY, + elementsArg: + | Array + | (() => Array) = EMPTY_ARRAY, boundaryElement?: HTMLElement | null, -): (el: HTMLElement | null) => void { - const [element, setElement] = useState(null) - const [elements, setElements] = useState(() => _getElements(element, elementsArg)) - const elementsRef = useRef(elements) - - useEffect(() => { - const prevElements = elementsRef.current - const nextElements = _getElements(element, elementsArg) - - if (prevElements.length !== nextElements.length) { - setElements(nextElements) - elementsRef.current = nextElements - +): void { + /** + * The `useEffectEvent` hook allow us to always see the latest value of `listener`, `elementsArg` and `boundaryElement` without needing to + * juggle `useState`, `useRef` and `useState` to make sure the `mousedown` event listener isn't constantly being added and removed. + */ + const eventHandler = useEffectEvent((evt: MouseEvent | TouchEvent) => { + const target = evt.target + + if (!(target instanceof Node)) { return } - for (const el of prevElements) { - if (!nextElements.includes(el)) { - setElements(nextElements) - elementsRef.current = nextElements - - return - } - } - - for (const el of nextElements) { - if (!prevElements.includes(el)) { - setElements(nextElements) - elementsRef.current = nextElements - - return - } + if (boundaryElement && !boundaryElement.contains(target)) { + return } - }, [element, elementsArg]) - useEffect(() => { - if (!listener) return undefined - - const handleWindowMouseDown = (evt: MouseEvent) => { - const target = evt.target + const resolvedElements = Array.isArray(elementsArg) ? elementsArg : elementsArg() + const elements = resolvedElements.flat() - if (!(target instanceof Node)) { - return - } + for (const el of elements) { + if (!el) continue - if (boundaryElement && !boundaryElement.contains(target)) { + if (target === el || el.contains(target)) { return } - - for (const el of elements) { - if (target === el || el.contains(target)) { - return - } - } - - listener(evt) } - window.addEventListener('mousedown', handleWindowMouseDown) + listener(evt) + }) + + useEffect(() => { + document.addEventListener('mousedown', eventHandler) + document.addEventListener('touchstart', eventHandler) return () => { - window.removeEventListener('mousedown', handleWindowMouseDown) + document.removeEventListener('mousedown', eventHandler) + document.removeEventListener('touchstart', eventHandler) } - }, [boundaryElement, listener, elements]) - - return setElement + }, [eventHandler]) } diff --git a/src/core/hooks/useElementSize.ts b/src/core/hooks/useElementSize.ts index 51adef0d5..e5f58f11b 100644 --- a/src/core/hooks/useElementSize.ts +++ b/src/core/hooks/useElementSize.ts @@ -6,6 +6,7 @@ import {ElementSize, _elementSizeObserver} from '../observers/elementSizeObserve * @beta */ export function useElementSize(element: HTMLElement | null): ElementSize | null { + // @TODO we can probably use something in framer-motion or @floating-ui instead of rolling our own const [size, setSize] = useState(null) useEffect(() => { diff --git a/src/core/hooks/useMatchMedia.ts b/src/core/hooks/useMatchMedia.ts new file mode 100644 index 000000000..c155698ef --- /dev/null +++ b/src/core/hooks/useMatchMedia.ts @@ -0,0 +1,46 @@ +import {useDebugValue, useMemo, useSyncExternalStore} from 'react' + +/** + * Efficiently subscribes to `window.matchMedia` queries + * + * @param getServerSnapshot - Only called during server-side rendering, and hydration if using hydrateRoot. Required if the hook is called during SSR (https://react.dev/reference/react/useSyncExternalStore#adding-support-for-server-rendering) + * + * @public + */ +export function useMatchMedia( + mediaQueryString: `(${string})`, + getServerSnapshot?: () => boolean, +): boolean { + const {subscribe, getSnapshot} = useMemo(() => { + /** + * `subscribe` and `getSnapshot` are only called on the client and both need access to the same `matchMedia` instance + * we don't want to eagerly instantiate it to ensure it's only created when actually used + */ + let MEDIA_QUERY_CACHE: MediaQueryList | undefined + + const getMatchMedia = (): MediaQueryList => { + if (!MEDIA_QUERY_CACHE) { + // As this function is only called during `subscribe` and `getSnapshot`, we can assume that the + // the `window` global is available and we're in a browser environment + MEDIA_QUERY_CACHE = window.matchMedia(mediaQueryString) + } + + return MEDIA_QUERY_CACHE + } + + return { + subscribe: (onStoreChange: () => void): (() => void) => { + const matchMedia = getMatchMedia() + + matchMedia.addEventListener('change', onStoreChange) + + return () => matchMedia.removeEventListener('change', onStoreChange) + }, + getSnapshot: () => getMatchMedia().matches, + } + }, [mediaQueryString]) + + useDebugValue(mediaQueryString) + + return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) +} diff --git a/src/core/hooks/useMediaIndex/useMediaIndex.ts b/src/core/hooks/useMediaIndex/useMediaIndex.ts index 8524630f5..b2bfc94f7 100644 --- a/src/core/hooks/useMediaIndex/useMediaIndex.ts +++ b/src/core/hooks/useMediaIndex/useMediaIndex.ts @@ -1,4 +1,4 @@ -import {useSyncExternalStore} from 'react' +import {useMemo, useSyncExternalStore} from 'react' import {useTheme_v2} from '../../theme' /** @@ -9,8 +9,6 @@ export interface _MediaStore { getSnapshot: () => number } -const MEDIA_STORE_CACHE = new WeakMap() - type MediaQueryMinWidth = `(min-width: ${number}px)` type MediaQueryMaxWidth = `(max-width: ${number}px)` type MediaQueryMinMaxWidth = `${MediaQueryMinWidth} and ${MediaQueryMaxWidth}` @@ -97,13 +95,7 @@ function getServerSnapshot() { */ export function useMediaIndex(): number { const {media} = useTheme_v2() - - let store = MEDIA_STORE_CACHE.get(media) - - if (!store) { - store = _createMediaStore(media) - MEDIA_STORE_CACHE.set(media, store) - } + const store = useMemo(() => _createMediaStore(media), [media]) return useSyncExternalStore(store.subscribe, store.getSnapshot, getServerSnapshot) } diff --git a/src/core/hooks/usePrefersDark.ts b/src/core/hooks/usePrefersDark.ts index bd03ab133..1f18c5ba0 100644 --- a/src/core/hooks/usePrefersDark.ts +++ b/src/core/hooks/usePrefersDark.ts @@ -1,61 +1,16 @@ -import {useSyncExternalStore} from 'react' - -let MEDIA_QUERY_CACHE: MediaQueryList | undefined - -/** - * Lazy init the matchMedia instance - */ -function getMatchMedia(): MediaQueryList { - if (!MEDIA_QUERY_CACHE) { - // As this function is only called during `subscribe` and `getSnapshot`, we can assume that the - // the `window` global is available and we're in a browser environment - MEDIA_QUERY_CACHE = window.matchMedia('(prefers-color-scheme: dark)') - } - - return MEDIA_QUERY_CACHE -} - -/** - * As the query is the same for all instances of this hook, we can cache the matchMedia instance - * and have cheap `change` event listeners, while getSnapshot always reads from the same - * matchMedia instance and we don't get any tearing. - * Tearing in this context means the bad edge case in React concurrent render mdoe - * where you sometimes would end up with some components doing render while seeing `usePrefersDark() === true` while others would see `usePrefersDark() === false` - * during the same render. - * By using `useSyncExternalStore` every component only sees the same value during the same render, and always re-render when it changes no matter - * what React.memo boundaries there might be between the layers.. - */ -function subscribe(onStoreChange: () => void): () => void { - const matchMedia = getMatchMedia() - - matchMedia.addEventListener('change', onStoreChange) - - return () => matchMedia.removeEventListener('change', onStoreChange) -} - -/** - * Only called client-side, when using createRoot, or after hydration is complete when using hydrateRoot. - * It's important that this function does not create new objects or arrays when called: - * https://beta.reactjs.org/apis/react/useSyncExternalStore#im-getting-an-error-the-result-of-getsnapshot-should-be-cached - */ -function getSnapshot() { - return getMatchMedia().matches -} +import {useMatchMedia} from './useMatchMedia' /** - * Only called during server-side rendering, and hydration if using hydrateRoot - * Since the server environment doesn't have access to the DOM, we can't determine the current value of the media query - * and we assume `(prefers-color-scheme: light)` since it's the most common scheme + * Returns true if a dark color scheme is preferred, false if a light color scheme is preferred or the preference is not known. + * + * @param getServerSnapshot - Only called during server-side rendering, and hydration if using hydrateRoot. Since the server environment doesn't have access to the DOM, we can't determine the current value of the media query and we assume `(prefers-color-scheme: light)` since it's the most common scheme (https://react.dev/reference/react/useSyncExternalStore#adding-support-for-server-rendering) + * + * If you persist the detected preference in a cookie or a header then you may implement your own server snapshot to read it. + * Chrome supports reading the `prefers-color-scheme` media query from a header if the server response: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-CH-Prefers-Color-Scheme + * @example https://gist.github.com/stipsan/13c0cccf8dfc34f4b44bb1b984baf7df * - * @link https://beta.reactjs.org/apis/react/useSyncExternalStore#adding-support-for-server-rendering - */ -function getServerSnapshot() { - return false -} - -/** * @public */ -export function usePrefersDark(): boolean { - return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) +export function usePrefersDark(getServerSnapshot = () => false): boolean { + return useMatchMedia('(prefers-color-scheme: dark)', getServerSnapshot) } diff --git a/src/core/hooks/usePrefersReducedMotion.ts b/src/core/hooks/usePrefersReducedMotion.ts index 7fd872d61..f0ae0c351 100644 --- a/src/core/hooks/usePrefersReducedMotion.ts +++ b/src/core/hooks/usePrefersReducedMotion.ts @@ -1,62 +1,16 @@ -import {useSyncExternalStore} from 'react' - -let MEDIA_QUERY_CACHE: MediaQueryList | undefined - -/** - * Lazy init the matchMedia instance - */ -function getMatchMedia(): MediaQueryList { - if (!MEDIA_QUERY_CACHE) { - // As this function is only called during `subscribe` and `getSnapshot`, we can assume that the - // the `window` global is available and we're in a browser environment - MEDIA_QUERY_CACHE = window.matchMedia('(prefers-reduced-motion: reduce)') - } - - return MEDIA_QUERY_CACHE -} - -/** - * As the query is the same for all instances of this hook, we can cache the matchMedia instance - * and have cheap `change` event listeners, while getSnapshot always reads from the same - * matchMedia instance and we don't get any tearing. - * Tearing in this context means the bad edge case in React concurrent render mdoe - * where you sometimes would end up with some components doing render while seeing `usePrefersDark() === true` while others would see `usePrefersDark() === false` - * during the same render. - * By using `useSyncExternalStore` every component only sees the same value during the same render, and always re-render when it changes no matter - * what React.memo boundaries there might be between the layers.. - */ -function subscribe(onStoreChange: () => void): () => void { - const matchMedia = getMatchMedia() - - matchMedia.addEventListener('change', onStoreChange) - - return () => matchMedia.removeEventListener('change', onStoreChange) -} - -/** - * Only called client-side, when using createRoot, or after hydration is complete when using hydrateRoot. - * It's important that this function does not create new objects or arrays when called: - * https://beta.reactjs.org/apis/react/useSyncExternalStore#im-getting-an-error-the-result-of-getsnapshot-should-be-cached - */ -function getSnapshot() { - return getMatchMedia().matches -} - -/** - * Only called during server-side rendering, and hydration if using hydrateRoot - * Since the server environment doesn't have access to the DOM, we can't determine the current value of the media query - * and we assume `(prefers-reduced-motion: no-preference)` since it's the most common scheme - * - * @link https://beta.reactjs.org/apis/react/useSyncExternalStore#adding-support-for-server-rendering - */ -function getServerSnapshot() { - return false -} +import {useMatchMedia} from './useMatchMedia' /** * Returns true if motion should be reduced + * + * @param getServerSnapshot - Only called during server-side rendering, and hydration if using hydrateRoot. Since the server environment doesn't have access to the DOM, we can't determine the current value of the media query and we assume `(prefers-reduced-motion: no-preference)` since it's the most common scheme (https://react.dev/reference/react/useSyncExternalStore#adding-support-for-server-rendering) + * + * If you persist the detected preference in a cookie or a header then you may implement your own server snapshot to read it. + * Chrome supports reading the `prefers-reduced-motion` media query from a header if the server response: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Sec-CH-Prefers-Reduced-Motion + * @example https://gist.github.com/stipsan/0c0f839a27842249cada893e9fb7767b + * * @public */ -export function usePrefersReducedMotion(): boolean { - return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) +export function usePrefersReducedMotion(getServerSnapshot = () => false): boolean { + return useMatchMedia('(prefers-reduced-motion: reduce)', getServerSnapshot) } diff --git a/src/core/primitives/avatar/styles.ts b/src/core/primitives/avatar/styles.ts index d4b51bdc1..d8c1b7ae7 100644 --- a/src/core/primitives/avatar/styles.ts +++ b/src/core/primitives/avatar/styles.ts @@ -14,24 +14,24 @@ export const avatarStyle = { function avatarArrowStyle(): CSSObject { return { - position: 'absolute', - boxSizing: 'border-box', - zIndex: 0, - opacity: 0, - transition: 'all 0.2s linear', - transform: 'rotate(-90deg) translate3d(0, 6px, 0)', - left: 0, - right: 0, - top: 0, - bottom: 0, + 'position': 'absolute', + 'boxSizing': 'border-box', + 'zIndex': 0, + 'opacity': 0, + 'transition': 'all 0.2s linear', + 'transform': 'rotate(-90deg) translate3d(0, 6px, 0)', + 'left': 0, + 'right': 0, + 'top': 0, + 'bottom': 0, '& > svg': { - width: '11px', - height: '7px', - position: 'absolute', - top: '-5px', - left: '50%', - transform: 'translateX(-6px)', + 'width': '11px', + 'height': '7px', + 'position': 'absolute', + 'top': '-5px', + 'left': '50%', + 'transform': 'translateX(-6px)', '&:not([hidden])': { display: 'block', @@ -63,11 +63,11 @@ export function avatarRootStyle(props: AvatarRootStyleProps & ThemeProps): CSSOb '--avatar-bg-color': `var(--card-avatar-${$color}-bg-color)`, '--avatar-fg-color': `var(--card-avatar-${$color}-fg-color)`, - backgroundColor: 'var(--avatar-bg-color)', - position: 'relative', - boxSizing: 'border-box', - userSelect: 'none', - boxShadow: '0 0 0 1px var(--card-bg-color)', + 'backgroundColor': 'var(--avatar-bg-color)', + 'position': 'relative', + 'boxSizing': 'border-box', + 'userSelect': 'none', + 'boxShadow': '0 0 0 1px var(--card-bg-color)', '&[data-status="inactive"]': { opacity: 0.5, @@ -81,14 +81,14 @@ export function avatarRootStyle(props: AvatarRootStyleProps & ThemeProps): CSSOb /* &:is(button) */ '&[data-as="button"]': { - WebkitFontSmoothing: 'inherit', - appearance: 'none', - margin: 0, - padding: 0, - border: 0, - font: 'inherit', - color: 'inherit', - outline: 'none', + 'WebkitFontSmoothing': 'inherit', + 'appearance': 'none', + 'margin': 0, + 'padding': 0, + 'border': 0, + 'font': 'inherit', + 'color': 'inherit', + 'outline': 'none', '&:focus': { boxShadow: focusRingStyle({focusRing: avatar.focusRing}), @@ -110,9 +110,9 @@ export function responsiveAvatarSizeStyle( const avatarSize = avatar.sizes[size] || avatar.sizes[0] return { - width: rem(avatarSize.size), - height: rem(avatarSize.size), - borderRadius: rem(avatarSize.size / 2), + 'width': rem(avatarSize.size), + 'height': rem(avatarSize.size), + 'borderRadius': rem(avatarSize.size / 2), '&>svg': { width: rem(avatarSize.size), @@ -131,14 +131,14 @@ export function avatarImageStyle(): CSSObject { export function avatarInitialsStyle(): CSSObject { return { - width: '100%', - height: '100%', - color: 'var(--avatar-fg-color)', - alignItems: 'center', - justifyContent: 'center', - textTransform: 'uppercase', - textAlign: 'center', - borderRadius: '50%', + 'width': '100%', + 'height': '100%', + 'color': 'var(--avatar-fg-color)', + 'alignItems': 'center', + 'justifyContent': 'center', + 'textTransform': 'uppercase', + 'textAlign': 'center', + 'borderRadius': '50%', '&:not([hidden])': { display: 'flex', @@ -155,8 +155,8 @@ function avatarBgStrokeStyle(): CSSObject { function avatarStrokeStyle(): CSSObject { return { - strokeWidth: '2px', - stroke: 'var(--avatar-bg-color)', + 'strokeWidth': '2px', + 'stroke': 'var(--avatar-bg-color)', '[data-status="editing"] &': { strokeDasharray: '2 4', diff --git a/src/core/primitives/badge/styles.ts b/src/core/primitives/badge/styles.ts index 429430f05..7d8e0b621 100644 --- a/src/core/primitives/badge/styles.ts +++ b/src/core/primitives/badge/styles.ts @@ -8,8 +8,8 @@ export function badgeStyle(props: BadgeStyleProps): CSSObject { '--card-bg-color': `var(--card-badge-${$tone}-bg-color)`, '--card-fg-color': `var(--card-badge-${$tone}-fg-color)`, - backgroundColor: 'var(--card-bg-color)', - cursor: 'default', + 'backgroundColor': 'var(--card-bg-color)', + 'cursor': 'default', '&:not([hidden])': { display: 'inline-block', diff --git a/src/core/primitives/button/styles.ts b/src/core/primitives/button/styles.ts index ca2655893..89760eeb2 100644 --- a/src/core/primitives/button/styles.ts +++ b/src/core/primitives/button/styles.ts @@ -81,12 +81,12 @@ export function buttonColorStyles( return [ _cardColorStyle(baseColor, color.enabled), { - backgroundColor: 'var(--card-bg-color)', - color: 'var(--card-fg-color)', - boxShadow: focusRingBorderStyle(border), + 'backgroundColor': 'var(--card-bg-color)', + 'color': 'var(--card-fg-color)', + 'boxShadow': focusRingBorderStyle(border), '&:disabled, &[data-disabled="true"]': _cardColorStyle(baseColor, color.disabled), "&:not([data-disabled='true'])": { - boxShadow: combineBoxShadow( + 'boxShadow': combineBoxShadow( focusRingBorderStyle(border), shadow ? defaultBoxShadow : undefined, ), diff --git a/src/core/primitives/inline/styles.ts b/src/core/primitives/inline/styles.ts index fe7a31e1b..0db17cf36 100644 --- a/src/core/primitives/inline/styles.ts +++ b/src/core/primitives/inline/styles.ts @@ -4,7 +4,7 @@ import {ResponsiveInlineSpaceStyleProps} from './types' export function inlineBaseStyle(): CSSObject { return { - lineHeight: 0, + 'lineHeight': 0, '&&:not([hidden])': { display: 'block', @@ -24,7 +24,7 @@ export function inlineSpaceStyle(props: ResponsiveInlineSpaceStyleProps & ThemeP const _space = rem(spaceIndex === 0.5 ? space[1] / 2 : space[spaceIndex]) return { - margin: `-${_space} 0 0 -${_space}`, + 'margin': `-${_space} 0 0 -${_space}`, '& > div': {padding: `${_space} 0 0 ${_space}`}, } }) diff --git a/src/core/primitives/popover/__workshop__/AlignedStory.tsx b/src/core/primitives/popover/__workshop__/AlignedStory.tsx index 53e011d49..c78840e15 100644 --- a/src/core/primitives/popover/__workshop__/AlignedStory.tsx +++ b/src/core/primitives/popover/__workshop__/AlignedStory.tsx @@ -1,7 +1,7 @@ import {EllipsisVerticalIcon} from '@sanity/icons' import {Button, Card, Flex, Popover, Text, useClickOutside} from '@sanity/ui' import {useBoolean, useSelect} from '@sanity/ui-workshop' -import {useCallback, useState} from 'react' +import {useCallback, useRef, useState} from 'react' import { WORKSHOP_FLEX_ALIGN_OPTIONS, WORKSHOP_FLEX_JUSTIFY_OPTIONS, @@ -20,8 +20,8 @@ export default function AlignedStory() { const [open, setOpen] = useState(false) const [boundaryElement, setBoundaryElement] = useState(null) - const [buttonElement, setButtonElement] = useState(null) - const [popoverElement, setPopoverElement] = useState(null) + const buttonElementRef = useRef(null) + const popoverElementRef = useRef(null) const content = ( @@ -39,9 +39,11 @@ export default function AlignedStory() { ) const handleToggleOpen = useCallback(() => setOpen((v) => !v), []) - const handleClose = useCallback(() => setOpen(false), []) - useClickOutside(handleClose, [buttonElement, popoverElement]) + useClickOutside( + () => setOpen(false), + () => [buttonElementRef.current, popoverElementRef.current], + ) return ( @@ -56,14 +58,14 @@ export default function AlignedStory() { padding={3} portal={portal} placement={placement} - ref={setPopoverElement} + ref={popoverElementRef} width={width} >