From 39f853f078e9bddd3708e32e336e1e7b3d959c36 Mon Sep 17 00:00:00 2001 From: Cody Olsen Date: Tue, 21 May 2024 21:37:05 +0200 Subject: [PATCH] chore: setup CI check for react compiler errors --- .eslintrc.cjs | 3 + .github/workflows/are-we-compiled-yet.yml | 51 ++ dev/test-next-studio/next.config.mjs | 5 + dev/test-next-studio/package.json | 9 +- dev/test-studio/package.json | 2 +- package.json | 10 +- .../@repo/shared-modules.bundle/package.json | 2 +- packages/@sanity/cli/package.json | 2 +- .../src/editor/hooks/useSyncValue.ts | 29 +- packages/sanity/package.json | 2 +- pnpm-lock.yaml | 577 +++++++++++------- 11 files changed, 455 insertions(+), 237 deletions(-) create mode 100644 .github/workflows/are-we-compiled-yet.yml diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 3017c40729b0..2a258ff81236 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -30,6 +30,7 @@ const config = { '@typescript-eslint', 'prettier', 'react', + 'react-compiler', 'tsdoc', 'unicorn', ], @@ -68,6 +69,8 @@ const config = { additionalHooks: '(useMemoObservable|useObservableCallback|useAsync)', }, ], + // Set react-compiler to `error` once existing issues are fixed + 'react-compiler/react-compiler': 'warn', 'react/no-unescaped-entities': 'off', 'i18next/no-literal-string': ['error'], '@sanity/i18n/no-attribute-string-literals': [ diff --git a/.github/workflows/are-we-compiled-yet.yml b/.github/workflows/are-we-compiled-yet.yml new file mode 100644 index 000000000000..07d1d775daee --- /dev/null +++ b/.github/workflows/are-we-compiled-yet.yml @@ -0,0 +1,51 @@ +name: Check if the React Compiler are able to optimize everything + +on: + # Build on pushes branches that have a PR (including drafts) + pull_request: + # Build on commits pushed to branches without a PR if it's in the allowlist + push: + branches: [next] + +jobs: + lint: + runs-on: ubuntu-latest + env: + TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} + TURBO_TEAM: ${{ vars.TURBO_TEAM }} + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - uses: pnpm/action-setup@v2 + name: Install pnpm + id: pnpm-install + with: + version: 8 + run_install: false + + - name: Get pnpm store directory + id: pnpm-cache + shell: bash + run: | + echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT + + - name: Cache node modules + id: cache-node-modules + uses: actions/cache@v4 + env: + cache-name: cache-node-modules + with: + path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} + key: ${{ runner.os }}-pnpm-store-${{ env.cache-name }}-${{ hashFiles('**/pnpm-lock.yaml') }} + restore-keys: | + v1-${{ runner.os }}-pnpm-store-${{ env.cache-name }}- + v1-${{ runner.os }}-pnpm-store- + v1-${{ runner.os }}- + + - name: Install project dependencies + run: pnpm install + + - name: Lint with the React Compiler ESLint plugin + run: pnpm check:react-compiler diff --git a/dev/test-next-studio/next.config.mjs b/dev/test-next-studio/next.config.mjs index 1d4e33be5894..6c9b819d936a 100644 --- a/dev/test-next-studio/next.config.mjs +++ b/dev/test-next-studio/next.config.mjs @@ -72,7 +72,11 @@ const config = { } return config }, + // Makes it much easier to see which component got memoized by the react compiler + // when testing on https://test-next-studio.sanity.build + productionBrowserSourceMaps: true, experimental: { + reactCompiler: true, turbo: { resolveAlias: { '@sanity/block-tools': '@sanity/block-tools/src/index.ts', @@ -94,6 +98,7 @@ const config = { '@sanity/util': '@sanity/util/src/_exports/index.ts', '@sanity/vision': '@sanity/vision/src/index.ts', 'sanity/_internal': 'sanity/src/_exports/_internal.ts', + 'sanity/_singletons': 'sanity/src/_exports/_singletons.ts', 'sanity/cli': 'sanity/src/_exports/cli.ts', 'sanity/desk': 'sanity/src/_exports/desk.ts', 'sanity/presentation': 'sanity/src/_exports/presentation.ts', diff --git a/dev/test-next-studio/package.json b/dev/test-next-studio/package.json index 0e6e2b432c93..deac898bbb93 100644 --- a/dev/test-next-studio/package.json +++ b/dev/test-next-studio/package.json @@ -12,12 +12,13 @@ }, "dependencies": { "@sanity/vision": "workspace:*", - "next": "14.3.0-canary.64", - "react": "^18.3.1", - "react-dom": "^18.3.1", + "babel-plugin-react-compiler": "0.0.0-experimental-592953e-20240517", + "next": "14.3.0-canary.73", + "react": "19.0.0-beta-04b058868c-20240508", + "react-dom": "19.0.0-beta-04b058868c-20240508", "sanity": "workspace:*", "sanity-test-studio": "workspace:*", - "styled-components": "^6.1.8", + "styled-components": "^6.1.11", "typescript": "5.4.5" } } diff --git a/dev/test-studio/package.json b/dev/test-studio/package.json index c72209321be6..3bb7ee70b74e 100644 --- a/dev/test-studio/package.json +++ b/dev/test-studio/package.json @@ -64,7 +64,7 @@ "sanity": "workspace:*", "sanity-plugin-hotspot-array": "^2.0.0", "sanity-plugin-mux-input": "^2.2.1", - "styled-components": "^6.1.0", + "styled-components": "^6.1.11", "three": "^0.164.0", "three-stdlib": "^2.24.2" }, diff --git a/package.json b/package.json index a2b2bc09f35a..2750548720a9 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,8 @@ "check:deps": "pnpm --recursive --parallel exec depcheck", "check:format": "prettier . --check", "check:lint": "turbo run lint --continue -- --quiet", - "check:react-exhaustive-deps": "run-s check:lint -- --quiet --rule 'react-hooks/exhaustive-deps: [error, {additionalHooks: \"(useAsync|useMemoObservable|useObservableCallback)\"}]'", + "check:react-exhaustive-deps": "turbo run lint --continue -- --quiet --rule 'react-hooks/exhaustive-deps: [error, {additionalHooks: \"(useAsync|useMemoObservable|useObservableCallback)\"}]'", + "check:react-compiler": "turbo run lint --continue -- --quiet --rule 'react-compiler/react-compiler: [error]'", "check:test": "run-s test -- --silent", "check:types": "tsc && turbo run check:types --filter='./packages/*' --filter='./packages/@sanity/*'", "chore:format:fix": "prettier --cache --write .", @@ -135,6 +136,7 @@ "eslint-plugin-import": "^2.29.1", "eslint-plugin-prettier": "^5.1.3", "eslint-plugin-react": "^7.34.1", + "eslint-plugin-react-compiler": "0.0.0-experimental-c8b3f72-20240517", "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-simple-import-sort": "^12.1.0", "eslint-plugin-tsdoc": "^0.2.17", @@ -169,6 +171,12 @@ }, "packageManager": "pnpm@8.15.8", "pnpm": { + "peerDependencyRules": { + "allowAny": [ + "react", + "react-dom" + ] + }, "overrides": { "@typescript-eslint/eslint-plugin": "$@typescript-eslint/eslint-plugin", "@typescript-eslint/parser": "$@typescript-eslint/parser" diff --git a/packages/@repo/shared-modules.bundle/package.json b/packages/@repo/shared-modules.bundle/package.json index 80f894f21cdf..94f620057f45 100644 --- a/packages/@repo/shared-modules.bundle/package.json +++ b/packages/@repo/shared-modules.bundle/package.json @@ -12,6 +12,6 @@ "dependencies": { "react": "^18.3.1", "react-dom": "^18.3.1", - "styled-components": "^6.1.8" + "styled-components": "^6.1.11" } } diff --git a/packages/@sanity/cli/package.json b/packages/@sanity/cli/package.json index dc8bdb4a7e89..ee8408a58577 100644 --- a/packages/@sanity/cli/package.json +++ b/packages/@sanity/cli/package.json @@ -59,7 +59,7 @@ "@babel/traverse": "^7.23.5", "@sanity/client": "^6.18.2", "@sanity/codegen": "3.43.0", - "@sanity/telemetry": "^0.7.6", + "@sanity/telemetry": "^0.7.7", "@sanity/util": "3.43.0", "chalk": "^4.1.2", "debug": "^4.3.4", diff --git a/packages/@sanity/portable-text-editor/src/editor/hooks/useSyncValue.ts b/packages/@sanity/portable-text-editor/src/editor/hooks/useSyncValue.ts index c490305f0b8d..b3518c785e83 100644 --- a/packages/@sanity/portable-text-editor/src/editor/hooks/useSyncValue.ts +++ b/packages/@sanity/portable-text-editor/src/editor/hooks/useSyncValue.ts @@ -1,7 +1,7 @@ /* eslint-disable max-nested-callbacks */ import {type PortableTextBlock} from '@sanity/types' import {debounce, isEqual} from 'lodash' -import {useCallback, useMemo, useRef} from 'react' +import {useMemo, useRef} from 'react' import {type Descendant, Editor, type Node, Text, Transforms} from 'slate' import {useSlate} from 'slate-react' @@ -50,24 +50,21 @@ export function useSyncValue( const slateEditor = useSlate() const updateValueFunctionRef = useRef<(value: PortableTextBlock[] | undefined) => void>() - const updateFromCurrentValue = useCallback(() => { - const currentValue = CURRENT_VALUE.get(portableTextEditor) - if (previousValue.current === currentValue) { - debug('Value is the same object as previous, not need to sync') - return - } - if (updateValueFunctionRef.current && currentValue) { - debug('Updating the value debounced') - updateValueFunctionRef.current(currentValue) + const updateValueDebounced = useMemo(() => { + const updateFromCurrentValue = () => { + const currentValue = CURRENT_VALUE.get(portableTextEditor) + if (previousValue.current === currentValue) { + debug('Value is the same object as previous, not need to sync') + return + } + if (updateValueFunctionRef.current && currentValue) { + debug('Updating the value debounced') + updateValueFunctionRef.current(currentValue) + } } + return debounce(updateFromCurrentValue, 1000, {trailing: true, leading: false}) }, [portableTextEditor]) - // eslint-disable-next-line react-hooks/exhaustive-deps - const updateValueDebounced = useCallback( - debounce(updateFromCurrentValue, 1000, {trailing: true, leading: false}), - [updateFromCurrentValue], - ) - return useMemo(() => { const updateFunction = (value: PortableTextBlock[] | undefined) => { CURRENT_VALUE.set(portableTextEditor, value) diff --git a/packages/sanity/package.json b/packages/sanity/package.json index fc6425f8b6a2..45dfb800e5d8 100644 --- a/packages/sanity/package.json +++ b/packages/sanity/package.json @@ -164,7 +164,7 @@ "@sanity/portable-text-editor": "3.43.0", "@sanity/presentation": "1.15.8", "@sanity/schema": "3.43.0", - "@sanity/telemetry": "^0.7.6", + "@sanity/telemetry": "^0.7.7", "@sanity/types": "3.43.0", "@sanity/ui": "^2.1.11", "@sanity/util": "3.43.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index adcdbf3004de..5254ef90d749 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -142,6 +142,9 @@ importers: eslint-plugin-react: specifier: ^7.34.1 version: 7.34.1(eslint@8.57.0) + eslint-plugin-react-compiler: + specifier: 0.0.0-experimental-c8b3f72-20240517 + version: 0.0.0-experimental-c8b3f72-20240517(eslint@8.57.0) eslint-plugin-react-hooks: specifier: ^4.6.2 version: 4.6.2(eslint@8.57.0) @@ -370,15 +373,18 @@ importers: '@sanity/vision': specifier: workspace:* version: link:../../packages/@sanity/vision + babel-plugin-react-compiler: + specifier: 0.0.0-experimental-592953e-20240517 + version: 0.0.0-experimental-592953e-20240517 next: - specifier: 14.3.0-canary.64 - version: 14.3.0-canary.64(@babel/core@7.24.5)(@playwright/test@1.41.2)(react-dom@18.3.1)(react@18.3.1) + specifier: 14.3.0-canary.73 + version: 14.3.0-canary.73(@babel/core@7.24.5)(@playwright/test@1.41.2)(babel-plugin-react-compiler@0.0.0-experimental-592953e-20240517)(react-dom@19.0.0-beta-04b058868c-20240508)(react@19.0.0-beta-04b058868c-20240508) react: - specifier: ^18.3.1 - version: 18.3.1 + specifier: 19.0.0-beta-04b058868c-20240508 + version: 19.0.0-beta-04b058868c-20240508 react-dom: - specifier: ^18.3.1 - version: 18.3.1(react@18.3.1) + specifier: 19.0.0-beta-04b058868c-20240508 + version: 19.0.0-beta-04b058868c-20240508(react@19.0.0-beta-04b058868c-20240508) sanity: specifier: workspace:* version: link:../../packages/sanity @@ -386,8 +392,8 @@ importers: specifier: workspace:* version: link:../test-studio styled-components: - specifier: ^6.1.8 - version: 6.1.11(react-dom@18.3.1)(react@18.3.1) + specifier: ^6.1.11 + version: 6.1.11(react-dom@19.0.0-beta-04b058868c-20240508)(react@19.0.0-beta-04b058868c-20240508) typescript: specifier: 5.4.5 version: 5.4.5 @@ -539,7 +545,7 @@ importers: specifier: ^2.2.1 version: 2.3.4(@types/react@18.3.2)(react-dom@18.3.1)(react-is@18.3.1)(react@18.3.1)(sanity@packages+sanity)(styled-components@6.1.11) styled-components: - specifier: ^6.1.0 + specifier: ^6.1.11 version: 6.1.11(react-dom@18.3.1)(react@18.3.1) three: specifier: ^0.164.0 @@ -637,7 +643,7 @@ importers: specifier: ^18.3.1 version: 18.3.1(react@18.3.1) styled-components: - specifier: ^6.1.8 + specifier: ^6.1.11 version: 6.1.11(react-dom@18.3.1)(react@18.3.1) packages/@repo/test-exports: @@ -740,7 +746,7 @@ importers: specifier: 3.43.0 version: link:../codegen '@sanity/telemetry': - specifier: ^0.7.6 + specifier: ^0.7.7 version: 0.7.7 '@sanity/util': specifier: 3.43.0 @@ -1539,7 +1545,7 @@ importers: specifier: 3.43.0 version: link:../@sanity/schema '@sanity/telemetry': - specifier: ^0.7.6 + specifier: ^0.7.7 version: 0.7.7 '@sanity/types': specifier: 3.43.0 @@ -2053,6 +2059,16 @@ packages: semver: 6.3.1 dev: true + /@babel/generator@7.2.0: + resolution: {integrity: sha512-BA75MVfRlFQG2EZgFYIwyT1r6xSkwfP2bdkY/kLZusEYWiJs4xCowab/alaEaT0wSvmVuXGqiefeBlP+7V1yKg==} + dependencies: + '@babel/types': 7.24.5 + jsesc: 2.5.2 + lodash: 4.17.21 + source-map: 0.5.7 + trim-right: 1.0.1 + dev: false + /@babel/generator@7.24.5: resolution: {integrity: sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==} engines: {node: '>=6.9.0'} @@ -2316,6 +2332,18 @@ packages: '@babel/helper-plugin-utils': 7.24.5 dev: true + /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.24.5): + resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.5 + dev: true + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.5): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} @@ -3345,7 +3373,7 @@ packages: /@dnd-kit/accessibility@3.1.0(react@18.3.1): resolution: {integrity: sha512-ea7IkhKvlJUv9iSHJOnxinBcoOI3ppGnnL+VDJ75O45Nss6HtZd8IdN8touXPDtASfeI2T2LImb8VOZcL47wjQ==} peerDependencies: - react: '>=16.8.0' + react: '*' dependencies: react: 18.3.1 tslib: 2.6.2 @@ -3354,8 +3382,8 @@ packages: /@dnd-kit/core@6.1.0(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-J3cQBClB4TVxwGo3KEjssGEXNJqGVWx17aRTZ1ob0FliR5IjYgTxl5YJbKTzA6IzrtelotH19v6y7uoIRUZPSg==} peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' + react: '*' + react-dom: '*' dependencies: '@dnd-kit/accessibility': 3.1.0(react@18.3.1) '@dnd-kit/utilities': 3.2.2(react@18.3.1) @@ -3368,7 +3396,7 @@ packages: resolution: {integrity: sha512-rbxcsg3HhzlcMHVHWDuh9LCjpOVAgqbV78wLGI8tziXY3+qcMQ61qVXIvNKQFuhj75dSfD+o+PYZQ/NUk2A23A==} peerDependencies: '@dnd-kit/core': ^6.0.6 - react: '>=16.8.0' + react: '*' dependencies: '@dnd-kit/core': 6.1.0(react-dom@18.3.1)(react@18.3.1) '@dnd-kit/utilities': 3.2.2(react@18.3.1) @@ -3380,7 +3408,7 @@ packages: resolution: {integrity: sha512-wDkBHHf9iCi1veM834Gbk1429bd4lHX4RpAwT0y2cHLf246GAvU2sVw/oxWNpPKQNQRQaeGXhAVgrOl1IT+iyA==} peerDependencies: '@dnd-kit/core': ^6.0.7 - react: '>=16.8.0' + react: '*' dependencies: '@dnd-kit/core': 6.1.0(react-dom@18.3.1)(react@18.3.1) '@dnd-kit/utilities': 3.2.2(react@18.3.1) @@ -3391,7 +3419,7 @@ packages: /@dnd-kit/utilities@3.2.2(react@18.3.1): resolution: {integrity: sha512-+MKAJEOfaBe5SmV6t34p80MMKhjvUz0vRrvVJbPT0WElzaOJ/1xs+D+KDv+tD/NE5ujfrChEcshd4fLn0wpiqg==} peerDependencies: - react: '>=16.8.0' + react: '*' dependencies: react: 18.3.1 tslib: 2.6.2 @@ -4212,8 +4240,8 @@ packages: /@floating-ui/react-dom@2.0.9(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-q0umO0+LQK4+p6aGyvzASqKbKOJcAHJ7ycE9CuUvfx3s9zTHWmGJTPOIlM/hmSBfUfg/XfY5YhLBLR/LHwShQQ==} peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' + react: '*' + react-dom: '*' dependencies: '@floating-ui/dom': 1.6.3 react: 18.3.1 @@ -4303,8 +4331,8 @@ packages: resolution: {integrity: sha512-FmuxfCuolpLl0AnQ2NHSzoUKWEJDFl63qXjzdoWBVyFCXzMGm1spBzk7LeHNoVCiWCF7mRVms9e6jEV9+MoPbg==} dev: true - /@img/sharp-darwin-arm64@0.33.3: - resolution: {integrity: sha512-FaNiGX1MrOuJ3hxuNzWgsT/mg5OHG/Izh59WW2mk1UwYHUwtfbhk5QNKYZgxf0pLOhx9ctGiGa2OykD71vOnSw==} + /@img/sharp-darwin-arm64@0.33.4: + resolution: {integrity: sha512-p0suNqXufJs9t3RqLBO6vvrgr5OhgbWp76s5gTRvdmxmuv9E1rcaqGUsl3l4mKVmXPkTkTErXediAui4x+8PSA==} engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [arm64] os: [darwin] @@ -4314,8 +4342,8 @@ packages: dev: false optional: true - /@img/sharp-darwin-x64@0.33.3: - resolution: {integrity: sha512-2QeSl7QDK9ru//YBT4sQkoq7L0EAJZA3rtV+v9p8xTKl4U1bUqTIaCnoC7Ctx2kCjQgwFXDasOtPTCT8eCTXvw==} + /@img/sharp-darwin-x64@0.33.4: + resolution: {integrity: sha512-0l7yRObwtTi82Z6ebVI2PnHT8EB2NxBgpK2MiKJZJ7cz32R4lxd001ecMhzzsZig3Yv9oclvqqdV93jo9hy+Dw==} engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [x64] os: [darwin] @@ -4397,8 +4425,8 @@ packages: dev: false optional: true - /@img/sharp-linux-arm64@0.33.3: - resolution: {integrity: sha512-Zf+sF1jHZJKA6Gor9hoYG2ljr4wo9cY4twaxgFDvlG0Xz9V7sinsPp8pFd1XtlhTzYo0IhDbl3rK7P6MzHpnYA==} + /@img/sharp-linux-arm64@0.33.4: + resolution: {integrity: sha512-2800clwVg1ZQtxwSoTlHvtm9ObgAax7V6MTAB/hDT945Tfyy3hVkmiHpeLPCKYqYR1Gcmv1uDZ3a4OFwkdBL7Q==} engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [arm64] os: [linux] @@ -4408,8 +4436,8 @@ packages: dev: false optional: true - /@img/sharp-linux-arm@0.33.3: - resolution: {integrity: sha512-Q7Ee3fFSC9P7vUSqVEF0zccJsZ8GiiCJYGWDdhEjdlOeS9/jdkyJ6sUSPj+bL8VuOYFSbofrW0t/86ceVhx32w==} + /@img/sharp-linux-arm@0.33.4: + resolution: {integrity: sha512-RUgBD1c0+gCYZGCCe6mMdTiOFS0Zc/XrN0fYd6hISIKcDUbAW5NtSQW9g/powkrXYm6Vzwd6y+fqmExDuCdHNQ==} engines: {glibc: '>=2.28', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [arm] os: [linux] @@ -4419,9 +4447,9 @@ packages: dev: false optional: true - /@img/sharp-linux-s390x@0.33.3: - resolution: {integrity: sha512-vFk441DKRFepjhTEH20oBlFrHcLjPfI8B0pMIxGm3+yilKyYeHEVvrZhYFdqIseSclIqbQ3SnZMwEMWonY5XFA==} - engines: {glibc: '>=2.28', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} + /@img/sharp-linux-s390x@0.33.4: + resolution: {integrity: sha512-h3RAL3siQoyzSoH36tUeS0PDmb5wINKGYzcLB5C6DIiAn2F3udeFAum+gj8IbA/82+8RGCTn7XW8WTFnqag4tQ==} + engines: {glibc: '>=2.31', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [s390x] os: [linux] requiresBuild: true @@ -4430,8 +4458,8 @@ packages: dev: false optional: true - /@img/sharp-linux-x64@0.33.3: - resolution: {integrity: sha512-Q4I++herIJxJi+qmbySd072oDPRkCg/SClLEIDh5IL9h1zjhqjv82H0Seupd+q2m0yOfD+/fJnjSoDFtKiHu2g==} + /@img/sharp-linux-x64@0.33.4: + resolution: {integrity: sha512-GoR++s0XW9DGVi8SUGQ/U4AeIzLdNjHka6jidVwapQ/JebGVQIpi52OdyxCNVRE++n1FCLzjDovJNozif7w/Aw==} engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [x64] os: [linux] @@ -4441,8 +4469,8 @@ packages: dev: false optional: true - /@img/sharp-linuxmusl-arm64@0.33.3: - resolution: {integrity: sha512-qnDccehRDXadhM9PM5hLvcPRYqyFCBN31kq+ErBSZtZlsAc1U4Z85xf/RXv1qolkdu+ibw64fUDaRdktxTNP9A==} + /@img/sharp-linuxmusl-arm64@0.33.4: + resolution: {integrity: sha512-nhr1yC3BlVrKDTl6cO12gTpXMl4ITBUZieehFvMntlCXFzH2bvKG76tBL2Y/OqhupZt81pR7R+Q5YhJxW0rGgQ==} engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [arm64] os: [linux] @@ -4452,8 +4480,8 @@ packages: dev: false optional: true - /@img/sharp-linuxmusl-x64@0.33.3: - resolution: {integrity: sha512-Jhchim8kHWIU/GZ+9poHMWRcefeaxFIs9EBqf9KtcC14Ojk6qua7ghKiPs0sbeLbLj/2IGBtDcxHyjCdYWkk2w==} + /@img/sharp-linuxmusl-x64@0.33.4: + resolution: {integrity: sha512-uCPTku0zwqDmZEOi4ILyGdmW76tH7dm8kKlOIV1XC5cLyJ71ENAAqarOHQh0RLfpIpbV5KOpXzdU6XkJtS0daw==} engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [x64] os: [linux] @@ -4463,8 +4491,8 @@ packages: dev: false optional: true - /@img/sharp-wasm32@0.33.3: - resolution: {integrity: sha512-68zivsdJ0koE96stdUfM+gmyaK/NcoSZK5dV5CAjES0FUXS9lchYt8LAB5rTbM7nlWtxaU/2GON0HVN6/ZYJAQ==} + /@img/sharp-wasm32@0.33.4: + resolution: {integrity: sha512-Bmmauh4sXUsUqkleQahpdNXKvo+wa1V9KhT2pDA4VJGKwnKMJXiSTGphn0gnJrlooda0QxCtXc6RX1XAU6hMnQ==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [wasm32] requiresBuild: true @@ -4473,8 +4501,8 @@ packages: dev: false optional: true - /@img/sharp-win32-ia32@0.33.3: - resolution: {integrity: sha512-CyimAduT2whQD8ER4Ux7exKrtfoaUiVr7HG0zZvO0XTFn2idUWljjxv58GxNTkFb8/J9Ub9AqITGkJD6ZginxQ==} + /@img/sharp-win32-ia32@0.33.4: + resolution: {integrity: sha512-99SJ91XzUhYHbx7uhK3+9Lf7+LjwMGQZMDlO/E/YVJ7Nc3lyDFZPGhjwiYdctoH2BOzW9+TnfqcaMKt0jHLdqw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [ia32] os: [win32] @@ -4482,8 +4510,8 @@ packages: dev: false optional: true - /@img/sharp-win32-x64@0.33.3: - resolution: {integrity: sha512-viT4fUIDKnli3IfOephGnolMzhz5VaTvDRkYqtZxOMIoMQ4MrAziO7pT1nVnOt2FAm7qW5aa+CCc13aEY6Le0g==} + /@img/sharp-win32-x64@0.33.4: + resolution: {integrity: sha512-3QLocdTRVIrFNye5YocZl+KKpYKP+fksi1QhmOArgx7GyhIbQp/WrJRu176jm8IxromS7RIkzMiMINVdBtC8Aw==} engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [x64] os: [win32] @@ -4729,6 +4757,15 @@ packages: - supports-color dev: true + /@jest/types@24.9.0: + resolution: {integrity: sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==} + engines: {node: '>= 6'} + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 1.1.2 + '@types/yargs': 13.0.12 + dev: false + /@jest/types@29.6.3: resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -4965,8 +5002,8 @@ packages: peerDependencies: '@types/react': ^17.0.0 || ^18 '@types/react-dom': '*' - react: ^17.0.2 || ^18 - react-dom: ^17.0.2 || ^18 + react: '*' + react-dom: '*' peerDependenciesMeta: '@types/react': optional: true @@ -5016,8 +5053,8 @@ packages: resolution: {integrity: sha512-W7fd7IbkfmeeY2gXrzJYDx8D2lWKbVoTIj1o1ScPHNzvp30s1AuoEFSdr39bC5sjxJaxTtq3OTCZboNp0lNWHA==} dev: false - /@next/env@14.3.0-canary.64: - resolution: {integrity: sha512-ujdrm4KrTl+DUyZ5CqK9m3xrldSf+Y0kZalnMjgCv8NPWQv3Xjx4Tnp1oy8f04mfjir8SyPPhxqcfe4N3CGBhQ==} + /@next/env@14.3.0-canary.73: + resolution: {integrity: sha512-1wpSRn4bRedIBzKVv+0B8Gs6N0zRd2WosYm4ODnJr32nhEnnpIYHKz2liSUXj5MBfMHJmnuUBJsJOXDx8oYycw==} dev: false /@next/swc-darwin-arm64@14.2.3: @@ -5029,8 +5066,8 @@ packages: dev: false optional: true - /@next/swc-darwin-arm64@14.3.0-canary.64: - resolution: {integrity: sha512-uUxGpgUmx5kSuJFTqNRQhCJEZyD21+6WxvZht9LjLJkUX3m0sdFUsFROAiwpHhu4tdyp3HwjaPc3vGnDmjSxrQ==} + /@next/swc-darwin-arm64@14.3.0-canary.73: + resolution: {integrity: sha512-gNuPrkdI6CPiccKJDE/7uu4aoI5UH4A1R5GlyPtl1HFn67yJuJImWwXJmBtJ8Wy+Fh5G0g9r48n0S8L+maX0/Q==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -5047,8 +5084,8 @@ packages: dev: false optional: true - /@next/swc-darwin-x64@14.3.0-canary.64: - resolution: {integrity: sha512-Jymv5eAOOvfZqmqUQbsqfDhBRX18/ZPq7zMAPlwZtlP150EV92waX7DTK1V5TViOGMP0vpFSBFxj4+cmQn+Fkg==} + /@next/swc-darwin-x64@14.3.0-canary.73: + resolution: {integrity: sha512-jQQT0L+kpPl8NeOqHDGhNGxTMee7N6stkYcYmBTltjD2GRA4j1vRqAafNHlbxVXMKeMxemEIXKJgeL3QwD8a2w==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -5065,8 +5102,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-gnu@14.3.0-canary.64: - resolution: {integrity: sha512-sizgHsgSrTVeSjc7AlUh4CmAOj8p+tJ/Y3t4+Ve7wfOD8ze9EQD/4JkBPgOYBlpcUF7U90vL1rjyoKqfVeRVGg==} + /@next/swc-linux-arm64-gnu@14.3.0-canary.73: + resolution: {integrity: sha512-NtNEOvcdtNqdwlEM2L0jMaY44uiklqj2DtWyGeZ3X2RjkytOTA//tGiIQBBCn+mQQoFX/8e9pFIx6zlp890p/A==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -5083,8 +5120,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-musl@14.3.0-canary.64: - resolution: {integrity: sha512-rq3o5XnPwah2E3iIV98SSZKH3EoT7waPPA+0+QmTQ461ukzxpmhDq3hNe9zpsf27Oqc5UJ8Wi3oq44vQk5kyCQ==} + /@next/swc-linux-arm64-musl@14.3.0-canary.73: + resolution: {integrity: sha512-IBd1ar1ISP2aTrPgv9cNWzStY/qiwWeBsAejJnXRKrPEcs+eKSHGQvW6ncPicb7HD6FoXewyZoUcguqp+GMP6A==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -5101,8 +5138,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-gnu@14.3.0-canary.64: - resolution: {integrity: sha512-zcVOXKbxiBWTlXdd8Mrqop80BJmhlZV+yW9PAx4SV49lK839eE+RYeNpjHuGol1PqeZHACCWTKmVpXbipIW4mQ==} + /@next/swc-linux-x64-gnu@14.3.0-canary.73: + resolution: {integrity: sha512-+2nw7NeqM1y6TCoHziETuit2BdxqtCte0gUkHqvDy/VSHzzEJLkYWzh+jOWI/pc5HcrT5/GXaEYzFmumNTP4xQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -5119,8 +5156,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-musl@14.3.0-canary.64: - resolution: {integrity: sha512-BIXUt9prsqxApTlYvnyA91/MuiqsYuGQ+onsjhSYoPxGSwyRVt/pMmo4CVX9pT+BfSsTE9EZaO98ku1g7adzKQ==} + /@next/swc-linux-x64-musl@14.3.0-canary.73: + resolution: {integrity: sha512-R5jmeROMEj96t/lhUB3gKjFqV+17pN24QoXhWLTj0en1eL8EuGegyqsqdyggl0rIHH8dFpMJNSTtTCJk8eRjgA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -5137,8 +5174,8 @@ packages: dev: false optional: true - /@next/swc-win32-arm64-msvc@14.3.0-canary.64: - resolution: {integrity: sha512-OE5UNzQNHbPXEtM4X59B7MVP8+alee7B5S2ZX9mlQfJUdt7L+2z+3LdvhaYd/WyhOGy1J98iSQicS2wow9JC3g==} + /@next/swc-win32-arm64-msvc@14.3.0-canary.73: + resolution: {integrity: sha512-TevRgqPztcDmHe3imH3KtPEAE80qFU30jxCv+coMJG/nevh82+QDf7E5Y7nuzdHN0uchFe2z9BXhI48U5vgRKQ==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -5155,8 +5192,8 @@ packages: dev: false optional: true - /@next/swc-win32-ia32-msvc@14.3.0-canary.64: - resolution: {integrity: sha512-cXBWWB5GuzZL1Le8H9JhFfdPhRkxGNQYbw58g+ynz1hG9s3S/A6zTqxyN3VY6gMJYwM0G1os33Z6wC/SzgmN2g==} + /@next/swc-win32-ia32-msvc@14.3.0-canary.73: + resolution: {integrity: sha512-yM/j+fCOsWD+TG1ERnurJRRO+8fNmMp8HTN7TeptzoPbToiuJYZiPY8cewqUXvvf4dKnkcILm+7WDcKv1FV32Q==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -5173,8 +5210,8 @@ packages: dev: false optional: true - /@next/swc-win32-x64-msvc@14.3.0-canary.64: - resolution: {integrity: sha512-46VwW6BR6tVZih8L99EM2Jchd2kk6j9usvZdaGfLl9eRqpg5sRTEbnWzyG/0sue8EPMh/PRW0mMp8ypUM4PzKA==} + /@next/swc-win32-x64-msvc@14.3.0-canary.73: + resolution: {integrity: sha512-xkBYOsH4Iq02cEk4AEN/BJny5mjmJfpOSZ5jiAK9CpTDhhw1N5F7KGM7ygZK/J9dmF+Pnk/UEn0lFsj3wmVyiw==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -5653,7 +5690,7 @@ packages: resolution: {integrity: sha512-AsWiZin7GpA8RTTl9kmR5wiMj72Ynotjjw0bBgbmL0vOYp0jc8nNslJyPPMSMngSLzLa8+rPAg47+d9KtrzLVw==} engines: {node: ^14.13.1 || >=16.0.0} peerDependencies: - react: ^17 || ^18 + react: '*' dependencies: '@portabletext/toolkit': 2.0.15 '@portabletext/types': 2.0.13 @@ -5680,8 +5717,8 @@ packages: peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: '*' + react-dom: '*' peerDependenciesMeta: '@types/react': optional: true @@ -5699,7 +5736,7 @@ packages: resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 + react: '*' peerDependenciesMeta: '@types/react': optional: true @@ -5713,7 +5750,7 @@ packages: resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 + react: '*' peerDependenciesMeta: '@types/react': optional: true @@ -5728,8 +5765,8 @@ packages: peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: '*' + react-dom: '*' peerDependenciesMeta: '@types/react': optional: true @@ -5751,7 +5788,7 @@ packages: resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 + react: '*' peerDependenciesMeta: '@types/react': optional: true @@ -5767,8 +5804,8 @@ packages: peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: '*' + react-dom: '*' peerDependenciesMeta: '@types/react': optional: true @@ -5796,8 +5833,8 @@ packages: peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: '*' + react-dom: '*' peerDependenciesMeta: '@types/react': optional: true @@ -5816,8 +5853,8 @@ packages: peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: '*' + react-dom: '*' peerDependenciesMeta: '@types/react': optional: true @@ -5837,8 +5874,8 @@ packages: peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: '*' + react-dom: '*' peerDependenciesMeta: '@types/react': optional: true @@ -5856,7 +5893,7 @@ packages: resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 + react: '*' peerDependenciesMeta: '@types/react': optional: true @@ -5872,8 +5909,8 @@ packages: peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: '*' + react-dom: '*' peerDependenciesMeta: '@types/react': optional: true @@ -5902,7 +5939,7 @@ packages: resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 + react: '*' peerDependenciesMeta: '@types/react': optional: true @@ -5916,7 +5953,7 @@ packages: resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 + react: '*' peerDependenciesMeta: '@types/react': optional: true @@ -5931,7 +5968,7 @@ packages: resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 + react: '*' peerDependenciesMeta: '@types/react': optional: true @@ -5946,7 +5983,7 @@ packages: resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 + react: '*' peerDependenciesMeta: '@types/react': optional: true @@ -5960,7 +5997,7 @@ packages: resolution: {integrity: sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 + react: '*' peerDependenciesMeta: '@types/react': optional: true @@ -5975,7 +6012,7 @@ packages: resolution: {integrity: sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==} peerDependencies: '@types/react': '*' - react: ^16.8 || ^17.0 || ^18.0 + react: '*' peerDependenciesMeta: '@types/react': optional: true @@ -5991,8 +6028,8 @@ packages: peerDependencies: '@types/react': '*' '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 + react: '*' + react-dom: '*' peerDependenciesMeta: '@types/react': optional: true @@ -6015,7 +6052,7 @@ packages: /@react-spring/animated@9.6.1(react@18.3.1): resolution: {integrity: sha512-ls/rJBrAqiAYozjLo5EPPLLOb1LM0lNVQcXODTC1SMtS6DbuBCPaKco5svFUQFMP2dso3O+qcC4k9FsKc0KxMQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: '*' dependencies: '@react-spring/shared': 9.6.1(react@18.3.1) '@react-spring/types': 9.6.1 @@ -6025,7 +6062,7 @@ packages: /@react-spring/core@9.6.1(react@18.3.1): resolution: {integrity: sha512-3HAAinAyCPessyQNNXe5W0OHzRfa8Yo5P748paPcmMowZ/4sMfaZ2ZB6e5x5khQI8NusOHj8nquoutd6FRY5WQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: '*' dependencies: '@react-spring/animated': 9.6.1(react@18.3.1) '@react-spring/rafz': 9.6.1 @@ -6041,7 +6078,7 @@ packages: /@react-spring/shared@9.6.1(react@18.3.1): resolution: {integrity: sha512-PBFBXabxFEuF8enNLkVqMC9h5uLRBo6GQhRMQT/nRTnemVENimgRd+0ZT4yFnAQ0AxWNiJfX3qux+bW2LbG6Bw==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: '*' dependencies: '@react-spring/rafz': 9.6.1 '@react-spring/types': 9.6.1 @@ -6052,7 +6089,7 @@ packages: resolution: {integrity: sha512-Tyw2YhZPKJAX3t2FcqvpLRb71CyTe1GvT3V+i+xJzfALgpk10uPGdGaQQ5Xrzmok1340DAeg2pR/MCfaW7b8AA==} peerDependencies: '@react-three/fiber': '>=6.0' - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: '*' three: '>=0.126' dependencies: '@react-spring/animated': 9.6.1(react@18.3.1) @@ -6072,7 +6109,7 @@ packages: resolution: {integrity: sha512-lP9rJoVHQi0w+dYF8FJAm2xr5eLfNEckb04j72kjqndUkuOPr26N4rSBhQbHl5b5N3tEnhQaIMungAvHkcY8/A==} peerDependencies: '@react-three/fiber': '>=8' - react: '>=18' + react: '*' three: '>=0.139' dependencies: '@pmndrs/cannon-worker-api': 2.4.0(three@0.164.1) @@ -6089,8 +6126,8 @@ packages: resolution: {integrity: sha512-JBgYeV36N9N9f1c3o1ZfLYW4rXZA7UQTq32Y8s3DEF6lwj1/y+RP/yq2VG5I8OzUPl7gsmWdy8fpWZgrlAqUpQ==} peerDependencies: '@react-three/fiber': '>=8.0' - react: '>=18.0' - react-dom: '>=18.0' + react: '*' + react-dom: '*' three: '>=0.137' peerDependenciesMeta: react-dom: @@ -6136,8 +6173,8 @@ packages: expo-asset: '>=8.4' expo-file-system: '>=11.0' expo-gl: '>=11.0' - react: '>=18.0' - react-dom: '>=18.0' + react: '*' + react-dom: '*' react-native: '>=0.64' three: '>=0.133' peerDependenciesMeta: @@ -6180,7 +6217,7 @@ packages: /@rexxars/react-json-inspector@8.0.1(react@18.3.1): resolution: {integrity: sha512-XAsgQwqG8fbDGpWnsvOesRMgPfvwuU7Cx3/cUf/fNIRmGP8lj2YYIf5La/4ayvZLWlSw4tTb4BPCKdmK9D8RuQ==} peerDependencies: - react: ^15 || ^16 || ^17 || ^18 + react: '*' dependencies: create-react-class: 15.7.0 debounce: 1.0.0 @@ -6191,8 +6228,8 @@ packages: /@rexxars/react-split-pane@0.1.93(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-Pok8zATwd5ZpWnccJeSA/JM2MPmi3D04duYtrbMNRgzeAU2ANtq3r4w7ldbjpGyfJqggqn0wDNjRqaevXqSxQg==} peerDependencies: - react: ^18 - react-dom: ^18 + react: '*' + react-dom: '*' dependencies: prop-types: 15.8.1 react: 18.3.1 @@ -6514,7 +6551,7 @@ packages: engines: {node: '>=14'} peerDependencies: '@sanity/mutator': ^3.36.4 - react: ^18 + react: '*' sanity: ^3.36.4 styled-components: ^6.1 dependencies: @@ -6655,7 +6692,7 @@ packages: resolution: {integrity: sha512-lYxK1Jfb2Xk3lVVcK/MUdK562qAC3LfSatjbvpDTP4LNwQ1NVvvgwsS2QGiGSQvgSXxGPOaiS40MSMb26X1Vhg==} engines: {node: '>=14'} peerDependencies: - react: ^18 + react: '*' sanity: ^3.19.0 styled-components: ^6.1 dependencies: @@ -6674,7 +6711,7 @@ packages: /@sanity/icons@1.3.10(react@18.3.1): resolution: {integrity: sha512-5wVG/vIiGuGrSmq+Bl3PY7XDgQrGv0fyHdJI64FSulnr2wH3NMqZ6C59UFxnrZ93sr7kOt0zQFoNv2lkPBi0Cg==} peerDependencies: - react: ^16.9 || ^17 || ^18 + react: '*' dependencies: react: 18.3.1 dev: false @@ -6683,7 +6720,7 @@ packages: resolution: {integrity: sha512-C4ViXtk6eyiNTQ5OmxpfmcK6Jw+LLTi9zg9XBUD15DzC4xTHaGW9SVfUa43YtPGs3WC3M0t0K59r0GDjh52HIg==} engines: {node: '>=14.0.0'} peerDependencies: - react: ^18 + react: '*' dependencies: react: 18.3.1 @@ -6752,8 +6789,8 @@ packages: /@sanity/incompatible-plugin@1.0.4(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-2z39G9PTM8MXOF4fJNx3TG4tH0RrTjtH6dVLW93DSjCPbIS7FgCY5yWjZfQ+HVkwhLsF7ATDAGLA/jp65pFjAg==} peerDependencies: - react: ^16.9 || ^17 || ^18 - react-dom: ^16.9 || ^17 || ^18 + react: '*' + react-dom: '*' dependencies: '@sanity/icons': 1.3.10(react@18.3.1) react: 18.3.1 @@ -6806,7 +6843,7 @@ packages: engines: {node: '>=14.0.0'} peerDependencies: '@sanity/color': ^2.0 || ^3.0 || ^3.0.0-beta - react: ^18 + react: '*' dependencies: '@sanity/color': 3.0.6 react: 18.3.1 @@ -7039,7 +7076,7 @@ packages: engines: {node: '>=18'} peerDependencies: '@sanity/client': ^6.18.2 - react: ^18.2.0 + react: '*' dependencies: '@sanity/client': 6.18.2 '@sanity/core-loader': 1.6.14(@sanity/client@6.18.2) @@ -7074,8 +7111,8 @@ packages: engines: {node: '>=14.0.0'} hasBin: true peerDependencies: - react: ^18 - react-dom: ^18 + react: '*' + react-dom: '*' sanity: ^3 styled-components: ^5.2 || ^6 dependencies: @@ -7135,8 +7172,8 @@ packages: engines: {node: '>=14.0.0'} hasBin: true peerDependencies: - react: ^18 - react-dom: ^18 + react: '*' + react-dom: '*' sanity: ^3 styled-components: ^5.2 || ^6 dependencies: @@ -7196,8 +7233,8 @@ packages: engines: {node: '>=14.0.0'} hasBin: true peerDependencies: - react: ^18 - react-dom: ^18 + react: '*' + react-dom: '*' sanity: ^3 styled-components: ^5.2 || ^6 dependencies: @@ -7276,8 +7313,8 @@ packages: peerDependencies: '@sanity/icons': ^2 '@sanity/ui': ^1 - react: ^18 - react-dom: ^18 + react: '*' + react-dom: '*' styled-components: ^5.2 || ^6 dependencies: '@sanity/icons': 2.11.8(react@18.3.1) @@ -7313,8 +7350,8 @@ packages: resolution: {integrity: sha512-4iEfzMb6+fkqnSy+n5is5DUjziA/FJcwLEKzKKhJF5WJ3w15rajSK9n0k4+0lT+BouB6LHVgbg+uBBLQxD0PvQ==} engines: {node: '>=14.0.0'} peerDependencies: - react: ^18 - react-dom: ^18 + react: '*' + react-dom: '*' react-is: ^18 styled-components: ^5.2 || ^6 dependencies: @@ -7506,7 +7543,7 @@ packages: /@stitches/react@1.2.8(react@18.3.1): resolution: {integrity: sha512-9g9dWI4gsSVe8bNLlb+lMkBYsnIKCZTmvqvDG+Avnn69XfmHZKiaMrx7cgTaddq7aTPPmXiTsbFcUy0xgI4+wA==} peerDependencies: - react: '>= 16.3.0' + react: '*' dependencies: react: 18.3.1 dev: false @@ -7532,8 +7569,8 @@ packages: resolution: {integrity: sha512-rKRjnt8ostqN2fercRVOIH/dq7MAmOENCMvVlKx6P9Iokhh6woBGnIZEkqsY/vEJf1jN3TqLOb34xQGLVRuhAg==} engines: {node: '>=12'} peerDependencies: - react: '>=16.8' - react-dom: '>=16.8' + react: '*' + react-dom: '*' dependencies: '@tanstack/table-core': 8.16.0 react: 18.3.1 @@ -7543,7 +7580,7 @@ packages: /@tanstack/react-virtual@3.0.0-beta.54(react@18.3.1): resolution: {integrity: sha512-D1mDMf4UPbrtHRZZriCly5bXTBMhylslm4dhcHqTtDJ6brQcgGmk8YD9JdWBGWfGSWPKoh2x1H3e7eh+hgPXtQ==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: '*' dependencies: '@tanstack/virtual-core': 3.0.0-beta.54 react: 18.3.1 @@ -7623,8 +7660,8 @@ packages: resolution: {integrity: sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==} engines: {node: '>=12'} peerDependencies: - react: ^18.0.0 - react-dom: ^18.0.0 + react: '*' + react-dom: '*' dependencies: '@babel/runtime': 7.24.5 '@testing-library/dom': 8.20.1 @@ -7902,13 +7939,18 @@ packages: /@types/istanbul-lib-coverage@2.0.6: resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - dev: true /@types/istanbul-lib-report@3.0.3: resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} dependencies: '@types/istanbul-lib-coverage': 2.0.6 - dev: true + + /@types/istanbul-reports@1.1.2: + resolution: {integrity: sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==} + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-lib-report': 3.0.3 + dev: false /@types/istanbul-reports@3.0.4: resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} @@ -8213,7 +8255,12 @@ packages: /@types/yargs-parser@21.0.3: resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - dev: true + + /@types/yargs@13.0.12: + resolution: {integrity: sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==} + dependencies: + '@types/yargs-parser': 21.0.3 + dev: false /@types/yargs@17.0.32: resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} @@ -8376,8 +8423,8 @@ packages: '@codemirror/theme-one-dark': '>=6.0.0' '@codemirror/view': '>=6.0.0' codemirror: '>=6.0.0' - react: '>=16.8.0' - react-dom: '>=16.8.0' + react: '*' + react-dom: '*' dependencies: '@babel/runtime': 7.24.5 '@codemirror/commands': 6.5.0 @@ -8406,7 +8453,7 @@ packages: /@use-gesture/react@10.3.1(react@18.3.1): resolution: {integrity: sha512-Yy19y6O2GJq8f7CHf7L0nxL8bf4PZCPaVOCgJrusOeFHY1LvHgYXnmnXg6N5iwAnbgbZCDjo60SiM6IPJi9C5g==} peerDependencies: - react: '>= 16.8.0' + react: '*' dependencies: '@use-gesture/core': 10.3.1 react: 18.3.1 @@ -8673,7 +8720,6 @@ packages: /ansi-regex@4.1.1: resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} engines: {node: '>=6'} - dev: true /ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} @@ -9097,6 +9143,18 @@ packages: transitivePeerDependencies: - supports-color + /babel-plugin-react-compiler@0.0.0-experimental-592953e-20240517: + resolution: {integrity: sha512-OjG1SVaeQZaJrqkMFJatg8W/MTow8Ak5rx2SI0ETQBO1XvOk/XZGMbltNCPdFJLKghBYoBjC+Y3Ap/Xr7B01mA==} + dependencies: + '@babel/generator': 7.2.0 + '@babel/types': 7.24.5 + chalk: 4.1.2 + invariant: 2.2.4 + pretty-format: 24.9.0 + zod: 3.23.8 + zod-validation-error: 2.1.0(zod@3.23.8) + dev: false + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.5): resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: @@ -11442,6 +11500,23 @@ packages: synckit: 0.8.8 dev: true + /eslint-plugin-react-compiler@0.0.0-experimental-c8b3f72-20240517(eslint@8.57.0): + resolution: {integrity: sha512-cxUTFNMEKiLX6uFaRfrr2GHnB7KUHDMYLjEGzDec82ka6WyBCHg906nGSf3JvVnQKHaBDfUk7Mmv/JMvdgQB8Q==} + engines: {node: ^14.17.0 || ^16.0.0 || >= 18.0.0} + peerDependencies: + eslint: '>=7' + dependencies: + '@babel/core': 7.24.5 + '@babel/parser': 7.24.5 + '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.24.5) + eslint: 8.57.0 + hermes-parser: 0.20.1 + zod: 3.23.8 + zod-validation-error: 3.3.0(zod@3.23.8) + transitivePeerDependencies: + - supports-color + dev: true + /eslint-plugin-react-hooks@4.6.2(eslint@8.57.0): resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} engines: {node: '>=10'} @@ -12263,8 +12338,8 @@ packages: /framer-motion@11.0.8(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-1KSGNuqe1qZkS/SWQlDnqK2VCVzRVEoval379j0FiUBJAZoqgwyvqFkfvJbgW2IPFo4wX16K+M0k5jO23lCIjA==} peerDependencies: - react: ^18.0.0 - react-dom: ^18.0.0 + react: '*' + react-dom: '*' peerDependenciesMeta: react: optional: true @@ -13066,6 +13141,16 @@ packages: property-information: 5.6.0 space-separated-tokens: 1.1.5 + /hermes-estree@0.20.1: + resolution: {integrity: sha512-SQpZK4BzR48kuOg0v4pb3EAGNclzIlqMj3Opu/mu7bbAoFw6oig6cEt/RAi0zTFW/iW6Iz9X9ggGuZTAZ/yZHg==} + dev: true + + /hermes-parser@0.20.1: + resolution: {integrity: sha512-BL5P83cwCogI8D7rrDCgsFY0tdYUtmFP9XaXtl2IQjC+2Xo+4okjfXintlTxcIwl4qeGddEl28Z11kbVIw0aNA==} + dependencies: + hermes-estree: 0.20.1 + dev: true + /history@5.3.0: resolution: {integrity: sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==} dependencies: @@ -13381,6 +13466,12 @@ packages: from2: 2.3.0 p-is-promise: 3.0.0 + /invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + dependencies: + loose-envify: 1.4.0 + dev: false + /ip-address@9.0.5: resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} engines: {node: '>= 12'} @@ -13988,7 +14079,7 @@ packages: /its-fine@1.2.5(react@18.3.1): resolution: {integrity: sha512-fXtDA0X0t0eBYAGLVM5YsgJGsJ5jEmqZEPrGbzdf5awjv0xE7nqv3TVnvtUF060Tkes15DbDAKW/I48vsb6SyA==} peerDependencies: - react: '>=18.0' + react: '*' dependencies: '@types/react-reconciler': 0.28.8 react: 18.3.1 @@ -14770,8 +14861,8 @@ packages: resolution: {integrity: sha512-sxcoOyws9fK73tHJFsXgZlIJho++nf+FwWzpbvAheUvayl30DyJmPd0U0Q6v/ECcJuuujb7Txcr4SLOZrdDPJA==} peerDependencies: '@react-three/fiber': '>=8.0' - react: '>=18.0' - react-dom: '>=18.0' + react: '*' + react-dom: '*' three: '>=0.138' peerDependenciesMeta: '@react-three/fiber': @@ -14905,8 +14996,8 @@ packages: /leva@0.9.35(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-sp/ZbHGrrzM+eq+wIAc9X7C5qFagNERYkwaulKI/xy0XrDPV67jLUSSqTCFSoSc0Uk96j3oephYoO/6I8mZNuw==} peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' + react: '*' + react-dom: '*' dependencies: '@radix-ui/react-portal': 1.0.4(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1) '@radix-ui/react-tooltip': 1.0.7(@types/react@18.3.2)(react-dom@18.3.1)(react@18.3.1) @@ -15798,8 +15889,8 @@ packages: peerDependencies: '@opentelemetry/api': ^1.1.0 '@playwright/test': ^1.41.2 - react: ^18.2.0 - react-dom: ^18.2.0 + react: '*' + react-dom: '*' sass: ^1.3.0 peerDependenciesMeta: '@opentelemetry/api': @@ -15834,16 +15925,16 @@ packages: - babel-plugin-macros dev: false - /next@14.3.0-canary.64(@babel/core@7.24.5)(@playwright/test@1.41.2)(react-dom@18.3.1)(react@18.3.1): - resolution: {integrity: sha512-o17WSmbHN2awbPaNenZVeSoVo/+Cz4PfJxuC4XSVn21j2DvSCst1LuVYA2EGWDv9ZlGE54rgeB1b4DW0mNOmRQ==} + /next@14.3.0-canary.73(@babel/core@7.24.5)(@playwright/test@1.41.2)(babel-plugin-react-compiler@0.0.0-experimental-592953e-20240517)(react-dom@19.0.0-beta-04b058868c-20240508)(react@19.0.0-beta-04b058868c-20240508): + resolution: {integrity: sha512-aeZ3An5jioe5J67kOzPyQ2tDVms15CmuZgKuc60WJ+fjG0cPEmyE+VJ02MOYTJNs92eA1/Vc55gTNY6cH7lttg==} engines: {node: '>=18.17.0'} hasBin: true peerDependencies: '@opentelemetry/api': ^1.1.0 '@playwright/test': ^1.41.2 babel-plugin-react-compiler: '*' - react: 19.0.0-beta-4508873393-20240430 - react-dom: 19.0.0-beta-4508873393-20240430 + react: '*' + react-dom: '*' sass: ^1.3.0 peerDependenciesMeta: '@opentelemetry/api': @@ -15855,27 +15946,28 @@ packages: sass: optional: true dependencies: - '@next/env': 14.3.0-canary.64 + '@next/env': 14.3.0-canary.73 '@playwright/test': 1.41.2 '@swc/helpers': 0.5.11 + babel-plugin-react-compiler: 0.0.0-experimental-592953e-20240517 busboy: 1.6.0 caniuse-lite: 1.0.30001612 graceful-fs: 4.2.11 postcss: 8.4.31 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - styled-jsx: 5.1.3(@babel/core@7.24.5)(react@18.3.1) + react: 19.0.0-beta-04b058868c-20240508 + react-dom: 19.0.0-beta-04b058868c-20240508(react@19.0.0-beta-04b058868c-20240508) + styled-jsx: 5.1.3(@babel/core@7.24.5)(react@19.0.0-beta-04b058868c-20240508) optionalDependencies: - '@next/swc-darwin-arm64': 14.3.0-canary.64 - '@next/swc-darwin-x64': 14.3.0-canary.64 - '@next/swc-linux-arm64-gnu': 14.3.0-canary.64 - '@next/swc-linux-arm64-musl': 14.3.0-canary.64 - '@next/swc-linux-x64-gnu': 14.3.0-canary.64 - '@next/swc-linux-x64-musl': 14.3.0-canary.64 - '@next/swc-win32-arm64-msvc': 14.3.0-canary.64 - '@next/swc-win32-ia32-msvc': 14.3.0-canary.64 - '@next/swc-win32-x64-msvc': 14.3.0-canary.64 - sharp: 0.33.3 + '@next/swc-darwin-arm64': 14.3.0-canary.73 + '@next/swc-darwin-x64': 14.3.0-canary.73 + '@next/swc-linux-arm64-gnu': 14.3.0-canary.73 + '@next/swc-linux-arm64-musl': 14.3.0-canary.73 + '@next/swc-linux-x64-gnu': 14.3.0-canary.73 + '@next/swc-linux-x64-musl': 14.3.0-canary.73 + '@next/swc-win32-arm64-msvc': 14.3.0-canary.73 + '@next/swc-win32-ia32-msvc': 14.3.0-canary.73 + '@next/swc-win32-x64-msvc': 14.3.0-canary.73 + sharp: 0.33.4 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -17021,6 +17113,16 @@ packages: resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} engines: {node: '>=6'} + /pretty-format@24.9.0: + resolution: {integrity: sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==} + engines: {node: '>= 6'} + dependencies: + '@jest/types': 24.9.0 + ansi-regex: 4.1.1 + ansi-styles: 3.2.1 + react-is: 16.13.1 + dev: false + /pretty-format@27.5.1: resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -17257,7 +17359,7 @@ packages: /react-barcode@1.5.1(react@18.3.1): resolution: {integrity: sha512-Au/L6XFp9Tc12dTFbRgTfv0vpxn/UE2xJ4nDbMBWFzwIu2sB3GMapTu9Rs4ETq3wj0AthBCpP7nB8MoaFl5V8Q==} peerDependencies: - react: ^16.0.0 || ^17.0.0 || ^18.0.0 + react: '*' dependencies: jsbarcode: 3.11.6 prop-types: 15.8.1 @@ -17267,7 +17369,7 @@ packages: /react-clientside-effect@1.2.6(react@18.3.1): resolution: {integrity: sha512-XGGGRQAKY+q25Lz9a/4EPqom7WRjz3z9R2k4jhVKA/puQFH/5Nt27vFZYql4m4NVNdUvX8PS3O7r/Zzm7cjUlg==} peerDependencies: - react: ^15.3.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 + react: '*' dependencies: '@babel/runtime': 7.24.5 react: 18.3.1 @@ -17276,8 +17378,8 @@ packages: /react-colorful@5.6.1(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==} peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' + react: '*' + react-dom: '*' dependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -17286,7 +17388,7 @@ packages: /react-composer@5.0.3(react@18.3.1): resolution: {integrity: sha512-1uWd07EME6XZvMfapwZmc7NgCZqDemcvicRi3wMJzXsQLvZ3L7fTHVyPy1bZdnWXM4iPjYuNE+uJ41MLKeTtnA==} peerDependencies: - react: ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0 + react: '*' dependencies: prop-types: 15.8.1 react: 18.3.1 @@ -17295,7 +17397,7 @@ packages: /react-copy-to-clipboard@5.1.0(react@18.3.1): resolution: {integrity: sha512-k61RsNgAayIJNoy9yDsYzDe/yAZAzEbEgcz3DZMhF686LEyukcE1hzurxe85JandPUG+yTfGVFzuEw3xt8WP/A==} peerDependencies: - react: ^15.3.0 || 16 || 17 || 18 + react: '*' dependencies: copy-to-clipboard: 3.3.3 prop-types: 15.8.1 @@ -17305,17 +17407,26 @@ packages: /react-dom@18.3.1(react@18.3.1): resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: - react: ^18.3.1 + react: '*' dependencies: loose-envify: 1.4.0 react: 18.3.1 scheduler: 0.23.2 + /react-dom@19.0.0-beta-04b058868c-20240508(react@19.0.0-beta-04b058868c-20240508): + resolution: {integrity: sha512-g8DrqbkLi8ok/0GyVVJky30d5b+WXpIi4baKD+ySsMRzQJlwQHywGh/V+osSMCYmnApq1OYSWPuvOBvrVmhz5Q==} + peerDependencies: + react: '*' + dependencies: + react: 19.0.0-beta-04b058868c-20240508 + scheduler: 0.25.0-beta-04b058868c-20240508 + dev: false + /react-dropzone@12.1.0(react@18.3.1): resolution: {integrity: sha512-iBYHA1rbopIvtzokEX4QubO6qk5IF/x3BtKGu74rF2JkQDXnwC4uO/lHKpaw4PJIV6iIAYOlwLv2FpiGyqHNog==} engines: {node: '>= 10.13'} peerDependencies: - react: '>= 16.8' + react: '*' dependencies: attr-accept: 2.2.2 file-selector: 0.5.0 @@ -17331,7 +17442,7 @@ packages: resolution: {integrity: sha512-lfp8Dve4yJagkHiFrC1bGtib3mF2ktqwPJw4/WGcgPW+pJ/AVQA5X2vI7xgp13FcxFEpYBBHpXai/N2DBNC0Jw==} peerDependencies: '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: '*' peerDependenciesMeta: '@types/react': optional: true @@ -17350,7 +17461,7 @@ packages: resolution: {integrity: sha512-CFJ5NDGJ2MUyBohEHxljOq/39NQ972rh1ajnadG9BjTk+UXbHLq4z5DKEbEQBDoIhUmmbuS/fIMJKo6VOax1HA==} peerDependencies: i18next: '>= 23.2.3' - react: '>= 16.8.0' + react: '*' react-dom: '*' react-native: '*' peerDependenciesMeta: @@ -17384,7 +17495,7 @@ packages: resolution: {integrity: sha512-HmMDKciQjYmBRGuuhIaKA1ba/7a+UsM5FzOZsMO2JYHt9Jh8reCb7j1eDC95NOyUlKM9KRyvdx0flBuDvYSBoA==} engines: {node: '>=0.10.0'} peerDependencies: - react: ^18.0.0 + react: '*' dependencies: loose-envify: 1.4.0 react: 18.3.1 @@ -17394,7 +17505,7 @@ packages: /react-refractor@2.1.7(react@18.3.1): resolution: {integrity: sha512-avNxSSsnjYg+BKpO8LVCK14KRn5pLZ+8DInMiUEeZPL6hs0SN0zafl3mJIxavGQPKyihqbXqzq4CYNflJQjaaw==} peerDependencies: - react: '>=15.0.0' + react: '*' dependencies: prop-types: 15.8.1 react: 18.3.1 @@ -17409,7 +17520,7 @@ packages: /react-rx@2.1.3(react@18.3.1)(rxjs@7.8.1): resolution: {integrity: sha512-4dppkgEFAldr75IUUz14WyxuI2cJhpXYrrIM+4gvG6slKzaMUCmcgiiykx9Hst0UmtwNt247nRoOFDmN0Q7GJw==} peerDependencies: - react: ^16.8 || ^17 || ^18 + react: '*' rxjs: ^6.5 || ^7 dependencies: observable-callback: 1.0.3(rxjs@7.8.1) @@ -17427,8 +17538,8 @@ packages: /react-use-measure@2.1.1(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-nocZhN26cproIiIduswYpV5y5lQpSQS1y/4KuvUCjSKmw7ZWIS/+g3aFnX3WdBkyuGUtTLif3UTqnLLhbDoQig==} peerDependencies: - react: '>=16.13' - react-dom: '>=16.13' + react: '*' + react-dom: '*' dependencies: debounce: 1.2.1 react: 18.3.1 @@ -17441,6 +17552,11 @@ packages: dependencies: loose-envify: 1.4.0 + /react@19.0.0-beta-04b058868c-20240508: + resolution: {integrity: sha512-Mch4EeDejk1ZgH/O3TIH6KtELBUzcJdTZujQGWFA6tz9Y9J+X7ZgY9WS2VhUCS/alOlEcIdCXAz0Cb/JET1QVg==} + engines: {node: '>=0.10.0'} + dev: false + /read-cmd-shim@4.0.0: resolution: {integrity: sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -18042,7 +18158,7 @@ packages: engines: {node: '>=18'} peerDependencies: '@sanity/ui': ^2.0.0 - react: ^18 + react: '*' sanity: ^3.0.0 styled-components: ^6.1 dependencies: @@ -18066,7 +18182,7 @@ packages: resolution: {integrity: sha512-GHIFWKXDzYIZreeC/ExEsaIBU7ATgAfjacB8Yo9SN2K1C9YMhdHYbl8S+aCa2QcmrmvHtkAKG3oukg/U0JfUCQ==} engines: {node: '>=14'} peerDependencies: - react: ^18 + react: '*' react-is: ^18 sanity: ^3 styled-components: ^6 @@ -18113,6 +18229,10 @@ packages: dependencies: loose-envify: 1.4.0 + /scheduler@0.25.0-beta-04b058868c-20240508: + resolution: {integrity: sha512-9BiO+0jJiftEqYhVXGIc7MQTxbDAd7mfRMIctKsH0DxvuN8vzzaOQbG5Jy720Pz6KUAjgAAJJ/2nZW35+XwuHg==} + dev: false + /scroll-into-view-if-needed@3.1.0: resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} dependencies: @@ -18246,8 +18366,8 @@ packages: /shallowequal@1.1.0: resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} - /sharp@0.33.3: - resolution: {integrity: sha512-vHUeXJU1UvlO/BNwTpT0x/r53WkLUVxrmb5JTgW92fdFCFk0ispLMAeu/jPO2vjkXM1fYUi3K7/qcLF47pwM1A==} + /sharp@0.33.4: + resolution: {integrity: sha512-7i/dt5kGl7qR4gwPRD2biwD2/SvBn3O04J77XKFgL2OnZtQw+AG9wnuS/csmu80nPRHLYE9E41fyEiG8nhH6/Q==} engines: {libvips: '>=8.15.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0} requiresBuild: true dependencies: @@ -18255,8 +18375,8 @@ packages: detect-libc: 2.0.3 semver: 7.6.0 optionalDependencies: - '@img/sharp-darwin-arm64': 0.33.3 - '@img/sharp-darwin-x64': 0.33.3 + '@img/sharp-darwin-arm64': 0.33.4 + '@img/sharp-darwin-x64': 0.33.4 '@img/sharp-libvips-darwin-arm64': 1.0.2 '@img/sharp-libvips-darwin-x64': 1.0.2 '@img/sharp-libvips-linux-arm': 1.0.2 @@ -18265,15 +18385,15 @@ packages: '@img/sharp-libvips-linux-x64': 1.0.2 '@img/sharp-libvips-linuxmusl-arm64': 1.0.2 '@img/sharp-libvips-linuxmusl-x64': 1.0.2 - '@img/sharp-linux-arm': 0.33.3 - '@img/sharp-linux-arm64': 0.33.3 - '@img/sharp-linux-s390x': 0.33.3 - '@img/sharp-linux-x64': 0.33.3 - '@img/sharp-linuxmusl-arm64': 0.33.3 - '@img/sharp-linuxmusl-x64': 0.33.3 - '@img/sharp-wasm32': 0.33.3 - '@img/sharp-win32-ia32': 0.33.3 - '@img/sharp-win32-x64': 0.33.3 + '@img/sharp-linux-arm': 0.33.4 + '@img/sharp-linux-arm64': 0.33.4 + '@img/sharp-linux-s390x': 0.33.4 + '@img/sharp-linux-x64': 0.33.4 + '@img/sharp-linuxmusl-arm64': 0.33.4 + '@img/sharp-linuxmusl-x64': 0.33.4 + '@img/sharp-wasm32': 0.33.4 + '@img/sharp-win32-ia32': 0.33.4 + '@img/sharp-win32-x64': 0.33.4 dev: false optional: true @@ -18381,8 +18501,8 @@ packages: /slate-react@0.101.0(react-dom@18.3.1)(react@18.3.1)(slate@0.100.0): resolution: {integrity: sha512-GAwAi9cT8pWLt65p6Fab33UXH2MKE1NRzHhqAnV+32u20vy4dre/dIGyyqrFyOp3lgBBitgjyo6N2g26y63gOA==} peerDependencies: - react: '>=18.2.0' - react-dom: '>=18.2.0' + react: '*' + react-dom: '*' slate: '>=0.99.0' dependencies: '@juggle/resize-observer': 3.4.0 @@ -18568,7 +18688,6 @@ packages: /source-map@0.5.7: resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} engines: {node: '>=0.10.0'} - dev: true /source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} @@ -18922,8 +19041,8 @@ packages: resolution: {integrity: sha512-Ui0jXPzbp1phYij90h12ksljKGqF8ncGx+pjrNPsSPhbUUjWT2tD1FwGo2LF6USCnbrsIhNngDfodhxbegfEOA==} engines: {node: '>= 16'} peerDependencies: - react: '>= 16.8.0' - react-dom: '>= 16.8.0' + react: '*' + react-dom: '*' dependencies: '@emotion/is-prop-valid': 1.2.2 '@emotion/unitless': 0.8.1 @@ -18937,13 +19056,33 @@ packages: stylis: 4.3.2 tslib: 2.6.2 + /styled-components@6.1.11(react-dom@19.0.0-beta-04b058868c-20240508)(react@19.0.0-beta-04b058868c-20240508): + resolution: {integrity: sha512-Ui0jXPzbp1phYij90h12ksljKGqF8ncGx+pjrNPsSPhbUUjWT2tD1FwGo2LF6USCnbrsIhNngDfodhxbegfEOA==} + engines: {node: '>= 16'} + peerDependencies: + react: '*' + react-dom: '*' + dependencies: + '@emotion/is-prop-valid': 1.2.2 + '@emotion/unitless': 0.8.1 + '@types/stylis': 4.2.5 + css-to-react-native: 3.2.0 + csstype: 3.1.3 + postcss: 8.4.38 + react: 19.0.0-beta-04b058868c-20240508 + react-dom: 19.0.0-beta-04b058868c-20240508(react@19.0.0-beta-04b058868c-20240508) + shallowequal: 1.1.0 + stylis: 4.3.2 + tslib: 2.6.2 + dev: false + /styled-jsx@5.1.1(@babel/core@7.24.5)(react@18.3.1): resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: '@babel/core': '*' babel-plugin-macros: '*' - react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' + react: '*' peerDependenciesMeta: '@babel/core': optional: true @@ -18955,13 +19094,13 @@ packages: react: 18.3.1 dev: false - /styled-jsx@5.1.3(@babel/core@7.24.5)(react@18.3.1): + /styled-jsx@5.1.3(@babel/core@7.24.5)(react@19.0.0-beta-04b058868c-20240508): resolution: {integrity: sha512-qLRShOWTE/Mf6Bvl72kFeKBl8N2Eq9WIFfoAuvbtP/6tqlnj1SCjv117n2MIjOPpa1jTorYqLJgsHKy5Y3ziww==} engines: {node: '>= 12.0.0'} peerDependencies: '@babel/core': '*' babel-plugin-macros: '*' - react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0' + react: '*' peerDependenciesMeta: '@babel/core': optional: true @@ -18970,7 +19109,7 @@ packages: dependencies: '@babel/core': 7.24.5 client-only: 0.0.1 - react: 18.3.1 + react: 19.0.0-beta-04b058868c-20240508 dev: false /stylis@4.3.2: @@ -19011,7 +19150,7 @@ packages: /suspend-react@0.1.3(react@18.3.1): resolution: {integrity: sha512-aqldKgX9aZqpoDp3e8/BZ8Dm7x1pJl+qI3ZKxDN0i/IQTWUwBx/ManmlVJ3wowqbno6c2bmiIfs+Um6LbsjJyQ==} peerDependencies: - react: '>=17.0' + react: '*' dependencies: react: 18.3.1 dev: false @@ -19019,7 +19158,7 @@ packages: /swr@2.2.5(react@18.3.1): resolution: {integrity: sha512-QtxqyclFeAsxEUeZIYmsaQ0UjimSq1RZ9Un7I68/0ClKK/U3LoyQunwkQfJZr2fc22DfIXLNDc2wFyTEikCUpg==} peerDependencies: - react: ^16.11.0 || ^17.0.0 || ^18.0.0 + react: '*' dependencies: client-only: 0.0.1 react: 18.3.1 @@ -19169,7 +19308,7 @@ packages: resolution: {integrity: sha512-oMlHSANeKJdpXiLnQTQILF0tY6p2q6tgzQiR5UzMtC9oCa+EQgMXh28dvzsnqtWVnnv6FGwXRfNFgqcv+mHW7Q==} peerDependencies: '@react-three/fiber': '>=8.0' - react: '>=18.0' + react: '*' three: '>=0.140' peerDependenciesMeta: '@react-three/fiber': @@ -19347,6 +19486,11 @@ packages: resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} engines: {node: '>=8'} + /trim-right@1.0.1: + resolution: {integrity: sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==} + engines: {node: '>=0.10.0'} + dev: false + /troika-three-text@0.49.1(three@0.164.1): resolution: {integrity: sha512-lXGWxgjJP9kw4i4Wh+0k0Q/7cRfS6iOME4knKht/KozPu9GcFA9NnNpRvehIhrUawq9B0ZRw+0oiFHgRO+4Wig==} peerDependencies: @@ -19832,7 +19976,7 @@ packages: engines: {node: '>=10'} peerDependencies: '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: '*' peerDependenciesMeta: '@types/react': optional: true @@ -19845,7 +19989,7 @@ packages: /use-device-pixel-ratio@1.1.2(react@18.3.1): resolution: {integrity: sha512-nFxV0HwLdRUt20kvIgqHYZe6PK/v4mU1X8/eLsT1ti5ck0l2ob0HDRziaJPx+YWzBo6dMm4cTac3mcyk68Gh+A==} peerDependencies: - react: '>=16.8.0' + react: '*' dependencies: react: 18.3.1 dev: false @@ -19853,7 +19997,7 @@ packages: /use-hot-module-reload@2.0.0(react@18.3.1): resolution: {integrity: sha512-RbL/OY1HjHNf5BYSFV3yDtQhIGKjCx9ntEjnUBYsOGc9fTo94nyFTcjtD42/twJkPgMljWpszUIpTGD3LuwHSg==} peerDependencies: - react: '>=17.0.0' + react: '*' dependencies: react: 18.3.1 dev: false @@ -19863,7 +20007,7 @@ packages: engines: {node: '>=10'} peerDependencies: '@types/react': ^16.9.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: '*' peerDependenciesMeta: '@types/react': optional: true @@ -19877,7 +20021,7 @@ packages: /use-sync-external-store@1.2.0(react@18.3.1): resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: '*' dependencies: react: 18.3.1 dev: false @@ -19885,7 +20029,7 @@ packages: /use-sync-external-store@1.2.2(react@18.3.1): resolution: {integrity: sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: '*' dependencies: react: 18.3.1 @@ -20496,6 +20640,15 @@ packages: readable-stream: 4.5.2 dev: false + /zod-validation-error@2.1.0(zod@3.23.8): + resolution: {integrity: sha512-VJh93e2wb4c3tWtGgTa0OF/dTt/zoPCPzXq4V11ZjxmEAFaPi/Zss1xIZdEB5RD8GD00U0/iVXgqkF77RV7pdQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + zod: ^3.18.0 + dependencies: + zod: 3.23.8 + dev: false + /zod-validation-error@3.3.0(zod@3.23.8): resolution: {integrity: sha512-Syib9oumw1NTqEv4LT0e6U83Td9aVRk9iTXPUQr1otyV1PuXQKOvOwhMNqZIq5hluzHP2pMgnOmHEo7kPdI2mw==} engines: {node: '>=18.0.0'} @@ -20511,7 +20664,7 @@ packages: resolution: {integrity: sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA==} engines: {node: '>=12.7.0'} peerDependencies: - react: '>=16.8' + react: '*' peerDependenciesMeta: react: optional: true @@ -20525,7 +20678,7 @@ packages: peerDependencies: '@types/react': '>=16.8' immer: '>=9.0.6' - react: '>=16.8' + react: '*' peerDependenciesMeta: '@types/react': optional: true