diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 2ca3a741f69..cfc0d53f169 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -10,4 +10,4 @@ updates: schedule: interval: 'daily' allow: - - dependency-name: '@leather-wallet/*' + - dependency-name: '@leather.io/*' diff --git a/.github/workflows/contributor-advice.yml b/.github/workflows/contributor-advice.yml index b53beb792fb..7eefaf7ee6b 100644 --- a/.github/workflows/contributor-advice.yml +++ b/.github/workflows/contributor-advice.yml @@ -22,7 +22,7 @@ jobs: Please make sure to follow our [Contributor Guidelines][1] - [1]: https://github.com/leather-wallet/extension/tree/dev/.github/CONTRIBUTING.md + [1]: https://github.com/leather-io/extension/tree/dev/.github/CONTRIBUTING.md - name: Add label run: gh issue edit "$NUMBER" --add-label "$LABELS" diff --git a/.github/workflows/notify-release.yml b/.github/workflows/notify-release.yml index f4d24adf0a6..3dd8636cf3a 100644 --- a/.github/workflows/notify-release.yml +++ b/.github/workflows/notify-release.yml @@ -20,7 +20,7 @@ jobs: path: firefox_version - name: Download previous Firefox version info - uses: dawidd6/action-download-artifact@v3 + uses: dawidd6/action-download-artifact@v6 with: workflow: notify-release.yml workflow_conclusion: success @@ -83,7 +83,7 @@ jobs: path: chrome_version - name: Download previous Chrome version info - uses: dawidd6/action-download-artifact@v3 + uses: dawidd6/action-download-artifact@v6 with: workflow: notify-release.yml workflow_conclusion: success diff --git a/.github/workflows/publish-extensions.yml b/.github/workflows/publish-extensions.yml index a9acc8c7ab8..3f5dbce891d 100644 --- a/.github/workflows/publish-extensions.yml +++ b/.github/workflows/publish-extensions.yml @@ -121,7 +121,7 @@ jobs: path: . - name: Download release-notes.txt from create-version workflow - uses: dawidd6/action-download-artifact@v3 + uses: dawidd6/action-download-artifact@v6 with: workflow: create-version.yml name: release-notes diff --git a/.prettierrc.js b/.prettierrc.js index 1bbca37d0a8..53ad054ea85 100644 --- a/.prettierrc.js +++ b/.prettierrc.js @@ -1,3 +1,3 @@ -import config from '@leather-wallet/prettier-config'; +import config from '@leather.io/prettier-config'; export default config; diff --git a/.storybook/main.ts b/.storybook/main.ts index a0b45bc0055..d403409d257 100644 --- a/.storybook/main.ts +++ b/.storybook/main.ts @@ -42,6 +42,12 @@ const config: StorybookConfig = { loader: 'esbuild-loader', options: { tsconfig: './tsconfig.json', target: 'es2020' }, }, + { + test: /\.(js)$/, + include: [/node_modules\/@leather.io\/ui/], + loader: 'esbuild-loader', + options: { tsconfig: './tsconfig.json', loader: 'jsx', target: 'es2020' }, + }, ], }, }, diff --git a/.storybook/viewports.ts b/.storybook/viewports.ts index 5f333aff73d..2d94fd8ba53 100644 --- a/.storybook/viewports.ts +++ b/.storybook/viewports.ts @@ -1,4 +1,4 @@ -import { breakpoints, tokens } from '@leather-wallet/tokens'; +import { breakpoints, tokens } from '@leather.io/tokens'; export const customViewports = { popup: { diff --git a/README.md b/README.md index 04b67a4b788..0210ed11747 100755 --- a/README.md +++ b/README.md @@ -140,4 +140,4 @@ Please note this email is strictly for reporting security vulnerabilities. For s In Q1 2021, Leather partnered with [Least Authority](https://leastauthority.com/), a leading security consultancy with experience in the crypto space, to audit Leather. On April 29th 2021, after addressing the major concerns described in the initial findings, as well as a concluding sign off from the Least Authority team, a final report was delivered. -[Download and read the full report here](https://github.com/leather-wallet/extension/blob/main/public/docs/least-authority-security-audit-report.pdf) +[Download and read the full report here](https://github.com/leather-io/extension/blob/main/public/docs/least-authority-security-audit-report.pdf) diff --git a/package.json b/package.json index bcb63566d82..be9d7b83a94 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "@leather-wallet/extension", + "name": "@leather.io/extension", "description": "Leather is a browser extension for interacting with Stacks apps", "private": true, "version": "6.42.1", @@ -48,7 +48,7 @@ "main": "index.js", "repository": { "type": "git", - "url": "git+ssh://git@github.com/leather-wallet/extension.git" + "url": "git+ssh://git@github.com/leather-io/extension.git" }, "webExt": { "sourceDir": "dist/" @@ -135,26 +135,20 @@ "@dlc-link/dlc-tools": "1.1.1", "@fungible-systems/zone-file": "2.0.0", "@hirosystems/token-metadata-api-client": "1.2.0", - "@leather-wallet/bitcoin": "0.7.2", - "@leather-wallet/constants": "0.6.3", - "@leather-wallet/crypto": "1.0.1", - "@leather-wallet/models": "0.8.0", - "@leather-wallet/query": "0.8.6", - "@leather-wallet/tokens": "0.5.2", - "@leather-wallet/utils": "0.8.1", + "@leather.io/bitcoin": "0.8.2", + "@leather.io/constants": "0.8.0", + "@leather.io/crypto": "1.0.2", + "@leather.io/models": "0.10.0", + "@leather.io/query": "0.9.4", + "@leather.io/tokens": "0.6.0", + "@leather.io/ui": "1.6.0", + "@leather.io/utils": "0.9.2", "@ledgerhq/hw-transport-webusb": "6.27.19", "@noble/hashes": "1.4.0", "@noble/secp256k1": "2.1.0", "@octokit/types": "12.4.0", - "@radix-ui/colors": "3.0.0", - "@radix-ui/react-accessible-icon": "1.0.3", - "@radix-ui/react-accordion": "1.1.2", - "@radix-ui/react-avatar": "1.0.4", "@radix-ui/react-dialog": "1.0.5", "@radix-ui/react-dropdown-menu": "2.0.6", - "@radix-ui/react-select": "2.0.0", - "@radix-ui/react-tabs": "1.0.4", - "@radix-ui/react-toast": "1.1.5", "@radix-ui/react-tooltip": "1.0.7", "@radix-ui/themes": "2.0.3", "@reduxjs/toolkit": "2.2.3", @@ -179,10 +173,10 @@ "@stitches/react": "1.2.8", "@storybook/addon-styling-webpack": "1.0.0", "@styled-system/theme-get": "5.1.2", - "@tanstack/query-async-storage-persister": "4.35.7", - "@tanstack/react-query": "4.35.7", - "@tanstack/react-query-devtools": "4.35.7", - "@tanstack/react-query-persist-client": "4.35.7", + "@tanstack/query-async-storage-persister": "5.45.0", + "@tanstack/react-query": "5.45.1", + "@tanstack/react-query-devtools": "5.45.1", + "@tanstack/react-query-persist-client": "5.45.1", "@types/lodash.uniqby": "4.7.7", "@typescript-eslint/eslint-plugin": "7.5.0", "@zondax/ledger-stacks": "1.0.4", @@ -255,9 +249,10 @@ "@actions/core": "1.10.1", "@btckit/types": "0.0.19", "@chromatic-com/storybook": "1.2.23", - "@leather-wallet/panda-preset": "0.2.0", - "@leather-wallet/prettier-config": "0.4.1", - "@leather-wallet/rpc": "1.0.3", + "@leather.io/eslint-config": "0.6.0", + "@leather.io/panda-preset": "0.3.0", + "@leather.io/prettier-config": "0.5.0", + "@leather.io/rpc": "2.0.0", "@ls-lint/ls-lint": "2.2.3", "@mdx-js/loader": "3.0.0", "@pandacss/dev": "0.40.1", @@ -270,18 +265,18 @@ "@sentry/webpack-plugin": "2.17.0", "@stacks/connect-react": "22.2.0", "@stacks/stacks-blockchain-api-types": "7.8.2", - "@storybook/addon-docs": "8.0.1", - "@storybook/addon-essentials": "8.0.1", - "@storybook/addon-interactions": "8.0.1", + "@storybook/addon-docs": "8.1.4", + "@storybook/addon-essentials": "8.1.4", + "@storybook/addon-interactions": "8.1.4", "@storybook/addon-links": "8.0.1", - "@storybook/addon-mdx-gfm": "8.0.1", + "@storybook/addon-mdx-gfm": "8.1.4", "@storybook/addon-onboarding": "8.0.1", "@storybook/addon-webpack5-compiler-swc": "1.0.2", - "@storybook/blocks": "8.0.6", - "@storybook/react": "8.0.1", - "@storybook/react-webpack5": "8.0.1", - "@storybook/test": "8.0.1", - "@storybook/theming": "8.0.1", + "@storybook/blocks": "8.1.4", + "@storybook/react": "8.1.4", + "@storybook/react-webpack5": "8.1.4", + "@storybook/test": "8.1.4", + "@storybook/theming": "8.1.4", "@types/argon2-browser": "1.18.4", "@types/bn.js": "5.1.5", "@types/chrome": "0.0.260", @@ -366,7 +361,8 @@ "socket.io-parser": "4.2.4", "wrap-ansi": "7.0.0", "webpack-dev-middleware": "5.3.4", - "eslint": "8.56.0" + "eslint": "8.56.0", + "ws": "8.17.1" }, "pnpm": { "overrides": { diff --git a/panda.config.ts b/panda.config.ts index dd43b20819e..a9691608663 100644 --- a/panda.config.ts +++ b/panda.config.ts @@ -4,14 +4,16 @@ import { globalCss } from './theme/global/global'; export default defineConfig({ preflight: true, - - include: ['./src/**/*.{js,jsx,ts,tsx}'], + include: [ + './node_modules/@leather.io/ui/dist-all/src/**/*.{js,jsx,ts,tsx}', + './src/**/*.{js,jsx,ts,tsx}', + ], exclude: [], prefix: 'leather', - presets: ['@leather-wallet/panda-preset'], + presets: ['@leather.io/panda-preset'], studio: { logo: '💼' }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e5ee77f24a4..c31b5584283 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,6 +11,7 @@ overrides: wrap-ansi: 7.0.0 webpack-dev-middleware: 5.3.4 eslint: 8.56.0 + ws: 8.17.1 importers: @@ -34,27 +35,30 @@ importers: '@hirosystems/token-metadata-api-client': specifier: 1.2.0 version: 1.2.0(encoding@0.1.13) - '@leather-wallet/bitcoin': - specifier: 0.7.2 - version: 0.7.2(encoding@0.1.13) - '@leather-wallet/constants': - specifier: 0.6.3 - version: 0.6.3 - '@leather-wallet/crypto': - specifier: 1.0.1 - version: 1.0.1 - '@leather-wallet/models': + '@leather.io/bitcoin': + specifier: 0.8.2 + version: 0.8.2(encoding@0.1.13) + '@leather.io/constants': specifier: 0.8.0 version: 0.8.0 - '@leather-wallet/query': - specifier: 0.8.6 - version: 0.8.6(@stacks/network@6.13.0(encoding@0.1.13))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@leather-wallet/tokens': - specifier: 0.5.2 - version: 0.5.2 - '@leather-wallet/utils': - specifier: 0.8.1 - version: 0.8.1 + '@leather.io/crypto': + specifier: 1.0.2 + version: 1.0.2 + '@leather.io/models': + specifier: 0.10.0 + version: 0.10.0 + '@leather.io/query': + specifier: 0.9.4 + version: 0.9.4(@stacks/network@6.13.0(encoding@0.1.13))(encoding@0.1.13)(react@18.3.1) + '@leather.io/tokens': + specifier: 0.6.0 + version: 0.6.0 + '@leather.io/ui': + specifier: 1.6.0 + version: 1.6.0(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@swc/core@1.4.8)(@types/react-dom@18.3.0)(@types/react@18.3.3)(encoding@0.1.13)(expo-modules-autolinking@1.11.1)(postcss@8.4.38)(ts-node@10.9.2(@swc/core@1.4.8)(@types/node@20.12.12)(typescript@5.4.5))(typescript@5.4.5) + '@leather.io/utils': + specifier: 0.9.2 + version: 0.9.2 '@ledgerhq/hw-transport-webusb': specifier: 6.27.19 version: 6.27.19 @@ -67,33 +71,12 @@ importers: '@octokit/types': specifier: 12.4.0 version: 12.4.0 - '@radix-ui/colors': - specifier: 3.0.0 - version: 3.0.0 - '@radix-ui/react-accessible-icon': - specifier: 1.0.3 - version: 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-accordion': - specifier: 1.1.2 - version: 1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-avatar': - specifier: 1.0.4 - version: 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-dialog': specifier: 1.0.5 version: 1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-dropdown-menu': specifier: 2.0.6 version: 2.0.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-select': - specifier: 2.0.0 - version: 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-tabs': - specifier: 1.0.4 - version: 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-toast': - specifier: 1.1.5 - version: 1.1.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-tooltip': specifier: 1.0.7 version: 1.0.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -102,7 +85,7 @@ importers: version: 2.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@reduxjs/toolkit': specifier: 2.2.3 - version: 2.2.3(react-redux@9.1.0(@types/react@18.3.3)(react@18.3.1)(redux@5.0.1))(react@18.3.1) + version: 2.2.3(react-redux@9.1.0(@types/react@18.3.3)(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@5.0.1))(react@18.3.1) '@scure/base': specifier: 1.1.6 version: 1.1.6 @@ -167,17 +150,17 @@ importers: specifier: 5.1.2 version: 5.1.2 '@tanstack/query-async-storage-persister': - specifier: 4.35.7 - version: 4.35.7 + specifier: 5.45.0 + version: 5.45.0 '@tanstack/react-query': - specifier: 4.35.7 - version: 4.35.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 5.45.1 + version: 5.45.1(react@18.3.1) '@tanstack/react-query-devtools': - specifier: 4.35.7 - version: 4.35.7(@tanstack/react-query@4.35.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 5.45.1 + version: 5.45.1(@tanstack/react-query@5.45.1(react@18.3.1))(react@18.3.1) '@tanstack/react-query-persist-client': - specifier: 4.35.7 - version: 4.35.7(@tanstack/react-query@4.35.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + specifier: 5.45.1 + version: 5.45.1(@tanstack/react-query@5.45.1(react@18.3.1))(react@18.3.1) '@types/lodash.uniqby': specifier: 4.7.7 version: 4.7.7 @@ -330,7 +313,7 @@ importers: version: 2.0.12(react@18.3.1) react-redux: specifier: 9.1.0 - version: 9.1.0(@types/react@18.3.3)(react@18.3.1)(redux@5.0.1) + version: 9.1.0(@types/react@18.3.3)(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@5.0.1) react-router-dom: specifier: 6.23.1 version: 6.23.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -389,15 +372,18 @@ importers: '@chromatic-com/storybook': specifier: 1.2.23 version: 1.2.23(react@18.3.1) - '@leather-wallet/panda-preset': - specifier: 0.2.0 - version: 0.2.0(jsdom@22.1.0)(typescript@5.4.5) - '@leather-wallet/prettier-config': - specifier: 0.4.1 - version: 0.4.1(@vue/compiler-sfc@3.4.27) - '@leather-wallet/rpc': - specifier: 1.0.3 - version: 1.0.3 + '@leather.io/eslint-config': + specifier: 0.6.0 + version: 0.6.0(typescript@5.4.5) + '@leather.io/panda-preset': + specifier: 0.3.0 + version: 0.3.0(jsdom@22.1.0)(typescript@5.4.5) + '@leather.io/prettier-config': + specifier: 0.5.0 + version: 0.5.0(@vue/compiler-sfc@3.4.19) + '@leather.io/rpc': + specifier: 2.0.0 + version: 2.0.0 '@ls-lint/ls-lint': specifier: 2.2.3 version: 2.2.3 @@ -415,10 +401,10 @@ importers: version: 0.5.13(@types/webpack@5.28.5(@swc/core@1.4.8)(esbuild@0.21.4)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0)))(react-refresh@0.14.2)(type-fest@4.20.0)(webpack-dev-server@4.15.1(webpack-cli@5.1.4)(webpack@5.91.0))(webpack-hot-middleware@2.26.1)(webpack@5.91.0(@swc/core@1.4.8)(esbuild@0.21.4)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0))) '@redux-devtools/cli': specifier: 4.0.0 - version: 4.0.0(@babel/core@7.24.4)(@types/react-dom@18.3.0)(@types/styled-components@5.1.34)(encoding@0.1.13) + version: 4.0.0(@babel/core@7.24.4)(@types/react-dom@18.3.0)(@types/styled-components@5.1.34)(encoding@0.1.13)(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0)) '@redux-devtools/remote': specifier: 0.9.3 - version: 0.9.3(@redux-devtools/core@4.0.0(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1)(redux@4.2.1))(immutable@4.3.6)(redux@5.0.1) + version: 0.9.3(@redux-devtools/core@4.0.0(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@4.2.1))(react@18.3.1)(redux@4.2.1))(immutable@4.3.6)(redux@5.0.1) '@schemastore/web-manifest': specifier: 0.0.6 version: 0.0.6 @@ -435,20 +421,20 @@ importers: specifier: 7.8.2 version: 7.8.2 '@storybook/addon-docs': - specifier: 8.0.1 - version: 8.0.1(encoding@0.1.13) + specifier: 8.1.4 + version: 8.1.4(@types/react-dom@18.3.0)(encoding@0.1.13)(prettier@3.2.5) '@storybook/addon-essentials': - specifier: 8.0.1 - version: 8.0.1(@types/react@18.3.3)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 8.1.4 + version: 8.1.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(encoding@0.1.13)(prettier@3.2.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@storybook/addon-interactions': - specifier: 8.0.1 - version: 8.0.1(vitest@1.6.0(@types/node@20.12.12)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1)) + specifier: 8.1.4 + version: 8.1.4(vitest@1.6.0(@types/node@20.12.12)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1)) '@storybook/addon-links': specifier: 8.0.1 version: 8.0.1(react@18.3.1) '@storybook/addon-mdx-gfm': - specifier: 8.0.1 - version: 8.0.1 + specifier: 8.1.4 + version: 8.1.4 '@storybook/addon-onboarding': specifier: 8.0.1 version: 8.0.1 @@ -456,20 +442,20 @@ importers: specifier: 1.0.2 version: 1.0.2(webpack@5.91.0(@swc/core@1.4.8)(esbuild@0.21.4)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0))) '@storybook/blocks': - specifier: 8.0.6 - version: 8.0.6(@types/react@18.3.3)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 8.1.4 + version: 8.1.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(encoding@0.1.13)(prettier@3.2.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@storybook/react': - specifier: 8.0.1 - version: 8.0.1(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.4.5) + specifier: 8.1.4 + version: 8.1.4(encoding@0.1.13)(prettier@3.2.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.4.5) '@storybook/react-webpack5': - specifier: 8.0.1 - version: 8.0.1(@swc/core@1.4.8)(encoding@0.1.13)(esbuild@0.21.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.4.5)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0)) + specifier: 8.1.4 + version: 8.1.4(@swc/core@1.4.8)(encoding@0.1.13)(esbuild@0.21.4)(prettier@3.2.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.4.5)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0)) '@storybook/test': - specifier: 8.0.1 - version: 8.0.1(vitest@1.6.0(@types/node@20.12.12)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1)) + specifier: 8.1.4 + version: 8.1.4(vitest@1.6.0(@types/node@20.12.12)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1)) '@storybook/theming': - specifier: 8.0.1 - version: 8.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 8.1.4 + version: 8.1.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/argon2-browser': specifier: 1.18.4 version: 1.18.4 @@ -717,10 +703,6 @@ packages: '@adobe/css-tools@4.3.2': resolution: {integrity: sha512-DA5a1C0gD/pLOvhv33YMrbf2FK3oUzwNl9oOJqE4XVjuEtt6XIakRcsd7eLiOSPkp1kTRQGICTA8cKra/vFbjw==} - '@ampproject/remapping@2.2.1': - resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} - engines: {node: '>=6.0.0'} - '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} @@ -812,6 +794,9 @@ packages: resolution: {integrity: sha512-Xk1sIhyNC/esHGGVjL/niHLowM0csl/kFO5uawBy4IrWwy0o1G8LGt3jP6nmWGz+USxeeqbihAmp/oVZju6wug==} hasBin: true + '@babel/code-frame@7.10.4': + resolution: {integrity: sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==} + '@babel/code-frame@7.23.5': resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} engines: {node: '>=6.9.0'} @@ -840,10 +825,6 @@ packages: resolution: {integrity: sha512-aC2DGhBq5eEdyXWqrDInSqQjO0k8xtPRf5YylULqx8MCd6jBtzqfta/3ETMRpuKIc5hyswfO80ObyA1MvkCcUQ==} engines: {node: '>=6.9.0'} - '@babel/core@7.24.0': - resolution: {integrity: sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==} - engines: {node: '>=6.9.0'} - '@babel/core@7.24.4': resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==} engines: {node: '>=6.9.0'} @@ -872,6 +853,10 @@ packages: resolution: {integrity: sha512-DitEzDfOMnd13kZnDqns1ccmftwJTS9DMkyn9pYTxulS7bZxUxpMly3Nf23QQ6NwA4UB8lAqjbqWtyvElEMAkg==} engines: {node: '>=6.9.0'} + '@babel/helper-annotate-as-pure@7.24.7': + resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} + engines: {node: '>=6.9.0'} + '@babel/helper-builder-binary-assignment-operator-visitor@7.24.6': resolution: {integrity: sha512-+wnfqc5uHiMYtvRX7qu80Toef8BXeh4HHR1SPeonGb1SKPniNEd4a/nlaJJMv/OIEYvIVavvo0yR7u10Gqz0Iw==} engines: {node: '>=6.9.0'} @@ -896,6 +881,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-create-class-features-plugin@7.24.7': + resolution: {integrity: sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-create-regexp-features-plugin@7.22.15': resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} engines: {node: '>=6.9.0'} @@ -957,6 +948,10 @@ packages: resolution: {integrity: sha512-OTsCufZTxDUsv2/eDXanw/mUZHWOxSbEmC3pP8cgjcy5rgeVPWWMStnv274DV60JtHxTk0adT0QrCzC4M9NWGg==} engines: {node: '>=6.9.0'} + '@babel/helper-member-expression-to-functions@7.24.7': + resolution: {integrity: sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==} + engines: {node: '>=6.9.0'} + '@babel/helper-module-imports@7.22.15': resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} @@ -965,6 +960,10 @@ packages: resolution: {integrity: sha512-a26dmxFJBF62rRO9mmpgrfTLsAuyHk4e1hKTUkD/fcMfynt8gvEKwQPQDVxWhca8dHoDck+55DFt42zV0QMw5g==} engines: {node: '>=6.9.0'} + '@babel/helper-module-imports@7.24.7': + resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} + engines: {node: '>=6.9.0'} + '@babel/helper-module-transforms@7.23.3': resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} @@ -985,6 +984,10 @@ packages: resolution: {integrity: sha512-3SFDJRbx7KuPRl8XDUr8O7GAEB8iGyWPjLKJh/ywP/Iy9WOmEfMrsWbaZpvBu2HSYn4KQygIsz0O7m8y10ncMA==} engines: {node: '>=6.9.0'} + '@babel/helper-optimise-call-expression@7.24.7': + resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==} + engines: {node: '>=6.9.0'} + '@babel/helper-plugin-utils@7.22.5': resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} engines: {node: '>=6.9.0'} @@ -993,6 +996,10 @@ packages: resolution: {integrity: sha512-MZG/JcWfxybKwsA9N9PmtF2lOSFSEMVCpIRrbxccZFLJPrJciJdG/UhSh5W96GEteJI2ARqm5UAHxISwRDLSNg==} engines: {node: '>=6.9.0'} + '@babel/helper-plugin-utils@7.24.7': + resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==} + engines: {node: '>=6.9.0'} + '@babel/helper-remap-async-to-generator@7.24.6': resolution: {integrity: sha512-1Qursq9ArRZPAMOZf/nuzVW8HgJLkTB9y9LfP4lW2MVp4e9WkLJDovfKBxoDcCk6VuzIxyqWHyBoaCtSRP10yg==} engines: {node: '>=6.9.0'} @@ -1011,6 +1018,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-replace-supers@7.24.7': + resolution: {integrity: sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-simple-access@7.22.5': resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} @@ -1027,6 +1040,10 @@ packages: resolution: {integrity: sha512-jhbbkK3IUKc4T43WadP96a27oYti9gEf1LdyGSP2rHGH77kwLwfhO7TgwnWvxxQVmke0ImmCSS47vcuxEMGD3Q==} engines: {node: '>=6.9.0'} + '@babel/helper-skip-transparent-expression-wrappers@7.24.7': + resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==} + engines: {node: '>=6.9.0'} + '@babel/helper-split-export-declaration@7.22.6': resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} @@ -1051,10 +1068,6 @@ packages: resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.24.6': - resolution: {integrity: sha512-4yA7s865JHaqUdRbnaxarZREuPTHrjpDT+pXoAZ1yhyo6uFnIEpS8VMu16siFOHDpZNKYv5BObhsB//ycbICyw==} - engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.24.7': resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} @@ -1071,12 +1084,12 @@ packages: resolution: {integrity: sha512-Jktc8KkF3zIkePb48QO+IapbXlSapOW9S+ogZZkcO6bABgYAxtZcjZ/O005111YLf+j4M84uEgwYoidDkXbCkQ==} engines: {node: '>=6.9.0'} - '@babel/helper-wrap-function@7.24.6': - resolution: {integrity: sha512-f1JLrlw/jbiNfxvdrfBgio/gRBk3yTAEJWirpAkiJG2Hb22E7cEYKHWo0dFPTv/niPovzIdPdEDetrv6tC6gPQ==} + '@babel/helper-validator-option@7.24.7': + resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.24.0': - resolution: {integrity: sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==} + '@babel/helper-wrap-function@7.24.6': + resolution: {integrity: sha512-f1JLrlw/jbiNfxvdrfBgio/gRBk3yTAEJWirpAkiJG2Hb22E7cEYKHWo0dFPTv/niPovzIdPdEDetrv6tC6gPQ==} engines: {node: '>=6.9.0'} '@babel/helpers@7.24.4': @@ -1142,6 +1155,74 @@ packages: peerDependencies: '@babel/core': ^7.0.0 + '@babel/plugin-proposal-async-generator-functions@7.20.7': + resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-class-properties@7.18.6': + resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-decorators@7.24.7': + resolution: {integrity: sha512-RL9GR0pUG5Kc8BUWLNDm2T5OpYwSX15r98I0IkgmRQTXuELq/OynH8xtMTMvTJFjXbMWFVTKtYkTaYQsuAwQlQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-export-default-from@7.24.7': + resolution: {integrity: sha512-CcmFwUJ3tKhLjPdt4NP+SHMshebytF8ZTYOv5ZDpkzq2sin80Wb5vJrGt8fhPrORQCfoSa0LAxC/DW+GAC5+Hw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-logical-assignment-operators@7.20.7': + resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==} + 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-logical-assignment-operators instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6': + resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-numeric-separator@7.18.6': + resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-object-rest-spread@7.20.7': + resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-optional-catch-binding@7.18.6': + resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-optional-chaining@7.21.0': + resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} @@ -1164,11 +1245,23 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-decorators@7.24.7': + resolution: {integrity: sha512-Ui4uLJJrRV1lb38zg1yYTmRKmiZLiftDEvZN2iq3kd9kUFU+PttmzTbAFC2ucRk/XJmtek6G23gPsuZbhrT8fQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-dynamic-import@7.8.3': resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-export-default-from@7.24.7': + resolution: {integrity: sha512-bTPz4/635WQ9WhwsyPdxUJDVpsi/X9BMmy/8Rf/UAlOO4jSql4CxUCjWI5PiM+jG+c4LVPTScoTw80geFj9+Bw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-export-namespace-from@7.8.3': resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: @@ -1208,6 +1301,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-jsx@7.24.7': + resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-logical-assignment-operators@7.10.4': resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: @@ -1520,6 +1619,42 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-react-display-name@7.24.7': + resolution: {integrity: sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-development@7.24.7': + resolution: {integrity: sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-self@7.24.7': + resolution: {integrity: sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx-source@7.24.7': + resolution: {integrity: sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx@7.24.7': + resolution: {integrity: sha512-+Dj06GDZEFRYvclU6k4bme55GKBEWUmByM/eoKuqg4zTNQHiApWRhQph5fxQB2wAEFvRzL1tOEj1RJ19wJrhoA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-pure-annotations@7.24.7': + resolution: {integrity: sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-regenerator@7.24.6': resolution: {integrity: sha512-SMDxO95I8WXRtXhTAc8t/NFQUT7VYbIWwJCJgEli9ml4MhqUMh4S6hxgH6SmAC3eAQNWCDJFxcFeEt9w2sDdXg==} engines: {node: '>=6.9.0'} @@ -1532,6 +1667,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-runtime@7.24.7': + resolution: {integrity: sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-shorthand-properties@7.24.6': resolution: {integrity: sha512-xnEUvHSMr9eOWS5Al2YPfc32ten7CXdH7Zwyyk7IqITg4nX61oHj+GxpNvl+y5JHjfN3KXE2IV55wAWowBYMVw==} engines: {node: '>=6.9.0'} @@ -1609,6 +1750,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + '@babel/preset-react@7.24.7': + resolution: {integrity: sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/preset-typescript@7.23.3': resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==} engines: {node: '>=6.9.0'} @@ -1660,6 +1807,10 @@ packages: resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} engines: {node: '>=6.9.0'} + '@babel/traverse@7.24.7': + resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} + engines: {node: '>=6.9.0'} + '@babel/types@7.17.0': resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==} engines: {node: '>=6.9.0'} @@ -1705,11 +1856,6 @@ packages: '@clack/core@0.3.4': resolution: {integrity: sha512-H4hxZDXgHtWTwV3RAVenqcC4VbJZNegbBjlPvzOzCouXtS2y3sDvlO3IsbrPNWuLWPPlYVYPghQdSF64683Ldw==} - '@clack/prompts@0.6.3': - resolution: {integrity: sha512-AM+kFmAHawpUQv2q9+mcB6jLKxXGjgu/r2EQjEwujgpCdzrST6BJqYw00GRn56/L/Izw5U7ImoLmy00X/r80Pw==} - bundledDependencies: - - is-unicode-supported - '@clack/prompts@0.7.0': resolution: {integrity: sha512-0MhX9/B4iL6Re04jPrttDm+BsP8y6mS7byuv0BvXgdXhbV5PdlsHt55dvNsuBCPZ7xq1oTAOOuotR9NFbQyMSA==} bundledDependencies: @@ -2092,6 +2238,12 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/android-arm64@0.18.20': + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm64@0.20.2': resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} engines: {node: '>=12'} @@ -2104,6 +2256,12 @@ packages: cpu: [arm64] os: [android] + '@esbuild/android-arm@0.18.20': + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + '@esbuild/android-arm@0.20.2': resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} engines: {node: '>=12'} @@ -2116,6 +2274,12 @@ packages: cpu: [arm] os: [android] + '@esbuild/android-x64@0.18.20': + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + '@esbuild/android-x64@0.20.2': resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} engines: {node: '>=12'} @@ -2128,6 +2292,12 @@ packages: cpu: [x64] os: [android] + '@esbuild/darwin-arm64@0.18.20': + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-arm64@0.20.2': resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} engines: {node: '>=12'} @@ -2140,6 +2310,12 @@ packages: cpu: [arm64] os: [darwin] + '@esbuild/darwin-x64@0.18.20': + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + '@esbuild/darwin-x64@0.20.2': resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} engines: {node: '>=12'} @@ -2152,6 +2328,12 @@ packages: cpu: [x64] os: [darwin] + '@esbuild/freebsd-arm64@0.18.20': + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-arm64@0.20.2': resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} engines: {node: '>=12'} @@ -2164,6 +2346,12 @@ packages: cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-x64@0.18.20': + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + '@esbuild/freebsd-x64@0.20.2': resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} engines: {node: '>=12'} @@ -2176,6 +2364,12 @@ packages: cpu: [x64] os: [freebsd] + '@esbuild/linux-arm64@0.18.20': + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm64@0.20.2': resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} engines: {node: '>=12'} @@ -2188,6 +2382,12 @@ packages: cpu: [arm64] os: [linux] + '@esbuild/linux-arm@0.18.20': + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + '@esbuild/linux-arm@0.20.2': resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} engines: {node: '>=12'} @@ -2200,6 +2400,12 @@ packages: cpu: [arm] os: [linux] + '@esbuild/linux-ia32@0.18.20': + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-ia32@0.20.2': resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} engines: {node: '>=12'} @@ -2212,6 +2418,12 @@ packages: cpu: [ia32] os: [linux] + '@esbuild/linux-loong64@0.18.20': + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-loong64@0.20.2': resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} engines: {node: '>=12'} @@ -2224,6 +2436,12 @@ packages: cpu: [loong64] os: [linux] + '@esbuild/linux-mips64el@0.18.20': + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-mips64el@0.20.2': resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} engines: {node: '>=12'} @@ -2236,6 +2454,12 @@ packages: cpu: [mips64el] os: [linux] + '@esbuild/linux-ppc64@0.18.20': + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-ppc64@0.20.2': resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} engines: {node: '>=12'} @@ -2248,6 +2472,12 @@ packages: cpu: [ppc64] os: [linux] + '@esbuild/linux-riscv64@0.18.20': + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-riscv64@0.20.2': resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} engines: {node: '>=12'} @@ -2260,6 +2490,12 @@ packages: cpu: [riscv64] os: [linux] + '@esbuild/linux-s390x@0.18.20': + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-s390x@0.20.2': resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} engines: {node: '>=12'} @@ -2272,6 +2508,12 @@ packages: cpu: [s390x] os: [linux] + '@esbuild/linux-x64@0.18.20': + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + '@esbuild/linux-x64@0.20.2': resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} engines: {node: '>=12'} @@ -2284,6 +2526,12 @@ packages: cpu: [x64] os: [linux] + '@esbuild/netbsd-x64@0.18.20': + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + '@esbuild/netbsd-x64@0.20.2': resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} engines: {node: '>=12'} @@ -2296,6 +2544,12 @@ packages: cpu: [x64] os: [netbsd] + '@esbuild/openbsd-x64@0.18.20': + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + '@esbuild/openbsd-x64@0.20.2': resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} engines: {node: '>=12'} @@ -2308,6 +2562,12 @@ packages: cpu: [x64] os: [openbsd] + '@esbuild/sunos-x64@0.18.20': + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + '@esbuild/sunos-x64@0.20.2': resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} engines: {node: '>=12'} @@ -2320,6 +2580,12 @@ packages: cpu: [x64] os: [sunos] + '@esbuild/win32-arm64@0.18.20': + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-arm64@0.20.2': resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} engines: {node: '>=12'} @@ -2332,6 +2598,12 @@ packages: cpu: [arm64] os: [win32] + '@esbuild/win32-ia32@0.18.20': + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-ia32@0.20.2': resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} engines: {node: '>=12'} @@ -2344,6 +2616,12 @@ packages: cpu: [ia32] os: [win32] + '@esbuild/win32-x64@0.18.20': + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + '@esbuild/win32-x64@0.20.2': resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} engines: {node: '>=12'} @@ -2374,23 +2652,99 @@ packages: resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==} 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==} + '@expo/bunyan@4.0.0': + resolution: {integrity: sha512-Ydf4LidRB/EBI+YrB+cVLqIseiRfjUI/AeHBgjGMtq3GroraDu81OV7zqophRgupngoL3iS3JUMDMnxO7g39qA==} + engines: {'0': node >=0.10.0} - '@fastify/busboy@2.1.0': - resolution: {integrity: sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==} - engines: {node: '>=14'} + '@expo/cli@0.18.13': + resolution: {integrity: sha512-ZO1fpDK8z6mLeQGuFP6e3cZyCHV55ohZY7/tEyhpft3bwysS680eyFg5SFe+tWNFesnziFrbtI8JaUyhyjqovA==} + hasBin: true - '@floating-ui/core@1.6.0': - resolution: {integrity: sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==} + '@expo/code-signing-certificates@0.0.5': + resolution: {integrity: sha512-BNhXkY1bblxKZpltzAx98G2Egj9g1Q+JRcvR7E99DOj862FTCX+ZPsAUtPTr7aHxwtrL7+fL3r0JSmM9kBm+Bw==} - '@floating-ui/dom@1.6.3': - resolution: {integrity: sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==} + '@expo/config-plugins@8.0.4': + resolution: {integrity: sha512-Hi+xuyNWE2LT4LVbGttHJgl9brnsdWAhEB42gWKb5+8ae86Nr/KwUBQJsJppirBYTeLjj5ZlY0glYnAkDa2jqw==} - '@floating-ui/react-dom@2.0.8': - resolution: {integrity: sha512-HOdqOt3R3OGeTKidaLvJKcgg75S6tibQ3Tif4eyd91QnIJWr0NLvoXFpJA/j8HqkFSL68GDca9AuyWEHlhyClw==} - peerDependencies: - react: '>=16.8.0' + '@expo/config-plugins@8.0.5': + resolution: {integrity: sha512-VGseKX1dYvaf2qHUDGzIQwSOJrO5fomH0gE5cKSQyi6wn+Q6rcV2Dj2E5aga+9aKNPL6FxZ0dqRFC3t2sbhaSA==} + + '@expo/config-types@51.0.1': + resolution: {integrity: sha512-5JuzUFobFImrUgnq93LeucP44ZMxq8WMXmCtIUf3ZC3mJSwjvvHJBMO2fS/sIlmgvvQk9eq4VnX06/7tgDFMSg==} + + '@expo/config@9.0.2': + resolution: {integrity: sha512-BKQ4/qBf3OLT8hHp5kjObk2vxwoRQ1yYQBbG/OM9Jdz32yYtrU8opTbKRAxfZEWH5i3ZHdLrPdC1rO0I6WxtTw==} + + '@expo/devcert@1.1.2': + resolution: {integrity: sha512-FyWghLu7rUaZEZSTLt/XNRukm0c9GFfwP0iFaswoDWpV6alvVg+zRAfCLdIVQEz1SVcQ3zo1hMZFDrnKGvkCuQ==} + + '@expo/env@0.3.0': + resolution: {integrity: sha512-OtB9XVHWaXidLbHvrVDeeXa09yvTl3+IQN884sO6PhIi2/StXfgSH/9zC7IvzrDB8kW3EBJ1PPLuCUJ2hxAT7Q==} + + '@expo/image-utils@0.5.1': + resolution: {integrity: sha512-U/GsFfFox88lXULmFJ9Shfl2aQGcwoKPF7fawSCLixIKtMCpsI+1r0h+5i0nQnmt9tHuzXZDL8+Dg1z6OhkI9A==} + + '@expo/json-file@8.3.3': + resolution: {integrity: sha512-eZ5dld9AD0PrVRiIWpRkm5aIoWBw3kAyd8VkuWEy92sEthBKDDDHAnK2a0dw0Eil6j7rK7lS/Qaq/Zzngv2h5A==} + + '@expo/metro-config@0.18.4': + resolution: {integrity: sha512-vh9WDf/SzE+NYCn6gqbzLKiXtENFlFZdAqyj9nI38RvQ4jw6TJIQ8+ExcdLDT3MOG36Ytg44XX9Zb3OWF6LVxw==} + + '@expo/osascript@2.1.3': + resolution: {integrity: sha512-aOEkhPzDsaAfolSswObGiYW0Pf0ROfR9J2NBRLQACdQ6uJlyAMiPF45DVEVknAU9juKh0y8ZyvC9LXqLEJYohA==} + engines: {node: '>=12'} + + '@expo/package-manager@1.5.2': + resolution: {integrity: sha512-IuA9XtGBilce0q8cyxtWINqbzMB1Fia0Yrug/O53HNuRSwQguV/iqjV68bsa4z8mYerePhcFgtvISWLAlNEbUA==} + + '@expo/plist@0.1.3': + resolution: {integrity: sha512-GW/7hVlAylYg1tUrEASclw1MMk9FP4ZwyFAY/SUTJIhPDQHtfOlXREyWV3hhrHdX/K+pS73GNgdfT6E/e+kBbg==} + + '@expo/prebuild-config@7.0.3': + resolution: {integrity: sha512-Kvxy/oQzkxwXLvAmwb+ygxuRn4xUUN2+mVJj3KDe4bRVCNyDPs7wlgdokF3twnWjzRZssUzseMkhp+yHPjAEhA==} + peerDependencies: + expo-modules-autolinking: '>=0.8.1' + + '@expo/prebuild-config@7.0.4': + resolution: {integrity: sha512-E2n3QbwgV8Qa0CBw7BHrWBDWD7l8yw+N/yjvXpSPFFtoZLMSKyegdkJFACh2u+UIRKUSZm8zQwHeZR0rqAxV9g==} + peerDependencies: + expo-modules-autolinking: '>=0.8.1' + + '@expo/rudder-sdk-node@1.1.1': + resolution: {integrity: sha512-uy/hS/awclDJ1S88w9UGpc6Nm9XnNUjzOAAib1A3PVAnGQIwebg8DpFqOthFBTlZxeuV/BKbZ5jmTbtNZkp1WQ==} + engines: {node: '>=12'} + + '@expo/sdk-runtime-versions@1.0.0': + resolution: {integrity: sha512-Doz2bfiPndXYFPMRwPyGa1k5QaKDVpY806UJj570epIiMzWaYyCtobasyfC++qfIXVb5Ocy7r3tP9d62hAQ7IQ==} + + '@expo/spawn-async@1.7.2': + resolution: {integrity: sha512-QdWi16+CHB9JYP7gma19OVVg0BFkvU8zNj9GjWorYI8Iv8FUxjOCcYRuAmX4s/h91e4e7BPsskc8cSrZYho9Ew==} + engines: {node: '>=12'} + + '@expo/vector-icons@14.0.0': + resolution: {integrity: sha512-5orm59pdnBQlovhU9k4DbjMUZBHNlku7IRgFY56f7pcaaCnXq9yaLJoOQl9sMwNdFzf4gnkTyHmR5uN10mI9rA==} + + '@expo/xcpretty@4.3.1': + resolution: {integrity: sha512-sqXgo1SCv+j4VtYEwl/bukuOIBrVgx6euIoCat3Iyx5oeoXwEA2USCoeL0IPubflMxncA2INkqJ/Wr3NGrSgzw==} + hasBin: true + + '@fal-works/esbuild-plugin-global-externals@2.1.2': + resolution: {integrity: sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==} + + '@fastify/busboy@2.1.0': + resolution: {integrity: sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==} + engines: {node: '>=14'} + + '@floating-ui/core@1.6.0': + resolution: {integrity: sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==} + + '@floating-ui/dom@1.6.3': + resolution: {integrity: sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==} + + '@floating-ui/react-dom@2.0.8': + resolution: {integrity: sha512-HOdqOt3R3OGeTKidaLvJKcgg75S6tibQ3Tif4eyd91QnIJWr0NLvoXFpJA/j8HqkFSL68GDca9AuyWEHlhyClw==} + peerDependencies: + react: '>=16.8.0' react-dom: '>=16.8.0' '@floating-ui/utils@0.2.1': @@ -2427,12 +2781,19 @@ packages: peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@hapi/hoek@9.3.0': + resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} + + '@hapi/topo@5.1.0': + resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} + '@hirosystems/token-metadata-api-client@1.2.0': resolution: {integrity: sha512-voIhvGV4yCOEE2BWbQeGV4S395OLTKg5VsV4HJBM4Ekf/hiu5fktF8R0T24JcZc06resf94hH6L9ybiLz6tpGQ==} '@humanwhocodes/config-array@0.11.14': resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} @@ -2440,19 +2801,44 @@ packages: '@humanwhocodes/object-schema@2.0.2': resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + deprecated: Use @eslint/object-schema instead '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} + '@isaacs/ttlcache@1.4.1': + resolution: {integrity: sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==} + engines: {node: '>=12'} + '@istanbuljs/schema@0.1.3': resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} engines: {node: '>=8'} + '@jest/create-cache-key-function@29.7.0': + resolution: {integrity: sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/environment@29.7.0': + resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/fake-timers@29.7.0': + resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.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} + '@jest/types@26.6.2': + resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==} + engines: {node: '>= 10.14.2'} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@josephg/resolvable@1.0.1': resolution: {integrity: sha512-CtzORUwWTTOTqfVtHaKRJ0I1kNQd1bpn3sUh8I3nJDVY+5/M/Oe1DnEWzPQvqq/xPIIkzzzIP7mfCoAjFRvDhg==} @@ -2494,37 +2880,43 @@ packages: '@jridgewell/trace-mapping@0.3.9': resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - '@leather-wallet/bitcoin@0.7.2': - resolution: {integrity: sha512-cKzioBtIFLhL/ERY7WV0pniCzNTChdLLabTZhtFwNxc2mHJkkrs08FExJKqb6p8sFibOXuNn+tdDI8TG052eeQ==} + '@leather.io/bitcoin@0.8.2': + resolution: {integrity: sha512-nUI2Q/kJgIg8CPdaiM4V/uy5PoaEiwwnHhb4iFPU3VM9Iw7bHmGo0qKQSRgm2lz+oNKQ79apDklM6ldZr2e4QA==} - '@leather-wallet/constants@0.6.3': - resolution: {integrity: sha512-AnNfUKuTWyYC0Y2k82x/8e2YvsFQgF7iDKxVfN8lTELBUCuihvqNxjcrOX1T3w8CHIWZ1iRPkzn1YtUC3AGvTw==} + '@leather.io/constants@0.8.0': + resolution: {integrity: sha512-PmiFZG+MLqU6hi9Nr3wfb9SG57FMnV+4DCtDOr5SWB/7P1OR//qYDoaiSS9B4VwW4WRjdy32EmO/Om8z61WuMw==} - '@leather-wallet/crypto@1.0.1': - resolution: {integrity: sha512-6C4KYuknq0QgSHOuQAwa/VNokNuUmGXiigZygKH7ldpzdPLadC6GbSAITp1Qe7hlYTzWQhsWtEUnWLll4/JCYw==} + '@leather.io/crypto@1.0.2': + resolution: {integrity: sha512-hEQZsqtmDCjWu6Z8nfpX/1zTg2T0GUL3GEi564najH+781WbvXThAD7S0Fw+QU0NEzF7ilOxMBKa38FIOd7J6Q==} - '@leather-wallet/models@0.8.0': - resolution: {integrity: sha512-Kbe6hjBXexaTVt1w8LxOxL3AdO5hrkP3bEMAF+B51RSULZLVBIAktRh7YnnWHiS4yXLh/f+NVWKquSkLs9MaXQ==} + '@leather.io/eslint-config@0.6.0': + resolution: {integrity: sha512-d6N9lBn9u2d73QVGWO+2O2tuScwYB00HG1SIneCqBpCcg1zUf1PUddQG5SChJ9jgUZPYe7SCiwFpgi8FJmb/dw==} - '@leather-wallet/panda-preset@0.2.0': - resolution: {integrity: sha512-Qsr7qsujbebaHYpKfgiOVL6w2ryw5E9j2dpo19wsctRaq5GpXhjMN5nLioJ1HS3xLWEgXlfDWMTTcEs7bu+9Ig==} + '@leather.io/models@0.10.0': + resolution: {integrity: sha512-5faI+Z1OyrV2z1GROIg98C3E0DcU/I+fNkuU5gkDRnuAJiR03Z9WXiVOIW/F8HJ2Oz0A6l/z93+uEgEVgAgYGg==} - '@leather-wallet/prettier-config@0.4.1': - resolution: {integrity: sha512-8J1OqfAPtP64MUp3yERQVKnWdp7wHLBjcWlnu68qvS6obxWKkXTZVArHyvADkHRdpmu7rvEzhFRi+fyw00Ui/Q==} + '@leather.io/panda-preset@0.3.0': + resolution: {integrity: sha512-rWx3b6sjBKvfxYtoo5lx11wi3g7/qTJOesXy+2lzHleoR8RqsHM6qe9IJ1NCkopy8HZEm8BKZM1oGgZ88C9Mow==} - '@leather-wallet/query@0.8.6': - resolution: {integrity: sha512-DmpX32UEirFeqipcDijGvgDbOZkWmF+xUm9yuPtK44h4NJJx+hhcaQkFIfvCLmcTlTvBv42sEbnqeIw3CBDfow==} + '@leather.io/prettier-config@0.5.0': + resolution: {integrity: sha512-Pul+4MAyBKnQvqgcKJLbZl4DHnS4kCJzSuaYFW6cfHdre7BFn/iY6Er/Dvm9F8g7VMtkdYu68jEYxQ1Xc7A0KQ==} + + '@leather.io/query@0.9.4': + resolution: {integrity: sha512-+5JY+uJ37ILt0Ya8WPbB/HGJGd4wIEvtoV65IQQLUM3vZoj9HZfblKWXiJG1/hNRvTvLkStZS659USzroDTzXg==} peerDependencies: react: '*' - '@leather-wallet/rpc@1.0.3': - resolution: {integrity: sha512-7RH7li7D40NktUdmQry6J81OCDtS+WV8Y1pLLEeuzfLckgRDu7XWk9xKYGaxVEYiLth5CekOCcXCMRxDDqkI8A==} + '@leather.io/rpc@2.0.0': + resolution: {integrity: sha512-68K/TPbBO2XcHCUw/E9+yvsS1u9UTR08W05UA/snALxxVa9ZDsyD/R+SOsA+ABe8NQ2UI5/LKYrPLkldxf1bfQ==} + + '@leather.io/tokens@0.6.0': + resolution: {integrity: sha512-x+JIHk12UJglf+Z1gcmywZ4HqjX/om5yqeSNU7xSypiJjIjstqco3+D3vGb9XAtqBxPHevKM4pgQaJ1z9JVg8g==} - '@leather-wallet/tokens@0.5.2': - resolution: {integrity: sha512-+/1dM24D/d7lyW8f4WFDmAgtsRZmUu+PhmFELa2nD4esYcP4zehVNh+rJN+xfW9U6JgSNXuii2xRjdD+XkSGdg==} + '@leather.io/ui@1.6.0': + resolution: {integrity: sha512-fy3oLLA6Kjyyu5bTo2vh54dQ3uHPkmFci1pniqlFkeF0ptLidGlZfIwEhBrrFJujI87S9nzqXCTCb4Xj8k5CEA==} - '@leather-wallet/utils@0.8.1': - resolution: {integrity: sha512-Asu85YqkNHHYd/G1EHAlvh0H7pKTFwE1LC97Gk0es+dE7iu+IY0feqAajDzhT7mSMBNt64PwPKTwl/HZVSonPA==} + '@leather.io/utils@0.9.2': + resolution: {integrity: sha512-0ChJvcwjfxDJpQFJJFhEBcBTnx/umiA6EJDIZVQ+XJV/EXZet9KnY/hwl8DrhjLKyEimK9T9mK9VscUySdmhkg==} '@ledgerhq/devices@8.2.0': resolution: {integrity: sha512-XROTW2gTmmuy+YPPDjdtKKTQ3mfxrPtKtV+a9QFbj8f5MnjVMV0Zpy1BIB4CyIMsVVi4z6+nI67auT7IlsM3SQ==} @@ -2619,6 +3011,10 @@ packages: '@npmcli/fs@1.1.1': resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} + '@npmcli/fs@3.1.1': + resolution: {integrity: sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + '@npmcli/map-workspaces@3.0.4': resolution: {integrity: sha512-Z0TbvXkRbacjFFLpVpV0e2mheCh+WzQpcqL+4xp49uNJOxOnIAPZyXtUxZ5Qn3QBTGKA11Exjd9a5411rBrhDg==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -2638,98 +3034,49 @@ packages: '@octokit/types@12.4.0': resolution: {integrity: sha512-FLWs/AvZllw/AGVs+nJ+ELCDZZJk+kY0zMen118xhL2zD0s1etIUHm1odgjP7epxYU1ln7SZxEUWYop5bhsdgQ==} - '@pandacss/config@0.26.2': - resolution: {integrity: sha512-KG2UsDkspikdLDvDXDA6ieBm5ux4OOtQxMfrt2UM2DQUCxLijfqAcqdu0PnL7cCwironDWOZ/R/oRbzaRdbhAQ==} - '@pandacss/config@0.40.1': resolution: {integrity: sha512-Pzm0GpsrV8OoXgrBJ+V7aaKG39ytbLex1XsRKY6JThkAAz0rE2P8k4nbSQU8WXuG7mbOijBKYybi/cxRAIUL1w==} - '@pandacss/core@0.26.2': - resolution: {integrity: sha512-b9t8iNaX1zO90rikwLTr5hQxF5Z7U2AUIpzmCu2BaIV/C5ne5i9V+1bPghI2ox6+DYnBHH4wRLfB6toBsIxtVw==} - '@pandacss/core@0.40.1': resolution: {integrity: sha512-12Eu6ReCYZYu6Y/cX5YvGUS8eJkCVJYR8njWAqJmSg+rg/vqmkAM+KL8qdYw95WiTzih1dPaSq+MqkiX3N9hUg==} - '@pandacss/dev@0.26.2': - resolution: {integrity: sha512-g6ndBd4AgikOMDS8eUrPqmvXPlxpAaD8BQyLGeFJojWsYlcQ0C4DwjzmEDUvij2jr22kAtm5gs9iUEpuCmZ6Tw==} - hasBin: true - '@pandacss/dev@0.40.1': resolution: {integrity: sha512-61vy1KjwfVdWTaQtwY4ghmvwPhcRRVnfwpAG5S/kogw0p1rIp7a8vDHi31CjbPxO4qccjhNNzVVGDzaqnzHf+w==} hasBin: true - '@pandacss/error@0.26.2': - resolution: {integrity: sha512-tDRU9nuIFWzOIw78O3f+7yb0ulWwbLhgL3OyL0fE74EoD6bgiyV8NQWoVHC1Xw5TyT+81+3ir/ZCLmksJwvnjg==} - - '@pandacss/extractor@0.26.2': - resolution: {integrity: sha512-UOlZK3wb1p0fh5Do7RcQiCLfPkijXzWH6v7h9Evm7fWWEgLy95EIQjeTwc3C6sZvYeRUmmimb11oWccI9kzRiw==} - '@pandacss/extractor@0.40.1': resolution: {integrity: sha512-eHTAiNBLPxOYsf4pqbwhxjqejzaYx6EGFvdxznKohO++ihPgoph4/zl6WZx+/Ncb/IcHKMXpIBghQmmE68LIyA==} - '@pandacss/generator@0.26.2': - resolution: {integrity: sha512-g9iBhM85Cj4aoooH4D+qx2Gx4tGmQfKRE5ArE/9KcG1qzFofOqd7rnnDkwiiB4aAMibNl30Lsgdu49r9UQLglw==} - '@pandacss/generator@0.40.1': resolution: {integrity: sha512-kidMyFPVuJYue4uah9uL4iNdhCPikTPCsc8j9IwrcrKPT6uhLqdeBQEF3Kxs0Pik8v+cMaDV0BSSceCujxHzhA==} - '@pandacss/is-valid-prop@0.26.2': - resolution: {integrity: sha512-W0OEs7jyN7EHeeczJMnVC0pNvjyQvyELGVeWlP98byred4eiXDZM9390FVyok4MUxPyEGe+Mi6mSLZPwVZT/kQ==} - '@pandacss/is-valid-prop@0.40.1': resolution: {integrity: sha512-YcWecr6zecEiCqRi/zoCONcokG64T2LiEOCEYZMhqX9ma/KsKNd4oZO6r001/1ZUSBSVD6ZIb95h/N4gctfayg==} - '@pandacss/logger@0.26.2': - resolution: {integrity: sha512-VXp/zjCymsVLO8rOy8MAuaj91tw481NaJxNaSTxtuy4GCSAgybWybLbcQDL1VctTZV26kL9hPwpRmvT0hJv1cw==} - '@pandacss/logger@0.40.1': resolution: {integrity: sha512-UnxDZGWj4e2Cl9XJWBp5WTJiWmfXIbyYLXt0tOlVIGTiBfZtsqVnT/uD3g71QSJgyUCyYqCx/zHJTIsKIm2/HQ==} - '@pandacss/node@0.26.2': - resolution: {integrity: sha512-07cbfT5vq155ThjVuThXBJRPZgOXXDg+ka5b9ZHzmX/fmQlf5C5r16ytps9G6vp9g/A5ihvB3F+pVdvt4RuyIw==} - '@pandacss/node@0.40.1': resolution: {integrity: sha512-r00E85hAFmU49H0JgEwRqf2R5P6CIAydLcTTGrqYEvC8NrP2Y2vsnNENYwDT6PChAzjIZxtZK5myYki3qkfWTA==} - '@pandacss/parser@0.26.2': - resolution: {integrity: sha512-jzZV/yVFlYMpwIQWnAurgHLAIdUADC1saPSVls/Q8AenIouJdiKEwnoBjr5RcDLuely0Fez8Xbax3NkDcg2uMg==} - '@pandacss/parser@0.40.1': resolution: {integrity: sha512-tcBw29Qzxe7BSyf3G76d4ux8rCnqzg4kIApOZQFPrPLGzkc6/TO59HQr3gz8YQbD0HhO2QzjnUkVwCuOpCJoOQ==} - '@pandacss/postcss@0.26.2': - resolution: {integrity: sha512-DSyHxvu+ILCytleib9a2+0nKNd6KvOA4f02qH96B/GNl4PmzNWzh7QrKRaUPiGuIN5J4xXWgHTz5Q5hsnjQ+bg==} - '@pandacss/postcss@0.40.1': resolution: {integrity: sha512-PunPSjbDYRw9ljLf4iGKpndAxUkDhptaVATVhHALA1zC31qjF86/ZQRTvMpbBKkIi18x0WKW4lQVA7NFb7+iYg==} - '@pandacss/preset-base@0.26.2': - resolution: {integrity: sha512-icasgvx/N2sAF8U4MS/YxzQAwVjlr7/u4tM0W1nD2kWlhzTUuW3wGtz2hMeh8xmPZnAzy748kCASmTKgEXLmuA==} - '@pandacss/preset-base@0.40.1': resolution: {integrity: sha512-uPevTES6MonoCSLa5BLHcIkj0hJE6Nynlnaqyen4BPESJFh+ylzVjQa8K3RpOAtD6phVgWsjf21cjmKfnxo+0Q==} - '@pandacss/preset-panda@0.26.2': - resolution: {integrity: sha512-l+V9zTw2JfHy95qLIZLiz/sWb+ftBGGM5jg/sKIbC4BvK4uHglqpRbLiY9K4d39BIS+gBA9sWB021n3pSwdi9Q==} - '@pandacss/preset-panda@0.40.1': resolution: {integrity: sha512-rNw+mfU3rhQzOgUkKTZqQ6y0qRMua5Z8AVuWUrSPYCERsxmbdAVrdoOfkCjiZ+Kf+nWGumlDca9IWxI5vYlSMw==} - '@pandacss/shared@0.26.2': - resolution: {integrity: sha512-pYmAIR2HHaRDpRQIeD5kgH72BVbgb0AYYpURZdGCf2d9WfJEJViGZlU3nB5pO1j8FG0FNpHdDEIFPHAcPk62qA==} - '@pandacss/shared@0.40.1': resolution: {integrity: sha512-FBI2AaaYQZoA7TU/qa9z4FVGU3eQDC/cXobTOzmvewpVb+kFSjPo9hralYAViq+5EFRAJOFM7NMqQH0Enitjnw==} - '@pandacss/token-dictionary@0.26.2': - resolution: {integrity: sha512-5UNdG/KYtpQlFM/0MJv6Jc9ugTyboh8Fa6Ss7ReFZJr7MrvU5dAoLM5IzBktu1hcrhyos2UJFW3g6LBV4XRw/Q==} - '@pandacss/token-dictionary@0.40.1': resolution: {integrity: sha512-vpeGGJMd1dasGD2siEqSxtg9wAYNHVnafJSL+QCtarRSwVf9/ETw48md6CvGX7Iq6mfUpNJaa1JkBmhnQUVuNg==} - '@pandacss/types@0.26.2': - resolution: {integrity: sha512-jLDeTOt3QsHeC3qPod5a0HMGOlLlVzxGIw/uWuwBlVOPFyJ5FAPYYX0+J4ryyy9CObw0YtP6TS5WbvSsxKfZwQ==} - '@pandacss/types@0.40.1': resolution: {integrity: sha512-znHd2Qc9zv/3e86CkM04Dv5b3dTymucfAvbvkUrvz4AT1KME7BQ1YEQRpaXgdE4UI5waV+Rv0Tx7Dmtt//4yWQ==} @@ -3401,6 +3748,154 @@ packages: '@types/react-dom': optional: true + '@react-native-community/cli-clean@13.6.6': + resolution: {integrity: sha512-cBwJTwl0NyeA4nyMxbhkWZhxtILYkbU3TW3k8AXLg+iGphe0zikYMGB3T+haTvTc6alTyEFwPbimk9bGIqkjAQ==} + + '@react-native-community/cli-config@13.6.6': + resolution: {integrity: sha512-mbG425zCKr8JZhv/j11382arezwS/70juWMsn8j2lmrGTrP1cUdW0MF15CCIFtJsqyK3Qs+FTmqttRpq81QfSg==} + + '@react-native-community/cli-debugger-ui@13.6.6': + resolution: {integrity: sha512-Vv9u6eS4vKSDAvdhA0OiQHoA7y39fiPIgJ6biT32tN4avHDtxlc6TWZGiqv7g98SBvDWvoVAmdPLcRf3kU+c8g==} + + '@react-native-community/cli-doctor@13.6.6': + resolution: {integrity: sha512-TWZb5g6EmQe2Ua2TEWNmyaEayvlWH4GmdD9ZC+p8EpKFpB1NpDGMK6sXbpb42TDvwZg5s4TDRplK0PBEA/SVDg==} + + '@react-native-community/cli-hermes@13.6.6': + resolution: {integrity: sha512-La5Ie+NGaRl3klei6WxKoOxmCUSGGxpOk6vU5pEGf0/O7ky+Ay0io+zXYUZqlNMi/cGpO7ZUijakBYOB/uyuFg==} + + '@react-native-community/cli-platform-android@13.6.6': + resolution: {integrity: sha512-/tMwkBeNxh84syiSwNlYtmUz/Ppc+HfKtdopL/5RB+fd3SV1/5/NPNjMlyLNgFKnpxvKCInQ7dnl6jGHJjeHjg==} + + '@react-native-community/cli-platform-apple@13.6.6': + resolution: {integrity: sha512-bOmSSwoqNNT3AmCRZXEMYKz1Jf1l2F86Nhs7qBcXdY/sGiJ+Flng564LOqvdAlVLTbkgz47KjNKCS2pP4Jg0Mg==} + + '@react-native-community/cli-platform-ios@13.6.6': + resolution: {integrity: sha512-vjDnRwhlSN5ryqKTas6/DPkxuouuyFBAqAROH4FR1cspTbn6v78JTZKDmtQy9JMMo7N5vZj1kASU5vbFep9IOQ==} + + '@react-native-community/cli-server-api@13.6.6': + resolution: {integrity: sha512-ZtCXxoFlM7oDv3iZ3wsrT3SamhtUJuIkX2WePLPlN5bcbq7zimbPm2lHyicNJtpcGQ5ymsgpUWPCNZsWQhXBqQ==} + + '@react-native-community/cli-tools@13.6.6': + resolution: {integrity: sha512-ptOnn4AJczY5njvbdK91k4hcYazDnGtEPrqIwEI+k/CTBHNdb27Rsm2OZ7ye6f7otLBqF8gj/hK6QzJs8CEMgw==} + + '@react-native-community/cli-types@13.6.6': + resolution: {integrity: sha512-733iaYzlmvNK7XYbnWlMjdE+2k0hlTBJW071af/xb6Bs+hbJqBP9c03FZuYH2hFFwDDntwj05bkri/P7VgSxug==} + + '@react-native-community/cli@13.6.6': + resolution: {integrity: sha512-IqclB7VQ84ye8Fcs89HOpOscY4284VZg2pojHNl8H0Lzd4DadXJWQoxC7zWm8v2f8eyeX2kdhxp2ETD5tceIgA==} + engines: {node: '>=18'} + hasBin: true + + '@react-native/assets-registry@0.73.1': + resolution: {integrity: sha512-2FgAbU7uKM5SbbW9QptPPZx8N9Ke2L7bsHb+EhAanZjFZunA9PaYtyjUQ1s7HD+zDVqOQIvjkpXSv7Kejd2tqg==} + engines: {node: '>=18'} + + '@react-native/assets-registry@0.74.84': + resolution: {integrity: sha512-dzUhwyaX04QosWZ8zyaaNB/WYZIdeDN1lcpfQbqiOhZJShRH+FLTDVONE/dqlMQrP+EO7lDqF0RrlIt9lnOCQQ==} + engines: {node: '>=18'} + + '@react-native/babel-plugin-codegen@0.73.4': + resolution: {integrity: sha512-XzRd8MJGo4Zc5KsphDHBYJzS1ryOHg8I2gOZDAUCGcwLFhdyGu1zBNDJYH2GFyDrInn9TzAbRIf3d4O+eltXQQ==} + engines: {node: '>=18'} + + '@react-native/babel-plugin-codegen@0.74.83': + resolution: {integrity: sha512-+S0st3t4Ro00bi9gjT1jnK8qTFOU+CwmziA7U9odKyWrCoRJrgmrvogq/Dr1YXlpFxexiGIupGut1VHxr+fxJA==} + engines: {node: '>=18'} + + '@react-native/babel-plugin-codegen@0.74.84': + resolution: {integrity: sha512-UR4uiii5szIJA84mSC6GJOfYKDq7/ThyetOQT62+BBcyGeHVtHlNLNRzgaMeLqIQaT8Fq4pccMI+7QqLOMXzdw==} + engines: {node: '>=18'} + + '@react-native/babel-preset@0.73.21': + resolution: {integrity: sha512-WlFttNnySKQMeujN09fRmrdWqh46QyJluM5jdtDNrkl/2Hx6N4XeDUGhABvConeK95OidVO7sFFf7sNebVXogA==} + engines: {node: '>=18'} + peerDependencies: + '@babel/core': '*' + + '@react-native/babel-preset@0.74.83': + resolution: {integrity: sha512-KJuu3XyVh3qgyUer+rEqh9a/JoUxsDOzkJNfRpDyXiAyjDRoVch60X/Xa/NcEQ93iCVHAWs0yQ+XGNGIBCYE6g==} + engines: {node: '>=18'} + peerDependencies: + '@babel/core': '*' + + '@react-native/babel-preset@0.74.84': + resolution: {integrity: sha512-WUfu6Y4aGuVdocQZvx33BJiQWFH6kRCHYbZfBn2psgFrSRLgQWEQrDCxqPFObNAVSayM0rNhp2FvI5K/Eyeqlg==} + engines: {node: '>=18'} + peerDependencies: + '@babel/core': '*' + + '@react-native/codegen@0.73.3': + resolution: {integrity: sha512-sxslCAAb8kM06vGy9Jyh4TtvjhcP36k/rvj2QE2Jdhdm61KvfafCATSIsOfc0QvnduWFcpXUPvAVyYwuv7PYDg==} + engines: {node: '>=18'} + peerDependencies: + '@babel/preset-env': ^7.1.6 + + '@react-native/codegen@0.74.83': + resolution: {integrity: sha512-GgvgHS3Aa2J8/mp1uC/zU8HuTh8ZT5jz7a4mVMWPw7+rGyv70Ba8uOVBq6UH2Q08o617IATYc+0HfyzAfm4n0w==} + engines: {node: '>=18'} + peerDependencies: + '@babel/preset-env': ^7.1.6 + + '@react-native/codegen@0.74.84': + resolution: {integrity: sha512-0hXlnu9i0o8v+gXKQi+x6T471L85kCDwW4WrJiYAeOheWrQdNNW6rC3g8+LL7HXAf7QcHGU/8/d57iYfdVK2BQ==} + engines: {node: '>=18'} + peerDependencies: + '@babel/preset-env': ^7.1.6 + + '@react-native/community-cli-plugin@0.74.83': + resolution: {integrity: sha512-7GAFjFOg1mFSj8bnFNQS4u8u7+QtrEeflUIDVZGEfBZQ3wMNI5ycBzbBGycsZYiq00Xvoc6eKFC7kvIaqeJpUQ==} + engines: {node: '>=18'} + + '@react-native/debugger-frontend@0.74.83': + resolution: {integrity: sha512-RGQlVUegBRxAUF9c1ss1ssaHZh6CO+7awgtI9sDeU0PzDZY/40ImoPD5m0o0SI6nXoVzbPtcMGzU+VO590pRfA==} + engines: {node: '>=18'} + + '@react-native/dev-middleware@0.74.83': + resolution: {integrity: sha512-UH8iriqnf7N4Hpi20D7M2FdvSANwTVStwFCSD7VMU9agJX88Yk0D1T6Meh2RMhUu4kY2bv8sTkNRm7LmxvZqgA==} + engines: {node: '>=18'} + + '@react-native/gradle-plugin@0.74.83': + resolution: {integrity: sha512-Pw2BWVyOHoBuJVKxGVYF6/GSZRf6+v1Ygc+ULGz5t20N8qzRWPa2fRZWqoxsN7TkNLPsECYY8gooOl7okOcPAQ==} + engines: {node: '>=18'} + + '@react-native/js-polyfills@0.73.1': + resolution: {integrity: sha512-ewMwGcumrilnF87H4jjrnvGZEaPFCAC4ebraEK+CurDDmwST/bIicI4hrOAv+0Z0F7DEK4O4H7r8q9vH7IbN4g==} + engines: {node: '>=18'} + + '@react-native/js-polyfills@0.74.83': + resolution: {integrity: sha512-/t74n8r6wFhw4JEoOj3bN71N1NDLqaawB75uKAsSjeCwIR9AfCxlzZG0etsXtOexkY9KMeZIQ7YwRPqUdNXuqw==} + engines: {node: '>=18'} + + '@react-native/metro-babel-transformer@0.73.15': + resolution: {integrity: sha512-LlkSGaXCz+xdxc9819plmpsl4P4gZndoFtpjN3GMBIu6f7TBV0GVbyJAU4GE8fuAWPVSVL5ArOcdkWKSbI1klw==} + engines: {node: '>=18'} + peerDependencies: + '@babel/core': '*' + + '@react-native/metro-babel-transformer@0.74.83': + resolution: {integrity: sha512-hGdx5N8diu8y+GW/ED39vTZa9Jx1di2ZZ0aapbhH4egN1agIAusj5jXTccfNBwwWF93aJ5oVbRzfteZgjbutKg==} + engines: {node: '>=18'} + peerDependencies: + '@babel/core': '*' + + '@react-native/metro-config@0.73.5': + resolution: {integrity: sha512-3bNWoHzOzP/+qoLJtRhOVXrnxKmSY3i4y5PXyMQlIvvOI/GQbXulPpEZxK/yUrf1MmeXHLLFufFbQWlfDEDoxA==} + engines: {node: '>=18'} + + '@react-native/normalize-colors@0.74.83': + resolution: {integrity: sha512-jhCY95gRDE44qYawWVvhTjTplW1g+JtKTKM3f8xYT1dJtJ8QWv+gqEtKcfmOHfDkSDaMKG0AGBaDTSK8GXLH8Q==} + + '@react-native/virtualized-lists@0.74.83': + resolution: {integrity: sha512-rmaLeE34rj7py4FxTod7iMTC7BAsm+HrGA8WxYmEJeyTV7WSaxAkosKoYBz8038mOiwnG9VwA/7FrB6bEQvn1A==} + engines: {node: '>=18'} + peerDependencies: + '@types/react': ^18.2.6 + react: '*' + react-native: '*' + peerDependenciesMeta: + '@types/react': + optional: true + '@redux-devtools/app@6.0.0': resolution: {integrity: sha512-jR6Nm/Pe/ImQ2XmJC1JIyVduQ/3J4bXQhtvoH/pw8WuVJrQvFzhfY5McS+LbHB6H+Vjfhq7mq3u1T2dcQ6II3g==} peerDependencies: @@ -3555,6 +4050,36 @@ packages: peerDependencies: react: '>=16 || >=17' + '@rnx-kit/chromium-edge-launcher@1.0.0': + resolution: {integrity: sha512-lzD84av1ZQhYUS+jsGqJiCMaJO2dn9u+RTT9n9q6D3SaKVwWqv+7AoRKqBu19bkwyE+iFRl1ymr40QS90jVFYg==} + engines: {node: '>=14.15'} + + '@rnx-kit/console@1.1.0': + resolution: {integrity: sha512-N+zFhTSXroiK4eL26vs61Pmtl7wzTPAKLd4JKw9/fk5cNAHUscCXF/uclzuYN61Ye5AwygIvcwbm9wv4Jfa92A==} + + '@rnx-kit/metro-config@1.3.14': + resolution: {integrity: sha512-RjBM2gsDx9Ba7b39ussuRbqJsez8W37puM4oZGSLbneuhQ9kpJcC0omf2QYMKhQisTy0/4jv7L9WdpzvzXR/ow==} + peerDependencies: + '@react-native/metro-config': '*' + react: '*' + react-native: '*' + peerDependenciesMeta: + '@react-native/metro-config': + optional: true + + '@rnx-kit/metro-resolver-symlinks@0.1.35': + resolution: {integrity: sha512-DgpFPIVngiWvCclO5MEdhd9HW81GZJ/9g/pUtPs8lF8H1VGOPg1tuX7rOtDdMXEEcKnnFemctqwV8ExZX3g6nw==} + + '@rnx-kit/tools-node@2.1.1': + resolution: {integrity: sha512-jZC/pmeM3fv4LwpkVWlLyv5dOh6haUw/dBaDC0e5zkfehkIdLtRhVwz4l7iH9MW/i4I9OySoc+2DtDpX7KZyZA==} + + '@rnx-kit/tools-react-native@1.3.5': + resolution: {integrity: sha512-fc+3hxdlicW3GEhI0Umjj+rnVLSLuxVJoGvUBwWvcaCnlNaaTssBjhd7xSvlfLDrgtuXxhBruA76wdDdZI8tiQ==} + + '@rnx-kit/tools-workspaces@0.1.6': + resolution: {integrity: sha512-af5CYnc1dtnMIAl2u0U1QHUCGgLNN9ZQkYCAtQOHPxxgF5yX2Cr9jrXLZ9M+/h/eSVbK0ETjJWbNbPoiUSW/7w==} + engines: {node: '>=14.15'} + '@rollup/rollup-android-arm-eabi@4.14.0': resolution: {integrity: sha512-jwXtxYbRt1V+CdQSy6Z+uZti7JF5irRKF8hlKfEnF/xJpcNGuuiZMBvuoYM+x9sr9iWGnzrlM0+9hvQ1kgkf1w==} cpu: [arm] @@ -3672,6 +4197,9 @@ packages: '@segment/isodate@1.0.3': resolution: {integrity: sha512-BtanDuvJqnACFkeeYje7pWULVv8RgZaqKHWwGFnL/g/TH/CcZjkIVTfGDp/MAxmilYHUkrX70SqwnYSTNEaN7A==} + '@segment/loosely-validate-event@2.0.0': + resolution: {integrity: sha512-ZMCSfztDBqwotkl848ODgVcAmN4OItEWDCkshcKz0/W6gGSQayuuCtWV/MlodFivAZD793d6UgANd6wCXUfrIw==} + '@segment/tsub@2.0.0': resolution: {integrity: sha512-NzkBK8GwPsyQ74AceLjENbUoaFrObnzEKOX4ko2wZDuIyK+DnDm3B//8xZYI2LCKt+wUD55l6ygfjCoVs8RMWw==} hasBin: true @@ -3778,6 +4306,21 @@ packages: peerDependencies: webpack: '>=4.40.0' + '@shopify/restyle@2.4.2': + resolution: {integrity: sha512-r01j9bbXkhZZkGkLnE6jsJvSCkcjwXBySfe8bQCB7duEfQn36mU6WumNc2pndzXpZhPSevppyXzFZ2jY3XUakw==} + peerDependencies: + react: '*' + react-native: '*' + + '@sideway/address@4.1.5': + resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} + + '@sideway/formula@3.0.1': + resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==} + + '@sideway/pinpoint@2.0.0': + resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} + '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} @@ -3793,6 +4336,12 @@ packages: resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} engines: {node: '>=18'} + '@sinonjs/commons@3.0.1': + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} + + '@sinonjs/fake-timers@10.3.0': + resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} + '@socket.io/component-emitter@3.0.0': resolution: {integrity: sha512-2pTGuibAXJswAPJjaKisthqS/NOK5ypG4LYT6tEAV0S/mxW0zOIvYvGK0V8w8+SHxAm6vRMSjqSalFXeBAqs+Q==} @@ -4374,26 +4923,26 @@ packages: peerDependencies: react: '>= 16.3.0' - '@storybook/addon-actions@8.0.1': - resolution: {integrity: sha512-qFd1NOI9C16/Jo+7XQQXRsoTzcvKPlT6M5lU47lGLuyLwbZSp5EKxmy8+uKTnyLF/2BTAvOLZ/wYmw+Gj4VzOA==} + '@storybook/addon-actions@8.1.4': + resolution: {integrity: sha512-3q/DCcnSjpuWBoKpA+0j1etXyMOu+GsdUtxv041tsNjMMwyc+CfHUGiAHMyQ0TpEf8MPQoTeZsRPrEZwVUNXow==} - '@storybook/addon-backgrounds@8.0.1': - resolution: {integrity: sha512-A06rUg7yEmyEoRTS8B46CkiUh49lKQ9ipGK323O7S9qkwbXSLvqBQTaKmGstZq6p0begPF1DWaGUxCXfU3qr2g==} + '@storybook/addon-backgrounds@8.1.4': + resolution: {integrity: sha512-v4CJ2fQJyhy1G73DcuhGwAk8HfYpSUavB7XIEflm9riqSZkzUAu/H51a4cncszXgIjzGcKRRtl+QZs1g/4J96A==} - '@storybook/addon-controls@8.0.1': - resolution: {integrity: sha512-MadJq5fmFUI1eNkDyJSSqtF/IHD+hv/gS0eFNd9+CIioHaysJG2g7t27lG703BV+Qwzz9ekilKBJ/z0bIuqm8g==} + '@storybook/addon-controls@8.1.4': + resolution: {integrity: sha512-YuimjOeHYKMXAAs8tYVen2A84ZJNNuvoI6t+paZU570hkEeh5iPggC2UneNAgtQBds98TWwEy+3YggXtfon6iw==} - '@storybook/addon-docs@8.0.1': - resolution: {integrity: sha512-G03ELd2OEycuYoziwbomIgHGUXNIVU2MoCITU7Q1e2zfFJ4amMab7btHmUm4eTnUChXvzbYIucti3Sp9sQNsKw==} + '@storybook/addon-docs@8.1.4': + resolution: {integrity: sha512-k734R4CV/U4qiNwBNfxI6R71hoL1TDQZEwyoqbyW05exUu6orWGIf1jrWtz6q67ykTNTCTCsFq2PI3K1LvYyjw==} - '@storybook/addon-essentials@8.0.1': - resolution: {integrity: sha512-ExN5v9p/08ArWVB1eARWri8UdzaXzZgrPCjV+Ip/Bljh/NYuNOd1PhfQ84IyBOB+RhtlPX9hh7fAdQiDa0MN0g==} + '@storybook/addon-essentials@8.1.4': + resolution: {integrity: sha512-fQQAnV1TMQIFHWpNCINhzPdW3KYIwIp1MRzjHagylYT/Eqx+JNcT9z9MPqN0jQvV9z2retHgMydwusFGAuG7oQ==} - '@storybook/addon-highlight@8.0.1': - resolution: {integrity: sha512-7+Q4dpQRbBylFKexSSvyksFqYXTIKMQzIcmL/XirUPKzDenCyuGfhDFWtredsb+kIR4P/Gg9MepMWkfBsoupuA==} + '@storybook/addon-highlight@8.1.4': + resolution: {integrity: sha512-Wx8p/DrEuf/fis5x9XHT1gYEJaM9ia/aPPqUfFq/o66z2jUPgITZ49aYRMA2VXxViG6RPAu2cp2ma4FrHy0FuA==} - '@storybook/addon-interactions@8.0.1': - resolution: {integrity: sha512-1gGfYu0C/c7P/7cz89d3kaN3z9ZjDD2yMoVQ1WzOlCdWwRrm9d1Ox+UUGAfNmjd8XyAST7woYcqT/OWrkdrj1A==} + '@storybook/addon-interactions@8.1.4': + resolution: {integrity: sha512-l7LNMgpuMBw7qvrJBpH7lh/EMNOMB9rNyGQOF4RVW7VO3dA5mfPPXnBElQbVyijFMuAtebzenAehgMKusH9UJw==} '@storybook/addon-links@8.0.1': resolution: {integrity: sha512-cYAPSr/mO++ZZWcNigfTEDPYshozT0hYpHJ7S5DIhUTZCpv92IDudN0HjYmEQnz4+OdsGaQ6GnITI2Fr8IOfQA==} @@ -4403,49 +4952,38 @@ packages: react: optional: true - '@storybook/addon-mdx-gfm@8.0.1': - resolution: {integrity: sha512-1z7pBMVgBnriQeVgjJ8106gihGV7uaLCG2k54QUgXhmyIfb0wWMBE/RB6VhRjkH3vN9eOb+1xjup3MQO3QWahg==} + '@storybook/addon-mdx-gfm@8.1.4': + resolution: {integrity: sha512-vI8iVsaxZ9XbIQZtrlTqyBy10xn0udEQJA73eSPWCl58uB10DuKBx1a39FHD7h+wgIxMW9tBmsHyyN6UqCVgnA==} - '@storybook/addon-measure@8.0.1': - resolution: {integrity: sha512-dHZY8K5FWoEYuIK9+6dwky/IsqCGlNuGEU2gn2Q2OiIzHOveumxMtGQkWk8hrzRnwQB/eMbijbdwd+d0aBJp1w==} + '@storybook/addon-measure@8.1.4': + resolution: {integrity: sha512-gj0QqcSiU/k8KseWGcqk0rPxaPyDjhFPwOrLfpIhQVhLdmWnWQKtnfCyFVBV7lC6znDAGPuJz+eh+hqqA+j9qA==} '@storybook/addon-onboarding@8.0.1': resolution: {integrity: sha512-jS4vs2kHc6C13aycaYWpAhM6FneM4JrAsM+j0zGEEDcSNsUVVuw5NDb5qivMkoe1tp500k1PrI9re4GjLQASWA==} - '@storybook/addon-outline@8.0.1': - resolution: {integrity: sha512-1zPBQ+J4IUjULXlBbf3lLt5nblMUwQiTV6HAjngeczl3pCaZ3Q86lVAURE2K/gmLElsRALX4XoLw8M7hY4iYxQ==} + '@storybook/addon-outline@8.1.4': + resolution: {integrity: sha512-SUjZh83a8P6SIERToG86p1u999nlk9zwz4SsXh4zAOpfr+XVpvNiHNLTu0LexpjnWEFnSOEOMx73vpSqWduDrw==} '@storybook/addon-styling-webpack@1.0.0': resolution: {integrity: sha512-jo1kzn7pi+NA+LZxrWoRvW6w7dXIKY/BjTG80XX2uU92lIKT+X1k/9vYk/0KPVK3Bsf4tO6ToAuqIRyOk7MHtg==} peerDependencies: webpack: ^5.0.0 - '@storybook/addon-toolbars@8.0.1': - resolution: {integrity: sha512-Fa5H+iiQsYtcaF/2RhzTOo9YWMzOhjkl2muPOe3f/a7Z4eR4R4pGmJv/JZ1qfpRk67PoyFcUUkFnNWjBF0yLjQ==} + '@storybook/addon-toolbars@8.1.4': + resolution: {integrity: sha512-bTFRL5BWHoLCyq93gaEVkqCgsvw8egP7D1+Nv/mbnoeOZQzG6hnqkRfJS+d0m8iLB8rTbN0H83tYt8TZrDuFXg==} - '@storybook/addon-viewport@8.0.1': - resolution: {integrity: sha512-8p4oDI1lSicLRhbRSZUCuUAJoJrZ+FG/ccgtEV6y6a4GRMkBbUpoqTMyHQKfDqszFmr7G4lG2HVXYCura8a3zg==} + '@storybook/addon-viewport@8.1.4': + resolution: {integrity: sha512-OmHJzs6ZzLxD2ihNoc3s2YOJS9PDQNvDej6yYlWRLzS8DAW8ADE3DYl0i8wv/zDXbgEVxyEYwe8JhouIu8x5MA==} '@storybook/addon-webpack5-compiler-swc@1.0.2': resolution: {integrity: sha512-o8PPyFCl48bkqmcwiX6RNIMBdXe96EqmB1JuMzInQX77f7lEAN6sAE17/pdlZmmRmzIEADqgumOXLKL3ViObzw==} engines: {node: '>=18'} - '@storybook/blocks@8.0.1': - resolution: {integrity: sha512-S1aPjmhS3bTvyAeUNHULWzmuGFJ59DiaV5eGv3Dg5u8BKGlYXGe39wItE4p/KR/OqkwtY5++rFHrWQiJeEP90A==} - 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/blocks@8.0.6': - resolution: {integrity: sha512-ycuPJwxyngSor4YNa4kkX3rAmX+w2pXNsIo+Zs4fEdAfCvha9+GZ/3jQSdrsHxjeIm9l9guiv4Ag8QTnnllXkw==} + '@storybook/blocks@8.1.4': + resolution: {integrity: sha512-Viqb5Hm5Eb9xrmjY7MV9caL5xPJF90vPBALxKrxL8Io4uoAWlzi3uBlx8Hda0nF2qf/PkFdGBM4WqHFM3wXG+w==} 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 peerDependenciesMeta: react: optional: true @@ -4455,19 +4993,16 @@ packages: '@storybook/builder-manager@8.1.4': resolution: {integrity: sha512-kbbekBBZ+OKsHknHqAQSRDAQiXBP8RJn0QGX/nF0colq6wkTB4T8KiH7hEGpwFb6gECFCu47T8Ku+wkY8nlfMw==} - '@storybook/builder-webpack5@8.0.1': - resolution: {integrity: sha512-1UOdF5Ic5Ss86VwcZ5E0h5TJT6hcQTQFF+mjSla3Yy9Q9mvWtyr4xHYnTH7RXNB0cQXbFvaPvQLnBA0aOq/8HQ==} + '@storybook/builder-webpack5@8.1.4': + resolution: {integrity: sha512-pGHFH5IlU1F3E5DSf54vUySxM9QWONujhgmHy50A/4bDsi0Vd1l+eulx8gb43KJ0/mLUyKG61kYhZRO1AZsbUQ==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true - '@storybook/channels@8.0.1': - resolution: {integrity: sha512-zKhOOI/NU5w0rMGrGNlWkBLhNq7l33pRej9AJ+4rQcuJ3cc0ONkSktktYK8ThQ49I1ZOn7eS+h0BEmXX1Mr3Qg==} - - '@storybook/channels@8.0.6': - resolution: {integrity: sha512-IbNvjxeyQKiMpb+gSpQ7yYsFqb8BM/KYgfypJM3yJV6iU/NFeevrC/DA6/R+8xWFyPc70unRNLv8fPvxhcIu8Q==} + '@storybook/channels@7.6.15': + resolution: {integrity: sha512-UPDYRzGkygYFa8QUpEiumWrvZm4u4RKVzgiBt9C4RmHORqkkZzL9LXhaZJp2SmIz1ND5gx6KR5ze8ZnAdwxxoQ==} '@storybook/channels@8.1.4': resolution: {integrity: sha512-cmITS0w8e9Ys1vqp8S7+uyQKgqVIdUEWs9FK90XeAs0lcuvW10S3qdrarWPbUgKFFFsGIGPIvImbT1vf80/bcQ==} @@ -4476,11 +5011,8 @@ packages: resolution: {integrity: sha512-WFUIJdhkpaTWRRdXahi6lgTdRMTLPfJP2+jehUhhxc/7Yg5VP1FTjS/diSCKEb1yKz8ybBta+ybuoVrM0qQRaA==} hasBin: true - '@storybook/client-logger@8.0.1': - resolution: {integrity: sha512-8NgJlVixYQB+c0zduoCAcOtEm4M9y776QKtmXvCaCtxyXl2uCbZFAMy6iai6ctoiVge0xiRaEzIkWKT1pHLDig==} - - '@storybook/client-logger@8.0.6': - resolution: {integrity: sha512-et/IHPHiiOwMg93l5KSgw47NZXz5xOyIrIElRcsT1wr8OJeIB9DzopB/suoHBZ/IML+t8x91atdutzUN2BLF6A==} + '@storybook/client-logger@7.6.15': + resolution: {integrity: sha512-n+K8IqnombqiQNnywVovS+lK61tvv/XSfgPt0cgvoF/hJZB0VDOMRjWsV+v9qQpj1TQEl1lLWeJwZMthTWupJA==} '@storybook/client-logger@8.1.4': resolution: {integrity: sha512-I0PqDoNZf4rqrJYwFHhCwuXumpxvzyTzI5qI5R2JT93i49QShI3pLXY31C9VemVBJmS+pBWVOm6RTIdkQiKVWw==} @@ -4488,23 +5020,17 @@ packages: '@storybook/codemod@8.1.4': resolution: {integrity: sha512-glPwKFc07h3h4ZhakEZIF/8fq3fGGM19hpB+RZRHU3dz4NL/TiZXwboxa61wNZe1ehWqbGDaecwANK45DWsNuA==} - '@storybook/components@8.0.1': - resolution: {integrity: sha512-xrOL0CLirSnzZTtuXD+bgk1+MF36DuTG4ADD89A00dl22Uquo+MHFI9kzqxGtyb7PPpcJQjcgw/1WoSMSepPvQ==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - - '@storybook/components@8.0.6': - resolution: {integrity: sha512-6W2BAqAPJkrExk8D/ug2NPBPvMs05p6Bdt9tk3eWjiMrhG/CUKBzlBTEfNK/mzy3YVB6ijyT2DgsqzmWWYJ/Xw==} + '@storybook/components@8.1.4': + resolution: {integrity: sha512-Ef1gmHfId/T9tUyOZkvZJx3uEctxANM7OUXCiwJagL31hUdqV62GvE2Oi3JF9qlTO2jH6G5chqFduGr016hR9A==} 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/core-common@8.0.1': - resolution: {integrity: sha512-+t9qyJ/b/yRDCsp6zW68NsViieqCUuH6S8BpbSPWnkuGTYp98BMMGQoY4cqufUcFPuDYMzwAN7wQ5/iM5b7DYQ==} + '@storybook/core-client@7.6.15': + resolution: {integrity: sha512-jwWol+zo+ItKBzPm9i80bEL6seHMsV0wKSaViVMQ4TqHtEbNeFE8sFEc2NTr18VNBnQOdlQPnEWmdboXBUrGcA==} - '@storybook/core-common@8.0.6': - resolution: {integrity: sha512-Z4cA52SjcW6SAV9hayqVm5kyr362O20Zmwz7+H2nYEhcu8bY69y5p45aaoyElMxL1GDNu84GrmTp7dY4URw1fQ==} + '@storybook/core-common@7.6.15': + resolution: {integrity: sha512-VGmcLJ5U1r1s8/YnLbKcyB4GnNL+/sZIPqwlcSKzDXO76HoVFv1kywf7PbASote7P3gdhLSxBdg95LH2bdIbmw==} '@storybook/core-common@8.1.4': resolution: {integrity: sha512-hpJ1tDkseNzcf0XpNFbt2gEYdw5OjskWmviSjQwoGHjCvpvWQCo0hvuj7v9cZHgSScOreLu7kh7cl9hoXhA+dQ==} @@ -4514,11 +5040,8 @@ packages: prettier: optional: true - '@storybook/core-events@8.0.1': - resolution: {integrity: sha512-AI8W9YNNXtkC9W1wL+LV2M/hd4SJWVOGNFhwf+bGSFfGb9NLl23CIBWg8XgYVpTtil3etw5ODDgykEmUBcKsKw==} - - '@storybook/core-events@8.0.6': - resolution: {integrity: sha512-EwGmuMm8QTUAHPhab4yftQWoSCX3OzEk6cQdpLtbNFtRRLE9aPZzxhk5Z/d3KhLNSCUAGyCiDt5I9JxTBetT9A==} + '@storybook/core-events@7.6.15': + resolution: {integrity: sha512-i4YnjGecbpGyrFe0340sPhQ9QjZZEBqvMy6kF4XWt6DYLHxZmsTj1HEdvxVl4Ej7V49Vw0Dm8MepJ1d4Y8MKrQ==} '@storybook/core-events@8.1.4': resolution: {integrity: sha512-oZAP3aRDeRyo2GQmADh4R3wJLIb9Ie0FUcWx8V4fvuydzeh6Pprgo//COCR+kySG4kRLqofWeF1Zzvft58Q0kg==} @@ -4526,17 +5049,11 @@ packages: '@storybook/core-server@8.1.4': resolution: {integrity: sha512-g7x3vzk3jOZrOySMbtxk8u4x/MAZyDIjrHMMBQO9mNXKl0AJfU0X1v3Qx9wg+314KfFG/Iq63mYaBjj3EDVFEg==} - '@storybook/core-webpack@8.0.1': - resolution: {integrity: sha512-QiZYA6mDgfInk10s2pXwSCGIgaUWeix/eo9Iizby3uGlNIu3XOfqfxvCwAE5EjlpLOaUdUbrB9UYr57k0x1PAg==} - - '@storybook/csf-plugin@8.0.1': - resolution: {integrity: sha512-n3CEGP64gNUjyTKwByS5fpi7TnmUECsLpWH7KE/mpJVRm4omu/xlS1mEgikOxWFgxlXzotM1mAvjeWidvnMq/g==} + '@storybook/core-webpack@8.1.4': + resolution: {integrity: sha512-rIv1aaog6dQhC8qYFUHLcv7XipfCSg4UMM4CIMDV5GM8+qcyiSeU1nsLnAXvhpnieSGmkimVqwPl8RPVB0Q/5g==} - '@storybook/csf-tools@8.0.1': - resolution: {integrity: sha512-jG7dP0DsYpV+sdp/EV0/mcuZ6bzaTRsX3N/vZySKTRCvef72IGyxAeZrAg4OoOla0B2t/wxc8RZCG8NGaxHu4Q==} - - '@storybook/csf-tools@8.0.6': - resolution: {integrity: sha512-MEBVxpnzqkBPyYXdtYQrY0SQC3oflmAQdEM0qWFzPvZXTnIMk3Q2ft8JNiBht6RlrKGvKql8TodwpbOiPeJI/w==} + '@storybook/csf-plugin@8.1.4': + resolution: {integrity: sha512-mrfyPg/tXTJES3Tg/OMArJ/0erbwWnsWvlSDRV3cPN2AhZdb7hj7/rLjOzFNzqlxdhyfIjuxUYBp9cz4SdgIrQ==} '@storybook/csf-tools@8.1.4': resolution: {integrity: sha512-0Bper543cY8k01MtFoatewpsw3popuukISeYbzz/26H6QHTojm7PD4ol2yQkcDC/EBA5cU0NbOKACXicd1b3WQ==} @@ -4553,11 +5070,11 @@ packages: '@storybook/docs-mdx@3.1.0-next.0': resolution: {integrity: sha512-t4syFIeSyufieNovZbLruPt2DmRKpbwL4fERCZ1MifWDRIORCKLc4NCEHy+IqvIqd71/SJV2k4B51nF7vlJfmQ==} - '@storybook/docs-tools@8.0.1': - resolution: {integrity: sha512-xgCe0wB3wHS+uD5xxl1vH5W6/BhvNkEkUtcfpEgA7XUkBqymLq+A6aMuKBNDi/rQI2KLnq8INirFrKaSZXKcmQ==} + '@storybook/docs-tools@7.6.15': + resolution: {integrity: sha512-npZEaI9Wpn9uJcRXFElqyiRw8bSxt95mLywPiEEGMT2kE5FfXM8d5Uj5O64kzoXdRI9IhRPEEZZidOtA/UInfQ==} - '@storybook/docs-tools@8.0.6': - resolution: {integrity: sha512-PsAA2b/Q1ki5IR0fa52MI+fdDkQ0W+mrZVRRj3eJzonGZYcQtXofTXQB7yi0CaX7zzI/N8JcdE4bO9sI6SrOTg==} + '@storybook/docs-tools@8.1.4': + resolution: {integrity: sha512-taAyvDUYwOj/GOmmB850osdjLc4rW9rwfpGUewQOG17CAAZYRPchMjUGPTS96jt3RzPMPiJkV9TS7BLXmJ9kQg==} '@storybook/global@5.0.0': resolution: {integrity: sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==} @@ -4569,14 +5086,8 @@ 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.1': - resolution: {integrity: sha512-r01qrQZiQnf1eJ/e4NYGbG13TVU6CTwtT0KdgiJTAn/XU4QEsuWBgiudmx5+ko7zDjHMli4XW5yDgCZyefxqaw==} - - '@storybook/manager-api@8.0.1': - resolution: {integrity: sha512-LEUU8ueHAl8Vg8/NJjuMkqU+CQKhlACSphxMk4P6LWcmRl26/4lzcecH31NflxyjDt+HmCNji3mG81MhrBur9g==} - - '@storybook/manager-api@8.0.6': - resolution: {integrity: sha512-khYA5CM+LY/B5VsqqUmt2ivNLNqyIKfcgGsXHkOs3Kr5BOz8LhEmSwZOB348ey2C2ejFJmvKlkcsE+rB9ixlww==} + '@storybook/instrumenter@8.1.4': + resolution: {integrity: sha512-0FSEbrRdqJtND+re5Z462ZXy4WIcE45wjlGZd++ukoA7XKklYQdfRNyodNzibUAA3FHbGGFZa5Omf53yN07C6A==} '@storybook/manager-api@8.1.4': resolution: {integrity: sha512-cupFijTFID2+XB4Utkqjtayw7uisPFYRGpfvpom+4Aq42sCNKWkE2WYoXCtgxB7SKWSHll6zL9+ZpesvJ6tWNg==} @@ -4584,37 +5095,34 @@ packages: '@storybook/manager@8.1.4': resolution: {integrity: sha512-hn6tSN/9vQqaeUDCp7KBNTPzxAHXgp2JRw5C3t0vKpJP0Pv2mfL2eeT/9liFMcTaCa3NU04rTq5C9vxIRLG70A==} + '@storybook/node-logger@7.6.15': + resolution: {integrity: sha512-C+sCvRjR+5uVU3VTrfyv7/RlPBxesAjIucUAK0keGyIZ7sFQYCPdkm4m/C4s+TcubgAzVvuoUHlRrSppdA7WzQ==} + '@storybook/node-logger@8.0.1': resolution: {integrity: sha512-uYWKSz9NhLOe2O60sJ4UPT1nzvbH0oR/YjK+OP3B4BySa6e195xY/5Uhou4lEaPSNU/0XXaLHCYeXjqeBjZopA==} - '@storybook/node-logger@8.0.6': - resolution: {integrity: sha512-mDRJLVAuTWauO0mnrwajfJV/6zKBJVPp/9g0ULccE3Q+cuqNfUefqfCd17cZBlJHeRsdB9jy9tod48d4qzGEkQ==} - '@storybook/node-logger@8.1.4': resolution: {integrity: sha512-tMcVPdTPN3ZWgzc4YA2MC3GQEuE6Cbx2AN2hQYhdF8O0v+IlAbnad5heUFVEM+fGBpoxZJtVaRohuAd6BR/Ffw==} - '@storybook/preset-react-webpack@8.0.1': - resolution: {integrity: sha512-PqEKrNy2efVYuhDJXtq+eMvsGy7NUngec4AIaGwX2CRG8bJsAx9x6p8f2hmRwNn9fkhloPyM/+ryI31QW/ZgCA==} + '@storybook/preset-react-webpack@8.1.4': + resolution: {integrity: sha512-yyfF8Z5vu5J4ePkbV1NZYsrzeBNTOmpDj/pMQT8cvufHAw9kCsgunksmXWVFUUWo9Jthf7U9q/78+qg8XHFsDw==} 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 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@storybook/preview-api@8.0.1': - resolution: {integrity: sha512-grIox2BWEzaxXfBTIc/ODO/DerGk8PGdH6T/GIDgRxbunWndfVRT57j9sUfXuYn7nb4fPFSFD7N3gYhznpslHg==} - - '@storybook/preview-api@8.0.6': - resolution: {integrity: sha512-O5SvBqlHIO/Cf5oGZUJV2npkp9bLqg9Sn0T0a5zXolJbRy+gP7MDyz4AnliLpTn5bT2rzVQ6VH8IDlhHBq3K6g==} + '@storybook/preview-api@7.6.15': + resolution: {integrity: sha512-2KN9vlizF6sFlYsJEGnFqcQaJXs4TTdawC1VazVdtaMSHANDxxDu8F1cP+u7lpPH3DkNZUmTGQDBYfYY9xR0eQ==} '@storybook/preview-api@8.1.4': resolution: {integrity: sha512-WHS3k/8UZT5vYJ+evSAMLG89sv1rBaojTQ2XNgv/DX74vK4l0MQ61wsORC0v7ScGyEuwYIuSCqHH5NNrOBLxmA==} - '@storybook/preview@8.0.1': - resolution: {integrity: sha512-HSYwtMFJPJuNPfrBizCjDH/P8ZcyzBpgQg+/D6xcI4odSY7j2ub7QWCvbrSv1/llp0lMHDDRsFyT847qRPgwuQ==} + '@storybook/preview@8.1.4': + resolution: {integrity: sha512-M2scYBLMda0EZk9B1Pvlig6GZfkWrbw2gBd5LTSwLV5gpuA5IXYeK/k0J+molE8Cl+Jpgu016y85RiUxA7YC1g==} '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0': resolution: {integrity: sha512-KUqXC3oa9JuQ0kZJLBhVdS4lOneKTOopnNBK4tUAgoxWQ3u/IjzdueZjFr7gyBrXMoU6duutk3RQR9u8ZpYJ4Q==} @@ -4622,39 +5130,50 @@ packages: typescript: '>= 4.x' webpack: '>= 4' - '@storybook/react-dom-shim@8.0.1': - resolution: {integrity: sha512-WQJiImmR4ToJTLYICwm50c3c8+vv3PFzvkoW+sMxQbYoJBJM8lfvbvsQu80aedG6C1VGEMe68mXSXSQqTvL+bA==} + '@storybook/react-dom-shim@7.6.15': + resolution: {integrity: sha512-2+X0HIxIyvjfSKVyGGjSJJLEFJ2ox7Rr8FjlMiRo5QfoOJhohZuWH7p4Lw7JMwm5PotnjrwlfsZI3cCilYJeYA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - '@storybook/react-webpack5@8.0.1': - resolution: {integrity: sha512-yyaIVpAzPR3DmslYiQaBZ6Mnro0Hf1PEhc817AhhVfqo3Zf3UWY6voreXJsgj4WPtUzpCw2lNWnoZsjG1/V7eA==} + '@storybook/react-dom-shim@8.1.4': + resolution: {integrity: sha512-NJBuOml3o/kgwapMB4EAt92wX1lQUgG2fG6qfBkkJ1Djk4bUW/GZndCv9sArp+wncD4rfAVYdEtI8bxmqmv49A==} + peerDependencies: + 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/react-webpack5@8.1.4': + resolution: {integrity: sha512-gSCZhsqE6rxfenhP5YW16q7QbmJan5EfmOOGjufpQN1mc6+Gyx+79jTXEk0aiG9jwyOGoq8Nl3AQ9IWvrkKWsA==} 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 typescript: '>= 4.2.x' peerDependenciesMeta: typescript: optional: true - '@storybook/react@8.0.1': - resolution: {integrity: sha512-8d3nklcf2ePC/23kPVdKyQGjCfgnOeETU3b/DxA3bBE6T9EkiknjH4JJebBkmYh21oMgDYn5RpCrP73niyc0MQ==} - engines: {node: '>=18.0.0'} + '@storybook/react@7.6.15': + resolution: {integrity: sha512-oJMSh4iTGu6OqCmj0LhkuPyMkxGMTCoohN4HcDpXd96jCSyWotVebRsg9xm5ddB7f54e6DY4XDoGH0WnVoR23g==} + engines: {node: '>=16.0.0'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - typescript: '>= 4.2.x' + typescript: '*' peerDependenciesMeta: typescript: optional: true - '@storybook/router@8.0.1': - resolution: {integrity: sha512-lTh0veiuQIygavalQu+n/fqZoyR1RoM6kLMPg9xLfH30aFL8I+e4G9Iq9782EguSMK1ya+QYjNe7Zo/CZCfezw==} - - '@storybook/router@8.0.6': - resolution: {integrity: sha512-ektN0+TyQPxVxcUvt9ksGizgDM1bKFEdGJeeqv0yYaOSyC4M1e4S8QZ+Iq/p/NFNt5XJWsWU+HtQ8AzQWagQfQ==} + '@storybook/react@8.1.4': + resolution: {integrity: sha512-v4MkiSK4oUVlHe5dnqHWgkM5k+ymMTFMP4NjpreVTvUj4iHhwyHRmXiD7LPKooKreakyPIeBIekkJV0RYMhlfg==} + engines: {node: '>=18.0.0'} + peerDependencies: + 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 + typescript: '>= 4.2.x' + peerDependenciesMeta: + typescript: + optional: true '@storybook/router@8.1.4': resolution: {integrity: sha512-1470aScDa8Z1cVQEi3DotrgiyHW1b88vumFsYVyAZjaqs+21NHE9uIbnyIajVoSuyGxZD0sb2PWeATjsD1FDcQ==} @@ -4662,30 +5181,8 @@ packages: '@storybook/telemetry@8.1.4': resolution: {integrity: sha512-KRy1xKBWhTr6QOA/R21QPD9lCvD8vLUuAkxWy7QUd9kamXqLSXMTAogGPZRNwsVO5rubRsf0kSu0KEA+8kyJlA==} - '@storybook/test@8.0.1': - resolution: {integrity: sha512-GCHqLTqbPLog/VcNrdDnj7XzBflzsNrZeuGKvdwJBa1UQ9DD/Ozg8BGcgitxBtLxBDLx1XclIQvP9kMEgxkaZA==} - - '@storybook/theming@8.0.1': - resolution: {integrity: sha512-TUmSHRh3YrpJ25DYjD+9PpJaq9Qf9P1S2xpwfNARM9r2KpkMF1/RgqnnQgZpP9od0Tzvkji7XPzxPU//EmQKEA==} - 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/theming@8.0.6': - resolution: {integrity: sha512-o/b12+nDp8WDFlE0qQilzJ2aIeOHD48MCoc+ouFRPRH4tUS5xNaBPYxBxTgdtFbwZNuOC2my4A37Uhjn6IwkuQ==} - 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/test@8.1.4': + resolution: {integrity: sha512-9fV7dWecNsKxy10LADZDxxI5lALkW1t+ibTBlH8Q2rCrKLeNU4yBeaHpKh+DqdIF1QRynNnvbBE/o7b7KlwBfQ==} '@storybook/theming@8.1.4': resolution: {integrity: sha512-ujJIBEnNXW8SXxwZp2mQ5k9vHFDqL0dB7bLACVdBJO7+euBJRGeJLRRoFJ/5LivQh0kKdIkaIrp1om32kgPrEA==} @@ -4698,11 +5195,8 @@ packages: react-dom: optional: true - '@storybook/types@8.0.1': - resolution: {integrity: sha512-JfNWLg+/dcLgLmIyTVSkM42cYgwhdIfMoLyhA1XR62Ssb9/PyuicLJYKSKS9blTkPtVEYJqcz51fmE9K67ym4w==} - - '@storybook/types@8.0.6': - resolution: {integrity: sha512-YKq4A+3diQ7UCGuyrB/9LkB29jjGoEmPl3TfV7mO1FvdRw22BNuV3GyJCiLUHigSKiZgFo+pfQhmsNRJInHUnQ==} + '@storybook/types@7.6.15': + resolution: {integrity: sha512-tLH0lK6SXECSfMpKin9bge+7XiHZII17n6jc9ZI1TfSBZJyq3M6VzWh2r1C2lC97FlkcKXjIwM3n8h1xNjnI+A==} '@storybook/types@8.1.4': resolution: {integrity: sha512-QfTJg5Hu3c0eiD38Z75bZsw0iCIpruOTGV5O65vCpNun7D6WUyyMM0aUJN3ytujGiHfjsWVgiSe+WoHxdy/fEA==} @@ -4796,45 +5290,34 @@ packages: resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} engines: {node: '>=14.16'} - '@tanstack/match-sorter-utils@8.8.4': - resolution: {integrity: sha512-rKH8LjZiszWEvmi01NR72QWZ8m4xmXre0OOwlRGnjU01Eqz/QnN+cqpty2PJ0efHblq09+KilvyR7lsbzmXVEw==} - engines: {node: '>=12'} - - '@tanstack/query-async-storage-persister@4.35.7': - resolution: {integrity: sha512-+GftETR23j8DR0of84m1iBILu2sZvmHuZbRB9cYxoL6jVn8LEvwk8uXSV/4rRyy2kPgggjqYZclQNJntqtbfFw==} + '@tanstack/query-async-storage-persister@5.45.0': + resolution: {integrity: sha512-vy8ZRAp/q7MTkfy9La8T+VJSaVX9ogfgNEKLF42nfldgZWLuHd2Zcxclu9hZNMHapSB5wp4sX2bhYIum8xptUQ==} - '@tanstack/query-core@4.35.7': - resolution: {integrity: sha512-PgDJtX75ubFS0WCYFM7DqEoJ4QbxU3S5OH3gJSI40xr7UVVax3/J4CM3XUMOTs+EOT5YGEfssi3tfRVGte4DEw==} + '@tanstack/query-core@5.45.0': + resolution: {integrity: sha512-RVfIZQmFUTdjhSAAblvueimfngYyfN6HlwaJUPK71PKd7yi43Vs1S/rdimmZedPWX/WGppcq/U1HOj7O7FwYxw==} - '@tanstack/query-persist-client-core@4.35.7': - resolution: {integrity: sha512-RhnvVtjR2owK50XosSWJh3SD7516c/cQZO3FhPOPKfnCP7b7NqJbeiznKqxIIR88rvNlIOmZ2BIerdvvW7WQ5g==} + '@tanstack/query-devtools@5.37.1': + resolution: {integrity: sha512-XcG4IIHIv0YQKrexTqo2zogQWR1Sz672tX2KsfE9kzB+9zhx44vRKH5si4WDILE1PIWQpStFs/NnrDQrBAUQpg==} - '@tanstack/query-sync-storage-persister@4.35.7': - resolution: {integrity: sha512-LwOV4FfbRQmCH3MUXU2xngnws5AzRJ8mtc9JlDogRVwutlDEeY2bYSiu7xV6NDRLPf0/+0KCMzWeBx6Tlgnkgw==} + '@tanstack/query-persist-client-core@5.45.0': + resolution: {integrity: sha512-iAETglkRB6FR1//185TcWGnMxkisJPnCrlvIhLpHzT4eKLmh4n4vq1Cys42YIJzM2il4YWf8P4refzdq4D5Vdw==} - '@tanstack/react-query-devtools@4.35.7': - resolution: {integrity: sha512-oe3reHNvXBTUvNb9jwLY8EYOXyp8Oq8/c40iwpXBnEkAtJI+RryrCXaGKFTivg72roPcYHzKILQHR9jbX8sn1Q==} + '@tanstack/react-query-devtools@5.45.1': + resolution: {integrity: sha512-4mrbk1g5jqlqh0pifZNsKzy7FtgeqgwzMICL4d6IJGayrrcrKq9K4N/OzRNbgRWrTn6YTY63qcAcKo+NJU2QMw==} peerDependencies: - '@tanstack/react-query': ^4.35.7 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + '@tanstack/react-query': ^5.45.1 + react: ^18 || ^19 - '@tanstack/react-query-persist-client@4.35.7': - resolution: {integrity: sha512-ziEZPMQO7bTjloCbnd4PBhL7U6hlAuivLqWyoHSNNNJYG1ZtjFfbpqA8XGw6t07PYSuASs/6oMRRzAQe0NkS2w==} + '@tanstack/react-query-persist-client@5.45.1': + resolution: {integrity: sha512-Hk5rh2ov7YdHSP16HWnDbHcEAS19yJIvjQWGNXP6JiwZWbNJgXpKOriEOvHxLC5FPfEXl5MnA8cHTWj31kJv8Q==} peerDependencies: - '@tanstack/react-query': ^4.35.7 + '@tanstack/react-query': ^5.45.1 + react: ^18 || ^19 - '@tanstack/react-query@4.35.7': - resolution: {integrity: sha512-0MankquP/6EOM2ATfEov6ViiKemey5uTbjGlFMX1xGotwNaqC76YKDMJdHumZupPbZcZPWAeoPGEHQmVKIKoOQ==} + '@tanstack/react-query@5.45.1': + resolution: {integrity: sha512-mYYfJujKg2kxmkRRjA6nn4YKG3ITsKuH22f1kteJ5IuVQqgKUgbaSQfYwVP0gBS05mhwxO03HVpD0t7BMN7WOA==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-native: '*' - peerDependenciesMeta: - react-dom: - optional: true - react-native: - optional: true + react: ^18.0.0 '@testing-library/dom@9.3.4': resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} @@ -4884,9 +5367,6 @@ packages: '@vue/compiler-sfc': optional: true - '@ts-morph/common@0.20.0': - resolution: {integrity: sha512-7uKjByfbPpwuzkstL3L5MQyuXPSKdoNG93Fmi2JoDcTf3pEP731JdRFAduRVkOs8oqxPsXKA+ScrWkdQ8t/I+Q==} - '@ts-morph/common@0.22.0': resolution: {integrity: sha512-HqNBuV/oIlMKdkLshXd1zKBqNQCsuPEsgQOkfFQ/eUKjRlwndXW1AjN9LVkBEIukm00gGXSRmfkl0Wv5VXLnlw==} @@ -5121,6 +5601,9 @@ packages: '@types/filewriter@0.0.32': resolution: {integrity: sha512-Kpi2GXQyYJdjL8mFclL1eDgihn1SIzorMZjD94kdPZh9E4VxGOeyjPxi5LpsM4Zku7P0reqegZTt2GxhmA9VBg==} + '@types/find-cache-dir@3.2.1': + resolution: {integrity: sha512-frsJrz2t/CeGifcu/6uRo4b+SzAwT4NYCVPu1GN8IB9XTzrpPkGuV0tmh9mN+/L0PklAlsC3u5Fxt0ju00LXIw==} + '@types/geojson@7946.0.13': resolution: {integrity: sha512-bmrNrgKMOhM3WsafmbGmC+6dsF2Z308vLFsQ3a/bT8X8Sv5clVYpPars/UPq+sAaJP+5OoLAYgwbkS5QEJdLUQ==} @@ -5166,6 +5649,15 @@ packages: '@types/is-empty@1.2.3': resolution: {integrity: sha512-4J1l5d79hoIvsrKh5VUKVRA1aIdsOb10Hu5j3J2VfP/msDnfTdGPmNp2E1Wg+vs97Bktzo+MZePFFXSGoykYJw==} + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + '@types/jsdom@21.1.3': resolution: {integrity: sha512-1zzqSP+iHJYV4lB3lZhNBa012pubABkj9yG/GuXuf6LZH1cSPIJBqFDrm5JX65HHt6VOnNYdTui/0ySerRbMgA==} @@ -5337,6 +5829,9 @@ packages: '@types/source-list-map@0.1.6': resolution: {integrity: sha512-5JcVt1u5HDmlXkwOD2nslZVllBBc7HDuOICfiZah2Z0is8M8g+ddAEawbmd3VjedfDHBzxCaXLs07QEmb7y54g==} + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + '@types/styled-components@5.1.34': resolution: {integrity: sha512-mmiVvwpYklFIv9E8qfxuPyIt/OuyIrn6gMOAMOFUO3WJfSrSE+sGUoa4PiZj77Ut7bKZpaa6o1fBKS/4TOEvnA==} @@ -5391,6 +5886,15 @@ packages: '@types/ws@8.5.10': resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@15.0.19': + resolution: {integrity: sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==} + + '@types/yargs@17.0.32': + resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} + '@types/yauzl@2.10.0': resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} @@ -5400,6 +5904,17 @@ packages: '@types/zxcvbn@4.4.4': resolution: {integrity: sha512-Tuk4q7q0DnpzyJDI4aMeghGuFu2iS1QAdKpabn8JfbtfGmVDUgvZv1I7mEjP61Bvnp3ljKCC8BE6YYSTNxmvRQ==} + '@typescript-eslint/eslint-plugin@6.9.0': + resolution: {integrity: sha512-lgX7F0azQwRPB7t7WAyeHWVfW1YJ9NIgd9mvGhfQpRY56X6AVf8mwM8Wol+0z4liE7XX3QOt8MN1rUKCfSjRIA==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: 8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/eslint-plugin@7.5.0': resolution: {integrity: sha512-HpqNTH8Du34nLxbKgVMGljZMG0rJd2O9ecvr2QLYp+7512ty1j42KnsFwspPXg1Vh8an9YImf6CokUBltisZFQ==} engines: {node: ^18.18.0 || >=20.0.0} @@ -5411,6 +5926,16 @@ packages: typescript: optional: true + '@typescript-eslint/parser@6.9.0': + resolution: {integrity: sha512-GZmjMh4AJ/5gaH4XF2eXA8tMnHWP+Pm1mjQR2QN4Iz+j/zO04b9TOvJYOX2sCNIQHtRStKTxRY1FX7LhpJT4Gw==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: 8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/parser@7.5.0': resolution: {integrity: sha512-cj+XGhNujfD2/wzR1tabNsidnYRaFfEkcULdcIyVBYcXjBvBKOes+mpMBP7hMpOyk+gBcfXsrg4NBGAStQyxjQ==} engines: {node: ^18.18.0 || >=20.0.0} @@ -5429,10 +5954,24 @@ packages: resolution: {integrity: sha512-RX7a8lwgOi7am0k17NUO0+ZmMOX4PpjLtLRgLmT1d3lBYdWH4ssBUbwdmc5pdRX8rXon8v9x8vaoOSpkHfcXGA==} engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/scope-manager@6.9.0': + resolution: {integrity: sha512-1R8A9Mc39n4pCCz9o79qRO31HGNDvC7UhPhv26TovDsWPBDx+Sg3rOZdCELIA3ZmNoWAuxaMOT7aWtGRSYkQxw==} + engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/scope-manager@7.5.0': resolution: {integrity: sha512-Z1r7uJY0MDeUlql9XJ6kRVgk/sP11sr3HKXn268HZyqL7i4cEfrdFuSSY/0tUqT37l5zT0tJOsuDP16kio85iA==} engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/type-utils@6.9.0': + resolution: {integrity: sha512-XXeahmfbpuhVbhSOROIzJ+b13krFmgtc4GlEuu1WBT+RpyGPIA4Y/eGnXzjbDj5gZLzpAXO/sj+IF/x2GtTMjQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: 8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/type-utils@7.5.0': resolution: {integrity: sha512-A021Rj33+G8mx2Dqh0nMO9GyjjIBK3MqgVgZ2qlKf6CJy51wY/lkkFqq3TqqnH34XyAHUkq27IjlUkWlQRpLHw==} engines: {node: ^18.18.0 || >=20.0.0} @@ -5451,6 +5990,10 @@ packages: resolution: {integrity: sha512-qRKs9tvc3a4RBcL/9PXtKSehI/q8wuU9xYJxe97WFxnzH8NWWtcW3ffNS+EWg8uPvIerhjsEZ+rHtDqOCiH57A==} engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/types@6.9.0': + resolution: {integrity: sha512-+KB0lbkpxBkBSiVCuQvduqMJy+I1FyDbdwSpM3IoBS7APl4Bu15lStPjgBIdykdRqQNYqYNMa8Kuidax6phaEw==} + engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/types@7.5.0': resolution: {integrity: sha512-tv5B4IHeAdhR7uS4+bf8Ov3k793VEVHd45viRRkehIUZxm0WF82VPiLgHzA/Xl4TGPg1ZD49vfxBKFPecD5/mg==} engines: {node: ^18.18.0 || >=20.0.0} @@ -5473,6 +6016,15 @@ packages: typescript: optional: true + '@typescript-eslint/typescript-estree@6.9.0': + resolution: {integrity: sha512-NJM2BnJFZBEAbCfBP00zONKXvMqihZCrmwCaik0UhLr0vAgb6oguXxLX1k00oQyD+vZZ+CJn3kocvv2yxm4awQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/typescript-estree@7.5.0': resolution: {integrity: sha512-YklQQfe0Rv2PZEueLTUffiQGKQneiIEKKnfIqPIOxgM9lKSZFCjT5Ad4VqRKj/U4+kQE3fa8YQpskViL7WjdPQ==} engines: {node: ^18.18.0 || >=20.0.0} @@ -5494,6 +6046,12 @@ packages: peerDependencies: eslint: 8.56.0 + '@typescript-eslint/utils@6.9.0': + resolution: {integrity: sha512-5Wf+Jsqya7WcCO8me504FBigeQKVLAMPmUzYgDbWchINNh1KJbxCgVya3EQ2MjvJMVeXl3pofRmprqX6mfQkjQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: 8.56.0 + '@typescript-eslint/utils@7.5.0': resolution: {integrity: sha512-3vZl9u0R+/FLQcpy2EHyRGNqAS/ofJ3Ji8aebilfJe+fobK8+LbIFmrHciLVDxjDoONmufDcnVSF38KwMEOjzw==} engines: {node: ^18.18.0 || >=20.0.0} @@ -5508,6 +6066,10 @@ packages: resolution: {integrity: sha512-H6VwB/k3IuIeQOyYczyyKN8wH6ed8EwliaYHLxOIhyF0dYEIsN8+Bk3GE19qafeMKyZJJHP8+O1HiFhFLUNKSg==} engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/visitor-keys@6.9.0': + resolution: {integrity: sha512-dGtAfqjV6RFOtIP8I0B4ZTBRrlTT8NHHlZZSchQx3qReaoDeXhYM++M4So2AgFK9ZB0emRPA6JI1HkafzA2Ibg==} + engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/visitor-keys@7.5.0': resolution: {integrity: sha512-mcuHM/QircmA6O7fy6nn2w/3ditQkj+SgtOc8DW3uQ10Yfj42amm2i+6F2K4YAOPNNTmE6iM1ynM6lrSwdendA==} engines: {node: ^18.18.0 || >=20.0.0} @@ -5515,6 +6077,16 @@ packages: '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + '@urql/core@2.3.6': + resolution: {integrity: sha512-PUxhtBh7/8167HJK6WqBv6Z0piuiaZHQGYbhwpNL9aIQmLROPEdaUYkY4wh45wPQXcTpnd11l0q3Pw+TI11pdw==} + peerDependencies: + graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + + '@urql/exchange-retry@0.3.0': + resolution: {integrity: sha512-hHqer2mcdVC0eYnVNbWyi28AlGOPb2vjH3lP3/Bc8Lc8BjhMsDwFMm7WhoP5C1+cfbr/QJ6Er3H/L08wznXxfg==} + peerDependencies: + graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 + '@vitest/coverage-istanbul@1.6.0': resolution: {integrity: sha512-h/BwpXehkkS0qsNCS00QxiupAqVkNi0WT19BR0dQvlge5oHghoSVLx63fABYFoKxVb7Ue7+k6V2KokmQ1zdMpg==} peerDependencies: @@ -5544,54 +6116,21 @@ packages: '@vitest/utils@1.6.0': resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} - '@vue/compiler-core@3.3.4': - resolution: {integrity: sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==} - '@vue/compiler-core@3.4.19': resolution: {integrity: sha512-gj81785z0JNzRcU0Mq98E56e4ltO1yf8k5PQ+tV/7YHnbZkrM0fyFyuttnN8ngJZjbpofWE/m4qjKBiLl8Ju4w==} - '@vue/compiler-core@3.4.27': - resolution: {integrity: sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==} - - '@vue/compiler-dom@3.3.4': - resolution: {integrity: sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==} - '@vue/compiler-dom@3.4.19': resolution: {integrity: sha512-vm6+cogWrshjqEHTzIDCp72DKtea8Ry/QVpQRYoyTIg9k7QZDX6D8+HGURjtmatfgM8xgCFtJJaOlCaRYRK3QA==} - '@vue/compiler-dom@3.4.27': - resolution: {integrity: sha512-kUTvochG/oVgE1w5ViSr3KUBh9X7CWirebA3bezTbB5ZKBQZwR2Mwj9uoSKRMFcz4gSMzzLXBPD6KpCLb9nvWw==} - - '@vue/compiler-sfc@3.3.4': - resolution: {integrity: sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==} - '@vue/compiler-sfc@3.4.19': resolution: {integrity: sha512-LQ3U4SN0DlvV0xhr1lUsgLCYlwQfUfetyPxkKYu7dkfvx7g3ojrGAkw0AERLOKYXuAGnqFsEuytkdcComei3Yg==} - '@vue/compiler-sfc@3.4.27': - resolution: {integrity: sha512-nDwntUEADssW8e0rrmE0+OrONwmRlegDA1pD6QhVeXxjIytV03yDqTey9SBDiALsvAd5U4ZrEKbMyVXhX6mCGA==} - - '@vue/compiler-ssr@3.3.4': - resolution: {integrity: sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==} - '@vue/compiler-ssr@3.4.19': resolution: {integrity: sha512-P0PLKC4+u4OMJ8sinba/5Z/iDT84uMRRlrWzadgLA69opCpI1gG4N55qDSC+dedwq2fJtzmGald05LWR5TFfLw==} - '@vue/compiler-ssr@3.4.27': - resolution: {integrity: sha512-CVRzSJIltzMG5FcidsW0jKNQnNRYC8bT21VegyMMtHmhW3UOI7knmUehzswXLrExDLE6lQCZdrhD4ogI7c+vuw==} - - '@vue/reactivity-transform@3.3.4': - resolution: {integrity: sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==} - - '@vue/shared@3.3.4': - resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==} - '@vue/shared@3.4.19': resolution: {integrity: sha512-/KliRRHMF6LoiThEy+4c1Z4KB/gbPrGjWwJR+crg2otgrf/egKzRaCPvJ51S5oetgsgXLfc4Rm5ZgrKHZrtMSw==} - '@vue/shared@3.4.27': - resolution: {integrity: sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==} - '@webassemblyjs/ast@1.12.1': resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} @@ -5662,6 +6201,14 @@ packages: webpack-dev-server: optional: true + '@xmldom/xmldom@0.7.13': + resolution: {integrity: sha512-lm2GW5PkosIzccsaZIz7tp8cPADSIlIHWDFTR1N0SzfinhhYgeIQjFMz4rYzanCScr3DqQLeomUDArp6MWKm+g==} + engines: {node: '>=10.0.0'} + + '@xmldom/xmldom@0.8.10': + resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==} + engines: {node: '>=10.0.0'} + '@xtuc/ieee754@1.2.0': resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} @@ -5856,6 +6403,9 @@ packages: '@stacks/network': '*' '@stacks/transactions': '*' + anser@1.4.10: + resolution: {integrity: sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==} + anser@2.1.1: resolution: {integrity: sha512-nqLm4HxOTpeLOxcmB3QWmV5TcDFhW9y/fyQ+hivtDFcK4OQ+pQ5fzPnXHM1Mfcm0VkLtvVi1TCPr++Qy0Q/3EQ==} @@ -5866,11 +6416,22 @@ packages: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + + ansi-fragments@0.2.1: + resolution: {integrity: sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==} + ansi-html-community@0.0.8: resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} engines: {'0': node >= 0.8.0} hasBin: true + ansi-regex@4.1.1: + resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} + engines: {node: '>=6'} + ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -5901,6 +6462,12 @@ packages: app-root-dir@1.0.2: resolution: {integrity: sha512-jlpIfsOoNoafl92Sz//64uQHGSyMrD2vYG5d8o2a4qGvyNCvXur7bzIsWtAC/6flI2RYAp3kv8rsfBtaLm7w0g==} + appdirsjs@1.2.7: + resolution: {integrity: sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==} + + application-config-path@0.1.1: + resolution: {integrity: sha512-zy9cHePtMP0YhwG+CfHm0bgwdnga2X3gZexpdCwEj//dpb+TKajtiC8REEUJUSq6Ab4f9cgNy2l8ObXzCXFkEw==} + aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} @@ -5918,6 +6485,9 @@ packages: arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + argon2-browser@1.18.0: resolution: {integrity: sha512-ImVAGIItnFnvET1exhsQB7apRztcoC5TnlSqernMJDUjbc/DLq3UEYeXFrLPrlaIl8cVfwnXb6wX2KpFf2zxHw==} @@ -5937,9 +6507,6 @@ packages: aria-query@5.3.0: resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} - array-buffer-byte-length@1.0.0: - resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} - array-buffer-byte-length@1.0.1: resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} engines: {node: '>= 0.4'} @@ -6000,6 +6567,9 @@ packages: resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} engines: {node: '>=0.10.0'} + asap@2.0.6: + resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + asn1.js@5.4.1: resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} @@ -6016,10 +6586,18 @@ packages: assertion-error@1.1.0: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + ast-types@0.15.2: + resolution: {integrity: sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==} + engines: {node: '>=4'} + ast-types@0.16.1: resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} engines: {node: '>=4'} + astral-regex@1.0.0: + resolution: {integrity: sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==} + engines: {node: '>=4'} + astring@1.8.6: resolution: {integrity: sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==} hasBin: true @@ -6055,13 +6633,6 @@ packages: engines: {node: '>=12.9.0'} hasBin: true - autoprefixer@10.4.15: - resolution: {integrity: sha512-KCuPB8ZCIqFdA4HwKXsvz7j6gvSDNhDP7WnUjBleRkKjPdvCmHFuQ77ocavI8FT6NdvlBnE2UFr2H4Mycn8Vew==} - engines: {node: ^10 || ^12 || >=14} - hasBin: true - peerDependencies: - postcss: ^8.1.0 - autoprefixer@10.4.19: resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==} engines: {node: ^10 || ^12 || >=14} @@ -6109,11 +6680,20 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + babel-plugin-react-native-web@0.19.12: + resolution: {integrity: sha512-eYZ4+P6jNcB37lObWIg0pUbi7+3PKoU1Oie2j0C8UF3cXyXoR74tO2NBjI/FORb2LJyItJZEAmjU5pSaJYEL1w==} + babel-plugin-styled-components@2.1.4: resolution: {integrity: sha512-Xgp9g+A/cG47sUyRwwYxGM4bR/jDRg5N6it/8+HxCnbT5XNKSKDT9xm4oag/osgqjC2It/vH0yXsomOG6k558g==} peerDependencies: styled-components: '>= 2' + babel-plugin-transform-flow-enums@0.0.2: + resolution: {integrity: sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==} + + babel-preset-expo@11.0.10: + resolution: {integrity: sha512-YBg40Om31gw9IPlRw5v8elzgtPUtNEh4GSibBi5MsmmYddGg4VPjWtCZIFJChN543qRmbGb/fa/kejvLX567hQ==} + babel-runtime@6.26.0: resolution: {integrity: sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==} @@ -6245,10 +6825,21 @@ packages: resolution: {integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==} engines: {node: '>=14.16'} + bplist-creator@0.1.0: + resolution: {integrity: sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==} + bplist-parser@0.2.0: resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==} engines: {node: '>= 5.10.0'} + bplist-parser@0.3.1: + resolution: {integrity: sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA==} + engines: {node: '>= 5.10.0'} + + bplist-parser@0.3.2: + resolution: {integrity: sha512-apC2+fspHGI3mMKj+dGevkGo/tCqVB8jMb6i+OX+E29p0Iposz07fABkRIfVUPNd5A5VbuOz1bZbnmkKLYF+wQ==} + engines: {node: '>= 5.10.0'} + brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} @@ -6301,12 +6892,24 @@ packages: bs58check@3.0.1: resolution: {integrity: sha512-hjuuJvoWEybo7Hn/0xOrczQKKEKD63WguEjlhLExYs2wUBcebDC1jDNK17eEAD2lYfw82d5ASC1d7K3SWszjaQ==} + bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + + buffer-alloc-unsafe@1.1.0: + resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==} + + buffer-alloc@1.2.0: + resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==} + buffer-crc32@0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} buffer-equal-constant-time@1.0.1: resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} + buffer-fill@1.0.0: + resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==} + buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -6319,6 +6922,9 @@ packages: buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + builtins@1.0.3: + resolution: {integrity: sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==} + bundle-n-require@1.1.1: resolution: {integrity: sha512-EB2wFjXF106LQLe/CYnKCMCdLeTW47AtcEtUfiqAOgr2a08k0+YgRklur2aLfEYHlhz6baMskZ8L2U92Hh0vyA==} @@ -6326,6 +6932,12 @@ packages: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} + bundle-require@4.2.1: + resolution: {integrity: sha512-7Q/6vkyYAwOmQNRw75x+4yRtZCZJXUDmHHlFdkiV0wgv/reNjtJwpu1jPJ0w2kbEpIM0uoKI3S4/f39dU7AjSA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + peerDependencies: + esbuild: '>=0.17' + bunyan@1.8.15: resolution: {integrity: sha512-0tECWShh6wUysgucJcBAoYegf3JJoZWibxdqhTm7OHPeT42qdjkZ29QCMcKwbgU1kiH+auSIasNRXMLWXafXig==} engines: {'0': node >=0.10.0} @@ -6355,6 +6967,10 @@ packages: resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==} engines: {node: '>= 10'} + cacache@18.0.3: + resolution: {integrity: sha512-qXCd4rh6I07cnDqh8V48/94Tc/WSfj+o3Gn6NZ0aZovS255bUx8O13uKxRFd2eWG0xgsco7+YItQNPaa5E85hg==} + engines: {node: ^16.14.0 || >=18.0.0} + cacheable-lookup@5.0.4: resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} engines: {node: '>=10.6.0'} @@ -6375,6 +6991,18 @@ packages: resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} engines: {node: '>= 0.4'} + caller-callsite@2.0.0: + resolution: {integrity: sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==} + engines: {node: '>=4'} + + caller-path@2.0.0: + resolution: {integrity: sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==} + engines: {node: '>=4'} + + callsites@2.0.0: + resolution: {integrity: sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==} + engines: {node: '>=4'} + callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -6386,6 +7014,14 @@ packages: resolution: {integrity: sha512-qMKdlOfsjlezMqxkUGGMaWWs17i2HoL15tM+wtx8ld4nLrUwU58TFdvyGOz/piNP842KeO8yXvggVQSdQ828NA==} engines: {node: '>=14.16'} + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + camelcase@7.0.1: resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} engines: {node: '>=14.16'} @@ -6402,9 +7038,6 @@ packages: caniuse-lite@1.0.30001605: resolution: {integrity: sha512-nXwGlFWo34uliI9z3n6Qc0wZaf7zaZWA1CPZ169La5mV3I/gem7bst0vr5XQH5TJXZIMfDeZyOrZnSlVzKxxHQ==} - caniuse-lite@1.0.30001632: - resolution: {integrity: sha512-udx3o7yHJfUxMLkGohMlVHCvFvWmirKh9JAH/d7WOLPetlH+LTL5cocMZ0t7oZx/mdlOWXti97xLZWc8uURRHg==} - case-sensitive-paths-webpack-plugin@2.4.0: resolution: {integrity: sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==} engines: {node: '>=4'} @@ -6415,10 +7048,6 @@ packages: ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - chai@4.4.0: - resolution: {integrity: sha512-x9cHNq1uvkCdU+5xTkNh5WtgD4e4yDFCsp9jVc7N7qVeKeftv3gO/ZrviX5d+3ZfxdYnZXZYujjRInu1RogU6A==} - engines: {node: '>=4'} - chai@4.4.1: resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} engines: {node: '>=4'} @@ -6460,6 +7089,9 @@ packages: character-reference-invalid@2.0.1: resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + charenc@0.0.2: + resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} + check-error@1.0.3: resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} @@ -6501,6 +7133,11 @@ packages: engines: {node: '>=12.13.0'} hasBin: true + chrome-launcher@0.15.2: + resolution: {integrity: sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==} + engines: {node: '>=12.13.0'} + hasBin: true + chrome-trace-event@1.0.3: resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} engines: {node: '>=6.0'} @@ -6514,6 +7151,9 @@ packages: resolution: {integrity: sha512-8+MKhuLzVWNekBnej8w4M80O8Yfp91hBQimqEZx1nKEn7nNQwBa/CjjQSuK2c3vz9DukV5WRZcQz+zzLdrEC1Q==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + ci-info@2.0.0: + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} + ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} @@ -6558,6 +7198,10 @@ packages: resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} engines: {node: '>=10'} + cli-cursor@2.1.0: + resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==} + engines: {node: '>=4'} + cli-cursor@3.1.0: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} engines: {node: '>=8'} @@ -6574,6 +7218,9 @@ packages: resolution: {integrity: sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==} engines: {node: 10.* || >= 12.*} + cliui@6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} @@ -6589,6 +7236,10 @@ packages: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} + clone@2.1.2: + resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} + engines: {node: '>=0.8'} + clsx@2.1.0: resolution: {integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==} engines: {node: '>=6'} @@ -6632,6 +7283,9 @@ packages: resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} engines: {node: '>=12.5.0'} + colorette@1.4.0: + resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==} + colorette@2.0.19: resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} @@ -6649,6 +7303,9 @@ packages: comma-separated-tokens@2.0.3: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + command-exists@1.2.9: + resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==} + commander@10.0.1: resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} engines: {node: '>=14'} @@ -6664,6 +7321,10 @@ packages: resolution: {integrity: sha512-bmkUukX8wAOjHdN26xj5c4ctEV22TQ7dQYhSmuckKhToXrkUn0iIaolHdIxYYqD55nhpSPA9zPQ1yP57GdXP2A==} engines: {node: '>= 0.6.x'} + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + commander@6.2.1: resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} engines: {node: '>= 6'} @@ -6693,6 +7354,9 @@ packages: compare-versions@6.1.0: resolution: {integrity: sha512-LNZQXhqUvqUTotpZ00qLSaify3b4VFD588aRr8MKFw4CMUr98ytzCW5wDH5qx/DEY5kCDXcbcRuCqL0szEf2tg==} + component-type@1.2.2: + resolution: {integrity: sha512-99VUHREHiN5cLeHm3YLq312p6v+HUEcwtLCAtelvUDI6+SH5g5Cr85oNR2S1o6ywzL0ykMbuwLzM2ANocjEOIA==} + compressible@2.0.18: resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} engines: {node: '>= 0.6'} @@ -6734,6 +7398,10 @@ packages: resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} engines: {node: '>=0.8'} + connect@3.7.0: + resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==} + engines: {node: '>= 0.10.0'} + consola@3.2.3: resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} engines: {node: ^14.18.0 || >=16.10.0} @@ -6775,10 +7443,6 @@ packages: resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} engines: {node: '>= 0.6'} - copy-anything@3.0.5: - resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} - engines: {node: '>=12.13'} - copy-webpack-plugin@12.0.2: resolution: {integrity: sha512-SNwdBeHyII+rWvee/bTnAYyO8vfVdcSTud4EIb6jcZ8inLeWucJE0DnxXQBjlQ5zlteuuvooGQy3LIyGxhvlOA==} engines: {node: '>= 18.12.0'} @@ -6811,6 +7475,10 @@ packages: resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} engines: {node: '>= 0.10'} + cosmiconfig@5.2.1: + resolution: {integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==} + engines: {node: '>=4'} + cosmiconfig@6.0.0: resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==} engines: {node: '>=8'} @@ -6857,6 +7525,10 @@ packages: cross-sha256@1.2.0: resolution: {integrity: sha512-KViLNMDZKV7jwFqjFx+rNhG26amnFYYQ0S+VaFlVvpk8tM+2XbFia/don/SjGHg9WQxnFVi6z64CGPuF3T+nNw==} + cross-spawn@6.0.5: + resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} + engines: {node: '>=4.8'} + cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -6865,9 +7537,16 @@ packages: resolution: {integrity: sha512-ju88BYCQ2uvjO2bR+SsgLSTwTSctU+6Vp2ePbKPgSCZyy4MWZxYsT738DlKVRE5utUjobjPRm1MkTYKJxCmpTA==} engines: {node: '>=14.9.0'} + crypt@0.0.2: + resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} + crypto-browserify@3.12.0: resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} + crypto-random-string@1.0.0: + resolution: {integrity: sha512-GsVpkFPlycH7/fRR7Dhcmnoii54gV1nz7y4CWyeFS14N+JVBBhY+r8amRHE4BwSYal7BPTDp8isvAlCxyFt3Hg==} + engines: {node: '>=4'} + crypto-random-string@2.0.0: resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} engines: {node: '>=8'} @@ -6946,12 +7625,6 @@ packages: engines: {node: '>=4'} hasBin: true - cssnano-utils@4.0.2: - resolution: {integrity: sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - cssnano-utils@5.0.0: resolution: {integrity: sha512-Uij0Xdxc24L6SirFr25MlwC2rCFX6scyUmuKpzI+JQ7cyqDEwD42fJ0xfB3yLfOnRDU5LKGgjQ9FA6LYh76GWQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} @@ -7101,6 +7774,9 @@ packages: '@types/d3': ^7.0.0 d3: ^7.0.0 + dag-map@1.0.2: + resolution: {integrity: sha512-+LSAiGFwQ9dRnRdOeaj7g47ZFJcOUPukAP8J3A3fuZ1g9Y44BG+P1sgApjLXTQPOzC4+7S9Wr8kXsfpINM4jpw==} + dashdash@1.14.1: resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} engines: {node: '>=0.10'} @@ -7147,6 +7823,14 @@ packages: supports-color: optional: true + debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + debug@4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} @@ -7228,6 +7912,10 @@ packages: resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} engines: {node: '>=18'} + default-gateway@4.2.0: + resolution: {integrity: sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==} + engines: {node: '>=6'} + default-gateway@6.0.3: resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} engines: {node: '>= 10'} @@ -7276,6 +7964,9 @@ packages: delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} + denodeify@1.2.1: + resolution: {integrity: sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==} + depd@1.1.2: resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} engines: {node: '>= 0.6'} @@ -7440,6 +8131,10 @@ packages: resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==} engines: {node: '>=12'} + dotenv-expand@11.0.6: + resolution: {integrity: sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g==} + engines: {node: '>=12'} + dotenv-webpack@8.1.0: resolution: {integrity: sha512-owK1JcsPkIobeqjVrk6h7jPED/W6ZpdFsMPR+5ursB7/SdgDyO+VzAU+szK8C8u3qUhtENyYnj8eyXMR5kkGag==} engines: {node: '>=10'} @@ -7552,6 +8247,10 @@ packages: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} + env-editor@0.4.2: + resolution: {integrity: sha512-ObFo8v4rQJAE59M69QzwloxPZtd33TpYEIjtKD1rrFDcM1Gd7IkDxEBU+HriziN6HSHQnBJi8Dmy+JWkav5HKA==} + engines: {node: '>=8'} + env-paths@2.2.1: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} @@ -7561,6 +8260,9 @@ packages: engines: {node: '>=4'} hasBin: true + eol@0.9.1: + resolution: {integrity: sha512-Ds/TEoZjwggRoz/Q2O7SE3i4Jm66mqTDfmdHdq/7DKVk3bro9Q8h6WdXKdPqFLMoqxrDK5SVRzHVPOS6uuGtrg==} + err-code@2.0.3: resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} @@ -7570,6 +8272,10 @@ packages: error-stack-parser@2.1.4: resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} + errorhandler@1.5.1: + resolution: {integrity: sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==} + engines: {node: '>= 0.8'} + es-abstract@1.23.3: resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} engines: {node: '>= 0.4'} @@ -7592,6 +8298,9 @@ packages: es-module-lexer@1.4.1: resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==} + es-module-lexer@1.5.3: + resolution: {integrity: sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg==} + es-object-atoms@1.0.0: resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} engines: {node: '>= 0.4'} @@ -7634,6 +8343,11 @@ packages: peerDependencies: esbuild: '>=0.12 <1' + esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + engines: {node: '>=12'} + hasBin: true + esbuild@0.20.2: resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} engines: {node: '>=12'} @@ -7644,10 +8358,6 @@ packages: engines: {node: '>=12'} hasBin: true - escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} - engines: {node: '>=6'} - escalade@3.1.2: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} @@ -7663,6 +8373,10 @@ packages: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -7818,6 +8532,13 @@ packages: evp_bytestokey@1.0.3: resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} + exec-async@2.2.0: + resolution: {integrity: sha512-87OpwcEiMia/DeiKFzaQNBNFeN3XkkpYIh9FyOqq5mS2oKv3CBE67PXoEKcr6nodWdXNogTiQ0jE2NGuoffXPw==} + + execa@1.0.0: + resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} + engines: {node: '>=6'} + execa@4.1.0: resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} engines: {node: '>=10'} @@ -7830,6 +8551,47 @@ packages: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} + expo-asset@10.0.6: + resolution: {integrity: sha512-waP73/ccn/HZNNcGM4/s3X3icKjSSbEQ9mwc6tX34oYNg+XE5WdwOuZ9wgVVFrU7wZMitq22lQXd2/O0db8bxg==} + peerDependencies: + expo: '*' + + expo-constants@16.0.1: + resolution: {integrity: sha512-s6aTHtglp926EsugWtxN7KnpSsE9FCEjb7CgEjQQ78Gpu4btj4wB+IXot2tlqNwqv+x7xFe5veoPGfJDGF/kVg==} + peerDependencies: + expo: '*' + + expo-file-system@17.0.1: + resolution: {integrity: sha512-dYpnZJqTGj6HCYJyXAgpFkQWsiCH3HY1ek2cFZVHFoEc5tLz9gmdEgTF6nFHurvmvfmXqxi7a5CXyVm0aFYJBw==} + peerDependencies: + expo: '*' + + expo-font@12.0.5: + resolution: {integrity: sha512-h/VkN4jlHYDJ6T6pPgOYTVoDEfBY0CTKQe4pxnPDGQiE6H+DFdDgk+qWVABGpRMH0+zXoHB+AEi3OoQjXIynFA==} + peerDependencies: + expo: '*' + + expo-keep-awake@13.0.2: + resolution: {integrity: sha512-kKiwkVg/bY0AJ5q1Pxnm/GvpeB6hbNJhcFsoOWDh2NlpibhCLaHL826KHUM+WsnJRbVRxJ+K9vbPRHEMvFpVyw==} + peerDependencies: + expo: '*' + + expo-modules-autolinking@1.11.1: + resolution: {integrity: sha512-2dy3lTz76adOl7QUvbreMCrXyzUiF8lygI7iFJLjgIQIVH+43KnFWE5zBumpPbkiaq0f0uaFpN9U0RGQbnKiMw==} + hasBin: true + + expo-modules-core@1.12.11: + resolution: {integrity: sha512-CF5G6hZo/6uIUz6tj4dNRlvE5L4lakYukXPqz5ZHQ+6fLk1NQVZbRdpHjMkxO/QSBQcKUzG/ngeytpoJus7poQ==} + + expo-splash-screen@0.27.4: + resolution: {integrity: sha512-JwepK1FjbwiOK2nwIFanfzj9s7UXYnpTwLX8A9v7Ec3K4V28yu8HooSc9X60cftBw9UZrs8Gwj4PgTpQabBS9A==} + peerDependencies: + expo: '*' + + expo@51.0.8: + resolution: {integrity: sha512-bdTOiMb1f3PChtuqEZ9czUm2gMTmS0r1+H+Pkm2O3PsuLnOgxfIBzL6S37+J4cUocLBaENrmx9SOGKpzhBqXpg==} + hasBin: true + express@4.19.2: resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} engines: {node: '>= 0.10.0'} @@ -7877,6 +8639,10 @@ packages: resolution: {integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==} engines: {node: '>=6'} + fast-xml-parser@4.4.0: + resolution: {integrity: sha512-kLY3jFlwIYwBNDojclKsNAC12sfD6NwW74QB2CoNGPvtVxjliYehVunB3HYyNi+n4Tt1dAcgwYvmKF/Z18flqg==} + hasBin: true + fastest-levenshtein@1.0.16: resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} engines: {node: '>= 4.9.1'} @@ -7888,6 +8654,18 @@ packages: resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} engines: {node: '>=0.8.0'} + fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + + fbemitter@3.0.0: + resolution: {integrity: sha512-KWKaceCwKQU0+HPoop6gn4eOHk50bBv/VxjJtGMfwmJt3D29JpN4H4eisCtIPA+a8GVBam+ldMMpMjJUvpDyHw==} + + fbjs-css-vars@1.0.2: + resolution: {integrity: sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==} + + fbjs@3.0.5: + resolution: {integrity: sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==} + fd-slicer@1.1.0: resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} @@ -7895,6 +8673,9 @@ packages: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} engines: {node: ^12.20 || >= 14.13} + fetch-retry@4.1.1: + resolution: {integrity: sha512-e6eB7zN6UBSwGVwrbWVH+gdLnkW9WwHhmq2YDK1Sh30pzx1onRVGBvogTlUeWxwTa+L86NYdo4hFkh7O8ZjSnA==} + fetch-retry@5.0.6: resolution: {integrity: sha512-3yurQZ2hD9VISAhJJP9bpYFNQrHHBXE2JxxjY5aLEcDi46RmAzJE2OC9FAde0yis5ElW0jTTzs0zfg/Cca4XqQ==} @@ -7937,6 +8718,10 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} + finalhandler@1.1.2: + resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} + engines: {node: '>= 0.8'} + finalhandler@1.2.0: resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} engines: {node: '>= 0.8'} @@ -7971,6 +8756,9 @@ packages: find-yarn-workspace-root2@1.2.16: resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} + find-yarn-workspace-root@2.0.0: + resolution: {integrity: sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==} + firefox-profile@4.3.2: resolution: {integrity: sha512-/C+Eqa0YgIsQT2p66p7Ygzqe7NlE/GNTbhw2SBCm5V3OsWDPITNdTPEcH2Q2fe7eMpYYNPKdUcuVioZBZiR6kA==} hasBin: true @@ -7990,6 +8778,13 @@ packages: flatted@3.3.1: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + flow-enums-runtime@0.0.6: + resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==} + + flow-parser@0.206.0: + resolution: {integrity: sha512-HVzoK3r6Vsg+lKvlIZzaWNBVai+FXTX1wdYhz/wVlH13tb/gOdLXmlTqy6odmTBhT5UoWUbq0k8263Qhr9d88w==} + engines: {node: '>=0.4.0'} + flow-parser@0.225.1: resolution: {integrity: sha512-50fjR6zbLQcpq5IFNkheUSY/AFPxVeeLiBM5B3NQBSKId2G0cUuExOlDDOguxc49dl9lnh8hI1xcYlPJWNp4KQ==} engines: {node: '>=0.4.0'} @@ -8003,6 +8798,9 @@ packages: debug: optional: true + fontfaceobserver@2.3.0: + resolution: {integrity: sha512-6FPvD/IVyT4ZlNe7Wcn5Fb/4ChigpucKYSvD6a+0iMoLn2inpo711eyIcKjmDtE5XNcgAkSH9uN/nfAeZzHEfg==} + for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -8046,6 +8844,10 @@ packages: resolution: {integrity: sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==} engines: {node: '>= 0.12'} + form-data@3.0.1: + resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} + engines: {node: '>= 6'} + form-data@4.0.0: resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} engines: {node: '>= 6'} @@ -8066,6 +8868,10 @@ packages: fraction.js@4.3.7: resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + freeport-async@2.0.0: + resolution: {integrity: sha512-K7od3Uw45AJg00XUmy15+Hae2hOcgKcmN3/EF6Y7i01O0gaqiRx8sUSpsb9+BRNL8RPBrhzPsVfy8q9ADlJuWQ==} + engines: {node: '>=8'} + fresh@0.5.2: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} engines: {node: '>= 0.6'} @@ -8096,6 +8902,10 @@ packages: resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} engines: {node: '>=6 <7 || >=8'} + fs-extra@9.0.0: + resolution: {integrity: sha512-pmEYSk3vYsG/bF651KPUXZ+hvjpgWYw/Gc7W9NFUe3ZVLczKKWIij3IKpOrQcdw4TILtibFslZ0UmR8Vvzig4g==} + engines: {node: '>=10'} + fs-extra@9.0.1: resolution: {integrity: sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==} engines: {node: '>=10'} @@ -8108,6 +8918,10 @@ packages: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} + fs-minipass@3.0.3: + resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + fs-monkey@1.0.5: resolution: {integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==} @@ -8183,10 +8997,18 @@ packages: get-params@0.1.2: resolution: {integrity: sha512-41eOxtlGgHQRbFyA8KTH+w+32Em3cRdfBud7j67ulzmIfmaHX9doq47s0fa4P5o9H64BZX9nrYI6sJvk46Op+Q==} + get-port@3.2.0: + resolution: {integrity: sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==} + engines: {node: '>=4'} + get-port@7.0.0: resolution: {integrity: sha512-mDHFgApoQd+azgMdwylJrv2DX47ywGq1i5VFJE7fZ0dttNq3iQMfsU4IvEgBHojA3KqEudyu7Vq+oN8kNaNkWw==} engines: {node: '>=16'} + get-stream@4.1.0: + resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} + engines: {node: '>=6'} + get-stream@5.2.0: resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} engines: {node: '>=8'} @@ -8210,6 +9032,10 @@ packages: resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} engines: {node: '>=0.10.0'} + getenv@1.0.0: + resolution: {integrity: sha512-7yetJWqbS9sbn0vIfliPsFgoXMKn/YMF+Wuiog97x+urnSRRRZ7xB+uVkwGKzRgq9CDFfMQnE9ruL5DHv9c6Xg==} + engines: {node: '>=6'} + getopts@2.3.0: resolution: {integrity: sha512-5eDf9fuSXwxBL6q5HX+dhDj+dslFGWzU5thZ9kNKUkcPtaPdatmUFKwHFrLb/uf/WpA4BHET+AX3Scl56cAjpA==} @@ -8246,6 +9072,11 @@ packages: glob@6.0.4: resolution: {integrity: sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==} + deprecated: Glob versions prior to v9 are no longer supported + + glob@7.1.6: + resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} + deprecated: Glob versions prior to v9 are no longer supported glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} @@ -8321,6 +9152,16 @@ packages: graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + graphql-tag@2.12.6: + resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==} + engines: {node: '>=10'} + peerDependencies: + graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + + graphql@15.8.0: + resolution: {integrity: sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==} + engines: {node: '>= 10.x'} + graphql@16.8.1: resolution: {integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} @@ -8430,6 +9271,34 @@ packages: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true + hermes-estree@0.15.0: + resolution: {integrity: sha512-lLYvAd+6BnOqWdnNbP/Q8xfl8LOGw4wVjfrNd9Gt8eoFzhNBRVD95n4l2ksfMVOoxuVyegs85g83KS9QOsxbVQ==} + + hermes-estree@0.18.2: + resolution: {integrity: sha512-KoLsoWXJ5o81nit1wSyEZnWUGy9cBna9iYMZBR7skKh7okYAYKqQ9/OczwpMHn/cH0hKDyblulGsJ7FknlfVxQ==} + + hermes-estree@0.19.1: + resolution: {integrity: sha512-daLGV3Q2MKk8w4evNMKwS8zBE/rcpA800nu1Q5kM08IKijoSnPe9Uo1iIxzPKRkn95IxxsgBMPeYHt3VG4ej2g==} + + hermes-estree@0.20.1: + resolution: {integrity: sha512-SQpZK4BzR48kuOg0v4pb3EAGNclzIlqMj3Opu/mu7bbAoFw6oig6cEt/RAi0zTFW/iW6Iz9X9ggGuZTAZ/yZHg==} + + hermes-parser@0.15.0: + resolution: {integrity: sha512-Q1uks5rjZlE9RjMMjSUCkGrEIPI5pKJILeCtK1VmTj7U4pf3wVPoo+cxfu+s4cBAPy2JzikIIdCZgBoR6x7U1Q==} + + hermes-parser@0.18.2: + resolution: {integrity: sha512-1eQfvib+VPpgBZ2zYKQhpuOjw1tH+Emuib6QmjkJWJMhyjM8xnXMvA+76o9LhF0zOAJDZgPfQhg43cyXEyl5Ew==} + + hermes-parser@0.19.1: + resolution: {integrity: sha512-Vp+bXzxYJWrpEuJ/vXxUsLnt0+y4q9zyi4zUlkLqD8FKv4LjIfOvP69R/9Lty3dCyKh0E2BU7Eypqr63/rKT/A==} + + hermes-parser@0.20.1: + resolution: {integrity: sha512-BL5P83cwCogI8D7rrDCgsFY0tdYUtmFP9XaXtl2IQjC+2Xo+4okjfXintlTxcIwl4qeGddEl28Z11kbVIw0aNA==} + + hermes-profile-transformer@0.0.6: + resolution: {integrity: sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==} + engines: {node: '>=8'} + hex-rgba@1.0.2: resolution: {integrity: sha512-MKla68wFGv+i7zU3Q4giWN74f+zWdkuf2Tk21fISV7aw55r8dH/noBbH5JsVlM4Z2WRTYCEmSxsoZ1QR/o68jg==} @@ -8445,6 +9314,10 @@ packages: hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + hosted-git-info@3.0.8: + resolution: {integrity: sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==} + engines: {node: '>=10'} + hosted-git-info@4.1.0: resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} engines: {node: '>=10'} @@ -8617,6 +9490,10 @@ packages: immutable@4.3.6: resolution: {integrity: sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==} + import-fresh@2.0.0: + resolution: {integrity: sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==} + engines: {node: '>=4'} + import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} @@ -8674,9 +9551,9 @@ packages: inline-style-parser@0.2.2: resolution: {integrity: sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ==} - internal-slot@1.0.6: - resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} - engines: {node: '>= 0.4'} + internal-ip@4.3.0: + resolution: {integrity: sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==} + engines: {node: '>=6'} internal-slot@1.0.7: resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} @@ -8701,6 +9578,10 @@ packages: resolution: {integrity: sha512-CYdFeFexxhv/Bcny+Q0BfOV+ltRlJcd4BBZBYFX/O0u4npJrgZtIcjokegtiSMAvlMTJ+Koq0GBCc//3bueQxw==} engines: {node: '>=8'} + ip-regex@2.1.0: + resolution: {integrity: sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==} + engines: {node: '>=4'} + ip@2.0.1: resolution: {integrity: sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==} @@ -8736,9 +9617,6 @@ packages: resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} engines: {node: '>= 0.4'} - is-array-buffer@3.0.2: - resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} - is-array-buffer@3.0.4: resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} engines: {node: '>= 0.4'} @@ -8764,6 +9642,9 @@ packages: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} + is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} @@ -8792,6 +9673,10 @@ packages: is-deflate@1.0.0: resolution: {integrity: sha512-YDoFpuZWu1VRXlsnlYMzKyVRITXj7Ej/V9gXQ2/pAe7X1J7M/RNOqaIYi6qUn+B7nGyB9pDXrv02dsB58d2ZAQ==} + is-directory@0.3.1: + resolution: {integrity: sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==} + engines: {node: '>=0.10.0'} + is-docker@2.2.1: resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} engines: {node: '>=8'} @@ -8809,6 +9694,10 @@ packages: resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} engines: {node: '>=0.10.0'} + is-extglob@1.0.0: + resolution: {integrity: sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==} + engines: {node: '>=0.10.0'} + is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -8816,6 +9705,10 @@ packages: is-finalizationregistry@1.0.2: resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} + is-fullwidth-code-point@2.0.0: + resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} + engines: {node: '>=4'} + is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} @@ -8824,7 +9717,11 @@ packages: resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} engines: {node: '>= 0.4'} - is-glob@4.0.3: + is-glob@2.0.1: + resolution: {integrity: sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==} + engines: {node: '>=0.10.0'} + + is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -8859,12 +9756,13 @@ packages: resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} engines: {node: '>=12'} + is-invalid-path@0.1.0: + resolution: {integrity: sha512-aZMG0T3F34mTg4eTdszcGXx54oiZ4NtHSft3hWNJMGJXUUqdIj3cOZuHcU0nCWWcY3jd7yRe/3AEm3vSNTpBGQ==} + engines: {node: '>=0.10.0'} + is-lambda@1.0.1: resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} - is-map@2.0.2: - resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} - is-map@2.0.3: resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} engines: {node: '>= 0.4'} @@ -8954,20 +9852,18 @@ packages: resolution: {integrity: sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==} engines: {node: '>=6'} - is-set@2.0.2: - resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} - is-set@2.0.3: resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} engines: {node: '>= 0.4'} - is-shared-array-buffer@1.0.2: - resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} - is-shared-array-buffer@1.0.3: resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} engines: {node: '>= 0.4'} + is-stream@1.1.0: + resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} + engines: {node: '>=0.10.0'} + is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} @@ -9006,8 +9902,9 @@ packages: is-utf8@0.2.1: resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} - is-weakmap@2.0.1: - resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} + is-valid-path@0.1.1: + resolution: {integrity: sha512-+kwPrVDu9Ms03L90Qaml+79+6DZHqHyRoANI6IsZJ/g8frhnfchDOBCa0RbQ6/kdHt5CS5OeIEyrYznNuVN+8A==} + engines: {node: '>=0.10.0'} is-weakmap@2.0.2: resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} @@ -9016,9 +9913,6 @@ packages: is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} - is-weakset@2.0.2: - resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} - is-weakset@2.0.3: resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} engines: {node: '>= 0.4'} @@ -9027,6 +9921,10 @@ packages: resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} engines: {node: '>=12.13'} + is-wsl@1.1.0: + resolution: {integrity: sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==} + engines: {node: '>=4'} + is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} @@ -9102,21 +10000,54 @@ packages: jed@1.1.1: resolution: {integrity: sha512-z35ZSEcXHxLW4yumw0dF6L464NT36vmx3wxJw8MDpraBcWuNVgUPZgPJKcu1HekNgwlMFNqol7i/IpSbjhqwqA==} + jest-environment-node@29.7.0: + resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-mock@29.7.0: + resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-validate@29.7.0: + resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-worker@27.5.1: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} + jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jimp-compact@0.16.1: + resolution: {integrity: sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww==} + jiti@1.21.0: resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} hasBin: true - jiti@1.21.4: - resolution: {integrity: sha512-DUP4hpE2Of384xS46IiRm1JK3r4Ix4ADQI5k65y4joiZF7Oeo2ySdYG7PbqioljFalu1ndzto0Sb5IfExYliYA==} - hasBin: true - jju@1.4.0: resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + joi@17.13.1: + resolution: {integrity: sha512-vaBlIKCyo4FCUtCm7Eu4QZd/q02bWcxfUO6YSXAZOWF6gzcLBeba8kwotUdYJjDLW8Cz8RywsSOqiNJZW0mNvg==} + + join-component@1.1.0: + resolution: {integrity: sha512-bF7vcQxbODoGK1imE2P9GS9aw4zD0Sd+Hni68IMZLj7zRnquH7dXUmMw9hDI5S/Jzt7q+IyTXN0rSg2GI0IKhQ==} + jose@4.13.1: resolution: {integrity: sha512-MSJQC5vXco5Br38mzaQKiq9mwt7lwj2eXpgpRyQYNHYt2lq1PjkWa7DLXX0WVcQLE9HhMh3jPiufS7fhJf+CLQ==} @@ -9134,6 +10065,10 @@ packages: react: optional: true + joycon@3.1.1: + resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} + engines: {node: '>=10'} + js-cookie@3.0.1: resolution: {integrity: sha512-+0rgsUXZu4ncpPxRL+lNEptWMOWl9etvPHc/koSRp6MPwpRYAhmk0dUG00J4bxVV3r9uUzfo24wW0knS07SKSw==} engines: {node: '>=12'} @@ -9161,6 +10096,18 @@ packages: jsbn@0.1.1: resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} + jsc-android@250231.0.0: + resolution: {integrity: sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==} + + jsc-safe-url@0.2.4: + resolution: {integrity: sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==} + + jscodeshift@0.14.0: + resolution: {integrity: sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==} + hasBin: true + peerDependencies: + '@babel/preset-env': ^7.1.6 + jscodeshift@0.15.1: resolution: {integrity: sha512-hIJfxUy8Rt4HkJn/zZPU9ChKfKZM1342waJ1QC2e2YsPcWhM+3BJ4dcfQCzArTrk1jJeNLB341H+qOcEHRxJZg==} hasBin: true @@ -9194,6 +10141,9 @@ packages: json-merge-patch@1.0.2: resolution: {integrity: sha512-M6Vp2GN9L7cfuMXiWOmHj9bEFbeC250iVtcKQbqVgEsDVYnIsrNsbU+h/Y/PkbBQCtEa4Bez+Ebv0zfbC8ObLg==} + json-parse-better-errors@1.0.2: + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} @@ -9204,6 +10154,10 @@ packages: json-schema-compare@0.2.2: resolution: {integrity: sha512-c4WYmDKyJXhs7WWvAWm3uIYnfyWFoIp+JEoX34rctVvEkMYCPGhXtvmFFXiffBbxfZsvQ0RNnV5H7GvDF5HCqQ==} + json-schema-deref-sync@0.13.0: + resolution: {integrity: sha512-YBOEogm5w9Op337yb6pAT6ZXDqlxAsQCanM3grid8lMWNxRJO/zWEJi3ZzqDL8boWfwhTFym5EFrNgWwpqcBRg==} + engines: {node: '>=6.0.0'} + json-schema-merge-allof@0.6.0: resolution: {integrity: sha512-LEw4VMQVRceOPLuGRWcxW5orTTiR9ZAtqTAe4rQUjNADTeR81bezBVFa0MqIwp0YmHIM1KkhSjZM7o+IQhaPbQ==} @@ -9368,6 +10322,12 @@ packages: lighthouse-logger@1.4.2: resolution: {integrity: sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==} + lightningcss-darwin-arm64@1.19.0: + resolution: {integrity: sha512-wIJmFtYX0rXHsXHSr4+sC5clwblEMji7HHQ4Ub1/CznVRxtCFha6JIt5JZaNf8vQrfdZnBxLLC6R8pC818jXqg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + lightningcss-darwin-arm64@1.23.0: resolution: {integrity: sha512-kl4Pk3Q2lnE6AJ7Qaij47KNEfY2/UXRZBT/zqGA24B8qwkgllr/j7rclKOf1axcslNXvvUdztjo4Xqh39Yq1aA==} engines: {node: '>= 12.0.0'} @@ -9380,6 +10340,12 @@ packages: cpu: [arm64] os: [darwin] + lightningcss-darwin-x64@1.19.0: + resolution: {integrity: sha512-Lif1wD6P4poaw9c/4Uh2z+gmrWhw/HtXFoeZ3bEsv6Ia4tt8rOJBdkfVaUJ6VXmpKHALve+iTyP2+50xY1wKPw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + lightningcss-darwin-x64@1.23.0: resolution: {integrity: sha512-KeRFCNoYfDdcolcFXvokVw+PXCapd2yHS1Diko1z1BhRz/nQuD5XyZmxjWdhmhN/zj5sH8YvWsp0/lPLVzqKpg==} engines: {node: '>= 12.0.0'} @@ -9404,6 +10370,12 @@ packages: cpu: [x64] os: [freebsd] + lightningcss-linux-arm-gnueabihf@1.19.0: + resolution: {integrity: sha512-P15VXY5682mTXaiDtbnLYQflc8BYb774j2R84FgDLJTN6Qp0ZjWEFyN1SPqyfTj2B2TFjRHRUvQSSZ7qN4Weig==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + lightningcss-linux-arm-gnueabihf@1.23.0: resolution: {integrity: sha512-fBamf/bULvmWft9uuX+bZske236pUZEoUlaHNBjnueaCTJ/xd8eXgb0cEc7S5o0Nn6kxlauMBnqJpF70Bgq3zg==} engines: {node: '>= 12.0.0'} @@ -9416,6 +10388,12 @@ packages: cpu: [arm] os: [linux] + lightningcss-linux-arm64-gnu@1.19.0: + resolution: {integrity: sha512-zwXRjWqpev8wqO0sv0M1aM1PpjHz6RVIsBcxKszIG83Befuh4yNysjgHVplF9RTU7eozGe3Ts7r6we1+Qkqsww==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + lightningcss-linux-arm64-gnu@1.23.0: resolution: {integrity: sha512-RS7sY77yVLOmZD6xW2uEHByYHhQi5JYWmgVumYY85BfNoVI3DupXSlzbw+b45A9NnVKq45+oXkiN6ouMMtTwfg==} engines: {node: '>= 12.0.0'} @@ -9428,6 +10406,12 @@ packages: cpu: [arm64] os: [linux] + lightningcss-linux-arm64-musl@1.19.0: + resolution: {integrity: sha512-vSCKO7SDnZaFN9zEloKSZM5/kC5gbzUjoJQ43BvUpyTFUX7ACs/mDfl2Eq6fdz2+uWhUh7vf92c4EaaP4udEtA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + lightningcss-linux-arm64-musl@1.23.0: resolution: {integrity: sha512-cU00LGb6GUXCwof6ACgSMKo3q7XYbsyTj0WsKHLi1nw7pV0NCq8nFTn6ZRBYLoKiV8t+jWl0Hv8KkgymmK5L5g==} engines: {node: '>= 12.0.0'} @@ -9440,6 +10424,12 @@ packages: cpu: [arm64] os: [linux] + lightningcss-linux-x64-gnu@1.19.0: + resolution: {integrity: sha512-0AFQKvVzXf9byrXUq9z0anMGLdZJS+XSDqidyijI5njIwj6MdbvX2UZK/c4FfNmeRa2N/8ngTffoIuOUit5eIQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + lightningcss-linux-x64-gnu@1.23.0: resolution: {integrity: sha512-q4jdx5+5NfB0/qMbXbOmuC6oo7caPnFghJbIAV90cXZqgV8Am3miZhC4p+sQVdacqxfd+3nrle4C8icR3p1AYw==} engines: {node: '>= 12.0.0'} @@ -9452,6 +10442,12 @@ packages: cpu: [x64] os: [linux] + lightningcss-linux-x64-musl@1.19.0: + resolution: {integrity: sha512-SJoM8CLPt6ECCgSuWe+g0qo8dqQYVcPiW2s19dxkmSI5+Uu1GIRzyKA0b7QqmEXolA+oSJhQqCmJpzjY4CuZAg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + lightningcss-linux-x64-musl@1.23.0: resolution: {integrity: sha512-G9Ri3qpmF4qef2CV/80dADHKXRAQeQXpQTLx7AiQrBYQHqBjB75oxqj06FCIe5g4hNCqLPnM9fsO4CyiT1sFSQ==} engines: {node: '>= 12.0.0'} @@ -9464,6 +10460,12 @@ packages: cpu: [x64] os: [linux] + lightningcss-win32-x64-msvc@1.19.0: + resolution: {integrity: sha512-C+VuUTeSUOAaBZZOPT7Etn/agx/MatzJzGRkeV+zEABmPuntv1zihncsi+AyGmjkkzq3wVedEy7h0/4S84mUtg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + lightningcss-win32-x64-msvc@1.23.0: resolution: {integrity: sha512-1rcBDJLU+obPPJM6qR5fgBUiCdZwZLafZM5f9kwjFLkb/UBNIzmae39uCSmh71nzPCTXZqHbvwu23OWnWEz+eg==} engines: {node: '>= 12.0.0'} @@ -9476,6 +10478,10 @@ packages: cpu: [x64] os: [win32] + lightningcss@1.19.0: + resolution: {integrity: sha512-yV5UR7og+Og7lQC+70DA7a8ta1uiOPnWPJfxa0wnxylev5qfo4P+4iMpzWAdYWOca4jdNQZii+bDL/l+4hUXIA==} + engines: {node: '>= 12.0.0'} + lightningcss@1.23.0: resolution: {integrity: sha512-SEArWKMHhqn/0QzOtclIwH5pXIYQOUEkF8DgICd/105O+GCgd7jxjNod/QPnBCSWvpRHQBGVz5fQ9uScby03zA==} engines: {node: '>= 12.0.0'} @@ -9484,8 +10490,9 @@ packages: resolution: {integrity: sha512-V0RMVZzK1+rCHpymRv4URK2lNhIRyO8g7U7zOFwVAhJuat74HtkjIQpQRKNCwFEYkRGpafOpmXXLoaoBcyVtBg==} engines: {node: '>= 12.0.0'} - lil-fp@1.4.5: - resolution: {integrity: sha512-RrMQ2dB7SDXriFPZMMHEmroaSP6lFw3QEV7FOfSkf19kvJnDzHqKMc2P9HOf5uE8fOp5YxodSrq7XxWjdeC2sw==} + lilconfig@3.1.2: + resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} + engines: {node: '>=14'} lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -9503,6 +10510,10 @@ packages: load-plugin@6.0.2: resolution: {integrity: sha512-3KRkTvCOsyNrx4zvBl/+ZMqPdVyp26TIf6xkmfEGuGwCfNQ/HzhktwbJCxd1KJpzPbK42t/WVOL3cX+TDaMRuQ==} + load-tsconfig@0.2.5: + resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + load-yaml-file@0.2.0: resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} engines: {node: '>=6'} @@ -9590,6 +10601,9 @@ packages: lodash.sortby@4.7.0: resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + lodash.throttle@4.1.1: + resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} + lodash.uniq@4.5.0: resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} @@ -9599,6 +10613,10 @@ packages: lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + log-symbols@2.2.0: + resolution: {integrity: sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==} + engines: {node: '>=4'} + log-symbols@4.1.0: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} engines: {node: '>=10'} @@ -9607,6 +10625,10 @@ packages: resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} engines: {node: '>=12'} + logkitty@0.7.1: + resolution: {integrity: sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==} + hasBin: true + loglevel@1.8.1: resolution: {integrity: sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg==} engines: {node: '>= 0.6.0'} @@ -9663,10 +10685,6 @@ packages: magic-string@0.30.10: resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} - magic-string@0.30.5: - resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} - engines: {node: '>=12'} - magic-string@0.30.8: resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} engines: {node: '>=12'} @@ -9697,6 +10715,9 @@ packages: resolution: {integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==} engines: {node: '>= 10'} + makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + map-age-cleaner@0.1.3: resolution: {integrity: sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==} engines: {node: '>=6'} @@ -9738,9 +10759,23 @@ packages: resolution: {integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==} engines: {node: '>=10'} + md5-file@3.2.3: + resolution: {integrity: sha512-3Tkp1piAHaworfcCgH0jKbTvj1jWWFgbvh2cXaNCgHwyTCBxxvD1Y04rmfpvdPm1P4oXMOpm6+2H7sr7v9v8Fw==} + engines: {node: '>=0.10'} + hasBin: true + md5.js@1.3.5: resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + md5@2.2.1: + resolution: {integrity: sha512-PlGG4z5mBANDGCKsYQe0CaUYHdZYZt8ZPZLmEt+Urf0W4GlpTX4HescwHU+dc9+Z/G/vZKYZYFrwgm9VxK6QOQ==} + + md5@2.3.0: + resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==} + + md5hex@1.0.0: + resolution: {integrity: sha512-c2YOUbp33+6thdCUi34xIyOU/a7bvGKj/3DB1iaPMTuPHf/Q2d5s4sn1FaCOO43XkXggnb08y5W2PU8UNYNLKQ==} + mdast-util-find-and-replace@3.0.1: resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} @@ -9808,6 +10843,9 @@ packages: engines: {node: '>= 4.0.0'} deprecated: this will be v4 + memoize-one@5.2.1: + resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} + memoize-one@6.0.0: resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} @@ -9818,6 +10856,9 @@ packages: memoizerific@1.11.3: resolution: {integrity: sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog==} + memory-cache@0.2.0: + resolution: {integrity: sha512-OcjA+jzjOYzKmKS6IQVALHLVz+rNTMPoJvCztFaZxwG14wtAW7VRZjwTQu06vKCYOxh4jVnik7ya0SXTB0W+xA==} + meow@11.0.0: resolution: {integrity: sha512-Cl0yeeIrko6d94KpUo1M+0X1sB14ikoaqlIGuTH1fW4I+E3+YljL54/hb/BWmVfrV9tTV9zU04+xjw08Fh2WkA==} engines: {node: '>=14.16'} @@ -9840,6 +10881,122 @@ packages: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} + metro-babel-transformer@0.80.5: + resolution: {integrity: sha512-sxH6hcWCorhTbk4kaShCWsadzu99WBL4Nvq4m/sDTbp32//iGuxtAnUK+ZV+6IEygr2u9Z0/4XoZ8Sbcl71MpA==} + engines: {node: '>=18'} + + metro-babel-transformer@0.80.9: + resolution: {integrity: sha512-d76BSm64KZam1nifRZlNJmtwIgAeZhZG3fi3K+EmPOlrR8rDtBxQHDSN3fSGeNB9CirdTyabTMQCkCup6BXFSQ==} + engines: {node: '>=18'} + + metro-cache-key@0.80.5: + resolution: {integrity: sha512-fr3QLZUarsB3tRbVcmr34kCBsTHk0Sh9JXGvBY/w3b2lbre+Lq5gtgLyFElHPecGF7o4z1eK9r3ubxtScHWcbA==} + engines: {node: '>=18'} + + metro-cache-key@0.80.9: + resolution: {integrity: sha512-hRcYGhEiWIdM87hU0fBlcGr+tHDEAT+7LYNCW89p5JhErFt/QaAkVx4fb5bW3YtXGv5BTV7AspWPERoIb99CXg==} + engines: {node: '>=18'} + + metro-cache@0.80.5: + resolution: {integrity: sha512-2u+dQ4PZwmC7eZo9uMBNhQQMig9f+w4QWBZwXCdVy/RYOHM0eObgGdMEOwODo73uxie82T9lWzxr3aZOZ+Nqtw==} + engines: {node: '>=18'} + + metro-cache@0.80.9: + resolution: {integrity: sha512-ujEdSI43QwI+Dj2xuNax8LMo8UgKuXJEdxJkzGPU6iIx42nYa1byQ+aADv/iPh5sh5a//h5FopraW5voXSgm2w==} + engines: {node: '>=18'} + + metro-config@0.80.5: + resolution: {integrity: sha512-elqo/lwvF+VjZ1OPyvmW/9hSiGlmcqu+rQvDKw5F5WMX48ZC+ySTD1WcaD7e97pkgAlJHVYqZ98FCjRAYOAFRQ==} + engines: {node: '>=18'} + + metro-config@0.80.9: + resolution: {integrity: sha512-28wW7CqS3eJrunRGnsibWldqgwRP9ywBEf7kg+uzUHkSFJNKPM1K3UNSngHmH0EZjomizqQA2Zi6/y6VdZMolg==} + engines: {node: '>=18'} + + metro-core@0.80.5: + resolution: {integrity: sha512-vkLuaBhnZxTVpaZO8ZJVEHzjaqSXpOdpAiztSZ+NDaYM6jEFgle3/XIbLW91jTSf2+T8Pj5yB1G7KuOX+BcVwg==} + engines: {node: '>=18'} + + metro-core@0.80.9: + resolution: {integrity: sha512-tbltWQn+XTdULkGdzHIxlxk4SdnKxttvQQV3wpqqFbHDteR4gwCyTR2RyYJvxgU7HELfHtrVbqgqAdlPByUSbg==} + engines: {node: '>=18'} + + metro-file-map@0.80.5: + resolution: {integrity: sha512-bKCvJ05drjq6QhQxnDUt3I8x7bTcHo3IIKVobEr14BK++nmxFGn/BmFLRzVBlghM6an3gqwpNEYxS5qNc+VKcg==} + engines: {node: '>=18'} + + metro-file-map@0.80.9: + resolution: {integrity: sha512-sBUjVtQMHagItJH/wGU9sn3k2u0nrCl0CdR4SFMO1tksXLKbkigyQx4cbpcyPVOAmGTVuy3jyvBlELaGCAhplQ==} + engines: {node: '>=18'} + + metro-minify-terser@0.80.5: + resolution: {integrity: sha512-S7oZLLcab6YXUT6jYFX/ZDMN7Fq6xBGGAG8liMFU1UljX6cTcEC2u+UIafYgCLrdVexp/+ClxrIetVPZ5LtL/g==} + engines: {node: '>=18'} + + metro-minify-terser@0.80.9: + resolution: {integrity: sha512-FEeCeFbkvvPuhjixZ1FYrXtO0araTpV6UbcnGgDUpH7s7eR5FG/PiJz3TsuuPP/HwCK19cZtQydcA2QrCw446A==} + engines: {node: '>=18'} + + metro-resolver@0.80.5: + resolution: {integrity: sha512-haJ/Hveio3zv/Fr4eXVdKzjUeHHDogYok7OpRqPSXGhTXisNXB+sLN7CpcUrCddFRUDLnVaqQOYwhYsFndgUwA==} + engines: {node: '>=18'} + + metro-resolver@0.80.9: + resolution: {integrity: sha512-wAPIjkN59BQN6gocVsAvvpZ1+LQkkqUaswlT++cJafE/e54GoVkMNCmrR4BsgQHr9DknZ5Um/nKueeN7kaEz9w==} + engines: {node: '>=18'} + + metro-runtime@0.80.5: + resolution: {integrity: sha512-L0syTWJUdWzfUmKgkScr6fSBVTh6QDr8eKEkRtn40OBd8LPagrJGySBboWSgbyn9eIb4ayW3Y347HxgXBSAjmg==} + engines: {node: '>=18'} + + metro-runtime@0.80.9: + resolution: {integrity: sha512-8PTVIgrVcyU+X/rVCy/9yxNlvXsBCk5JwwkbAm/Dm+Abo6NBGtNjWF0M1Xo/NWCb4phamNWcD7cHdR91HhbJvg==} + engines: {node: '>=18'} + + metro-source-map@0.80.5: + resolution: {integrity: sha512-DwSF4l03mKPNqCtyQ6K23I43qzU1BViAXnuH81eYWdHglP+sDlPpY+/7rUahXEo6qXEHXfAJgVoo1sirbXbmsQ==} + engines: {node: '>=18'} + + metro-source-map@0.80.9: + resolution: {integrity: sha512-RMn+XS4VTJIwMPOUSj61xlxgBvPeY4G6s5uIn6kt6HB6A/k9ekhr65UkkDD7WzHYs3a9o869qU8tvOZvqeQzgw==} + engines: {node: '>=18'} + + metro-symbolicate@0.80.5: + resolution: {integrity: sha512-IsM4mTYvmo9JvIqwEkCZ5+YeDVPST78Q17ZgljfLdHLSpIivOHp9oVoiwQ/YGbLx0xRHRIS/tKiXueWBnj3UWA==} + engines: {node: '>=18'} + hasBin: true + + metro-symbolicate@0.80.9: + resolution: {integrity: sha512-Ykae12rdqSs98hg41RKEToojuIW85wNdmSe/eHUgMkzbvCFNVgcC0w3dKZEhSsqQOXapXRlLtHkaHLil0UD/EA==} + engines: {node: '>=18'} + hasBin: true + + metro-transform-plugins@0.80.5: + resolution: {integrity: sha512-7IdlTqK/k5+qE3RvIU5QdCJUPk4tHWEqgVuYZu8exeW+s6qOJ66hGIJjXY/P7ccucqF+D4nsbAAW5unkoUdS6g==} + engines: {node: '>=18'} + + metro-transform-plugins@0.80.9: + resolution: {integrity: sha512-UlDk/uc8UdfLNJhPbF3tvwajyuuygBcyp+yBuS/q0z3QSuN/EbLllY3rK8OTD9n4h00qZ/qgxGv/lMFJkwP4vg==} + engines: {node: '>=18'} + + metro-transform-worker@0.80.5: + resolution: {integrity: sha512-Q1oM7hfP+RBgAtzRFBDjPhArELUJF8iRCZ8OidqCpYzQJVGuJZ7InSnIf3hn1JyqiUQwv2f1LXBO78i2rAjzyA==} + engines: {node: '>=18'} + + metro-transform-worker@0.80.9: + resolution: {integrity: sha512-c/IrzMUVnI0hSVVit4TXzt3A1GiUltGVlzCmLJWxNrBGHGrJhvgePj38+GXl1Xf4Fd4vx6qLUkKMQ3ux73bFLQ==} + engines: {node: '>=18'} + + metro@0.80.5: + resolution: {integrity: sha512-OE/CGbOgbi8BlTN1QqJgKOBaC27dS0JBQw473JcivrpgVnqIsluROA7AavEaTVUrB9wPUZvoNVDROn5uiM2jfw==} + engines: {node: '>=18'} + hasBin: true + + metro@0.80.9: + resolution: {integrity: sha512-Bc57Xf3GO2Xe4UWQsBj/oW6YfLPABEu8jfDVDiNmJvoQW4CO34oDPuYKe4KlXzXhcuNsqOtSxpbjCRRVjhhREg==} + engines: {node: '>=18'} + hasBin: true + micro-packed@0.3.2: resolution: {integrity: sha512-D1Bq0/lVOzdxhnX5vylCxZpdw5LylH7Vd81py0DfRsKUP36XYpwvy8ZIsECVo3UfnoROn8pdKqkOzL7Cd82sGA==} @@ -9849,9 +11006,6 @@ packages: microdiff@1.3.2: resolution: {integrity: sha512-pKy60S2febliZIbwdfEQKTtL5bLNxOyiRRmD400gueYl9XcHyNGxzHSlJWn9IMHwYXT0yohPYL08+bGozVk8cQ==} - microdiff@1.4.0: - resolution: {integrity: sha512-OBKBOa1VBznvLPb/3ljeJaENVe0fO0lnWl77lR4vhPlQD71UpjEoRV5P0KdQkcjbFlBu1Oy2mEUBMU3wxcBAGg==} - micromark-core-commonmark@2.0.0: resolution: {integrity: sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==} @@ -9981,6 +11135,15 @@ packages: engines: {node: '>=4'} hasBin: true + mime@2.6.0: + resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} + engines: {node: '>=4.0.0'} + hasBin: true + + mimic-fn@1.2.0: + resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==} + engines: {node: '>=4'} + mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} @@ -10022,10 +11185,6 @@ packages: resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} engines: {node: '>=10'} - minimatch@7.4.6: - resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==} - engines: {node: '>=10'} - minimatch@8.0.4: resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==} engines: {node: '>=16 || 14 >=14.17'} @@ -10049,6 +11208,10 @@ packages: resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} engines: {node: '>= 8'} + minipass-collect@2.0.1: + resolution: {integrity: sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==} + engines: {node: '>=16 || 14 >=14.17'} + minipass-fetch@1.4.1: resolution: {integrity: sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==} engines: {node: '>=8'} @@ -10097,19 +11260,11 @@ packages: engines: {node: '>=10'} hasBin: true - mkdirp@2.1.6: - resolution: {integrity: sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==} - engines: {node: '>=10'} - hasBin: true - mkdirp@3.0.1: resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} engines: {node: '>=10'} hasBin: true - mlly@1.4.2: - resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} - mlly@1.6.1: resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} @@ -10177,12 +11332,22 @@ packages: neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + nested-error-stacks@2.0.1: + resolution: {integrity: sha512-SrQrok4CATudVzBS7coSz26QRSmlK9TzzoFbeKfcPBUFPjcQM9Rqvr/DlJkOrwI/0KcgvMub1n1g5Jt9EgRn4A==} + new-date@1.0.3: resolution: {integrity: sha512-0fsVvQPbo2I18DT2zVHpezmeeNYV2JaJSrseiHLc17GNOxJzUdx5mvSigPu8LtIfZSij5i1wXnXFspEs2CD6hA==} + nice-try@1.0.5: + resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} + no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + nocache@3.0.4: + resolution: {integrity: sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==} + engines: {node: '>=12.0.0'} + node-abort-controller@3.1.1: resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==} @@ -10235,12 +11400,19 @@ packages: engines: {node: '>= 10.12.0'} hasBin: true + node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + node-notifier@10.0.1: resolution: {integrity: sha512-YX7TSyDukOZ0g+gmzjB6abKu+hTGvO8+8+gIFDsRCU2t8fLV/P2unmt+LGFaIa4y64aX98Qksa97rgz4vMNeLQ==} node-releases@2.0.14: resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + node-stream-zip@1.15.0: + resolution: {integrity: sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==} + engines: {node: '>=0.12.0'} + nopt@5.0.0: resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} engines: {node: '>=6'} @@ -10282,6 +11454,13 @@ packages: resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + npm-package-arg@7.0.0: + resolution: {integrity: sha512-xXxr8y5U0kl8dVkz2oK7yZjPBvqM2fwaO5l3Yg13p03v8+E3qQcD0JNhHzjL1vyGgxcKkD0cco+NLR72iuPk3g==} + + npm-run-path@2.0.2: + resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} + engines: {node: '>=4'} + npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} @@ -10300,6 +11479,9 @@ packages: nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + nullthrows@1.1.1: + resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} + nwsapi@2.2.7: resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==} @@ -10311,6 +11493,14 @@ packages: oauth-sign@0.9.0: resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} + ob1@0.80.5: + resolution: {integrity: sha512-zYDMnnNrFi/1Tqh0vo3PE4p97Tpl9/4MP2k2ECvkbLOZzQuAYZJLTUYVLZb7hJhbhjT+JJxAwBGS8iu5hCSd1w==} + engines: {node: '>=18'} + + ob1@0.80.9: + resolution: {integrity: sha512-v9yOxowkZbxWhKOaaTyLjIm1aLy4ebMNcSn4NYJKOAI/Qv+SkfEfszpLr2GIxsccmb2Y2HA9qtsqiIJ80ucpVA==} + engines: {node: '>=18'} + obj-case@0.2.1: resolution: {integrity: sha512-PquYBBTy+Y6Ob/O2574XHhDtHJlV1cJHMCgW+rDRc9J5hhmRelJB3k5dTK/3cVmFVtzvAKuENeuLpoyTzMzkOg==} @@ -10392,6 +11582,10 @@ packages: once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + onetime@2.0.1: + resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==} + engines: {node: '>=4'} + onetime@5.1.2: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} @@ -10404,6 +11598,14 @@ packages: resolution: {integrity: sha512-dtbI5oW7987hwC9qjJTyABldTaa19SuyJse1QboWv3b0qCcrrLNVDqBx1XgELAjh9QTVQaP/C5b1nhQebd1H2A==} engines: {node: '>=18'} + open@6.4.0: + resolution: {integrity: sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==} + engines: {node: '>=8'} + + open@7.4.2: + resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} + engines: {node: '>=8'} + open@8.4.2: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} @@ -10416,6 +11618,10 @@ packages: resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} engines: {node: '>= 0.8.0'} + ora@3.4.0: + resolution: {integrity: sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==} + engines: {node: '>=6'} + ora@5.4.1: resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} engines: {node: '>=10'} @@ -10424,6 +11630,10 @@ packages: resolution: {integrity: sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + os-homedir@1.0.2: + resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==} + engines: {node: '>=0.10.0'} + os-locale@5.0.0: resolution: {integrity: sha512-tqZcNEDAIZKBEPnHPlVDvKrp7NzgLi7jRmhKiUoa2NUmhl13FtkAGLUVR+ZsYvApBQdBfYm43A4tXXQ4IrYLBA==} engines: {node: '>=10'} @@ -10432,6 +11642,14 @@ packages: resolution: {integrity: sha512-jd0cvB8qQ5uVt0lvCIexBaROw1KyKm5sbulg2fWOHjETisuCzWyt+eTZKEMs8v6HwzoGs8xik26jg7eCM6pS+A==} engines: {node: '>= 0.4.0'} + os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + + osenv@0.1.5: + resolution: {integrity: sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==} + deprecated: This package is no longer supported. + outdent@0.8.0: resolution: {integrity: sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A==} @@ -10447,6 +11665,10 @@ packages: resolution: {integrity: sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==} engines: {node: '>=4'} + p-finally@1.0.0: + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} + p-is-promise@2.1.0: resolution: {integrity: sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==} engines: {node: '>=6'} @@ -10533,6 +11755,10 @@ packages: parse-entities@4.0.1: resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} + parse-json@4.0.0: + resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} + engines: {node: '>=4'} + parse-json@5.2.0: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} @@ -10545,6 +11771,10 @@ packages: resolution: {integrity: sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==} engines: {node: '>=16'} + parse-png@2.1.0: + resolution: {integrity: sha512-Nt/a5SfCLiTnQAjx3fHlqp8hRgTL3z7kTQZzvIMS9uCAepnCyjpdEc6M/sz69WqMBdaDBw9sF1F1UaHROYzGkQ==} + engines: {node: '>=10'} + parse5-htmlparser2-tree-adapter@7.0.0: resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==} @@ -10564,6 +11794,9 @@ packages: pascal-case@3.1.2: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + password-prompt@1.1.3: + resolution: {integrity: sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==} + path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} @@ -10586,6 +11819,10 @@ packages: path-is-inside@1.0.2: resolution: {integrity: sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==} + path-key@2.0.1: + resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} + engines: {node: '>=4'} + path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -10612,9 +11849,6 @@ packages: resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} engines: {node: '>=12'} - pathe@1.1.1: - resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} - pathe@1.1.2: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} @@ -10656,6 +11890,10 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + picomatch@3.0.1: + resolution: {integrity: sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag==} + engines: {node: '>=10'} + picomatch@4.0.2: resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} engines: {node: '>=12'} @@ -10730,10 +11968,18 @@ packages: engines: {node: '>=16'} hasBin: true + plist@3.1.0: + resolution: {integrity: sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==} + engines: {node: '>=10.4.0'} + pluralize@8.0.0: resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} + pngjs@3.4.0: + resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==} + engines: {node: '>=4.0.0'} + polished@4.3.1: resolution: {integrity: sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==} engines: {node: '>=10'} @@ -10796,24 +12042,12 @@ packages: peerDependencies: postcss: ^8.4 - postcss-discard-duplicates@6.0.3: - resolution: {integrity: sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - postcss-discard-duplicates@7.0.0: resolution: {integrity: sha512-bAnSuBop5LpAIUmmOSsuvtKAAKREB6BBIYStWUTGq8oG5q9fClDMMuY8i4UPI/cEcDx2TN+7PMnXYIId20UVDw==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 - postcss-discard-empty@6.0.3: - resolution: {integrity: sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - postcss-discard-empty@7.0.0: resolution: {integrity: sha512-e+QzoReTZ8IAwhnSdp/++7gBZ/F+nBq9y6PomfwORfP7q9nBpK5AMP64kOt0bA+lShBFbBDcgpJ3X4etHg4lzA==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} @@ -10861,6 +12095,18 @@ packages: peerDependencies: postcss: ^8.4 + postcss-load-config@4.0.2: + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + postcss-loader@8.1.1: resolution: {integrity: sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==} engines: {node: '>= 18.12.0'} @@ -10880,24 +12126,12 @@ packages: peerDependencies: postcss: ^8.4 - postcss-merge-rules@6.1.1: - resolution: {integrity: sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - postcss-merge-rules@7.0.0: resolution: {integrity: sha512-Zty3VlOsD6VSjBMu6PiHCVpLegtBT/qtZRVBcSeyEZ6q1iU5qTYT0WtEoLRV+YubZZguS5/ycfP+NRiKfjv6aw==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: postcss: ^8.4.31 - postcss-minify-selectors@6.0.4: - resolution: {integrity: sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - postcss-minify-selectors@7.0.0: resolution: {integrity: sha512-f00CExZhD6lNw2vTZbcnmfxVgaVKzUw6IRsIFX3JTT8GdsoABc1WnhhGwL1i8YPJ3sSWw39fv7XPtvLb+3Uitw==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} @@ -10940,12 +12174,6 @@ packages: peerDependencies: postcss: ^8.4 - postcss-normalize-whitespace@6.0.2: - resolution: {integrity: sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==} - engines: {node: ^14 || ^16 || >=18.0} - peerDependencies: - postcss: ^8.4.31 - postcss-normalize-whitespace@7.0.0: resolution: {integrity: sha512-37/toN4wwZErqohedXYqWgvcHUGlT8O/m2jVkAfAe9Bd4MzRqlBmXrJRePH0e9Wgnz2X7KymTgTOaaFizQe3AQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} @@ -11029,19 +12257,10 @@ packages: resolution: {integrity: sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==} engines: {node: '>=10'} - preferred-pm@3.1.3: - resolution: {integrity: sha512-MkXsENfftWSRpzCzImcp4FRsCc3y1opwB73CfCNWyzMqArju2CrlMHlqB7VexKiPEOjGMbttv1r9fSCn5S610w==} - engines: {node: '>=10'} - prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier@2.8.8: - resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} - engines: {node: '>=10.13.0'} - hasBin: true - prettier@3.2.5: resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} engines: {node: '>=14'} @@ -11052,9 +12271,17 @@ packages: engines: {node: '>=14'} hasBin: true + pretty-bytes@5.6.0: + resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} + engines: {node: '>=6'} + pretty-error@4.0.0: resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} + pretty-format@26.6.2: + resolution: {integrity: sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==} + engines: {node: '>= 10'} + 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} @@ -11125,6 +12352,12 @@ packages: resolution: {integrity: sha512-NV8aTmpwrZv+Iys54sSFOBx3tuVaOBvvrft5PNppnxy9xpU/akHbaWIril22AB22zaPgrgwKdD0KsrM0ptUtpg==} engines: {node: '>=6'} + promise@7.3.1: + resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} + + promise@8.3.0: + resolution: {integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==} + prompts@2.4.2: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} @@ -11177,6 +12410,10 @@ packages: qr.js@0.0.0: resolution: {integrity: sha512-c4iYnWb+k2E+vYpRimHqSu575b1/wKl4XFeJGpFmrJQz5I88v9aY2czh7s0w36srfCM1sXgC/xpoJz5dJfq+OQ==} + qrcode-terminal@0.11.0: + resolution: {integrity: sha512-Uu7ii+FQy4Qf82G4xu7ShHhjhGahEpCWc3x8UavY3CTcWV+ufmmCtwkr7ZKsX42jdL0kr1B5FKUeqJvAn51jzQ==} + hasBin: true + qs@6.11.0: resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} engines: {node: '>=0.6'} @@ -11276,6 +12513,9 @@ packages: typescript: optional: true + react-devtools-core@5.2.0: + resolution: {integrity: sha512-vZK+/gvxxsieAoAyYaiRIVFxlajb7KXhgBDV7OsoMzaAE+IqGpoxusBjIgq5ibqA2IloKu0p9n7tE68z1xs18A==} + react-docgen-typescript@2.2.2: resolution: {integrity: sha512-tvg2ZtOpOi6QDwsb3GZhOjDkkX0h8Z2gipvTg6OVMUyoYoURhEiRNePT8NZItTVCDh39JJHnLdfCOkzoLbFnTg==} peerDependencies: @@ -11290,6 +12530,11 @@ packages: peerDependencies: react: '*' + react-dom@18.2.0: + resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + peerDependencies: + react: ^18.2.0 + react-dom@18.3.1: resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: @@ -11350,9 +12595,21 @@ packages: peerDependencies: react: '>=15.0.0' - react-qr-code@2.0.12: - resolution: {integrity: sha512-k+pzP5CKLEGBRwZsDPp98/CAJeXlsYRHM2iZn1Sd5Th/HnKhIZCSg27PXO58zk8z02RaEryg+60xa4vyywMJwg==} - peerDependencies: + react-native@0.74.1: + resolution: {integrity: sha512-0H2XpmghwOtfPpM2LKqHIN7gxy+7G/r1hwJHKLV6uoyXGC/gCojRtoo5NqyKrWpFC8cqyT6wTYCLuG7CxEKilg==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + '@react-native/assets-registry': '*' + '@types/react': ^18.2.6 + react: 18.2.0 + peerDependenciesMeta: + '@types/react': + optional: true + + react-qr-code@2.0.12: + resolution: {integrity: sha512-k+pzP5CKLEGBRwZsDPp98/CAJeXlsYRHM2iZn1Sd5Th/HnKhIZCSg27PXO58zk8z02RaEryg+60xa4vyywMJwg==} + peerDependencies: react: ^16.x || ^17.x || ^18.x react-native-svg: '*' peerDependenciesMeta: @@ -11402,6 +12659,7 @@ packages: react-remove-scroll-bar@2.3.5: resolution: {integrity: sha512-3cqjOqg6s0XbOjWvmasmqHch+RLxIEk2r/70rzGXuz3iIGQsQheEQyqYCBb5EECoD01Vo2SIbDqW4paLeLTASw==} engines: {node: '>=10'} + deprecated: please update to the following version as this contains a bug (https://github.com/theKashey/react-remove-scroll-bar/issues/57) peerDependencies: '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -11438,6 +12696,11 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-shallow-renderer@16.15.0: + resolution: {integrity: sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==} + peerDependencies: + react: ^16.0.0 || ^17.0.0 || ^18.0.0 + react-style-singleton@2.2.1: resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} engines: {node: '>=10'} @@ -11461,6 +12724,10 @@ packages: react: '>=16 || >=17 || >= 18' react-dom: '>=16 || >=17 || >= 18' + react@18.2.0: + resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + engines: {node: '>=0.10.0'} + react@18.3.1: resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} @@ -11485,6 +12752,10 @@ packages: resolution: {integrity: sha512-5iOehe+WF75IccPc30bWTbpdDQLOCc3Uu8bi3Dte3Eueij81yx1Mrufk8qBx/YAbR4uL1FdUr+7BKXDwEtisXg==} engines: {node: '>=12.20'} + read-yaml-file@2.1.0: + resolution: {integrity: sha512-UkRNRIwnhG+y7hpqnycCL/xbTk7+ia9VuVTC0S+zVbwd65DI9eUpRMfsWIGrCWxTU/mi+JW8cHQCrv+zfCbEPQ==} + engines: {node: '>=10.13'} + readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} @@ -11504,10 +12775,17 @@ packages: resolution: {integrity: sha512-7KA6+N9IGat52d83dvxnApAWN+MtVb1MiVuMR/cf1O4kYsJG+g/Aav0AHcHKsb6StinayfPLne0+fMX2sOzAKg==} engines: {node: '>=6'} + readline@1.3.0: + resolution: {integrity: sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==} + real-require@0.2.0: resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} engines: {node: '>= 12.13.0'} + recast@0.21.5: + resolution: {integrity: sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==} + engines: {node: '>= 4'} + recast@0.23.6: resolution: {integrity: sha512-9FHoNjX1yjuesMwuthAmPKabxYQdOgihFYmT5ebXfYGBcnqXZf3WOVz+5foEZ8Y83P4ZY6yQD5GMmtV+pgCCAQ==} engines: {node: '>= 4'} @@ -11583,10 +12861,6 @@ packages: resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} hasBin: true - regexp.prototype.flags@1.5.1: - resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} - engines: {node: '>= 0.4'} - regexp.prototype.flags@1.5.2: resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} engines: {node: '>= 0.4'} @@ -11637,8 +12911,8 @@ packages: remark-stringify@11.0.0: resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} - remove-accents@0.4.2: - resolution: {integrity: sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA==} + remove-trailing-slash@0.1.1: + resolution: {integrity: sha512-o4S4Qh6L2jpnCy83ysZDau+VORNvnFw07CKSAymkd6ICNVEPisMyzlc00KlvvicsxKck94SEwhDnMNdICzO+tA==} renderkid@3.0.0: resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==} @@ -11656,6 +12930,13 @@ packages: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} + require-main-filename@2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + + requireg@0.2.2: + resolution: {integrity: sha512-nYzyjnFcPNGR3lx9lwPPPnuQxv6JWEZd2Ci0u9opN7N5zUEPIhY/GbL3vMGOr2UXwEg9WwSyV9X9Y/kLFgPsOg==} + engines: {node: '>= 4.0.0'} + requireindex@1.2.0: resolution: {integrity: sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==} engines: {node: '>=0.10.5'} @@ -11679,6 +12960,10 @@ packages: resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} engines: {node: '>=8'} + resolve-from@3.0.0: + resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} + engines: {node: '>=4'} + resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -11690,10 +12975,17 @@ packages: resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + resolve.exports@2.0.2: + resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} + engines: {node: '>=10'} + resolve@1.22.8: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true + resolve@1.7.1: + resolution: {integrity: sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==} + resolve@2.0.0-next.5: resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} hasBin: true @@ -11705,6 +12997,10 @@ packages: resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} engines: {node: '>=14.16'} + restore-cursor@2.0.0: + resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==} + engines: {node: '>=4'} + restore-cursor@3.1.0: resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} engines: {node: '>=8'} @@ -11727,6 +13023,7 @@ packages: rimraf@2.4.5: resolution: {integrity: sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true rimraf@2.6.3: @@ -11827,6 +13124,9 @@ packages: scheduler@0.23.2: resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + scheduler@0.24.0-canary-efb381bbf-20230505: + resolution: {integrity: sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==} + schema-inspector@2.0.2: resolution: {integrity: sha512-phq0/I55VGzl4kmq3Tp1jlY75Xtc1o7wfGmOEFTgGyucI6zIdEsiM7MJu9jjQf2SfMreqSbTi/ktUsEMs6pV7A==} @@ -11887,6 +13187,10 @@ packages: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} + serialize-error@2.1.0: + resolution: {integrity: sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==} + engines: {node: '>=0.10.0'} + serialize-error@7.0.1: resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} engines: {node: '>=10'} @@ -11909,10 +13213,6 @@ packages: resolution: {integrity: sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==} engines: {node: '>= 0.4'} - set-function-name@2.0.1: - resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} - engines: {node: '>= 0.4'} - set-function-name@2.0.2: resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} engines: {node: '>= 0.4'} @@ -11940,10 +13240,18 @@ packages: shallowequal@1.1.0: resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} + shebang-command@1.2.0: + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} + shebang-regex@1.0.0: + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} + shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} @@ -11985,6 +13293,9 @@ packages: simple-element-resize-detector@1.3.0: resolution: {integrity: sha512-cCFTDpFMgz/OikrV9R++wOQgLbFwqrneci8FmAOH79xrfn1sQVZg9LJV2RvproMgdN2LnfZXZPrM+Z12GXN7jA==} + simple-plist@1.3.1: + resolution: {integrity: sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw==} + simple-swizzle@0.2.2: resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} @@ -12003,9 +13314,17 @@ packages: resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} engines: {node: '>=14.16'} + slice-ansi@2.1.0: + resolution: {integrity: sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==} + engines: {node: '>=6'} + sliced@1.0.1: resolution: {integrity: sha512-VZBmZP8WU3sMOZm1bdgTadsQbcscK0UM8oKxKVBs4XAhUo2Xxzm/OFMGBkPusxw9xL3Uy8LrzEqGqJhclsr0yA==} + slugify@1.6.6: + resolution: {integrity: sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==} + engines: {node: '>=8.0.0'} + smart-buffer@4.2.0: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} @@ -12063,6 +13382,10 @@ packages: resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} engines: {node: '>= 8'} + source-map@0.8.0-beta.0: + resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} + engines: {node: '>= 8'} + space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} @@ -12118,16 +13441,28 @@ packages: engines: {node: '>=0.10.0'} hasBin: true + ssri@10.0.6: + resolution: {integrity: sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + ssri@8.0.1: resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==} engines: {node: '>= 8'} + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} stackframe@1.3.4: resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} + stacktrace-parser@0.1.10: + resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} + engines: {node: '>=6'} + statuses@1.5.0: resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} engines: {node: '>= 0.6'} @@ -12157,6 +13492,10 @@ packages: stream-browserify@3.0.0: resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} + stream-buffers@2.2.0: + resolution: {integrity: sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==} + engines: {node: '>= 0.10.0'} + stream-combiner@0.2.2: resolution: {integrity: sha512-6yHMqgLYDzQDcAkL+tjJDC5nSNuNIx0vZtRZeiPh7Saef7VHX9H5Ijn9l2VIol2zaNYlYEX6KyuT/237A58qEQ==} @@ -12212,6 +13551,10 @@ packages: stringify-entities@4.0.3: resolution: {integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==} + strip-ansi@5.2.0: + resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} + engines: {node: '>=6'} + strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -12232,10 +13575,18 @@ packages: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} + strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + strip-bom@5.0.0: resolution: {integrity: sha512-p+byADHF7SzEcVnLvc/r3uognM1hUhObuHXxJcgLCfD194XAkaLbjq3Wzb0N5G2tgIjH0dgT708Z51QxMeu60A==} engines: {node: '>=12'} + strip-eof@1.0.0: + resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} + engines: {node: '>=0.10.0'} + strip-final-newline@2.0.0: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} @@ -12267,6 +13618,12 @@ packages: strip-literal@2.1.0: resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==} + strnum@1.0.5: + resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} + + structured-headers@0.4.1: + resolution: {integrity: sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg==} + style-loader@3.3.4: resolution: {integrity: sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==} engines: {node: '>= 12.13.0'} @@ -12290,14 +13647,29 @@ packages: stylis@4.2.0: resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} + sucrase@3.34.0: + resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==} + engines: {node: '>=8'} + hasBin: true + + sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + + sudo-prompt@8.2.5: + resolution: {integrity: sha512-rlBo3HU/1zAJUrkY6jNxDOC9eVYliG6nS4JA8u8KAshITd07tafMc/Br7xQwCSseXwJ2iCcHCE8SNWX3q8Z+kw==} + + sudo-prompt@9.1.1: + resolution: {integrity: sha512-es33J1g2HjMpyAhz8lOR+ICmXXAqTuKbuXuUWLhOLew20oN9oUCgCJx615U/v7aioZg7IX5lIh9x34vwneu4pA==} + + sudo-prompt@9.2.1: + resolution: {integrity: sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==} + sumchecker@3.0.1: resolution: {integrity: sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==} engines: {node: '>= 8.0'} - superjson@1.13.3: - resolution: {integrity: sha512-mJiVjfd2vokfDxsQPOwJ/PtanO87LhpYY88ubI5dUB1Ab58Txbyje3+jpm+/83R/fevaq/107NNhtYBLuoTrFg==} - engines: {node: '>=10'} - supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -12314,6 +13686,10 @@ packages: resolution: {integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==} engines: {node: '>=12'} + supports-hyperlinks@2.3.0: + resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} + engines: {node: '>=8'} + supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} @@ -12333,6 +13709,9 @@ packages: symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + synchronous-promise@2.0.17: + resolution: {integrity: sha512-AsS729u2RHUfEra9xJrE39peJcc2stq2+poBXX8bcM08Y6g9j/i/PUzwNQqkaJde7Ntg1TO7bSREbR5sdosQ+g==} + synckit@0.9.0: resolution: {integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==} engines: {node: ^14.18.0 || >=16.0.0} @@ -12366,6 +13745,10 @@ packages: telejson@7.2.0: resolution: {integrity: sha512-1QTEcJkJEhc8OnStBx/ILRu5J2p0GjvWsBx56bmZRqnrkdBMUe+nX92jxV+p3dB4CP6PZCdJMQJwCggkNBMzkQ==} + temp-dir@1.0.0: + resolution: {integrity: sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==} + engines: {node: '>=4'} + temp-dir@2.0.0: resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} engines: {node: '>=8'} @@ -12374,10 +13757,22 @@ packages: resolution: {integrity: sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==} engines: {node: '>=6.0.0'} + tempy@0.3.0: + resolution: {integrity: sha512-WrH/pui8YCwmeiAoxV+lpRH9HpRtgBhSR2ViBPgpGb/wnYDzp21R4MN45fsCGvLROvY67o3byhJRYRONJyImVQ==} + engines: {node: '>=8'} + + tempy@0.7.1: + resolution: {integrity: sha512-vXPxwOyaNVi9nyczO16mxmHGpl6ASC5/TVhRRHpqeYHvKQm58EaWNvZXxAhR0lYYnBOQFjXjhzeLsaXdjxLjRg==} + engines: {node: '>=10'} + tempy@1.0.1: resolution: {integrity: sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w==} engines: {node: '>=10'} + terminal-link@2.1.1: + resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} + engines: {node: '>=8'} + terser-webpack-plugin@5.3.10: resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} @@ -12421,6 +13816,9 @@ packages: thread-stream@2.4.1: resolution: {integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==} + throat@5.0.0: + resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==} + through2@2.0.5: resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} @@ -12453,18 +13851,21 @@ packages: resolution: {integrity: sha512-Ud7uepAklqRH1bvwy22ynrliC7Dljz7Tm8M/0RBUW+YRa4YHhZ6e4PpgE+fu1zr/WqB1kbeuVrdfeuyIBpy4tw==} engines: {node: '>=14.0.0'} - tinyspy@2.2.0: - resolution: {integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==} - engines: {node: '>=14.0.0'} - tinyspy@2.2.1: resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} engines: {node: '>=14.0.0'} + tmp@0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + tmp@0.2.1: resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} engines: {node: '>=8.17.0'} + tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} @@ -12502,10 +13903,17 @@ packages: tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + tr46@1.0.1: + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} + tr46@4.1.1: resolution: {integrity: sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==} engines: {node: '>=14'} + traverse@0.6.9: + resolution: {integrity: sha512-7bBrcF+/LQzSgFmT0X5YclVqQxtv7TDJ1f8Wj7ibBu/U6BMLeOpUxuZjV7rMc44UtKxlnMFigdhFAIszSX1DMg==} + engines: {node: '>= 0.4'} + tree-kill@1.2.2: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true @@ -12552,8 +13960,8 @@ packages: jsdom: optional: true - ts-morph@19.0.0: - resolution: {integrity: sha512-D6qcpiJdn46tUqV45vr5UGM2dnIEuTGNxVhg0sk5NX11orcouwj6i1bMqZIz2mZTZB1Hcgy7C3oEVhAT+f6mbQ==} + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} ts-morph@21.0.1: resolution: {integrity: sha512-dbDtVdEAncKctzrVZ+Nr7kHpHkv+0JDJb2MjjpBaj8bFeCkePU9rHfMklmhuLFnpeq/EJZk2IhStY6NzqgjOkg==} @@ -12572,9 +13980,6 @@ packages: '@swc/wasm': optional: true - ts-pattern@5.0.5: - resolution: {integrity: sha512-tL0w8U/pgaacOmkb9fRlYzWEUDCfVjjv9dD4wHTgZ61MjhuMt46VNWTG747NqW6vRzoWIKABVhFSOJ82FvXrfA==} - ts-pattern@5.0.8: resolution: {integrity: sha512-aafbuAQOTEeWmA7wtcL94w6I89EgLD7F+IlWkr596wYxeb0oveWDO5dQpv85YP0CGbxXT/qXBIeV6IYLcoZ2uA==} @@ -12584,16 +13989,6 @@ packages: peerDependencies: typescript: '>=3.8.3' - tsconfck@2.1.2: - resolution: {integrity: sha512-ghqN1b0puy3MhhviwO2kGF8SeMDNhEbnKxjK7h6+fvY9JAxqvXi8y5NAHSQv687OVboS2uZIByzGd45/YxrRHg==} - engines: {node: ^14.13.1 || ^16 || >=18} - hasBin: true - peerDependencies: - typescript: ^4.3.5 || ^5.0.0 - peerDependenciesMeta: - typescript: - optional: true - tsconfck@3.0.2: resolution: {integrity: sha512-6lWtFjwuhS3XI4HsX4Zg0izOI3FU/AI9EGVlPEUMDIhvLPMD4wkiof0WCoDgW7qY+Dy198g4d9miAqUHWHFH6Q==} engines: {node: ^18 || >=20} @@ -12621,6 +14016,25 @@ packages: tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + tsup@8.1.0: + resolution: {integrity: sha512-UFdfCAXukax+U6KzeTNO2kAARHcWxmKsnvSPXUcfA1D+kU05XDccCrkffCQpFaWDsZfV0jMyTsxU39VfCp6EOg==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + '@microsoft/api-extractor': ^7.36.0 + '@swc/core': ^1 + postcss: ^8.4.12 + typescript: '>=4.5.0' + peerDependenciesMeta: + '@microsoft/api-extractor': + optional: true + '@swc/core': + optional: true + postcss: + optional: true + typescript: + optional: true + tsutils@3.21.0: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} @@ -12660,10 +14074,22 @@ packages: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + + type-fest@0.3.1: + resolution: {integrity: sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==} + engines: {node: '>=6'} + type-fest@0.6.0: resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} engines: {node: '>=8'} + type-fest@0.7.1: + resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} + engines: {node: '>=8'} + type-fest@0.8.1: resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} engines: {node: '>=8'} @@ -12707,6 +14133,10 @@ packages: typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + typedarray.prototype.slice@1.0.3: + resolution: {integrity: sha512-8WbVAQAUlENo1q3c3zZYuy5k9VzBQvp8AX9WOtbvyWlLM1v5JaSRmjubLjzHF4JFtptjH/5c/i95yaElvcjC0A==} + engines: {node: '>= 0.4'} + typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} @@ -12723,8 +14153,8 @@ packages: engines: {node: '>=14.17'} hasBin: true - ufo@1.3.2: - resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==} + ua-parser-js@1.0.38: + resolution: {integrity: sha512-Aq5ppTOfvrCMgAPneW1HfWj66Xi7XL+/mIy996R1/CLS/rcyJQm6QZdsKrUeivDFQ+Oc9Wyuwor8Ze8peEoUoQ==} ufo@1.5.3: resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} @@ -12779,9 +14209,21 @@ packages: unique-filename@1.1.1: resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} + unique-filename@3.0.0: + resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + unique-slug@2.0.2: resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==} + unique-slug@4.0.0: + resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + unique-string@1.0.0: + resolution: {integrity: sha512-ODgiYu03y5g76A1I9Gt0/chLCzQjvzDy7DsZGsLOE/1MrF6wriEskSncj1+/C58Xk/kPZDppSctDybCwOSaGAg==} + engines: {node: '>=4'} + unique-string@2.0.0: resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} engines: {node: '>=8'} @@ -12864,6 +14306,9 @@ packages: uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + url-join@4.0.0: + resolution: {integrity: sha512-EGXjXJZhIHiQMK2pQukuFcL303nskqIRzWvPvV5O8miOfwoUb9G+a/Cld60kUyeaybEI94wvVClT10DtfeAExA==} + url-join@5.0.0: resolution: {integrity: sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -12940,6 +14385,10 @@ packages: deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. hasBin: true + uuid@7.0.3: + resolution: {integrity: sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==} + hasBin: true + uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true @@ -12962,6 +14411,9 @@ packages: validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + validate-npm-package-name@3.0.0: + resolution: {integrity: sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==} + validate.io-array@1.0.6: resolution: {integrity: sha512-DeOy7CnPEziggrOO5CZhVKJw6S3Yi7e9e65R1Nl/RTN1vTQKnzjfvks0/8kQ40FP/dsjRAOd4hxmJ7uLa6vxkg==} @@ -13068,6 +14520,9 @@ packages: jsdom: optional: true + vlq@1.0.1: + resolution: {integrity: sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==} + vm-browserify@1.1.2: resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==} @@ -13078,6 +14533,9 @@ packages: 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.0: resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} engines: {node: '>=10.13.0'} @@ -13122,6 +14580,13 @@ packages: webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + webidl-conversions@4.0.2: + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + + webidl-conversions@5.0.0: + resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} + engines: {node: '>=8'} + webidl-conversions@7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} @@ -13219,6 +14684,10 @@ packages: resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} engines: {node: '>=12'} + whatwg-url-without-unicode@8.0.0-3: + resolution: {integrity: sha512-HoKuzZrUlgpz35YO27XgD28uh/WJH4B0+3ttFqRo//lmq+9T/mIOJ6kqmINI9HpUpz1imRC/nR/lxKpJiv0uig==} + engines: {node: '>=10'} + whatwg-url@12.0.1: resolution: {integrity: sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==} engines: {node: '>=14'} @@ -13226,6 +14695,9 @@ packages: whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + whatwg-url@7.1.0: + resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} + when@3.7.7: resolution: {integrity: sha512-9lFZp/KHoqH6bPKjbWqa+3Dg/K/r2v0X/3/G2x4DBGchVS2QX2VXL3cZV994WQVnTM1/PD71Az25nAzryEUugw==} @@ -13236,13 +14708,13 @@ packages: resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} engines: {node: '>= 0.4'} - which-collection@1.0.1: - resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} - which-collection@1.0.2: resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} engines: {node: '>= 0.4'} + which-module@2.0.1: + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + which-pm@2.0.0: resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} engines: {node: '>=8.15'} @@ -13289,6 +14761,9 @@ packages: winreg@0.0.12: resolution: {integrity: sha512-typ/+JRmi7RqP1NanzFULK36vczznSNN8kWVA9vIqXyv8GhghUlwhGp1Xj3Nms1FsPcNnsQrJOR10N58/nQ9hQ==} + wonka@4.0.15: + resolution: {integrity: sha512-U0IUQHKXXn6PFo9nqsHphVCE5m3IntqZNB9Jjn7EB1lrR7YTDY3YWgFvEvwniTzXSvOH/XMzAZaIfJF/LvHYXg==} + wordwrap@1.0.0: resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} @@ -13311,44 +14786,8 @@ packages: write-file-atomic@3.0.3: resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} - ws@7.5.6: - resolution: {integrity: sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==} - engines: {node: '>=8.3.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - ws@7.5.9: - resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} - engines: {node: '>=8.3.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - ws@8.13.0: - resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - ws@8.16.0: - resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} + ws@8.17.1: + resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -13359,17 +14798,9 @@ packages: utf-8-validate: optional: true - ws@8.2.3: - resolution: {integrity: sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==} + xcode@3.0.1: + resolution: {integrity: sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA==} engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true xdg-basedir@5.1.0: resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} @@ -13383,10 +14814,22 @@ packages: resolution: {integrity: sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==} engines: {node: '>=4.0.0'} + xml2js@0.6.0: + resolution: {integrity: sha512-eLTh0kA8uHceqesPqSE+VvO1CDDJWMwlQfB6LuN6T8w6MaDJ8Txm8P7s5cHD0miF0V+GGTZrDQfxPZQVsur33w==} + engines: {node: '>=4.0.0'} + xmlbuilder@11.0.1: resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} engines: {node: '>=4.0'} + xmlbuilder@14.0.0: + resolution: {integrity: sha512-ts+B2rSe4fIckR6iquDjsKbQFK2NlUk6iG5nf14mDEyldgoc2nEKZ3jZWMPTxGQwVgToSjt6VGIho1H8/fNFTg==} + engines: {node: '>=8.0'} + + xmlbuilder@15.1.1: + resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==} + engines: {node: '>=8.0'} + xmlchars@2.2.0: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} @@ -13398,6 +14841,9 @@ packages: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} + y18n@4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -13416,10 +14862,18 @@ packages: resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} engines: {node: '>= 14'} + yargs-parser@18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} + yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} + yargs@15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} + yargs@17.7.1: resolution: {integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==} engines: {node: '>=12'} @@ -13493,11 +14947,6 @@ snapshots: '@adobe/css-tools@4.3.2': {} - '@ampproject/remapping@2.2.1': - dependencies: - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.25 - '@ampproject/remapping@2.3.0': dependencies: '@jridgewell/gen-mapping': 0.3.5 @@ -13619,6 +15068,10 @@ snapshots: dependencies: default-browser-id: 3.0.0 + '@babel/code-frame@7.10.4': + dependencies: + '@babel/highlight': 7.24.7 + '@babel/code-frame@7.23.5': dependencies: '@babel/highlight': 7.23.4 @@ -13648,26 +15101,6 @@ snapshots: '@babel/compat-data@7.24.6': {} - '@babel/core@7.24.0': - dependencies: - '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.23.5 - '@babel/generator': 7.23.6 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) - '@babel/helpers': 7.24.0 - '@babel/parser': 7.24.0 - '@babel/template': 7.24.0 - '@babel/traverse': 7.24.0(supports-color@5.5.0) - '@babel/types': 7.24.0 - convert-source-map: 2.0.0 - debug: 4.3.4(supports-color@5.5.0) - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - '@babel/core@7.24.4': dependencies: '@ampproject/remapping': 2.3.0 @@ -13690,13 +15123,13 @@ snapshots: '@babel/generator@7.17.7': dependencies: - '@babel/types': 7.17.0 + '@babel/types': 7.24.7 jsesc: 2.5.2 source-map: 0.5.7 '@babel/generator@7.23.6': dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.7 '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 @@ -13717,12 +15150,16 @@ snapshots: '@babel/helper-annotate-as-pure@7.22.5': dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.7 '@babel/helper-annotate-as-pure@7.24.6': dependencies: '@babel/types': 7.24.7 + '@babel/helper-annotate-as-pure@7.24.7': + dependencies: + '@babel/types': 7.24.7 + '@babel/helper-builder-binary-assignment-operator-visitor@7.24.6': dependencies: '@babel/types': 7.24.7 @@ -13769,6 +15206,21 @@ snapshots: '@babel/helper-split-export-declaration': 7.24.6 semver: 6.3.1 + '@babel/helper-create-class-features-plugin@7.24.7(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-member-expression-to-functions': 7.24.7 + '@babel/helper-optimise-call-expression': 7.24.7 + '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.4) + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + '@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 @@ -13788,7 +15240,7 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-compilation-targets': 7.24.6 '@babel/helper-plugin-utils': 7.24.6 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.5 lodash.debounce: 4.0.8 resolve: 1.22.8 transitivePeerDependencies: @@ -13805,7 +15257,7 @@ snapshots: '@babel/helper-function-name@7.23.0': dependencies: '@babel/template': 7.24.0 - '@babel/types': 7.24.0 + '@babel/types': 7.24.7 '@babel/helper-function-name@7.24.6': dependencies: @@ -13819,7 +15271,7 @@ snapshots: '@babel/helper-hoist-variables@7.22.5': dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.7 '@babel/helper-hoist-variables@7.24.6': dependencies: @@ -13837,6 +15289,13 @@ snapshots: dependencies: '@babel/types': 7.24.7 + '@babel/helper-member-expression-to-functions@7.24.7': + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + '@babel/helper-module-imports@7.22.15': dependencies: '@babel/types': 7.24.0 @@ -13845,14 +15304,12 @@ snapshots: dependencies: '@babel/types': 7.24.7 - '@babel/helper-module-transforms@7.23.3(@babel/core@7.24.0)': + '@babel/helper-module-imports@7.24.7': dependencies: - '@babel/core': 7.24.0 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.20 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color '@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4)': dependencies: @@ -13870,7 +15327,7 @@ snapshots: '@babel/helper-module-imports': 7.24.6 '@babel/helper-simple-access': 7.24.6 '@babel/helper-split-export-declaration': 7.24.6 - '@babel/helper-validator-identifier': 7.24.6 + '@babel/helper-validator-identifier': 7.24.7 '@babel/helper-optimise-call-expression@7.22.5': dependencies: @@ -13880,10 +15337,16 @@ snapshots: dependencies: '@babel/types': 7.24.7 + '@babel/helper-optimise-call-expression@7.24.7': + dependencies: + '@babel/types': 7.24.7 + '@babel/helper-plugin-utils@7.22.5': {} '@babel/helper-plugin-utils@7.24.6': {} + '@babel/helper-plugin-utils@7.24.7': {} + '@babel/helper-remap-async-to-generator@7.24.6(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 @@ -13905,11 +15368,20 @@ snapshots: '@babel/helper-member-expression-to-functions': 7.24.6 '@babel/helper-optimise-call-expression': 7.24.6 - '@babel/helper-simple-access@7.22.5': - dependencies: - '@babel/types': 7.24.7 - - '@babel/helper-simple-access@7.24.6': + '@babel/helper-replace-supers@7.24.7(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-member-expression-to-functions': 7.24.7 + '@babel/helper-optimise-call-expression': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-simple-access@7.22.5': + dependencies: + '@babel/types': 7.24.7 + + '@babel/helper-simple-access@7.24.6': dependencies: '@babel/types': 7.24.7 @@ -13921,9 +15393,16 @@ snapshots: dependencies: '@babel/types': 7.24.7 + '@babel/helper-skip-transparent-expression-wrappers@7.24.7': + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + '@babel/helper-split-export-declaration@7.22.6': dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.7 '@babel/helper-split-export-declaration@7.24.6': dependencies: @@ -13939,8 +15418,6 @@ snapshots: '@babel/helper-validator-identifier@7.22.20': {} - '@babel/helper-validator-identifier@7.24.6': {} - '@babel/helper-validator-identifier@7.24.7': {} '@babel/helper-validator-identifier@8.0.0-alpha.5': {} @@ -13949,20 +15426,14 @@ snapshots: '@babel/helper-validator-option@7.24.6': {} + '@babel/helper-validator-option@7.24.7': {} + '@babel/helper-wrap-function@7.24.6': dependencies: '@babel/helper-function-name': 7.24.6 '@babel/template': 7.24.6 '@babel/types': 7.24.7 - '@babel/helpers@7.24.0': - dependencies: - '@babel/template': 7.24.0 - '@babel/traverse': 7.24.0(supports-color@5.5.0) - '@babel/types': 7.24.0 - transitivePeerDependencies: - - supports-color - '@babel/helpers@7.24.4': dependencies: '@babel/template': 7.24.0 @@ -14006,7 +15477,7 @@ snapshots: '@babel/parser@7.24.0': dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.7 '@babel/parser@7.24.4': dependencies: @@ -14040,6 +15511,79 @@ snapshots: '@babel/helper-environment-visitor': 7.24.6 '@babel/helper-plugin-utils': 7.24.6 + '@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-remap-async-to-generator': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4) + + '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-decorators@7.24.7(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-create-class-features-plugin': 7.24.7(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-decorators': 7.24.7(@babel/core@7.24.4) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-export-default-from@7.24.7(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-export-default-from': 7.24.7(@babel/core@7.24.4) + + '@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.4) + + '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4) + + '@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.4) + + '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.24.4)': + dependencies: + '@babel/compat-data': 7.24.6 + '@babel/core': 7.24.4 + '@babel/helper-compilation-targets': 7.24.6 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-transform-parameters': 7.24.6(@babel/core@7.24.4) + + '@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4) + + '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4) + transitivePeerDependencies: + - supports-color + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 @@ -14059,11 +15603,21 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.6 + '@babel/plugin-syntax-decorators@7.24.7(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.6 + '@babel/plugin-syntax-export-default-from@7.24.7(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 @@ -14099,6 +15653,11 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 @@ -14318,7 +15877,7 @@ snapshots: '@babel/helper-hoist-variables': 7.24.6 '@babel/helper-module-transforms': 7.24.6(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.6 - '@babel/helper-validator-identifier': 7.24.6 + '@babel/helper-validator-identifier': 7.24.7 '@babel/plugin-transform-modules-umd@7.24.6(@babel/core@7.24.4)': dependencies: @@ -14419,6 +15978,45 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.6 + '@babel/plugin-transform-react-display-name@7.24.7(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-react-jsx-development@7.24.7(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/plugin-transform-react-jsx': 7.24.7(@babel/core@7.24.4) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-jsx-self@7.24.7(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-react-jsx-source@7.24.7(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.7 + + '@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.4) + '@babel/types': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-pure-annotations@7.24.7(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-transform-regenerator@7.24.6(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 @@ -14430,6 +16028,18 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.6 + '@babel/plugin-transform-runtime@7.24.7(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.7 + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.4) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.4) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.4) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-shorthand-properties@7.24.6(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 @@ -14588,6 +16198,18 @@ snapshots: '@babel/types': 7.24.7 esutils: 2.0.3 + '@babel/preset-react@7.24.7(@babel/core@7.24.4)': + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/helper-validator-option': 7.24.7 + '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.24.4) + '@babel/plugin-transform-react-jsx': 7.24.7(@babel/core@7.24.4) + '@babel/plugin-transform-react-jsx-development': 7.24.7(@babel/core@7.24.4) + '@babel/plugin-transform-react-pure-annotations': 7.24.7(@babel/core@7.24.4) + transitivePeerDependencies: + - supports-color + '@babel/preset-typescript@7.23.3(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 @@ -14683,6 +16305,21 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/traverse@7.24.7': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-hoist-variables': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + debug: 4.3.5 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + '@babel/types@7.17.0': dependencies: '@babel/helper-validator-identifier': 7.24.7 @@ -14763,12 +16400,6 @@ snapshots: picocolors: 1.0.1 sisteransi: 1.0.5 - '@clack/prompts@0.6.3': - dependencies: - '@clack/core': 0.3.4 - picocolors: 1.0.1 - sisteransi: 1.0.5 - '@clack/prompts@0.7.0': dependencies: '@clack/core': 0.3.4 @@ -15166,132 +16797,198 @@ snapshots: '@esbuild/aix-ppc64@0.21.4': optional: true + '@esbuild/android-arm64@0.18.20': + optional: true + '@esbuild/android-arm64@0.20.2': optional: true '@esbuild/android-arm64@0.21.4': optional: true + '@esbuild/android-arm@0.18.20': + optional: true + '@esbuild/android-arm@0.20.2': optional: true '@esbuild/android-arm@0.21.4': optional: true + '@esbuild/android-x64@0.18.20': + optional: true + '@esbuild/android-x64@0.20.2': optional: true '@esbuild/android-x64@0.21.4': optional: true + '@esbuild/darwin-arm64@0.18.20': + optional: true + '@esbuild/darwin-arm64@0.20.2': optional: true '@esbuild/darwin-arm64@0.21.4': optional: true + '@esbuild/darwin-x64@0.18.20': + optional: true + '@esbuild/darwin-x64@0.20.2': optional: true '@esbuild/darwin-x64@0.21.4': optional: true + '@esbuild/freebsd-arm64@0.18.20': + optional: true + '@esbuild/freebsd-arm64@0.20.2': optional: true '@esbuild/freebsd-arm64@0.21.4': optional: true + '@esbuild/freebsd-x64@0.18.20': + optional: true + '@esbuild/freebsd-x64@0.20.2': optional: true '@esbuild/freebsd-x64@0.21.4': optional: true + '@esbuild/linux-arm64@0.18.20': + optional: true + '@esbuild/linux-arm64@0.20.2': optional: true '@esbuild/linux-arm64@0.21.4': optional: true + '@esbuild/linux-arm@0.18.20': + optional: true + '@esbuild/linux-arm@0.20.2': optional: true '@esbuild/linux-arm@0.21.4': optional: true + '@esbuild/linux-ia32@0.18.20': + optional: true + '@esbuild/linux-ia32@0.20.2': optional: true '@esbuild/linux-ia32@0.21.4': optional: true + '@esbuild/linux-loong64@0.18.20': + optional: true + '@esbuild/linux-loong64@0.20.2': optional: true '@esbuild/linux-loong64@0.21.4': optional: true + '@esbuild/linux-mips64el@0.18.20': + optional: true + '@esbuild/linux-mips64el@0.20.2': optional: true '@esbuild/linux-mips64el@0.21.4': optional: true + '@esbuild/linux-ppc64@0.18.20': + optional: true + '@esbuild/linux-ppc64@0.20.2': optional: true '@esbuild/linux-ppc64@0.21.4': optional: true + '@esbuild/linux-riscv64@0.18.20': + optional: true + '@esbuild/linux-riscv64@0.20.2': optional: true '@esbuild/linux-riscv64@0.21.4': optional: true + '@esbuild/linux-s390x@0.18.20': + optional: true + '@esbuild/linux-s390x@0.20.2': optional: true '@esbuild/linux-s390x@0.21.4': optional: true + '@esbuild/linux-x64@0.18.20': + optional: true + '@esbuild/linux-x64@0.20.2': optional: true '@esbuild/linux-x64@0.21.4': optional: true + '@esbuild/netbsd-x64@0.18.20': + optional: true + '@esbuild/netbsd-x64@0.20.2': optional: true '@esbuild/netbsd-x64@0.21.4': optional: true + '@esbuild/openbsd-x64@0.18.20': + optional: true + '@esbuild/openbsd-x64@0.20.2': optional: true '@esbuild/openbsd-x64@0.21.4': optional: true + '@esbuild/sunos-x64@0.18.20': + optional: true + '@esbuild/sunos-x64@0.20.2': optional: true '@esbuild/sunos-x64@0.21.4': optional: true + '@esbuild/win32-arm64@0.18.20': + optional: true + '@esbuild/win32-arm64@0.20.2': optional: true '@esbuild/win32-arm64@0.21.4': optional: true + '@esbuild/win32-ia32@0.18.20': + optional: true + '@esbuild/win32-ia32@0.20.2': optional: true '@esbuild/win32-ia32@0.21.4': optional: true + '@esbuild/win32-x64@0.18.20': + optional: true + '@esbuild/win32-x64@0.20.2': optional: true @@ -15308,7 +17005,7 @@ snapshots: '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.5 espree: 9.6.1 globals: 13.24.0 ignore: 5.3.1 @@ -15321,40 +17018,362 @@ snapshots: '@eslint/js@8.56.0': {} - '@fal-works/esbuild-plugin-global-externals@2.1.2': {} - - '@fastify/busboy@2.1.0': {} - - '@floating-ui/core@1.6.0': + '@expo/bunyan@4.0.0': dependencies: - '@floating-ui/utils': 0.2.1 + uuid: 8.3.2 + optionalDependencies: + mv: 2.1.1 + safe-json-stringify: 1.2.0 - '@floating-ui/dom@1.6.3': + '@expo/cli@0.18.13(encoding@0.1.13)(expo-modules-autolinking@1.11.1)': dependencies: - '@floating-ui/core': 1.6.0 - '@floating-ui/utils': 0.2.1 + '@babel/runtime': 7.24.4 + '@expo/code-signing-certificates': 0.0.5 + '@expo/config': 9.0.2 + '@expo/config-plugins': 8.0.5 + '@expo/devcert': 1.1.2 + '@expo/env': 0.3.0 + '@expo/image-utils': 0.5.1(encoding@0.1.13) + '@expo/json-file': 8.3.3 + '@expo/metro-config': 0.18.4 + '@expo/osascript': 2.1.3 + '@expo/package-manager': 1.5.2 + '@expo/plist': 0.1.3 + '@expo/prebuild-config': 7.0.4(encoding@0.1.13)(expo-modules-autolinking@1.11.1) + '@expo/rudder-sdk-node': 1.1.1(encoding@0.1.13) + '@expo/spawn-async': 1.7.2 + '@expo/xcpretty': 4.3.1 + '@react-native/dev-middleware': 0.74.83(encoding@0.1.13) + '@urql/core': 2.3.6(graphql@15.8.0) + '@urql/exchange-retry': 0.3.0(graphql@15.8.0) + accepts: 1.3.8 + arg: 5.0.2 + better-opn: 3.0.2 + bplist-parser: 0.3.2 + cacache: 18.0.3 + chalk: 4.1.2 + ci-info: 3.9.0 + connect: 3.7.0 + debug: 4.3.5 + env-editor: 0.4.2 + fast-glob: 3.3.2 + find-yarn-workspace-root: 2.0.0 + form-data: 3.0.1 + freeport-async: 2.0.0 + fs-extra: 8.1.0 + getenv: 1.0.0 + glob: 7.2.3 + graphql: 15.8.0 + graphql-tag: 2.12.6(graphql@15.8.0) + https-proxy-agent: 5.0.1 + internal-ip: 4.3.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + js-yaml: 3.14.1 + json-schema-deref-sync: 0.13.0 + lodash.debounce: 4.0.8 + md5hex: 1.0.0 + minimatch: 3.1.2 + node-fetch: 2.7.0(encoding@0.1.13) + node-forge: 1.3.1 + npm-package-arg: 7.0.0 + open: 8.4.2 + ora: 3.4.0 + picomatch: 3.0.1 + pretty-bytes: 5.6.0 + progress: 2.0.3 + prompts: 2.4.2 + qrcode-terminal: 0.11.0 + require-from-string: 2.0.2 + requireg: 0.2.2 + resolve: 1.22.8 + resolve-from: 5.0.0 + resolve.exports: 2.0.2 + semver: 7.6.2 + send: 0.18.0 + slugify: 1.6.6 + source-map-support: 0.5.21 + stacktrace-parser: 0.1.10 + structured-headers: 0.4.1 + tar: 6.2.0 + temp-dir: 2.0.0 + tempy: 0.7.1 + terminal-link: 2.1.1 + text-table: 0.2.0 + url-join: 4.0.0 + wrap-ansi: 7.0.0 + ws: 8.17.1 + transitivePeerDependencies: + - bufferutil + - encoding + - expo-modules-autolinking + - supports-color + - utf-8-validate - '@floating-ui/react-dom@2.0.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@expo/code-signing-certificates@0.0.5': dependencies: - '@floating-ui/dom': 1.6.3 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@floating-ui/utils@0.2.1': {} - - '@fluent/syntax@0.19.0': {} - - '@fungible-systems/zone-file@2.0.0': {} - - '@gar/promisify@1.1.3': - optional: true + node-forge: 1.3.1 + nullthrows: 1.1.1 - '@graphql-tools/merge@8.4.2(graphql@16.8.1)': + '@expo/config-plugins@8.0.4': dependencies: - '@graphql-tools/utils': 9.2.1(graphql@16.8.1) - graphql: 16.8.1 - tslib: 2.6.2 - + '@expo/config-types': 51.0.1 + '@expo/json-file': 8.3.3 + '@expo/plist': 0.1.3 + '@expo/sdk-runtime-versions': 1.0.0 + chalk: 4.1.2 + debug: 4.3.5 + find-up: 5.0.0 + getenv: 1.0.0 + glob: 7.1.6 + resolve-from: 5.0.0 + semver: 7.6.2 + slash: 3.0.0 + slugify: 1.6.6 + xcode: 3.0.1 + xml2js: 0.6.0 + transitivePeerDependencies: + - supports-color + + '@expo/config-plugins@8.0.5': + dependencies: + '@expo/config-types': 51.0.1 + '@expo/json-file': 8.3.3 + '@expo/plist': 0.1.3 + '@expo/sdk-runtime-versions': 1.0.0 + chalk: 4.1.2 + debug: 4.3.5 + find-up: 5.0.0 + getenv: 1.0.0 + glob: 7.1.6 + resolve-from: 5.0.0 + semver: 7.6.2 + slash: 3.0.0 + slugify: 1.6.6 + xcode: 3.0.1 + xml2js: 0.6.0 + transitivePeerDependencies: + - supports-color + + '@expo/config-types@51.0.1': {} + + '@expo/config@9.0.2': + dependencies: + '@babel/code-frame': 7.10.4 + '@expo/config-plugins': 8.0.5 + '@expo/config-types': 51.0.1 + '@expo/json-file': 8.3.3 + getenv: 1.0.0 + glob: 7.1.6 + require-from-string: 2.0.2 + resolve-from: 5.0.0 + semver: 7.6.2 + slugify: 1.6.6 + sucrase: 3.34.0 + transitivePeerDependencies: + - supports-color + + '@expo/devcert@1.1.2': + dependencies: + application-config-path: 0.1.1 + command-exists: 1.2.9 + debug: 3.2.7 + eol: 0.9.1 + get-port: 3.2.0 + glob: 7.2.3 + lodash: 4.17.21 + mkdirp: 0.5.6 + password-prompt: 1.1.3 + rimraf: 2.7.1 + sudo-prompt: 8.2.5 + tmp: 0.0.33 + tslib: 2.6.2 + transitivePeerDependencies: + - supports-color + + '@expo/env@0.3.0': + dependencies: + chalk: 4.1.2 + debug: 4.3.5 + dotenv: 16.4.5 + dotenv-expand: 11.0.6 + getenv: 1.0.0 + transitivePeerDependencies: + - supports-color + + '@expo/image-utils@0.5.1(encoding@0.1.13)': + dependencies: + '@expo/spawn-async': 1.7.2 + chalk: 4.1.2 + fs-extra: 9.0.0 + getenv: 1.0.0 + jimp-compact: 0.16.1 + node-fetch: 2.7.0(encoding@0.1.13) + parse-png: 2.1.0 + resolve-from: 5.0.0 + semver: 7.6.2 + tempy: 0.3.0 + transitivePeerDependencies: + - encoding + + '@expo/json-file@8.3.3': + dependencies: + '@babel/code-frame': 7.10.4 + json5: 2.2.3 + write-file-atomic: 2.4.3 + + '@expo/metro-config@0.18.4': + dependencies: + '@babel/core': 7.24.4 + '@babel/generator': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + '@expo/config': 9.0.2 + '@expo/env': 0.3.0 + '@expo/json-file': 8.3.3 + '@expo/spawn-async': 1.7.2 + chalk: 4.1.2 + debug: 4.3.5 + find-yarn-workspace-root: 2.0.0 + fs-extra: 9.1.0 + getenv: 1.0.0 + glob: 7.2.3 + jsc-safe-url: 0.2.4 + lightningcss: 1.19.0 + postcss: 8.4.38 + resolve-from: 5.0.0 + transitivePeerDependencies: + - supports-color + + '@expo/osascript@2.1.3': + dependencies: + '@expo/spawn-async': 1.7.2 + exec-async: 2.2.0 + + '@expo/package-manager@1.5.2': + dependencies: + '@expo/json-file': 8.3.3 + '@expo/spawn-async': 1.7.2 + ansi-regex: 5.0.1 + chalk: 4.1.2 + find-up: 5.0.0 + find-yarn-workspace-root: 2.0.0 + js-yaml: 3.14.1 + micromatch: 4.0.5 + npm-package-arg: 7.0.0 + ora: 3.4.0 + split: 1.0.1 + sudo-prompt: 9.1.1 + + '@expo/plist@0.1.3': + dependencies: + '@xmldom/xmldom': 0.7.13 + base64-js: 1.5.1 + xmlbuilder: 14.0.0 + + '@expo/prebuild-config@7.0.3(encoding@0.1.13)(expo-modules-autolinking@1.11.1)': + dependencies: + '@expo/config': 9.0.2 + '@expo/config-plugins': 8.0.5 + '@expo/config-types': 51.0.1 + '@expo/image-utils': 0.5.1(encoding@0.1.13) + '@expo/json-file': 8.3.3 + '@react-native/normalize-colors': 0.74.83 + debug: 4.3.5 + expo-modules-autolinking: 1.11.1 + fs-extra: 9.1.0 + resolve-from: 5.0.0 + semver: 7.6.2 + xml2js: 0.6.0 + transitivePeerDependencies: + - encoding + - supports-color + + '@expo/prebuild-config@7.0.4(encoding@0.1.13)(expo-modules-autolinking@1.11.1)': + dependencies: + '@expo/config': 9.0.2 + '@expo/config-plugins': 8.0.5 + '@expo/config-types': 51.0.1 + '@expo/image-utils': 0.5.1(encoding@0.1.13) + '@expo/json-file': 8.3.3 + '@react-native/normalize-colors': 0.74.83 + debug: 4.3.5 + expo-modules-autolinking: 1.11.1 + fs-extra: 9.1.0 + resolve-from: 5.0.0 + semver: 7.6.2 + xml2js: 0.6.0 + transitivePeerDependencies: + - encoding + - supports-color + + '@expo/rudder-sdk-node@1.1.1(encoding@0.1.13)': + dependencies: + '@expo/bunyan': 4.0.0 + '@segment/loosely-validate-event': 2.0.0 + fetch-retry: 4.1.1 + md5: 2.3.0 + node-fetch: 2.7.0(encoding@0.1.13) + remove-trailing-slash: 0.1.1 + uuid: 8.3.2 + transitivePeerDependencies: + - encoding + + '@expo/sdk-runtime-versions@1.0.0': {} + + '@expo/spawn-async@1.7.2': + dependencies: + cross-spawn: 7.0.3 + + '@expo/vector-icons@14.0.0': {} + + '@expo/xcpretty@4.3.1': + dependencies: + '@babel/code-frame': 7.10.4 + chalk: 4.1.2 + find-up: 5.0.0 + js-yaml: 4.1.0 + + '@fal-works/esbuild-plugin-global-externals@2.1.2': {} + + '@fastify/busboy@2.1.0': {} + + '@floating-ui/core@1.6.0': + dependencies: + '@floating-ui/utils': 0.2.1 + + '@floating-ui/dom@1.6.3': + dependencies: + '@floating-ui/core': 1.6.0 + '@floating-ui/utils': 0.2.1 + + '@floating-ui/react-dom@2.0.8(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@floating-ui/dom': 1.6.3 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + '@floating-ui/react-dom@2.0.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@floating-ui/dom': 1.6.3 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + + '@floating-ui/utils@0.2.1': {} + + '@fluent/syntax@0.19.0': {} + + '@fungible-systems/zone-file@2.0.0': {} + + '@gar/promisify@1.1.3': + optional: true + + '@graphql-tools/merge@8.4.2(graphql@16.8.1)': + dependencies: + '@graphql-tools/utils': 9.2.1(graphql@16.8.1) + graphql: 16.8.1 + tslib: 2.6.2 + '@graphql-tools/schema@9.0.19(graphql@16.8.1)': dependencies: '@graphql-tools/merge': 8.4.2(graphql@16.8.1) @@ -15369,10 +17388,20 @@ snapshots: graphql: 16.8.1 tslib: 2.6.2 + '@graphql-typed-document-node/core@3.2.0(graphql@15.8.0)': + dependencies: + graphql: 15.8.0 + '@graphql-typed-document-node/core@3.2.0(graphql@16.8.1)': dependencies: graphql: 16.8.1 + '@hapi/hoek@9.3.0': {} + + '@hapi/topo@5.1.0': + dependencies: + '@hapi/hoek': 9.3.0 + '@hirosystems/token-metadata-api-client@1.2.0(encoding@0.1.13)': dependencies: isomorphic-fetch: 3.0.0(encoding@0.1.13) @@ -15382,7 +17411,7 @@ snapshots: '@humanwhocodes/config-array@0.11.14': dependencies: '@humanwhocodes/object-schema': 2.0.2 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.5 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -15400,12 +17429,51 @@ snapshots: wrap-ansi: 7.0.0 wrap-ansi-cjs: wrap-ansi@7.0.0 + '@isaacs/ttlcache@1.4.1': {} + '@istanbuljs/schema@0.1.3': {} + '@jest/create-cache-key-function@29.7.0': + dependencies: + '@jest/types': 29.6.3 + + '@jest/environment@29.7.0': + dependencies: + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.12.12 + jest-mock: 29.7.0 + + '@jest/fake-timers@29.7.0': + dependencies: + '@jest/types': 29.6.3 + '@sinonjs/fake-timers': 10.3.0 + '@types/node': 20.12.12 + jest-message-util: 29.7.0 + jest-mock: 29.7.0 + jest-util: 29.7.0 + '@jest/schemas@29.6.3': dependencies: '@sinclair/typebox': 0.27.8 + '@jest/types@26.6.2': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 20.12.12 + '@types/yargs': 15.0.19 + chalk: 4.1.2 + + '@jest/types@29.6.3': + dependencies: + '@jest/schemas': 29.6.3 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 20.12.12 + '@types/yargs': 17.0.32 + chalk: 4.1.2 + '@josephg/resolvable@1.0.1': {} '@jridgewell/gen-mapping@0.3.3': @@ -15435,7 +17503,6 @@ snapshots: dependencies: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - optional: true '@jridgewell/sourcemap-codec@1.4.15': {} @@ -15454,13 +17521,13 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - '@leather-wallet/bitcoin@0.7.2(encoding@0.1.13)': + '@leather.io/bitcoin@0.8.2(encoding@0.1.13)': dependencies: '@bitcoinerlab/secp256k1': 1.0.2 - '@leather-wallet/constants': 0.6.3 - '@leather-wallet/crypto': 1.0.1 - '@leather-wallet/models': 0.8.0 - '@leather-wallet/utils': 0.8.1 + '@leather.io/constants': 0.8.0 + '@leather.io/crypto': 1.0.2 + '@leather.io/models': 0.10.0 + '@leather.io/utils': 0.9.2 '@noble/hashes': 1.4.0 '@noble/secp256k1': 2.1.0 '@scure/base': 1.1.6 @@ -15476,42 +17543,52 @@ snapshots: transitivePeerDependencies: - encoding - '@leather-wallet/constants@0.6.3': {} + '@leather.io/constants@0.8.0': {} - '@leather-wallet/crypto@1.0.1': + '@leather.io/crypto@1.0.2': dependencies: '@scure/bip32': 1.4.0 '@scure/bip39': 1.3.0 - '@leather-wallet/models@0.8.0': + '@leather.io/eslint-config@0.6.0(typescript@5.4.5)': + dependencies: + '@typescript-eslint/eslint-plugin': 6.9.0(@typescript-eslint/parser@6.9.0(eslint@8.56.0)(typescript@5.4.5))(eslint@8.56.0)(typescript@5.4.5) + '@typescript-eslint/parser': 6.9.0(eslint@8.56.0)(typescript@5.4.5) + eslint: 8.56.0 + eslint-plugin-deprecation: 2.0.0(eslint@8.56.0)(typescript@5.4.5) + transitivePeerDependencies: + - supports-color + - typescript + + '@leather.io/models@0.10.0': dependencies: '@stacks/stacks-blockchain-api-types': 7.8.2 bignumber.js: 9.1.2 - '@leather-wallet/panda-preset@0.2.0(jsdom@22.1.0)(typescript@5.4.5)': + '@leather.io/panda-preset@0.3.0(jsdom@22.1.0)(typescript@5.4.5)': dependencies: - '@pandacss/dev': 0.26.2(jsdom@22.1.0)(typescript@5.4.5) + '@pandacss/dev': 0.40.1(jsdom@22.1.0)(typescript@5.4.5) transitivePeerDependencies: - jsdom - typescript - '@leather-wallet/prettier-config@0.4.1(@vue/compiler-sfc@3.4.27)': + '@leather.io/prettier-config@0.5.0(@vue/compiler-sfc@3.4.19)': dependencies: - '@trivago/prettier-plugin-sort-imports': 4.3.0(@vue/compiler-sfc@3.4.27)(prettier@3.3.0) + '@trivago/prettier-plugin-sort-imports': 4.3.0(@vue/compiler-sfc@3.4.19)(prettier@3.3.0) prettier: 3.3.0 transitivePeerDependencies: - '@vue/compiler-sfc' - supports-color - '@leather-wallet/query@0.8.6(@stacks/network@6.13.0(encoding@0.1.13))(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@leather.io/query@0.9.4(@stacks/network@6.13.0(encoding@0.1.13))(encoding@0.1.13)(react@18.3.1)': dependencies: '@fungible-systems/zone-file': 2.0.0 '@hirosystems/token-metadata-api-client': 1.2.0(encoding@0.1.13) - '@leather-wallet/bitcoin': 0.7.2(encoding@0.1.13) - '@leather-wallet/constants': 0.6.3 - '@leather-wallet/models': 0.8.0 - '@leather-wallet/rpc': 1.0.3 - '@leather-wallet/utils': 0.8.1 + '@leather.io/bitcoin': 0.8.2(encoding@0.1.13) + '@leather.io/constants': 0.8.0 + '@leather.io/models': 0.10.0 + '@leather.io/rpc': 2.0.0 + '@leather.io/utils': 0.9.2 '@noble/hashes': 1.4.0 '@scure/base': 1.1.6 '@scure/bip32': 1.4.0 @@ -15521,10 +17598,7 @@ snapshots: '@stacks/rpc-client': 1.0.3(encoding@0.1.13) '@stacks/stacks-blockchain-api-types': 7.8.2 '@stacks/transactions': 6.15.0(encoding@0.1.13) - '@tanstack/query-sync-storage-persister': 4.35.7 - '@tanstack/react-query': 4.35.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@tanstack/react-query-devtools': 4.35.7(@tanstack/react-query@4.35.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@tanstack/react-query-persist-client': 4.35.7(@tanstack/react-query@4.35.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tanstack/react-query': 5.45.1(react@18.3.1) alex-sdk: 0.1.26(@stacks/network@6.13.0(encoding@0.1.13))(@stacks/transactions@6.15.0(encoding@0.1.13)) axios: 1.6.7 bignumber.js: 9.1.2 @@ -15538,20 +17612,66 @@ snapshots: - '@stacks/network' - debug - encoding - - react-dom - - react-native - - '@leather-wallet/rpc@1.0.3': - dependencies: - '@leather-wallet/models': 0.8.0 - '@leather-wallet/tokens@0.5.2': {} + '@leather.io/rpc@2.0.0': + dependencies: + '@leather.io/models': 0.10.0 + + '@leather.io/tokens@0.6.0': {} + + '@leather.io/ui@1.6.0(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@swc/core@1.4.8)(@types/react-dom@18.3.0)(@types/react@18.3.3)(encoding@0.1.13)(expo-modules-autolinking@1.11.1)(postcss@8.4.38)(ts-node@10.9.2(@swc/core@1.4.8)(@types/node@20.12.12)(typescript@5.4.5))(typescript@5.4.5)': + dependencies: + '@expo/vector-icons': 14.0.0 + '@leather.io/tokens': 0.6.0 + '@leather.io/utils': 0.9.2 + '@radix-ui/react-accessible-icon': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-accordion': 1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-avatar': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-dialog': 1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-dropdown-menu': 2.0.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-select': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-tabs': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-toast': 1.1.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-tooltip': 1.0.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@react-native/assets-registry': 0.73.1 + '@react-native/metro-config': 0.73.5(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(encoding@0.1.13) + '@rnx-kit/metro-config': 1.3.14(@react-native/metro-config@0.73.5(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(encoding@0.1.13))(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.2.0) + '@rnx-kit/metro-resolver-symlinks': 0.1.35 + '@shopify/restyle': 2.4.2(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.2.0) + '@storybook/react': 7.6.15(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.5) + expo: 51.0.8(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(encoding@0.1.13) + expo-asset: 10.0.6(expo@51.0.8(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(encoding@0.1.13)) + expo-constants: 16.0.1(expo@51.0.8(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(encoding@0.1.13)) + expo-font: 12.0.5(expo@51.0.8(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(encoding@0.1.13)) + expo-splash-screen: 0.27.4(encoding@0.1.13)(expo-modules-autolinking@1.11.1)(expo@51.0.8(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(encoding@0.1.13)) + metro-cache: 0.80.5 + metro-config: 0.80.5(encoding@0.1.13) + metro-resolver: 0.80.5 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-native: 0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.3.1) + tsup: 8.1.0(@swc/core@1.4.8)(postcss@8.4.38)(ts-node@10.9.2(@swc/core@1.4.8)(@types/node@20.12.12)(typescript@5.4.5))(typescript@5.4.5) + transitivePeerDependencies: + - '@babel/core' + - '@babel/preset-env' + - '@microsoft/api-extractor' + - '@swc/core' + - '@types/react' + - '@types/react-dom' + - bufferutil + - encoding + - expo-modules-autolinking + - postcss + - supports-color + - ts-node + - typescript + - utf-8-validate - '@leather-wallet/utils@0.8.1': + '@leather.io/utils@0.9.2': dependencies: - '@leather-wallet/constants': 0.6.3 - '@leather-wallet/models': 0.8.0 - '@leather-wallet/rpc': 1.0.3 + '@leather.io/constants': 0.8.0 + '@leather.io/models': 0.10.0 + '@leather.io/rpc': 2.0.0 bignumber.js: 9.1.2 '@ledgerhq/devices@8.2.0': @@ -15598,7 +17718,7 @@ snapshots: nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.6.0 + semver: 7.6.2 tar: 6.2.0 transitivePeerDependencies: - encoding @@ -15688,15 +17808,19 @@ snapshots: nopt: 7.2.0 proc-log: 3.0.0 read-package-json-fast: 3.0.2 - semver: 7.6.0 + semver: 7.6.2 walk-up-path: 3.0.1 '@npmcli/fs@1.1.1': dependencies: '@gar/promisify': 1.1.3 - semver: 7.6.0 + semver: 7.6.2 optional: true + '@npmcli/fs@3.1.1': + dependencies: + semver: 7.6.2 + '@npmcli/map-workspaces@3.0.4': dependencies: '@npmcli/name-from-folder': 2.0.0 @@ -15718,21 +17842,6 @@ snapshots: dependencies: '@octokit/openapi-types': 19.1.0 - '@pandacss/config@0.26.2': - dependencies: - '@pandacss/error': 0.26.2 - '@pandacss/logger': 0.26.2 - '@pandacss/preset-base': 0.26.2 - '@pandacss/preset-panda': 0.26.2 - '@pandacss/shared': 0.26.2 - '@pandacss/types': 0.26.2 - bundle-n-require: 1.1.1 - escalade: 3.1.1 - jiti: 1.21.4 - merge-anything: 5.1.7 - microdiff: 1.4.0 - typescript: 5.4.5 - '@pandacss/config@0.40.1': dependencies: '@pandacss/logger': 0.40.1 @@ -15746,28 +17855,6 @@ snapshots: microdiff: 1.3.2 typescript: 5.3.3 - '@pandacss/core@0.26.2': - dependencies: - '@pandacss/error': 0.26.2 - '@pandacss/is-valid-prop': 0.26.2 - '@pandacss/logger': 0.26.2 - '@pandacss/shared': 0.26.2 - '@pandacss/token-dictionary': 0.26.2 - '@pandacss/types': 0.26.2 - autoprefixer: 10.4.15(postcss@8.4.38) - hookable: 5.5.3 - lodash.merge: 4.6.2 - outdent: 0.8.0 - postcss: 8.4.38 - postcss-discard-duplicates: 6.0.3(postcss@8.4.38) - postcss-discard-empty: 6.0.3(postcss@8.4.38) - postcss-merge-rules: 6.1.1(postcss@8.4.38) - postcss-minify-selectors: 6.0.4(postcss@8.4.38) - postcss-nested: 6.0.1(postcss@8.4.38) - postcss-normalize-whitespace: 6.0.2(postcss@8.4.38) - postcss-selector-parser: 6.1.0 - ts-pattern: 5.0.5 - '@pandacss/core@0.40.1': dependencies: '@csstools/postcss-cascade-layers': 4.0.6(postcss@8.4.38) @@ -15791,24 +17878,6 @@ snapshots: postcss-selector-parser: 6.0.16 ts-pattern: 5.0.8 - '@pandacss/dev@0.26.2(jsdom@22.1.0)(typescript@5.4.5)': - dependencies: - '@clack/prompts': 0.6.3 - '@pandacss/config': 0.26.2 - '@pandacss/error': 0.26.2 - '@pandacss/logger': 0.26.2 - '@pandacss/node': 0.26.2(jsdom@22.1.0)(typescript@5.4.5) - '@pandacss/postcss': 0.26.2(jsdom@22.1.0)(typescript@5.4.5) - '@pandacss/preset-panda': 0.26.2 - '@pandacss/shared': 0.26.2 - '@pandacss/token-dictionary': 0.26.2 - '@pandacss/types': 0.26.2 - cac: 6.7.14 - pathe: 1.1.1 - transitivePeerDependencies: - - jsdom - - typescript - '@pandacss/dev@0.40.1(jsdom@22.1.0)(typescript@5.4.5)': dependencies: '@clack/prompts': 0.7.0 @@ -15825,16 +17894,6 @@ snapshots: - jsdom - typescript - '@pandacss/error@0.26.2': {} - - '@pandacss/extractor@0.26.2(jsdom@22.1.0)(typescript@5.4.5)': - dependencies: - ts-evaluator: 1.2.0(jsdom@22.1.0)(typescript@5.4.5) - ts-morph: 19.0.0 - transitivePeerDependencies: - - jsdom - - typescript - '@pandacss/extractor@0.40.1(jsdom@22.1.0)(typescript@5.4.5)': dependencies: '@pandacss/shared': 0.40.1 @@ -15844,20 +17903,6 @@ snapshots: - jsdom - typescript - '@pandacss/generator@0.26.2': - dependencies: - '@pandacss/core': 0.26.2 - '@pandacss/is-valid-prop': 0.26.2 - '@pandacss/logger': 0.26.2 - '@pandacss/shared': 0.26.2 - '@pandacss/token-dictionary': 0.26.2 - '@pandacss/types': 0.26.2 - javascript-stringify: 2.1.0 - outdent: 0.8.0 - pluralize: 8.0.0 - postcss: 8.4.38 - ts-pattern: 5.0.5 - '@pandacss/generator@0.40.1': dependencies: '@pandacss/core': 0.40.1 @@ -15872,69 +17917,25 @@ snapshots: postcss: 8.4.38 ts-pattern: 5.0.8 - '@pandacss/is-valid-prop@0.26.2': {} - '@pandacss/is-valid-prop@0.40.1': {} - '@pandacss/logger@0.26.2': - dependencies: - kleur: 4.1.5 - lil-fp: 1.4.5 - '@pandacss/logger@0.40.1': dependencies: '@pandacss/types': 0.40.1 kleur: 4.1.5 - '@pandacss/node@0.26.2(jsdom@22.1.0)(typescript@5.4.5)': - dependencies: - '@pandacss/config': 0.26.2 - '@pandacss/core': 0.26.2 - '@pandacss/error': 0.26.2 - '@pandacss/extractor': 0.26.2(jsdom@22.1.0)(typescript@5.4.5) - '@pandacss/generator': 0.26.2 - '@pandacss/logger': 0.26.2 - '@pandacss/parser': 0.26.2(jsdom@22.1.0)(typescript@5.4.5) - '@pandacss/shared': 0.26.2 - '@pandacss/token-dictionary': 0.26.2 - '@pandacss/types': 0.26.2 - chokidar: 3.6.0 - fast-glob: 3.3.2 - file-size: 1.0.0 - filesize: 10.1.2 - fs-extra: 11.1.1 - glob-parent: 6.0.2 - hookable: 5.5.3 - is-glob: 4.0.3 - lodash.merge: 4.6.2 - look-it-up: 2.1.0 - outdent: 0.8.0 - pathe: 1.1.1 - perfect-debounce: 1.0.0 - pkg-types: 1.0.3 - pluralize: 8.0.0 - postcss: 8.4.38 - preferred-pm: 3.1.3 - prettier: 2.8.8 - ts-morph: 19.0.0 - ts-pattern: 5.0.5 - tsconfck: 2.1.2(typescript@5.4.5) - transitivePeerDependencies: - - jsdom - - typescript - - '@pandacss/node@0.40.1(jsdom@22.1.0)(typescript@5.4.5)': - dependencies: - '@pandacss/config': 0.40.1 - '@pandacss/core': 0.40.1 - '@pandacss/extractor': 0.40.1(jsdom@22.1.0)(typescript@5.4.5) - '@pandacss/generator': 0.40.1 - '@pandacss/logger': 0.40.1 - '@pandacss/parser': 0.40.1(jsdom@22.1.0)(typescript@5.4.5) - '@pandacss/shared': 0.40.1 - '@pandacss/token-dictionary': 0.40.1 - '@pandacss/types': 0.40.1 - browserslist: 4.23.0 + '@pandacss/node@0.40.1(jsdom@22.1.0)(typescript@5.4.5)': + dependencies: + '@pandacss/config': 0.40.1 + '@pandacss/core': 0.40.1 + '@pandacss/extractor': 0.40.1(jsdom@22.1.0)(typescript@5.4.5) + '@pandacss/generator': 0.40.1 + '@pandacss/logger': 0.40.1 + '@pandacss/parser': 0.40.1(jsdom@22.1.0)(typescript@5.4.5) + '@pandacss/shared': 0.40.1 + '@pandacss/token-dictionary': 0.40.1 + '@pandacss/types': 0.40.1 + browserslist: 4.23.0 chokidar: 3.6.0 fast-glob: 3.3.2 file-size: 1.0.0 @@ -15958,22 +17959,6 @@ snapshots: - jsdom - typescript - '@pandacss/parser@0.26.2(jsdom@22.1.0)(typescript@5.4.5)': - dependencies: - '@pandacss/config': 0.26.2 - '@pandacss/core': 0.26.2 - '@pandacss/extractor': 0.26.2(jsdom@22.1.0)(typescript@5.4.5) - '@pandacss/logger': 0.26.2 - '@pandacss/shared': 0.26.2 - '@pandacss/types': 0.26.2 - '@vue/compiler-sfc': 3.3.4 - magic-string: 0.30.5 - ts-morph: 19.0.0 - ts-pattern: 5.0.5 - transitivePeerDependencies: - - jsdom - - typescript - '@pandacss/parser@0.40.1(jsdom@22.1.0)(typescript@5.4.5)': dependencies: '@pandacss/config': 0.40.1 @@ -15990,14 +17975,6 @@ snapshots: - jsdom - typescript - '@pandacss/postcss@0.26.2(jsdom@22.1.0)(typescript@5.4.5)': - dependencies: - '@pandacss/node': 0.26.2(jsdom@22.1.0)(typescript@5.4.5) - postcss: 8.4.38 - transitivePeerDependencies: - - jsdom - - typescript - '@pandacss/postcss@0.40.1(jsdom@22.1.0)(typescript@5.4.5)': dependencies: '@pandacss/node': 0.40.1(jsdom@22.1.0)(typescript@5.4.5) @@ -16006,32 +17983,16 @@ snapshots: - jsdom - typescript - '@pandacss/preset-base@0.26.2': - dependencies: - '@pandacss/types': 0.26.2 - '@pandacss/preset-base@0.40.1': dependencies: '@pandacss/types': 0.40.1 - '@pandacss/preset-panda@0.26.2': - dependencies: - '@pandacss/types': 0.26.2 - '@pandacss/preset-panda@0.40.1': dependencies: '@pandacss/types': 0.40.1 - '@pandacss/shared@0.26.2': {} - '@pandacss/shared@0.40.1': {} - '@pandacss/token-dictionary@0.26.2': - dependencies: - '@pandacss/shared': 0.26.2 - '@pandacss/types': 0.26.2 - ts-pattern: 5.0.5 - '@pandacss/token-dictionary@0.40.1': dependencies: '@pandacss/logger': 0.40.1 @@ -16039,8 +18000,6 @@ snapshots: '@pandacss/types': 0.40.1 ts-pattern: 5.0.8 - '@pandacss/types@0.26.2': {} - '@pandacss/types@0.40.1': {} '@pkgjs/parseargs@0.11.0': @@ -16110,15 +18069,25 @@ snapshots: '@radix-ui/number@1.0.1': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.4 '@radix-ui/primitive@1.0.1': dependencies: '@babel/runtime': 7.24.4 + '@radix-ui/react-accessible-icon@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.4 + '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + '@radix-ui/react-accessible-icon@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.4 '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -16126,27 +18095,27 @@ snapshots: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 - '@radix-ui/react-accordion@1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-accordion@1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.24.4 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collapsible': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1) - '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.3.1) - '@radix-ui/react-direction': 1.0.1(@types/react@18.3.3)(react@18.3.1) - '@radix-ui/react-id': 1.0.1(@types/react@18.3.3)(react@18.3.1) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.3)(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@radix-ui/react-collapsible': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.3)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) optionalDependencies: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 '@radix-ui/react-alert-dialog@1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.4 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1) '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.3.1) @@ -16159,6 +18128,16 @@ snapshots: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 + '@radix-ui/react-arrow@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.4 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + '@radix-ui/react-arrow@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.24.4 @@ -16171,7 +18150,7 @@ snapshots: '@radix-ui/react-aspect-ratio@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.4 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -16179,9 +18158,22 @@ snapshots: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 + '@radix-ui/react-avatar@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.4 + '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.3)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + '@radix-ui/react-avatar@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.4 '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.3.1) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.3)(react@18.3.1) @@ -16194,7 +18186,7 @@ snapshots: '@radix-ui/react-checkbox@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.4 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1) '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.3.1) @@ -16209,19 +18201,32 @@ snapshots: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 - '@radix-ui/react-collapsible@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-collapsible@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.24.4 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1) - '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.3.1) - '@radix-ui/react-id': 1.0.1(@types/react@18.3.3)(react@18.3.1) - '@radix-ui/react-presence': 1.0.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) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.3)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.3)(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.3)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + + '@radix-ui/react-collection@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.4 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.3.3)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) optionalDependencies: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 @@ -16239,6 +18244,13 @@ snapshots: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 + '@radix-ui/react-compose-refs@1.0.1(@types/react@18.3.3)(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.4 + react: 18.2.0 + optionalDependencies: + '@types/react': 18.3.3 + '@radix-ui/react-compose-refs@1.0.1(@types/react@18.3.3)(react@18.3.1)': dependencies: '@babel/runtime': 7.24.4 @@ -16248,7 +18260,7 @@ snapshots: '@radix-ui/react-context-menu@2.1.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.4 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.3.1) '@radix-ui/react-menu': 2.0.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -16261,6 +18273,13 @@ snapshots: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 + '@radix-ui/react-context@1.0.1(@types/react@18.3.3)(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.4 + react: 18.2.0 + optionalDependencies: + '@types/react': 18.3.3 + '@radix-ui/react-context@1.0.1(@types/react@18.3.3)(react@18.3.1)': dependencies: '@babel/runtime': 7.24.4 @@ -16268,6 +18287,29 @@ snapshots: optionalDependencies: '@types/react': 18.3.3 + '@radix-ui/react-dialog@1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.23.9 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.3)(react@18.2.0) + aria-hidden: 1.2.3 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.3.3)(react@18.2.0) + optionalDependencies: + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + '@radix-ui/react-dialog@1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.23.9 @@ -16291,6 +18333,13 @@ snapshots: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 + '@radix-ui/react-direction@1.0.1(@types/react@18.3.3)(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.4 + react: 18.2.0 + optionalDependencies: + '@types/react': 18.3.3 + '@radix-ui/react-direction@1.0.1(@types/react@18.3.3)(react@18.3.1)': dependencies: '@babel/runtime': 7.24.4 @@ -16298,9 +18347,23 @@ snapshots: optionalDependencies: '@types/react': 18.3.3 + '@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.4 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.3.3)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + '@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.4 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -16312,9 +18375,25 @@ snapshots: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 + '@radix-ui/react-dropdown-menu@2.0.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.4 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-menu': 2.0.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.3)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + '@radix-ui/react-dropdown-menu@2.0.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.4 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1) '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.3.1) @@ -16328,16 +18407,35 @@ snapshots: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 + '@radix-ui/react-focus-guards@1.0.1(@types/react@18.3.3)(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.4 + react: 18.2.0 + optionalDependencies: + '@types/react': 18.3.3 + '@radix-ui/react-focus-guards@1.0.1(@types/react@18.3.3)(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.4 react: 18.3.1 optionalDependencies: '@types/react': 18.3.3 + '@radix-ui/react-focus-scope@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.4 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.3)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + '@radix-ui/react-focus-scope@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.4 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.3)(react@18.3.1) @@ -16349,7 +18447,7 @@ snapshots: '@radix-ui/react-form@0.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.4 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1) '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.3.1) @@ -16364,7 +18462,7 @@ snapshots: '@radix-ui/react-hover-card@1.0.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.4 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1) '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.3.1) @@ -16380,6 +18478,14 @@ snapshots: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 + '@radix-ui/react-id@1.0.1(@types/react@18.3.3)(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.4 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.3)(react@18.2.0) + react: 18.2.0 + optionalDependencies: + '@types/react': 18.3.3 + '@radix-ui/react-id@1.0.1(@types/react@18.3.3)(react@18.3.1)': dependencies: '@babel/runtime': 7.24.4 @@ -16398,9 +18504,36 @@ snapshots: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 + '@radix-ui/react-menu@2.0.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.4 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.3)(react@18.2.0) + aria-hidden: 1.2.3 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.3.3)(react@18.2.0) + optionalDependencies: + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + '@radix-ui/react-menu@2.0.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.4 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1) @@ -16427,7 +18560,7 @@ snapshots: '@radix-ui/react-popover@1.0.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.4 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1) '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.3.1) @@ -16449,9 +18582,28 @@ snapshots: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 + '@radix-ui/react-popper@1.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.4 + '@floating-ui/react-dom': 2.0.8(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-use-rect': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/rect': 1.0.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + '@radix-ui/react-popper@1.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.4 '@floating-ui/react-dom': 2.0.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1) @@ -16468,9 +18620,19 @@ snapshots: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 + '@radix-ui/react-portal@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.4 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + '@radix-ui/react-portal@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.4 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -16478,9 +18640,20 @@ snapshots: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 + '@radix-ui/react-presence@1.0.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.4 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.3)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + '@radix-ui/react-presence@1.0.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)': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.4 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1) '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.3)(react@18.3.1) react: 18.3.1 @@ -16489,6 +18662,16 @@ snapshots: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 + '@radix-ui/react-primitive@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.4 + '@radix-ui/react-slot': 1.0.2(@types/react@18.3.3)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + '@radix-ui/react-primitive@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.24.4 @@ -16501,7 +18684,7 @@ snapshots: '@radix-ui/react-radio-group@1.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.4 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1) '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.3.1) @@ -16518,9 +18701,27 @@ snapshots: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 + '@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.4 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.3)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + '@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.4 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1) @@ -16538,7 +18739,7 @@ snapshots: '@radix-ui/react-scroll-area@1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.4 '@radix-ui/number': 1.0.1 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1) @@ -16554,9 +18755,39 @@ snapshots: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 + '@radix-ui/react-select@2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.4 + '@radix-ui/number': 1.0.1 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-use-previous': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + aria-hidden: 1.2.3 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.3.3)(react@18.2.0) + optionalDependencies: + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + '@radix-ui/react-select@2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.4 '@radix-ui/number': 1.0.1 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -16586,7 +18817,7 @@ snapshots: '@radix-ui/react-separator@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.4 '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -16596,7 +18827,7 @@ snapshots: '@radix-ui/react-slider@1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.4 '@radix-ui/number': 1.0.1 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -16614,9 +18845,17 @@ snapshots: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 + '@radix-ui/react-slot@1.0.2(@types/react@18.3.3)(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.4 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.2.0) + react: 18.2.0 + 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.23.9 + '@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: @@ -16624,7 +18863,7 @@ snapshots: '@radix-ui/react-switch@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.4 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1) '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.3.1) @@ -16638,12 +18877,29 @@ snapshots: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 - '@radix-ui/react-tabs@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-tabs@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.4 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.3.1) - '@radix-ui/react-direction': 1.0.1(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.3)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + + '@radix-ui/react-tabs@1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@babel/runtime': 7.24.4 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-direction': 1.0.1(@types/react@18.3.3)(react@18.3.1) '@radix-ui/react-id': 1.0.1(@types/react@18.3.3)(react@18.3.1) '@radix-ui/react-presence': 1.0.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) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -16655,23 +18911,44 @@ snapshots: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 - '@radix-ui/react-toast@1.1.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-toast@1.1.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.4 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + + '@radix-ui/react-tooltip@1.0.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.23.9 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.3.1) - '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-presence': 1.0.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) - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.3)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.3)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.3)(react@18.3.1) - '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.3.3)(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) optionalDependencies: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 @@ -16697,122 +18974,638 @@ snapshots: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 - '@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.3.3)(react@18.3.1)': + '@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.3.3)(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.4 + react: 18.2.0 + optionalDependencies: + '@types/react': 18.3.3 + + '@radix-ui/react-use-callback-ref@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-use-controllable-state@1.0.1(@types/react@18.3.3)(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.4 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.3)(react@18.2.0) + react: 18.2.0 + optionalDependencies: + '@types/react': 18.3.3 + + '@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.3.3)(react@18.3.1)': + dependencies: + '@babel/runtime': 7.24.4 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.3)(react@18.3.1) + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.3 + + '@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.3.3)(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.4 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.3)(react@18.2.0) + react: 18.2.0 + optionalDependencies: + '@types/react': 18.3.3 + + '@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.3.3)(react@18.3.1)': + dependencies: + '@babel/runtime': 7.24.4 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.3)(react@18.3.1) + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.3 + + '@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.3.3)(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.4 + react: 18.2.0 + optionalDependencies: + '@types/react': 18.3.3 + + '@radix-ui/react-use-layout-effect@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-use-previous@1.0.1(@types/react@18.3.3)(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.4 + react: 18.2.0 + optionalDependencies: + '@types/react': 18.3.3 + + '@radix-ui/react-use-previous@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-use-rect@1.0.1(@types/react@18.3.3)(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.4 + '@radix-ui/rect': 1.0.1 + react: 18.2.0 + optionalDependencies: + '@types/react': 18.3.3 + + '@radix-ui/react-use-rect@1.0.1(@types/react@18.3.3)(react@18.3.1)': + dependencies: + '@babel/runtime': 7.24.4 + '@radix-ui/rect': 1.0.1 + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.3 + + '@radix-ui/react-use-size@1.0.1(@types/react@18.3.3)(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.4 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.3)(react@18.2.0) + react: 18.2.0 + optionalDependencies: + '@types/react': 18.3.3 + + '@radix-ui/react-use-size@1.0.1(@types/react@18.3.3)(react@18.3.1)': + dependencies: + '@babel/runtime': 7.24.4 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.3)(react@18.3.1) + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.3 + + '@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@babel/runtime': 7.24.4 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + optionalDependencies: + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + + '@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@babel/runtime': 7.24.4 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + + '@radix-ui/rect@1.0.1': + dependencies: + '@babel/runtime': 7.24.4 + + '@radix-ui/themes@2.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@radix-ui/colors': 3.0.0 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-accessible-icon': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-alert-dialog': 1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-aspect-ratio': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-avatar': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-checkbox': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-context-menu': 2.1.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dialog': 1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-direction': 1.0.1(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-dropdown-menu': 2.0.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-form': 0.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-hover-card': 1.0.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-popover': 1.0.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-radio-group': 1.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-scroll-area': 1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-select': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-separator': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slider': 1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.0.2(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-switch': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-tabs': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-tooltip': 1.0.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.3)(react@18.3.1) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + classnames: 2.5.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 + + '@react-native-community/cli-clean@13.6.6(encoding@0.1.13)': + dependencies: + '@react-native-community/cli-tools': 13.6.6(encoding@0.1.13) + chalk: 4.1.2 + execa: 5.1.1 + fast-glob: 3.3.2 + transitivePeerDependencies: + - encoding + + '@react-native-community/cli-config@13.6.6(encoding@0.1.13)': + dependencies: + '@react-native-community/cli-tools': 13.6.6(encoding@0.1.13) + chalk: 4.1.2 + cosmiconfig: 5.2.1 + deepmerge: 4.3.1 + fast-glob: 3.3.2 + joi: 17.13.1 + transitivePeerDependencies: + - encoding + + '@react-native-community/cli-debugger-ui@13.6.6': + dependencies: + serve-static: 1.15.0 + transitivePeerDependencies: + - supports-color + + '@react-native-community/cli-doctor@13.6.6(encoding@0.1.13)': + dependencies: + '@react-native-community/cli-config': 13.6.6(encoding@0.1.13) + '@react-native-community/cli-platform-android': 13.6.6(encoding@0.1.13) + '@react-native-community/cli-platform-apple': 13.6.6(encoding@0.1.13) + '@react-native-community/cli-platform-ios': 13.6.6(encoding@0.1.13) + '@react-native-community/cli-tools': 13.6.6(encoding@0.1.13) + chalk: 4.1.2 + command-exists: 1.2.9 + deepmerge: 4.3.1 + envinfo: 7.11.0 + execa: 5.1.1 + hermes-profile-transformer: 0.0.6 + node-stream-zip: 1.15.0 + ora: 5.4.1 + semver: 7.6.2 + strip-ansi: 5.2.0 + wcwidth: 1.0.1 + yaml: 2.3.4 + transitivePeerDependencies: + - encoding + + '@react-native-community/cli-hermes@13.6.6(encoding@0.1.13)': + dependencies: + '@react-native-community/cli-platform-android': 13.6.6(encoding@0.1.13) + '@react-native-community/cli-tools': 13.6.6(encoding@0.1.13) + chalk: 4.1.2 + hermes-profile-transformer: 0.0.6 + transitivePeerDependencies: + - encoding + + '@react-native-community/cli-platform-android@13.6.6(encoding@0.1.13)': + dependencies: + '@react-native-community/cli-tools': 13.6.6(encoding@0.1.13) + chalk: 4.1.2 + execa: 5.1.1 + fast-glob: 3.3.2 + fast-xml-parser: 4.4.0 + logkitty: 0.7.1 + transitivePeerDependencies: + - encoding + + '@react-native-community/cli-platform-apple@13.6.6(encoding@0.1.13)': + dependencies: + '@react-native-community/cli-tools': 13.6.6(encoding@0.1.13) + chalk: 4.1.2 + execa: 5.1.1 + fast-glob: 3.3.2 + fast-xml-parser: 4.4.0 + ora: 5.4.1 + transitivePeerDependencies: + - encoding + + '@react-native-community/cli-platform-ios@13.6.6(encoding@0.1.13)': + dependencies: + '@react-native-community/cli-platform-apple': 13.6.6(encoding@0.1.13) + transitivePeerDependencies: + - encoding + + '@react-native-community/cli-server-api@13.6.6(encoding@0.1.13)': + dependencies: + '@react-native-community/cli-debugger-ui': 13.6.6 + '@react-native-community/cli-tools': 13.6.6(encoding@0.1.13) + compression: 1.7.4 + connect: 3.7.0 + errorhandler: 1.5.1 + nocache: 3.0.4 + pretty-format: 26.6.2 + serve-static: 1.15.0 + ws: 8.17.1 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + '@react-native-community/cli-tools@13.6.6(encoding@0.1.13)': + dependencies: + appdirsjs: 1.2.7 + chalk: 4.1.2 + execa: 5.1.1 + find-up: 5.0.0 + mime: 2.6.0 + node-fetch: 2.7.0(encoding@0.1.13) + open: 6.4.0 + ora: 5.4.1 + semver: 7.6.2 + shell-quote: 1.8.1 + sudo-prompt: 9.2.1 + transitivePeerDependencies: + - encoding + + '@react-native-community/cli-types@13.6.6': + dependencies: + joi: 17.13.1 + + '@react-native-community/cli@13.6.6(encoding@0.1.13)': + dependencies: + '@react-native-community/cli-clean': 13.6.6(encoding@0.1.13) + '@react-native-community/cli-config': 13.6.6(encoding@0.1.13) + '@react-native-community/cli-debugger-ui': 13.6.6 + '@react-native-community/cli-doctor': 13.6.6(encoding@0.1.13) + '@react-native-community/cli-hermes': 13.6.6(encoding@0.1.13) + '@react-native-community/cli-server-api': 13.6.6(encoding@0.1.13) + '@react-native-community/cli-tools': 13.6.6(encoding@0.1.13) + '@react-native-community/cli-types': 13.6.6 + chalk: 4.1.2 + commander: 9.5.0 + deepmerge: 4.3.1 + execa: 5.1.1 + find-up: 4.1.0 + fs-extra: 8.1.0 + graceful-fs: 4.2.11 + prompts: 2.4.2 + semver: 7.6.2 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + '@react-native/assets-registry@0.73.1': {} + + '@react-native/assets-registry@0.74.84': {} + + '@react-native/babel-plugin-codegen@0.73.4(@babel/preset-env@7.24.6(@babel/core@7.24.4))': + dependencies: + '@react-native/codegen': 0.73.3(@babel/preset-env@7.24.6(@babel/core@7.24.4)) + transitivePeerDependencies: + - '@babel/preset-env' + - supports-color + + '@react-native/babel-plugin-codegen@0.74.83(@babel/preset-env@7.24.6(@babel/core@7.24.4))': + dependencies: + '@react-native/codegen': 0.74.83(@babel/preset-env@7.24.6(@babel/core@7.24.4)) + transitivePeerDependencies: + - '@babel/preset-env' + - supports-color + + '@react-native/babel-plugin-codegen@0.74.84(@babel/preset-env@7.24.6(@babel/core@7.24.4))': + dependencies: + '@react-native/codegen': 0.74.84(@babel/preset-env@7.24.6(@babel/core@7.24.4)) + transitivePeerDependencies: + - '@babel/preset-env' + - supports-color + + '@react-native/babel-preset@0.73.21(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))': + dependencies: + '@babel/core': 7.24.4 + '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.24.4) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.4) + '@babel/plugin-proposal-export-default-from': 7.24.7(@babel/core@7.24.4) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.24.4) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.24.4) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.24.4) + '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.24.4) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.4) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-export-default-from': 7.24.7(@babel/core@7.24.4) + '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.24.4) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-transform-arrow-functions': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-async-to-generator': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-block-scoping': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-classes': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-computed-properties': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-destructuring': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-flow-strip-types': 7.23.3(@babel/core@7.24.4) + '@babel/plugin-transform-function-name': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-literals': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-modules-commonjs': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-named-capturing-groups-regex': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-parameters': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-private-methods': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-private-property-in-object': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.24.4) + '@babel/plugin-transform-react-jsx': 7.24.7(@babel/core@7.24.4) + '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.24.4) + '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.24.4) + '@babel/plugin-transform-runtime': 7.24.7(@babel/core@7.24.4) + '@babel/plugin-transform-shorthand-properties': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-spread': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-sticky-regex': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.24.4) + '@babel/plugin-transform-unicode-regex': 7.24.6(@babel/core@7.24.4) + '@babel/template': 7.24.7 + '@react-native/babel-plugin-codegen': 0.73.4(@babel/preset-env@7.24.6(@babel/core@7.24.4)) + babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.24.4) + react-refresh: 0.14.2 + transitivePeerDependencies: + - '@babel/preset-env' + - supports-color + + '@react-native/babel-preset@0.74.83(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))': + dependencies: + '@babel/core': 7.24.4 + '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.24.4) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.4) + '@babel/plugin-proposal-export-default-from': 7.24.7(@babel/core@7.24.4) + '@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.24.4) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.24.4) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.24.4) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.24.4) + '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.24.4) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.4) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-export-default-from': 7.24.7(@babel/core@7.24.4) + '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.24.4) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-transform-arrow-functions': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-async-to-generator': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-block-scoping': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-classes': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-computed-properties': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-destructuring': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-flow-strip-types': 7.23.3(@babel/core@7.24.4) + '@babel/plugin-transform-function-name': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-literals': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-modules-commonjs': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-named-capturing-groups-regex': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-parameters': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-private-methods': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-private-property-in-object': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.24.4) + '@babel/plugin-transform-react-jsx': 7.24.7(@babel/core@7.24.4) + '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.24.4) + '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.24.4) + '@babel/plugin-transform-runtime': 7.24.7(@babel/core@7.24.4) + '@babel/plugin-transform-shorthand-properties': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-spread': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-sticky-regex': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.24.4) + '@babel/plugin-transform-unicode-regex': 7.24.6(@babel/core@7.24.4) + '@babel/template': 7.24.7 + '@react-native/babel-plugin-codegen': 0.74.83(@babel/preset-env@7.24.6(@babel/core@7.24.4)) + babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.24.4) + react-refresh: 0.14.2 + transitivePeerDependencies: + - '@babel/preset-env' + - supports-color + + '@react-native/babel-preset@0.74.84(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))': + dependencies: + '@babel/core': 7.24.4 + '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.24.4) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.4) + '@babel/plugin-proposal-export-default-from': 7.24.7(@babel/core@7.24.4) + '@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.24.4) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.24.4) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.24.4) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.24.4) + '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.24.4) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.4) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-export-default-from': 7.24.7(@babel/core@7.24.4) + '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.24.4) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-transform-arrow-functions': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-async-to-generator': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-block-scoping': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-classes': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-computed-properties': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-destructuring': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-flow-strip-types': 7.23.3(@babel/core@7.24.4) + '@babel/plugin-transform-function-name': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-literals': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-modules-commonjs': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-named-capturing-groups-regex': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-parameters': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-private-methods': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-private-property-in-object': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.24.4) + '@babel/plugin-transform-react-jsx': 7.24.7(@babel/core@7.24.4) + '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.24.4) + '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.24.4) + '@babel/plugin-transform-runtime': 7.24.7(@babel/core@7.24.4) + '@babel/plugin-transform-shorthand-properties': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-spread': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-sticky-regex': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.24.4) + '@babel/plugin-transform-unicode-regex': 7.24.6(@babel/core@7.24.4) + '@babel/template': 7.24.7 + '@react-native/babel-plugin-codegen': 0.74.84(@babel/preset-env@7.24.6(@babel/core@7.24.4)) + babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.24.4) + react-refresh: 0.14.2 + transitivePeerDependencies: + - '@babel/preset-env' + - supports-color + + '@react-native/codegen@0.73.3(@babel/preset-env@7.24.6(@babel/core@7.24.4))': dependencies: - '@babel/runtime': 7.23.9 - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.3 + '@babel/parser': 7.24.7 + '@babel/preset-env': 7.24.6(@babel/core@7.24.4) + flow-parser: 0.206.0 + glob: 7.2.3 + invariant: 2.2.4 + jscodeshift: 0.14.0(@babel/preset-env@7.24.6(@babel/core@7.24.4)) + mkdirp: 0.5.6 + nullthrows: 1.1.1 + transitivePeerDependencies: + - supports-color - '@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.3.3)(react@18.3.1)': + '@react-native/codegen@0.74.83(@babel/preset-env@7.24.6(@babel/core@7.24.4))': dependencies: - '@babel/runtime': 7.24.4 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.3)(react@18.3.1) - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.3 + '@babel/parser': 7.24.7 + '@babel/preset-env': 7.24.6(@babel/core@7.24.4) + glob: 7.2.3 + hermes-parser: 0.19.1 + invariant: 2.2.4 + jscodeshift: 0.14.0(@babel/preset-env@7.24.6(@babel/core@7.24.4)) + mkdirp: 0.5.6 + nullthrows: 1.1.1 + transitivePeerDependencies: + - supports-color - '@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.3.3)(react@18.3.1)': + '@react-native/codegen@0.74.84(@babel/preset-env@7.24.6(@babel/core@7.24.4))': dependencies: - '@babel/runtime': 7.24.4 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.3)(react@18.3.1) - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.3 + '@babel/parser': 7.24.7 + '@babel/preset-env': 7.24.6(@babel/core@7.24.4) + glob: 7.2.3 + hermes-parser: 0.19.1 + invariant: 2.2.4 + jscodeshift: 0.14.0(@babel/preset-env@7.24.6(@babel/core@7.24.4)) + mkdirp: 0.5.6 + nullthrows: 1.1.1 + transitivePeerDependencies: + - supports-color - '@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.3.3)(react@18.3.1)': + '@react-native/community-cli-plugin@0.74.83(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(encoding@0.1.13)': dependencies: - '@babel/runtime': 7.23.9 - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.3 + '@react-native-community/cli-server-api': 13.6.6(encoding@0.1.13) + '@react-native-community/cli-tools': 13.6.6(encoding@0.1.13) + '@react-native/dev-middleware': 0.74.83(encoding@0.1.13) + '@react-native/metro-babel-transformer': 0.74.83(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4)) + chalk: 4.1.2 + execa: 5.1.1 + metro: 0.80.9(encoding@0.1.13) + metro-config: 0.80.9(encoding@0.1.13) + metro-core: 0.80.9 + node-fetch: 2.7.0(encoding@0.1.13) + querystring: 0.2.1 + readline: 1.3.0 + transitivePeerDependencies: + - '@babel/core' + - '@babel/preset-env' + - bufferutil + - encoding + - supports-color + - utf-8-validate - '@radix-ui/react-use-previous@1.0.1(@types/react@18.3.3)(react@18.3.1)': - dependencies: - '@babel/runtime': 7.23.9 - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.3 + '@react-native/debugger-frontend@0.74.83': {} - '@radix-ui/react-use-rect@1.0.1(@types/react@18.3.3)(react@18.3.1)': + '@react-native/dev-middleware@0.74.83(encoding@0.1.13)': dependencies: - '@babel/runtime': 7.24.4 - '@radix-ui/rect': 1.0.1 - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.3 + '@isaacs/ttlcache': 1.4.1 + '@react-native/debugger-frontend': 0.74.83 + '@rnx-kit/chromium-edge-launcher': 1.0.0 + chrome-launcher: 0.15.2 + connect: 3.7.0 + debug: 2.6.9 + node-fetch: 2.7.0(encoding@0.1.13) + nullthrows: 1.1.1 + open: 7.4.2 + selfsigned: 2.4.1 + serve-static: 1.15.0 + temp-dir: 2.0.0 + ws: 8.17.1 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate - '@radix-ui/react-use-size@1.0.1(@types/react@18.3.3)(react@18.3.1)': + '@react-native/gradle-plugin@0.74.83': {} + + '@react-native/js-polyfills@0.73.1': {} + + '@react-native/js-polyfills@0.74.83': {} + + '@react-native/metro-babel-transformer@0.73.15(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))': dependencies: - '@babel/runtime': 7.24.4 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.3.3)(react@18.3.1) - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.3 + '@babel/core': 7.24.4 + '@react-native/babel-preset': 0.73.21(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4)) + hermes-parser: 0.15.0 + nullthrows: 1.1.1 + transitivePeerDependencies: + - '@babel/preset-env' + - supports-color - '@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@react-native/metro-babel-transformer@0.74.83(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))': dependencies: - '@babel/runtime': 7.23.9 - '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - optionalDependencies: - '@types/react': 18.3.3 - '@types/react-dom': 18.3.0 + '@babel/core': 7.24.4 + '@react-native/babel-preset': 0.74.83(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4)) + hermes-parser: 0.19.1 + nullthrows: 1.1.1 + transitivePeerDependencies: + - '@babel/preset-env' + - supports-color - '@radix-ui/rect@1.0.1': + '@react-native/metro-config@0.73.5(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(encoding@0.1.13)': dependencies: - '@babel/runtime': 7.24.4 + '@react-native/js-polyfills': 0.73.1 + '@react-native/metro-babel-transformer': 0.73.15(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4)) + metro-config: 0.80.9(encoding@0.1.13) + metro-runtime: 0.80.9 + transitivePeerDependencies: + - '@babel/core' + - '@babel/preset-env' + - bufferutil + - encoding + - supports-color + - utf-8-validate - '@radix-ui/themes@2.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@react-native/normalize-colors@0.74.83': {} + + '@react-native/virtualized-lists@0.74.83(@types/react@18.3.3)(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.2.0)': dependencies: - '@radix-ui/colors': 3.0.0 - '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-accessible-icon': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-alert-dialog': 1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-aspect-ratio': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-avatar': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-checkbox': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-context-menu': 2.1.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-dialog': 1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-direction': 1.0.1(@types/react@18.3.3)(react@18.3.1) - '@radix-ui/react-dropdown-menu': 2.0.6(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-form': 0.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-hover-card': 1.0.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-popover': 1.0.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-radio-group': 1.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-scroll-area': 1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-select': 2.0.0(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-separator': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slider': 1.1.2(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slot': 1.0.2(@types/react@18.3.3)(react@18.3.1) - '@radix-ui/react-switch': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-tabs': 1.0.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-tooltip': 1.0.7(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.3)(react@18.3.1) - '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - classnames: 2.5.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + invariant: 2.2.4 + nullthrows: 1.1.1 + react: 18.2.0 + react-native: 0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.3.1) optionalDependencies: '@types/react': 18.3.3 - '@types/react-dom': 18.3.0 - '@redux-devtools/app@6.0.0(@emotion/react@11.11.3(@types/react@18.3.3)(react@18.3.1))(@types/react-dom@18.3.0)(@types/react@18.3.3)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@5.3.11(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react-is@18.2.0)(react@18.3.1))': + '@redux-devtools/app@6.0.0(@emotion/react@11.11.3(@types/react@18.3.3)(react@18.3.1))(@types/react-dom@18.3.0)(@types/react@18.3.3)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(styled-components@5.3.11(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react-is@18.2.0)(react@18.3.1))': dependencies: '@babel/runtime': 7.23.9 '@emotion/react': 11.11.3(@types/react@18.3.3)(react@18.3.1) - '@redux-devtools/chart-monitor': 5.0.0(@redux-devtools/core@4.0.0(react-redux@9.1.0(@types/react@18.3.3)(react@18.3.1)(redux@5.0.1))(react@18.3.1)(redux@5.0.1))(@types/react@18.3.3)(react@18.3.1)(redux@4.2.1) - '@redux-devtools/core': 4.0.0(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1)(redux@4.2.1) - '@redux-devtools/inspector-monitor': 6.0.0(@emotion/react@11.11.3(@types/react@18.3.3)(react@18.3.1))(@redux-devtools/core@4.0.0(react-redux@9.1.0(@types/react@18.3.3)(react@18.3.1)(redux@5.0.1))(react@18.3.1)(redux@5.0.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@5.0.1) - '@redux-devtools/inspector-monitor-test-tab': 4.0.0(@emotion/react@11.11.3(@types/react@18.3.3)(react@18.3.1))(@redux-devtools/inspector-monitor@6.0.0(@emotion/react@11.11.3(@types/react@18.3.3)(react@18.3.1))(@redux-devtools/core@4.0.0(react-redux@9.1.0(@types/react@18.3.3)(react@18.3.1)(redux@5.0.1))(react@18.3.1)(redux@5.0.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(@types/react@18.3.3)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@5.3.11(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react-is@18.2.0)(react@18.3.1)) - '@redux-devtools/inspector-monitor-trace-tab': 4.0.0(@emotion/react@11.11.3(@types/react@18.3.3)(react@18.3.1))(@redux-devtools/inspector-monitor@6.0.0(@emotion/react@11.11.3(@types/react@18.3.3)(react@18.3.1))(@redux-devtools/core@4.0.0(react-redux@9.1.0(@types/react@18.3.3)(react@18.3.1)(redux@5.0.1))(react@18.3.1)(redux@5.0.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1) - '@redux-devtools/log-monitor': 5.0.0(@redux-devtools/core@4.0.0(react-redux@9.1.0(@types/react@18.3.3)(react@18.3.1)(redux@5.0.1))(react@18.3.1)(redux@5.0.1))(@types/react@18.3.3)(react@18.3.1)(redux@4.2.1) - '@redux-devtools/rtk-query-monitor': 5.0.0(@emotion/react@11.11.3(@types/react@18.3.3)(react@18.3.1))(@redux-devtools/core@4.0.0(react-redux@9.1.0(@types/react@18.3.3)(react@18.3.1)(redux@5.0.1))(react@18.3.1)(redux@5.0.1))(@reduxjs/toolkit@1.9.7(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1))(@types/react@18.3.3)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@5.3.11(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react-is@18.2.0)(react@18.3.1)) - '@redux-devtools/slider-monitor': 5.0.0(@redux-devtools/core@4.0.0(react-redux@9.1.0(@types/react@18.3.3)(react@18.3.1)(redux@5.0.1))(react@18.3.1)(redux@5.0.1))(@types/react@18.3.3)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@5.3.11(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react-is@18.2.0)(react@18.3.1)) + '@redux-devtools/chart-monitor': 5.0.0(@redux-devtools/core@4.0.0(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@4.2.1))(react@18.3.1)(redux@4.2.1))(@types/react@18.3.3)(react@18.3.1)(redux@4.2.1) + '@redux-devtools/core': 4.0.0(react-redux@9.1.0(@types/react@18.3.3)(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@5.0.1))(react@18.3.1)(redux@5.0.1) + '@redux-devtools/inspector-monitor': 6.0.0(@emotion/react@11.11.3(@types/react@18.3.3)(react@18.3.1))(@redux-devtools/core@4.0.0(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@4.2.1))(react@18.3.1)(redux@4.2.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@5.0.1) + '@redux-devtools/inspector-monitor-test-tab': 4.0.0(@emotion/react@11.11.3(@types/react@18.3.3)(react@18.3.1))(@redux-devtools/inspector-monitor@6.0.0(@emotion/react@11.11.3(@types/react@18.3.3)(react@18.3.1))(@redux-devtools/core@4.0.0(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@4.2.1))(react@18.3.1)(redux@4.2.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(@types/react@18.3.3)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@5.3.11(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react-is@18.2.0)(react@18.3.1)) + '@redux-devtools/inspector-monitor-trace-tab': 4.0.0(@emotion/react@11.11.3(@types/react@18.3.3)(react@18.3.1))(@redux-devtools/inspector-monitor@6.0.0(@emotion/react@11.11.3(@types/react@18.3.3)(react@18.3.1))(@redux-devtools/core@4.0.0(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@4.2.1))(react@18.3.1)(redux@4.2.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1) + '@redux-devtools/log-monitor': 5.0.0(@redux-devtools/core@4.0.0(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@4.2.1))(react@18.3.1)(redux@4.2.1))(@types/react@18.3.3)(react@18.3.1)(redux@4.2.1) + '@redux-devtools/rtk-query-monitor': 5.0.0(@emotion/react@11.11.3(@types/react@18.3.3)(react@18.3.1))(@redux-devtools/core@4.0.0(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@4.2.1))(react@18.3.1)(redux@4.2.1))(@reduxjs/toolkit@1.9.7(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@4.2.1))(react@18.3.1))(@types/react@18.3.3)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@5.3.11(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react-is@18.2.0)(react@18.3.1)) + '@redux-devtools/slider-monitor': 5.0.0(@redux-devtools/core@4.0.0(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@4.2.1))(react@18.3.1)(redux@4.2.1))(@types/react@18.3.3)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@5.3.11(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react-is@18.2.0)(react@18.3.1)) '@redux-devtools/ui': 1.3.1(@types/react@18.3.3)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@5.3.11(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react-is@18.2.0)(react@18.3.1)) - '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) + '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@4.2.1))(react@18.3.1) '@types/react': 18.3.3 '@types/styled-components': 5.1.34 d3-state-visualizer: 2.0.0 @@ -16825,7 +19618,7 @@ snapshots: react-dom: 18.3.1(react@18.3.1) react-icons: 4.12.0(react@18.3.1) react-is: 18.2.0 - react-redux: 8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1) + react-redux: 8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@4.2.1) redux: 4.2.1 redux-persist: 6.0.0(react@18.3.1)(redux@4.2.1) socketcluster-client: 17.2.2 @@ -16836,10 +19629,10 @@ snapshots: - react-native - utf-8-validate - '@redux-devtools/chart-monitor@5.0.0(@redux-devtools/core@4.0.0(react-redux@9.1.0(@types/react@18.3.3)(react@18.3.1)(redux@5.0.1))(react@18.3.1)(redux@5.0.1))(@types/react@18.3.3)(react@18.3.1)(redux@4.2.1)': + '@redux-devtools/chart-monitor@5.0.0(@redux-devtools/core@4.0.0(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@4.2.1))(react@18.3.1)(redux@4.2.1))(@types/react@18.3.3)(react@18.3.1)(redux@4.2.1)': dependencies: '@babel/runtime': 7.23.9 - '@redux-devtools/core': 4.0.0(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1)(redux@4.2.1) + '@redux-devtools/core': 4.0.0(react-redux@9.1.0(@types/react@18.3.3)(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@5.0.1))(react@18.3.1)(redux@5.0.1) '@types/react': 18.3.3 '@types/redux-devtools-themes': 1.0.3 d3-state-visualizer: 2.0.0 @@ -16848,11 +19641,11 @@ snapshots: redux: 4.2.1 redux-devtools-themes: 1.0.0 - '@redux-devtools/cli@4.0.0(@babel/core@7.24.4)(@types/react-dom@18.3.0)(@types/styled-components@5.1.34)(encoding@0.1.13)': + '@redux-devtools/cli@4.0.0(@babel/core@7.24.4)(@types/react-dom@18.3.0)(@types/styled-components@5.1.34)(encoding@0.1.13)(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))': dependencies: '@apollo/server': 4.10.0(encoding@0.1.13)(graphql@16.8.1) '@emotion/react': 11.11.3(@types/react@18.3.3)(react@18.3.1) - '@redux-devtools/app': 6.0.0(@emotion/react@11.11.3(@types/react@18.3.3)(react@18.3.1))(@types/react-dom@18.3.0)(@types/react@18.3.3)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@5.3.11(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react-is@18.2.0)(react@18.3.1)) + '@redux-devtools/app': 6.0.0(@emotion/react@11.11.3(@types/react@18.3.3)(react@18.3.1))(@types/react-dom@18.3.0)(@types/react@18.3.3)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(styled-components@5.3.11(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react-is@18.2.0)(react@18.3.1)) '@types/react': 18.3.3 body-parser: 1.20.2 chalk: 5.3.0 @@ -16892,20 +19685,20 @@ snapshots: - tedious - utf-8-validate - '@redux-devtools/core@4.0.0(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1)(redux@4.2.1)': + '@redux-devtools/core@4.0.0(react-redux@9.1.0(@types/react@18.3.3)(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@5.0.1))(react@18.3.1)(redux@5.0.1)': dependencies: '@babel/runtime': 7.23.9 '@redux-devtools/instrument': 2.2.0(redux@4.2.1) lodash: 4.17.21 react: 18.3.1 - react-redux: 8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1) - redux: 4.2.1 + react-redux: 9.1.0(@types/react@18.3.3)(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@5.0.1) + redux: 5.0.1 - '@redux-devtools/inspector-monitor-test-tab@4.0.0(@emotion/react@11.11.3(@types/react@18.3.3)(react@18.3.1))(@redux-devtools/inspector-monitor@6.0.0(@emotion/react@11.11.3(@types/react@18.3.3)(react@18.3.1))(@redux-devtools/core@4.0.0(react-redux@9.1.0(@types/react@18.3.3)(react@18.3.1)(redux@5.0.1))(react@18.3.1)(redux@5.0.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(@types/react@18.3.3)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@5.3.11(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react-is@18.2.0)(react@18.3.1))': + '@redux-devtools/inspector-monitor-test-tab@4.0.0(@emotion/react@11.11.3(@types/react@18.3.3)(react@18.3.1))(@redux-devtools/inspector-monitor@6.0.0(@emotion/react@11.11.3(@types/react@18.3.3)(react@18.3.1))(@redux-devtools/core@4.0.0(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@4.2.1))(react@18.3.1)(redux@4.2.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(@types/react@18.3.3)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@5.3.11(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react-is@18.2.0)(react@18.3.1))': dependencies: '@babel/runtime': 7.23.9 '@emotion/react': 11.11.3(@types/react@18.3.3)(react@18.3.1) - '@redux-devtools/inspector-monitor': 6.0.0(@emotion/react@11.11.3(@types/react@18.3.3)(react@18.3.1))(@redux-devtools/core@4.0.0(react-redux@9.1.0(@types/react@18.3.3)(react@18.3.1)(redux@5.0.1))(react@18.3.1)(redux@5.0.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@5.0.1) + '@redux-devtools/inspector-monitor': 6.0.0(@emotion/react@11.11.3(@types/react@18.3.3)(react@18.3.1))(@redux-devtools/core@4.0.0(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@4.2.1))(react@18.3.1)(redux@4.2.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@5.0.1) '@redux-devtools/ui': 1.3.1(@types/react@18.3.3)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@5.3.11(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react-is@18.2.0)(react@18.3.1)) '@types/react': 18.3.3 '@types/styled-components': 5.1.34 @@ -16920,12 +19713,12 @@ snapshots: simple-diff: 1.7.2 styled-components: 5.3.11(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react-is@18.2.0)(react@18.3.1) - '@redux-devtools/inspector-monitor-trace-tab@4.0.0(@emotion/react@11.11.3(@types/react@18.3.3)(react@18.3.1))(@redux-devtools/inspector-monitor@6.0.0(@emotion/react@11.11.3(@types/react@18.3.3)(react@18.3.1))(@redux-devtools/core@4.0.0(react-redux@9.1.0(@types/react@18.3.3)(react@18.3.1)(redux@5.0.1))(react@18.3.1)(redux@5.0.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1)': + '@redux-devtools/inspector-monitor-trace-tab@4.0.0(@emotion/react@11.11.3(@types/react@18.3.3)(react@18.3.1))(@redux-devtools/inspector-monitor@6.0.0(@emotion/react@11.11.3(@types/react@18.3.3)(react@18.3.1))(@redux-devtools/core@4.0.0(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@4.2.1))(react@18.3.1)(redux@4.2.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1)': dependencies: '@babel/code-frame': 8.0.0-alpha.5 '@babel/runtime': 7.23.9 '@emotion/react': 11.11.3(@types/react@18.3.3)(react@18.3.1) - '@redux-devtools/inspector-monitor': 6.0.0(@emotion/react@11.11.3(@types/react@18.3.3)(react@18.3.1))(@redux-devtools/core@4.0.0(react-redux@9.1.0(@types/react@18.3.3)(react@18.3.1)(redux@5.0.1))(react@18.3.1)(redux@5.0.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@5.0.1) + '@redux-devtools/inspector-monitor': 6.0.0(@emotion/react@11.11.3(@types/react@18.3.3)(react@18.3.1))(@redux-devtools/core@4.0.0(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@4.2.1))(react@18.3.1)(redux@4.2.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@5.0.1) '@types/chrome': 0.0.254 '@types/react': 18.3.3 anser: 2.1.1 @@ -16937,7 +19730,7 @@ snapshots: redux-devtools-themes: 1.0.0 source-map: 0.5.7 - '@redux-devtools/inspector-monitor@6.0.0(@emotion/react@11.11.3(@types/react@18.3.3)(react@18.3.1))(@redux-devtools/core@4.0.0(react-redux@9.1.0(@types/react@18.3.3)(react@18.3.1)(redux@5.0.1))(react@18.3.1)(redux@5.0.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@5.0.1)': + '@redux-devtools/inspector-monitor@6.0.0(@emotion/react@11.11.3(@types/react@18.3.3)(react@18.3.1))(@redux-devtools/core@4.0.0(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@4.2.1))(react@18.3.1)(redux@4.2.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@5.0.1)': dependencies: '@babel/runtime': 7.23.9 '@dnd-kit/core': 6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -16945,7 +19738,7 @@ snapshots: '@dnd-kit/sortable': 8.0.0(@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) '@dnd-kit/utilities': 3.2.2(react@18.3.1) '@emotion/react': 11.11.3(@types/react@18.3.3)(react@18.3.1) - '@redux-devtools/core': 4.0.0(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1)(redux@4.2.1) + '@redux-devtools/core': 4.0.0(react-redux@9.1.0(@types/react@18.3.3)(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@5.0.1))(react@18.3.1)(redux@5.0.1) '@types/lodash': 4.14.202 '@types/react': 18.3.3 '@types/redux-devtools-themes': 1.0.3 @@ -16974,10 +19767,10 @@ snapshots: lodash: 4.17.21 redux: 5.0.1 - '@redux-devtools/log-monitor@5.0.0(@redux-devtools/core@4.0.0(react-redux@9.1.0(@types/react@18.3.3)(react@18.3.1)(redux@5.0.1))(react@18.3.1)(redux@5.0.1))(@types/react@18.3.3)(react@18.3.1)(redux@4.2.1)': + '@redux-devtools/log-monitor@5.0.0(@redux-devtools/core@4.0.0(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@4.2.1))(react@18.3.1)(redux@4.2.1))(@types/react@18.3.3)(react@18.3.1)(redux@4.2.1)': dependencies: '@babel/runtime': 7.23.9 - '@redux-devtools/core': 4.0.0(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1)(redux@4.2.1) + '@redux-devtools/core': 4.0.0(react-redux@9.1.0(@types/react@18.3.3)(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@5.0.1))(react@18.3.1)(redux@5.0.1) '@types/lodash.debounce': 4.0.9 '@types/react': 18.3.3 '@types/redux-devtools-themes': 1.0.3 @@ -16987,11 +19780,11 @@ snapshots: redux: 4.2.1 redux-devtools-themes: 1.0.0 - '@redux-devtools/remote@0.9.3(@redux-devtools/core@4.0.0(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1)(redux@4.2.1))(immutable@4.3.6)(redux@5.0.1)': + '@redux-devtools/remote@0.9.3(@redux-devtools/core@4.0.0(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@4.2.1))(react@18.3.1)(redux@4.2.1))(immutable@4.3.6)(redux@5.0.1)': dependencies: '@babel/runtime': 7.24.4 '@redux-devtools/instrument': 2.2.0(redux@5.0.1) - '@redux-devtools/utils': 3.0.0(@redux-devtools/core@4.0.0(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1)(redux@4.2.1))(immutable@4.3.6)(redux@5.0.1) + '@redux-devtools/utils': 3.0.0(@redux-devtools/core@4.0.0(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@4.2.1))(react@18.3.1)(redux@4.2.1))(immutable@4.3.6)(redux@5.0.1) jsan: 3.1.14 querystring: 0.2.1 redux: 5.0.1 @@ -17003,13 +19796,13 @@ snapshots: - immutable - utf-8-validate - '@redux-devtools/rtk-query-monitor@5.0.0(@emotion/react@11.11.3(@types/react@18.3.3)(react@18.3.1))(@redux-devtools/core@4.0.0(react-redux@9.1.0(@types/react@18.3.3)(react@18.3.1)(redux@5.0.1))(react@18.3.1)(redux@5.0.1))(@reduxjs/toolkit@1.9.7(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1))(@types/react@18.3.3)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@5.3.11(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react-is@18.2.0)(react@18.3.1))': + '@redux-devtools/rtk-query-monitor@5.0.0(@emotion/react@11.11.3(@types/react@18.3.3)(react@18.3.1))(@redux-devtools/core@4.0.0(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@4.2.1))(react@18.3.1)(redux@4.2.1))(@reduxjs/toolkit@1.9.7(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@4.2.1))(react@18.3.1))(@types/react@18.3.3)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@5.3.11(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react-is@18.2.0)(react@18.3.1))': dependencies: '@babel/runtime': 7.23.9 '@emotion/react': 11.11.3(@types/react@18.3.3)(react@18.3.1) - '@redux-devtools/core': 4.0.0(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1)(redux@4.2.1) + '@redux-devtools/core': 4.0.0(react-redux@9.1.0(@types/react@18.3.3)(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@5.0.1))(react@18.3.1)(redux@5.0.1) '@redux-devtools/ui': 1.3.1(@types/react@18.3.3)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@5.3.11(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react-is@18.2.0)(react@18.3.1)) - '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1) + '@reduxjs/toolkit': 1.9.7(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@4.2.1))(react@18.3.1) '@types/lodash': 4.14.202 '@types/react': 18.3.3 '@types/redux-devtools-themes': 1.0.3 @@ -17032,10 +19825,10 @@ snapshots: immutable: 4.3.6 jsan: 3.1.14 - '@redux-devtools/slider-monitor@5.0.0(@redux-devtools/core@4.0.0(react-redux@9.1.0(@types/react@18.3.3)(react@18.3.1)(redux@5.0.1))(react@18.3.1)(redux@5.0.1))(@types/react@18.3.3)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@5.3.11(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react-is@18.2.0)(react@18.3.1))': + '@redux-devtools/slider-monitor@5.0.0(@redux-devtools/core@4.0.0(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@4.2.1))(react@18.3.1)(redux@4.2.1))(@types/react@18.3.3)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1)(styled-components@5.3.11(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react-is@18.2.0)(react@18.3.1))': dependencies: '@babel/runtime': 7.23.9 - '@redux-devtools/core': 4.0.0(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1)(redux@4.2.1) + '@redux-devtools/core': 4.0.0(react-redux@9.1.0(@types/react@18.3.3)(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@5.0.1))(react@18.3.1)(redux@5.0.1) '@redux-devtools/ui': 1.3.1(@types/react@18.3.3)(@types/styled-components@5.1.34)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(styled-components@5.3.11(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react-is@18.2.0)(react@18.3.1)) '@types/react': 18.3.3 '@types/redux-devtools-themes': 1.0.3 @@ -17072,10 +19865,10 @@ snapshots: transitivePeerDependencies: - react-dom - '@redux-devtools/utils@3.0.0(@redux-devtools/core@4.0.0(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1)(redux@4.2.1))(immutable@4.3.6)(redux@5.0.1)': + '@redux-devtools/utils@3.0.0(@redux-devtools/core@4.0.0(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@4.2.1))(react@18.3.1)(redux@4.2.1))(immutable@4.3.6)(redux@5.0.1)': dependencies: '@babel/runtime': 7.24.4 - '@redux-devtools/core': 4.0.0(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1)(redux@4.2.1) + '@redux-devtools/core': 4.0.0(react-redux@9.1.0(@types/react@18.3.3)(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@5.0.1))(react@18.3.1)(redux@5.0.1) '@redux-devtools/serialize': 0.4.2(immutable@4.3.6) '@types/get-params': 0.1.2 get-params: 0.1.2 @@ -17085,7 +19878,7 @@ snapshots: nanoid: 3.3.4 redux: 5.0.1 - '@reduxjs/toolkit@1.9.7(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1))(react@18.3.1)': + '@reduxjs/toolkit@1.9.7(react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@4.2.1))(react@18.3.1)': dependencies: immer: 9.0.21 redux: 4.2.1 @@ -17093,9 +19886,9 @@ snapshots: reselect: 4.1.8 optionalDependencies: react: 18.3.1 - react-redux: 8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1) + react-redux: 8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@4.2.1) - '@reduxjs/toolkit@2.2.3(react-redux@9.1.0(@types/react@18.3.3)(react@18.3.1)(redux@5.0.1))(react@18.3.1)': + '@reduxjs/toolkit@2.2.3(react-redux@9.1.0(@types/react@18.3.3)(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@5.0.1))(react@18.3.1)': dependencies: immer: 10.0.4 redux: 5.0.1 @@ -17103,7 +19896,7 @@ snapshots: reselect: 5.1.0 optionalDependencies: react: 18.3.1 - react-redux: 9.1.0(@types/react@18.3.3)(react@18.3.1)(redux@5.0.1) + react-redux: 9.1.0(@types/react@18.3.3)(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@5.0.1) '@remix-run/router@1.16.1': {} @@ -17121,6 +19914,50 @@ snapshots: react: 18.3.1 react-is: 16.9.0 + '@rnx-kit/chromium-edge-launcher@1.0.0': + dependencies: + '@types/node': 18.19.34 + escape-string-regexp: 4.0.0 + is-wsl: 2.2.0 + lighthouse-logger: 1.4.2 + mkdirp: 1.0.4 + rimraf: 3.0.2 + transitivePeerDependencies: + - supports-color + + '@rnx-kit/console@1.1.0': {} + + '@rnx-kit/metro-config@1.3.14(@react-native/metro-config@0.73.5(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(encoding@0.1.13))(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.2.0)': + dependencies: + '@rnx-kit/console': 1.1.0 + '@rnx-kit/tools-node': 2.1.1 + '@rnx-kit/tools-react-native': 1.3.5 + '@rnx-kit/tools-workspaces': 0.1.6 + react: 18.2.0 + react-native: 0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.3.1) + optionalDependencies: + '@react-native/metro-config': 0.73.5(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(encoding@0.1.13) + + '@rnx-kit/metro-resolver-symlinks@0.1.35': + dependencies: + '@rnx-kit/console': 1.1.0 + '@rnx-kit/tools-node': 2.1.1 + '@rnx-kit/tools-react-native': 1.3.5 + enhanced-resolve: 5.16.1 + + '@rnx-kit/tools-node@2.1.1': {} + + '@rnx-kit/tools-react-native@1.3.5': + dependencies: + '@rnx-kit/tools-node': 2.1.1 + + '@rnx-kit/tools-workspaces@0.1.6': + dependencies: + fast-glob: 3.3.2 + find-up: 5.0.0 + read-yaml-file: 2.1.0 + strip-json-comments: 3.1.1 + '@rollup/rollup-android-arm-eabi@4.14.0': optional: true @@ -17244,6 +20081,11 @@ snapshots: '@segment/isodate@1.0.3': {} + '@segment/loosely-validate-event@2.0.0': + dependencies: + component-type: 1.2.2 + join-component: 1.1.0 + '@segment/tsub@2.0.0': dependencies: '@stdlib/math-base-special-ldexp': 0.0.5 @@ -17379,6 +20221,19 @@ snapshots: - encoding - supports-color + '@shopify/restyle@2.4.2(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.2.0)': + dependencies: + react: 18.2.0 + react-native: 0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.3.1) + + '@sideway/address@4.1.5': + dependencies: + '@hapi/hoek': 9.3.0 + + '@sideway/formula@3.0.1': {} + + '@sideway/pinpoint@2.0.0': {} + '@sinclair/typebox@0.27.8': {} '@sindresorhus/is@4.6.0': {} @@ -17387,6 +20242,14 @@ snapshots: '@sindresorhus/merge-streams@2.3.0': {} + '@sinonjs/commons@3.0.1': + dependencies: + type-detect: 4.0.8 + + '@sinonjs/fake-timers@10.3.0': + dependencies: + '@sinonjs/commons': 3.0.1 + '@socket.io/component-emitter@3.0.0': {} '@socket.io/component-emitter@3.1.2': {} @@ -17410,7 +20273,7 @@ snapshots: eventemitter3: 4.0.7 jsonrpc-lite: 2.2.0 socket.io-client: 4.4.1 - ws: 7.5.6 + ws: 8.17.1 transitivePeerDependencies: - bufferutil - encoding @@ -18179,48 +21042,51 @@ snapshots: dependencies: react: 18.3.1 - '@storybook/addon-actions@8.0.1': + '@storybook/addon-actions@8.1.4': dependencies: - '@storybook/core-events': 8.0.1 + '@storybook/core-events': 8.1.4 '@storybook/global': 5.0.0 '@types/uuid': 9.0.8 dequal: 2.0.3 polished: 4.3.1 uuid: 9.0.1 - '@storybook/addon-backgrounds@8.0.1': + '@storybook/addon-backgrounds@8.1.4': dependencies: '@storybook/global': 5.0.0 memoizerific: 1.11.3 ts-dedent: 2.2.0 - '@storybook/addon-controls@8.0.1(@types/react@18.3.3)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@storybook/addon-controls@8.1.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(encoding@0.1.13)(prettier@3.2.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@storybook/blocks': 8.0.1(@types/react@18.3.3)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@storybook/blocks': 8.1.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(encoding@0.1.13)(prettier@3.2.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + dequal: 2.0.3 lodash: 4.17.21 ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' + - '@types/react-dom' - encoding + - prettier - react - react-dom - supports-color - '@storybook/addon-docs@8.0.1(encoding@0.1.13)': + '@storybook/addon-docs@8.1.4(@types/react-dom@18.3.0)(encoding@0.1.13)(prettier@3.2.5)': dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.4 '@mdx-js/react': 3.0.1(@types/react@18.3.3)(react@18.3.1) - '@storybook/blocks': 8.0.1(@types/react@18.3.3)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/client-logger': 8.0.1 - '@storybook/components': 8.0.1(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/csf-plugin': 8.0.1 - '@storybook/csf-tools': 8.0.1 + '@storybook/blocks': 8.1.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(encoding@0.1.13)(prettier@3.2.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@storybook/client-logger': 8.1.4 + '@storybook/components': 8.1.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@storybook/csf-plugin': 8.1.4 + '@storybook/csf-tools': 8.1.4 '@storybook/global': 5.0.0 - '@storybook/node-logger': 8.0.1 - '@storybook/preview-api': 8.0.1 - '@storybook/react-dom-shim': 8.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/theming': 8.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/types': 8.0.1 + '@storybook/node-logger': 8.1.4 + '@storybook/preview-api': 8.1.4 + '@storybook/react-dom-shim': 8.1.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@storybook/theming': 8.1.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@storybook/types': 8.1.4 '@types/react': 18.3.3 fs-extra: 11.2.0 react: 18.3.1 @@ -18229,42 +21095,46 @@ snapshots: rehype-slug: 6.0.0 ts-dedent: 2.2.0 transitivePeerDependencies: + - '@types/react-dom' - encoding + - prettier - supports-color - '@storybook/addon-essentials@8.0.1(@types/react@18.3.3)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@storybook/addon-actions': 8.0.1 - '@storybook/addon-backgrounds': 8.0.1 - '@storybook/addon-controls': 8.0.1(@types/react@18.3.3)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/addon-docs': 8.0.1(encoding@0.1.13) - '@storybook/addon-highlight': 8.0.1 - '@storybook/addon-measure': 8.0.1 - '@storybook/addon-outline': 8.0.1 - '@storybook/addon-toolbars': 8.0.1 - '@storybook/addon-viewport': 8.0.1 - '@storybook/core-common': 8.0.1(encoding@0.1.13) - '@storybook/manager-api': 8.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/node-logger': 8.0.1 - '@storybook/preview-api': 8.0.1 + '@storybook/addon-essentials@8.1.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(encoding@0.1.13)(prettier@3.2.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@storybook/addon-actions': 8.1.4 + '@storybook/addon-backgrounds': 8.1.4 + '@storybook/addon-controls': 8.1.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(encoding@0.1.13)(prettier@3.2.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@storybook/addon-docs': 8.1.4(@types/react-dom@18.3.0)(encoding@0.1.13)(prettier@3.2.5) + '@storybook/addon-highlight': 8.1.4 + '@storybook/addon-measure': 8.1.4 + '@storybook/addon-outline': 8.1.4 + '@storybook/addon-toolbars': 8.1.4 + '@storybook/addon-viewport': 8.1.4 + '@storybook/core-common': 8.1.4(encoding@0.1.13)(prettier@3.2.5) + '@storybook/manager-api': 8.1.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@storybook/node-logger': 8.1.4 + '@storybook/preview-api': 8.1.4 ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' + - '@types/react-dom' - encoding + - prettier - react - react-dom - supports-color - '@storybook/addon-highlight@8.0.1': + '@storybook/addon-highlight@8.1.4': dependencies: '@storybook/global': 5.0.0 - '@storybook/addon-interactions@8.0.1(vitest@1.6.0(@types/node@20.12.12)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1))': + '@storybook/addon-interactions@8.1.4(vitest@1.6.0(@types/node@20.12.12)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1))': dependencies: '@storybook/global': 5.0.0 - '@storybook/instrumenter': 8.0.1 - '@storybook/test': 8.0.1(vitest@1.6.0(@types/node@20.12.12)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1)) - '@storybook/types': 8.0.1 + '@storybook/instrumenter': 8.1.4 + '@storybook/test': 8.1.4(vitest@1.6.0(@types/node@20.12.12)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1)) + '@storybook/types': 8.1.4 polished: 4.3.1 ts-dedent: 2.2.0 transitivePeerDependencies: @@ -18282,93 +21152,59 @@ snapshots: optionalDependencies: react: 18.3.1 - '@storybook/addon-mdx-gfm@8.0.1': + '@storybook/addon-mdx-gfm@8.1.4': dependencies: - '@storybook/node-logger': 8.0.1 + '@storybook/node-logger': 8.1.4 remark-gfm: 4.0.0 ts-dedent: 2.2.0 transitivePeerDependencies: - supports-color - '@storybook/addon-measure@8.0.1': + '@storybook/addon-measure@8.1.4': dependencies: '@storybook/global': 5.0.0 tiny-invariant: 1.3.3 '@storybook/addon-onboarding@8.0.1': {} - '@storybook/addon-outline@8.0.1': - dependencies: - '@storybook/global': 5.0.0 - ts-dedent: 2.2.0 - - '@storybook/addon-styling-webpack@1.0.0(webpack@5.91.0(@swc/core@1.4.8)(esbuild@0.21.4)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0)))': - dependencies: - '@storybook/node-logger': 8.0.1 - webpack: 5.91.0(@swc/core@1.4.8)(esbuild@0.21.4)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0)) - - '@storybook/addon-toolbars@8.0.1': {} - - '@storybook/addon-viewport@8.0.1': - dependencies: - memoizerific: 1.11.3 - - '@storybook/addon-webpack5-compiler-swc@1.0.2(webpack@5.91.0(@swc/core@1.4.8)(esbuild@0.21.4)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0)))': - dependencies: - '@swc/core': 1.4.8 - swc-loader: 0.2.6(@swc/core@1.4.8)(webpack@5.91.0(@swc/core@1.4.8)(esbuild@0.21.4)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0))) - transitivePeerDependencies: - - '@swc/helpers' - - webpack - - '@storybook/blocks@8.0.1(@types/react@18.3.3)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@storybook/addon-outline@8.1.4': dependencies: - '@storybook/channels': 8.0.1 - '@storybook/client-logger': 8.0.1 - '@storybook/components': 8.0.1(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/core-events': 8.0.1 - '@storybook/csf': 0.1.2 - '@storybook/docs-tools': 8.0.1(encoding@0.1.13) '@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.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/preview-api': 8.0.1 - '@storybook/theming': 8.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/types': 8.0.1 - '@types/lodash': 4.14.202 - color-convert: 2.0.1 - dequal: 2.0.3 - lodash: 4.17.21 - markdown-to-jsx: 7.3.2(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) - 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) + + '@storybook/addon-styling-webpack@1.0.0(webpack@5.91.0(@swc/core@1.4.8)(esbuild@0.21.4)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0)))': + dependencies: + '@storybook/node-logger': 8.0.1 + webpack: 5.91.0(@swc/core@1.4.8)(esbuild@0.21.4)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0)) + + '@storybook/addon-toolbars@8.1.4': {} + + '@storybook/addon-viewport@8.1.4': + dependencies: + memoizerific: 1.11.3 + + '@storybook/addon-webpack5-compiler-swc@1.0.2(webpack@5.91.0(@swc/core@1.4.8)(esbuild@0.21.4)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0)))': + dependencies: + '@swc/core': 1.4.8 + swc-loader: 0.2.6(@swc/core@1.4.8)(webpack@5.91.0(@swc/core@1.4.8)(esbuild@0.21.4)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0))) transitivePeerDependencies: - - '@types/react' - - encoding - - supports-color + - '@swc/helpers' + - webpack - '@storybook/blocks@8.0.6(@types/react@18.3.3)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@storybook/blocks@8.1.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(encoding@0.1.13)(prettier@3.2.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@storybook/channels': 8.0.6 - '@storybook/client-logger': 8.0.6 - '@storybook/components': 8.0.6(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/core-events': 8.0.6 - '@storybook/csf': 0.1.2 - '@storybook/docs-tools': 8.0.6(encoding@0.1.13) + '@storybook/channels': 8.1.4 + '@storybook/client-logger': 8.1.4 + '@storybook/components': 8.1.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@storybook/core-events': 8.1.4 + '@storybook/csf': 0.1.7 + '@storybook/docs-tools': 8.1.4(encoding@0.1.13)(prettier@3.2.5) '@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.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/preview-api': 8.0.6 - '@storybook/theming': 8.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/types': 8.0.6 + '@storybook/manager-api': 8.1.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@storybook/preview-api': 8.1.4 + '@storybook/theming': 8.1.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@storybook/types': 8.1.4 '@types/lodash': 4.14.202 color-convert: 2.0.1 dequal: 2.0.3 @@ -18386,7 +21222,9 @@ snapshots: react-dom: 18.3.1(react@18.3.1) transitivePeerDependencies: - '@types/react' + - '@types/react-dom' - encoding + - prettier - supports-color '@storybook/builder-manager@8.1.4(encoding@0.1.13)(prettier@3.2.5)': @@ -18410,32 +21248,32 @@ snapshots: - prettier - supports-color - '@storybook/builder-webpack5@8.0.1(@swc/core@1.4.8)(encoding@0.1.13)(esbuild@0.21.4)(typescript@5.4.5)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0))': + '@storybook/builder-webpack5@8.1.4(@swc/core@1.4.8)(encoding@0.1.13)(esbuild@0.21.4)(prettier@3.2.5)(typescript@5.4.5)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0))': dependencies: - '@storybook/channels': 8.0.1 - '@storybook/client-logger': 8.0.1 - '@storybook/core-common': 8.0.1(encoding@0.1.13) - '@storybook/core-events': 8.0.1 - '@storybook/core-webpack': 8.0.1(encoding@0.1.13) - '@storybook/node-logger': 8.0.1 - '@storybook/preview': 8.0.1 - '@storybook/preview-api': 8.0.1 - '@types/node': 18.19.29 - '@types/semver': 7.5.7 + '@storybook/channels': 8.1.4 + '@storybook/client-logger': 8.1.4 + '@storybook/core-common': 8.1.4(encoding@0.1.13)(prettier@3.2.5) + '@storybook/core-events': 8.1.4 + '@storybook/core-webpack': 8.1.4(encoding@0.1.13)(prettier@3.2.5) + '@storybook/node-logger': 8.1.4 + '@storybook/preview': 8.1.4 + '@storybook/preview-api': 8.1.4 + '@types/node': 18.19.34 + '@types/semver': 7.5.8 browser-assert: 1.2.1 case-sensitive-paths-webpack-plugin: 2.4.0 cjs-module-lexer: 1.2.3 constants-browserify: 1.0.0 css-loader: 6.11.0(webpack@5.91.0(@swc/core@1.4.8)(esbuild@0.21.4)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0))) - es-module-lexer: 1.4.1 + es-module-lexer: 1.5.3 express: 4.19.2 fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.4.5)(webpack@5.91.0(@swc/core@1.4.8)(esbuild@0.21.4)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0))) fs-extra: 11.2.0 html-webpack-plugin: 5.6.0(webpack@5.91.0(@swc/core@1.4.8)(esbuild@0.21.4)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0))) - magic-string: 0.30.9 + magic-string: 0.30.10 path-browserify: 1.0.1 process: 0.11.10 - semver: 7.6.0 + semver: 7.6.2 style-loader: 3.3.4(webpack@5.91.0(@swc/core@1.4.8)(esbuild@0.21.4)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0))) terser-webpack-plugin: 5.3.10(@swc/core@1.4.8)(esbuild@0.21.4)(webpack@5.91.0(@swc/core@1.4.8)(esbuild@0.21.4)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0))) ts-dedent: 2.2.0 @@ -18453,23 +21291,17 @@ snapshots: - '@swc/core' - encoding - esbuild + - prettier - supports-color - uglify-js - webpack-cli - '@storybook/channels@8.0.1': - dependencies: - '@storybook/client-logger': 8.0.1 - '@storybook/core-events': 8.0.1 - '@storybook/global': 5.0.0 - telejson: 7.2.0 - tiny-invariant: 1.3.3 - - '@storybook/channels@8.0.6': + '@storybook/channels@7.6.15': dependencies: - '@storybook/client-logger': 8.0.6 - '@storybook/core-events': 8.0.6 + '@storybook/client-logger': 7.6.15 + '@storybook/core-events': 7.6.15 '@storybook/global': 5.0.0 + qs: 6.11.2 telejson: 7.2.0 tiny-invariant: 1.3.3 @@ -18528,11 +21360,7 @@ snapshots: - supports-color - utf-8-validate - '@storybook/client-logger@8.0.1': - dependencies: - '@storybook/global': 5.0.0 - - '@storybook/client-logger@8.0.6': + '@storybook/client-logger@7.6.15': dependencies: '@storybook/global': 5.0.0 @@ -18544,7 +21372,7 @@ snapshots: dependencies: '@babel/core': 7.24.4 '@babel/preset-env': 7.24.6(@babel/core@7.24.4) - '@babel/types': 7.24.0 + '@babel/types': 7.24.7 '@storybook/csf': 0.1.7 '@storybook/csf-tools': 8.1.4 '@storybook/node-logger': 8.1.4 @@ -18560,85 +21388,41 @@ snapshots: transitivePeerDependencies: - supports-color - '@storybook/components@8.0.1(@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.1 - '@storybook/csf': 0.1.2 - '@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.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/types': 8.0.1 - 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/components@8.0.6(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@storybook/components@8.1.4(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: + '@radix-ui/react-dialog': 1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@radix-ui/react-slot': 1.0.2(@types/react@18.3.3)(react@18.3.1) - '@storybook/client-logger': 8.0.6 - '@storybook/csf': 0.1.2 + '@storybook/client-logger': 8.1.4 + '@storybook/csf': 0.1.7 '@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.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/types': 8.0.6 + '@storybook/theming': 8.1.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@storybook/types': 8.1.4 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' + - '@types/react-dom' - '@storybook/core-common@8.0.1(encoding@0.1.13)': + '@storybook/core-client@7.6.15': dependencies: - '@storybook/core-events': 8.0.1 - '@storybook/csf-tools': 8.0.1 - '@storybook/node-logger': 8.0.1 - '@storybook/types': 8.0.1 - '@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.3.10 - handlebars: 4.7.8 - lazy-universal-dotenv: 4.0.0 - node-fetch: 2.7.0(encoding@0.1.13) - picomatch: 2.3.1 - pkg-dir: 5.0.0 - pretty-hrtime: 1.0.3 - resolve-from: 5.0.0 - semver: 7.6.0 - tempy: 1.0.1 - tiny-invariant: 1.3.3 - ts-dedent: 2.2.0 - util: 0.12.5 - transitivePeerDependencies: - - encoding - - supports-color + '@storybook/client-logger': 7.6.15 + '@storybook/preview-api': 7.6.15 - '@storybook/core-common@8.0.6(encoding@0.1.13)': + '@storybook/core-common@7.6.15(encoding@0.1.13)': dependencies: - '@storybook/core-events': 8.0.6 - '@storybook/csf-tools': 8.0.6 - '@storybook/node-logger': 8.0.6 - '@storybook/types': 8.0.6 - '@yarnpkg/fslib': 2.10.3 - '@yarnpkg/libzip': 2.3.0 + '@storybook/core-events': 7.6.15 + '@storybook/node-logger': 7.6.15 + '@storybook/types': 7.6.15 + '@types/find-cache-dir': 3.2.1 + '@types/node': 18.19.34 + '@types/node-fetch': 2.6.11 + '@types/pretty-hrtime': 1.0.3 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 + esbuild: 0.18.20 + esbuild-register: 3.5.0(esbuild@0.18.20) file-system-cache: 2.3.0 find-cache-dir: 3.3.2 find-up: 5.0.0 @@ -18651,11 +21435,7 @@ snapshots: pkg-dir: 5.0.0 pretty-hrtime: 1.0.3 resolve-from: 5.0.0 - semver: 7.6.0 - tempy: 1.0.1 - tiny-invariant: 1.3.3 ts-dedent: 2.2.0 - util: 0.12.5 transitivePeerDependencies: - encoding - supports-color @@ -18686,7 +21466,7 @@ snapshots: prettier-fallback: prettier@3.2.5 pretty-hrtime: 1.0.3 resolve-from: 5.0.0 - semver: 7.6.0 + semver: 7.6.2 tempy: 1.0.1 tiny-invariant: 1.3.3 ts-dedent: 2.2.0 @@ -18697,11 +21477,7 @@ snapshots: - encoding - supports-color - '@storybook/core-events@8.0.1': - dependencies: - ts-dedent: 2.2.0 - - '@storybook/core-events@8.0.6': + '@storybook/core-events@7.6.15': dependencies: ts-dedent: 2.2.0 @@ -18714,7 +21490,7 @@ snapshots: dependencies: '@aw-web-design/x-default-browser': 1.4.126 '@babel/core': 7.24.4 - '@babel/parser': 7.24.4 + '@babel/parser': 7.24.7 '@discoveryjs/json-ext': 0.5.7 '@storybook/builder-manager': 8.1.4(encoding@0.1.13)(prettier@3.2.5) '@storybook/channels': 8.1.4 @@ -18757,7 +21533,7 @@ snapshots: util: 0.12.5 util-deprecate: 1.0.2 watchpack: 2.4.1 - ws: 8.16.0 + ws: 8.17.1 transitivePeerDependencies: - bufferutil - encoding @@ -18767,58 +21543,31 @@ snapshots: - supports-color - utf-8-validate - '@storybook/core-webpack@8.0.1(encoding@0.1.13)': + '@storybook/core-webpack@8.1.4(encoding@0.1.13)(prettier@3.2.5)': dependencies: - '@storybook/core-common': 8.0.1(encoding@0.1.13) - '@storybook/node-logger': 8.0.1 - '@storybook/types': 8.0.1 - '@types/node': 18.19.29 + '@storybook/core-common': 8.1.4(encoding@0.1.13)(prettier@3.2.5) + '@storybook/node-logger': 8.1.4 + '@storybook/types': 8.1.4 + '@types/node': 18.19.34 ts-dedent: 2.2.0 transitivePeerDependencies: - encoding + - prettier - supports-color - '@storybook/csf-plugin@8.0.1': + '@storybook/csf-plugin@8.1.4': dependencies: - '@storybook/csf-tools': 8.0.1 + '@storybook/csf-tools': 8.1.4 unplugin: 1.7.1 transitivePeerDependencies: - supports-color - '@storybook/csf-tools@8.0.1': - dependencies: - '@babel/generator': 7.23.6 - '@babel/parser': 7.24.0 - '@babel/traverse': 7.24.0(supports-color@5.5.0) - '@babel/types': 7.24.0 - '@storybook/csf': 0.1.2 - '@storybook/types': 8.0.1 - fs-extra: 11.2.0 - recast: 0.23.6 - ts-dedent: 2.2.0 - transitivePeerDependencies: - - supports-color - - '@storybook/csf-tools@8.0.6': + '@storybook/csf-tools@8.1.4': dependencies: - '@babel/generator': 7.24.4 + '@babel/generator': 7.24.7 '@babel/parser': 7.24.7 - '@babel/traverse': 7.24.1 + '@babel/traverse': 7.24.7 '@babel/types': 7.24.7 - '@storybook/csf': 0.1.2 - '@storybook/types': 8.0.6 - fs-extra: 11.2.0 - recast: 0.23.6 - ts-dedent: 2.2.0 - transitivePeerDependencies: - - supports-color - - '@storybook/csf-tools@8.1.4': - dependencies: - '@babel/generator': 7.24.4 - '@babel/parser': 7.24.4 - '@babel/traverse': 7.24.1 - '@babel/types': 7.24.0 '@storybook/csf': 0.1.7 '@storybook/types': 8.1.4 fs-extra: 11.2.0 @@ -18841,11 +21590,11 @@ snapshots: '@storybook/docs-mdx@3.1.0-next.0': {} - '@storybook/docs-tools@8.0.1(encoding@0.1.13)': + '@storybook/docs-tools@7.6.15(encoding@0.1.13)': dependencies: - '@storybook/core-common': 8.0.1(encoding@0.1.13) - '@storybook/preview-api': 8.0.1 - '@storybook/types': 8.0.1 + '@storybook/core-common': 7.6.15(encoding@0.1.13) + '@storybook/preview-api': 7.6.15 + '@storybook/types': 7.6.15 '@types/doctrine': 0.0.3 assert: 2.1.0 doctrine: 3.0.0 @@ -18854,17 +21603,19 @@ snapshots: - encoding - supports-color - '@storybook/docs-tools@8.0.6(encoding@0.1.13)': + '@storybook/docs-tools@8.1.4(encoding@0.1.13)(prettier@3.2.5)': dependencies: - '@storybook/core-common': 8.0.6(encoding@0.1.13) - '@storybook/preview-api': 8.0.6 - '@storybook/types': 8.0.6 + '@storybook/core-common': 8.1.4(encoding@0.1.13)(prettier@3.2.5) + '@storybook/core-events': 8.1.4 + '@storybook/preview-api': 8.1.4 + '@storybook/types': 8.1.4 '@types/doctrine': 0.0.3 assert: 2.1.0 doctrine: 3.0.0 lodash: 4.17.21 transitivePeerDependencies: - encoding + - prettier - supports-color '@storybook/global@5.0.0': {} @@ -18874,57 +21625,16 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@storybook/instrumenter@8.0.1': + '@storybook/instrumenter@8.1.4': dependencies: - '@storybook/channels': 8.0.1 - '@storybook/client-logger': 8.0.1 - '@storybook/core-events': 8.0.1 + '@storybook/channels': 8.1.4 + '@storybook/client-logger': 8.1.4 + '@storybook/core-events': 8.1.4 '@storybook/global': 5.0.0 - '@storybook/preview-api': 8.0.1 - '@vitest/utils': 1.3.1 + '@storybook/preview-api': 8.1.4 + '@vitest/utils': 1.6.0 util: 0.12.5 - '@storybook/manager-api@8.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@storybook/channels': 8.0.1 - '@storybook/client-logger': 8.0.1 - '@storybook/core-events': 8.0.1 - '@storybook/csf': 0.1.2 - '@storybook/global': 5.0.0 - '@storybook/router': 8.0.1 - '@storybook/theming': 8.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/types': 8.0.1 - 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-api@8.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@storybook/channels': 8.0.6 - '@storybook/client-logger': 8.0.6 - '@storybook/core-events': 8.0.6 - '@storybook/csf': 0.1.2 - '@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.6 - '@storybook/theming': 8.0.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/types': 8.0.6 - 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-api@8.1.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@storybook/channels': 8.1.4 @@ -18948,29 +21658,29 @@ snapshots: '@storybook/manager@8.1.4': {} - '@storybook/node-logger@8.0.1': {} + '@storybook/node-logger@7.6.15': {} - '@storybook/node-logger@8.0.6': {} + '@storybook/node-logger@8.0.1': {} '@storybook/node-logger@8.1.4': {} - '@storybook/preset-react-webpack@8.0.1(@swc/core@1.4.8)(encoding@0.1.13)(esbuild@0.21.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.4.5)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0))': + '@storybook/preset-react-webpack@8.1.4(@swc/core@1.4.8)(encoding@0.1.13)(esbuild@0.21.4)(prettier@3.2.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.4.5)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0))': dependencies: - '@storybook/core-webpack': 8.0.1(encoding@0.1.13) - '@storybook/docs-tools': 8.0.1(encoding@0.1.13) - '@storybook/node-logger': 8.0.1 - '@storybook/react': 8.0.1(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.4.5) + '@storybook/core-webpack': 8.1.4(encoding@0.1.13)(prettier@3.2.5) + '@storybook/docs-tools': 8.1.4(encoding@0.1.13)(prettier@3.2.5) + '@storybook/node-logger': 8.1.4 + '@storybook/react': 8.1.4(encoding@0.1.13)(prettier@3.2.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.4.5) '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.4.5)(webpack@5.91.0(@swc/core@1.4.8)(esbuild@0.21.4)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0))) - '@types/node': 18.19.29 - '@types/semver': 7.5.7 + '@types/node': 18.19.34 + '@types/semver': 7.5.8 find-up: 5.0.0 fs-extra: 11.2.0 - magic-string: 0.30.9 + magic-string: 0.30.10 react: 18.3.1 react-docgen: 7.0.3 react-dom: 18.3.1(react@18.3.1) resolve: 1.22.8 - semver: 7.6.0 + semver: 7.6.2 tsconfig-paths: 4.2.0 webpack: 5.91.0(@swc/core@1.4.8)(esbuild@0.21.4)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0)) optionalDependencies: @@ -18979,41 +21689,25 @@ snapshots: - '@swc/core' - encoding - esbuild + - prettier - supports-color - uglify-js - webpack-cli - '@storybook/preview-api@8.0.1': - dependencies: - '@storybook/channels': 8.0.1 - '@storybook/client-logger': 8.0.1 - '@storybook/core-events': 8.0.1 - '@storybook/csf': 0.1.2 - '@storybook/global': 5.0.0 - '@storybook/types': 8.0.1 - '@types/qs': 6.9.11 - dequal: 2.0.3 - lodash: 4.17.21 - memoizerific: 1.11.3 - qs: 6.11.2 - tiny-invariant: 1.3.3 - ts-dedent: 2.2.0 - util-deprecate: 1.0.2 - - '@storybook/preview-api@8.0.6': + '@storybook/preview-api@7.6.15': dependencies: - '@storybook/channels': 8.0.6 - '@storybook/client-logger': 8.0.6 - '@storybook/core-events': 8.0.6 - '@storybook/csf': 0.1.2 + '@storybook/channels': 7.6.15 + '@storybook/client-logger': 7.6.15 + '@storybook/core-events': 7.6.15 + '@storybook/csf': 0.1.7 '@storybook/global': 5.0.0 - '@storybook/types': 8.0.6 + '@storybook/types': 7.6.15 '@types/qs': 6.9.11 dequal: 2.0.3 lodash: 4.17.21 memoizerific: 1.11.3 qs: 6.11.2 - tiny-invariant: 1.3.3 + synchronous-promise: 2.0.17 ts-dedent: 2.2.0 util-deprecate: 1.0.2 @@ -19034,11 +21728,11 @@ snapshots: ts-dedent: 2.2.0 util-deprecate: 1.0.2 - '@storybook/preview@8.0.1': {} + '@storybook/preview@8.1.4': {} '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.4.5)(webpack@5.91.0(@swc/core@1.4.8)(esbuild@0.21.4)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0)))': dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.5 endent: 2.1.0 find-cache-dir: 3.3.2 flat-cache: 3.2.0 @@ -19050,41 +21744,79 @@ snapshots: transitivePeerDependencies: - supports-color - '@storybook/react-dom-shim@8.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@storybook/react-dom-shim@7.6.15(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + '@storybook/react-dom-shim@8.1.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@storybook/react-webpack5@8.0.1(@swc/core@1.4.8)(encoding@0.1.13)(esbuild@0.21.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.4.5)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0))': + '@storybook/react-webpack5@8.1.4(@swc/core@1.4.8)(encoding@0.1.13)(esbuild@0.21.4)(prettier@3.2.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.4.5)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0))': dependencies: - '@storybook/builder-webpack5': 8.0.1(@swc/core@1.4.8)(encoding@0.1.13)(esbuild@0.21.4)(typescript@5.4.5)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0)) - '@storybook/preset-react-webpack': 8.0.1(@swc/core@1.4.8)(encoding@0.1.13)(esbuild@0.21.4)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.4.5)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0)) - '@storybook/react': 8.0.1(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.4.5) - '@types/node': 18.19.29 + '@storybook/builder-webpack5': 8.1.4(@swc/core@1.4.8)(encoding@0.1.13)(esbuild@0.21.4)(prettier@3.2.5)(typescript@5.4.5)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0)) + '@storybook/preset-react-webpack': 8.1.4(@swc/core@1.4.8)(encoding@0.1.13)(esbuild@0.21.4)(prettier@3.2.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.4.5)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0)) + '@storybook/react': 8.1.4(encoding@0.1.13)(prettier@3.2.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.4.5) + '@storybook/types': 8.1.4 + '@types/node': 18.19.34 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - - '@rspack/core' - - '@swc/core' + - '@rspack/core' + - '@swc/core' + - encoding + - esbuild + - prettier + - supports-color + - uglify-js + - webpack-cli + + '@storybook/react@7.6.15(encoding@0.1.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.5)': + dependencies: + '@storybook/client-logger': 7.6.15 + '@storybook/core-client': 7.6.15 + '@storybook/docs-tools': 7.6.15(encoding@0.1.13) + '@storybook/global': 5.0.0 + '@storybook/preview-api': 7.6.15 + '@storybook/react-dom-shim': 7.6.15(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@storybook/types': 7.6.15 + '@types/escodegen': 0.0.6 + '@types/estree': 0.0.51 + '@types/node': 18.19.34 + acorn: 7.4.1 + acorn-jsx: 5.3.2(acorn@7.4.1) + acorn-walk: 7.2.0 + escodegen: 2.1.0 + html-tags: 3.3.1 + lodash: 4.17.21 + prop-types: 15.8.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-element-to-jsx-string: 15.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + ts-dedent: 2.2.0 + type-fest: 2.19.0 + util-deprecate: 1.0.2 + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: - encoding - - esbuild - supports-color - - uglify-js - - webpack-cli - '@storybook/react@8.0.1(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.4.5)': + '@storybook/react@8.1.4(encoding@0.1.13)(prettier@3.2.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.4.5)': dependencies: - '@storybook/client-logger': 8.0.1 - '@storybook/docs-tools': 8.0.1(encoding@0.1.13) + '@storybook/client-logger': 8.1.4 + '@storybook/docs-tools': 8.1.4(encoding@0.1.13)(prettier@3.2.5) '@storybook/global': 5.0.0 - '@storybook/preview-api': 8.0.1 - '@storybook/react-dom-shim': 8.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@storybook/types': 8.0.1 + '@storybook/preview-api': 8.1.4 + '@storybook/react-dom-shim': 8.1.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@storybook/types': 8.1.4 '@types/escodegen': 0.0.6 '@types/estree': 0.0.51 - '@types/node': 18.19.29 + '@types/node': 18.19.34 acorn: 7.4.1 acorn-jsx: 5.3.2(acorn@7.4.1) acorn-walk: 7.2.0 @@ -19095,7 +21827,7 @@ snapshots: react: 18.3.1 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.0 + semver: 7.6.2 ts-dedent: 2.2.0 type-fest: 2.19.0 util-deprecate: 1.0.2 @@ -19103,20 +21835,9 @@ snapshots: typescript: 5.4.5 transitivePeerDependencies: - encoding + - prettier - supports-color - '@storybook/router@8.0.1': - dependencies: - '@storybook/client-logger': 8.0.1 - memoizerific: 1.11.3 - qs: 6.11.2 - - '@storybook/router@8.0.6': - dependencies: - '@storybook/client-logger': 8.0.6 - memoizerific: 1.11.3 - qs: 6.11.2 - '@storybook/router@8.1.4': dependencies: '@storybook/client-logger': 8.1.4 @@ -19138,18 +21859,17 @@ snapshots: - prettier - supports-color - '@storybook/test@8.0.1(vitest@1.6.0(@types/node@20.12.12)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1))': + '@storybook/test@8.1.4(vitest@1.6.0(@types/node@20.12.12)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1))': dependencies: - '@storybook/client-logger': 8.0.1 - '@storybook/core-events': 8.0.1 - '@storybook/instrumenter': 8.0.1 - '@storybook/preview-api': 8.0.1 + '@storybook/client-logger': 8.1.4 + '@storybook/core-events': 8.1.4 + '@storybook/instrumenter': 8.1.4 + '@storybook/preview-api': 8.1.4 '@testing-library/dom': 9.3.4 '@testing-library/jest-dom': 6.4.2(vitest@1.6.0(@types/node@20.12.12)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1)) '@testing-library/user-event': 14.5.2(@testing-library/dom@9.3.4) '@vitest/expect': 1.3.1 - '@vitest/spy': 1.3.1 - chai: 4.4.1 + '@vitest/spy': 1.6.0 util: 0.12.5 transitivePeerDependencies: - '@jest/globals' @@ -19158,26 +21878,6 @@ snapshots: - jest - vitest - '@storybook/theming@8.0.1(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.1 - '@storybook/global': 5.0.0 - memoizerific: 1.11.3 - optionalDependencies: - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@storybook/theming@8.0.6(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.6 - '@storybook/global': 5.0.0 - memoizerific: 1.11.3 - optionalDependencies: - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - '@storybook/theming@8.1.4(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) @@ -19188,15 +21888,10 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@storybook/types@8.0.1': - dependencies: - '@storybook/channels': 8.0.1 - '@types/express': 4.17.21 - file-system-cache: 2.3.0 - - '@storybook/types@8.0.6': + '@storybook/types@7.6.15': dependencies: - '@storybook/channels': 8.0.6 + '@storybook/channels': 7.6.15 + '@types/babel__core': 7.20.5 '@types/express': 4.17.21 file-system-cache: 2.3.0 @@ -19274,50 +21969,39 @@ snapshots: dependencies: defer-to-connect: 2.0.1 - '@tanstack/match-sorter-utils@8.8.4': - dependencies: - remove-accents: 0.4.2 - - '@tanstack/query-async-storage-persister@4.35.7': + '@tanstack/query-async-storage-persister@5.45.0': dependencies: - '@tanstack/query-persist-client-core': 4.35.7 + '@tanstack/query-persist-client-core': 5.45.0 - '@tanstack/query-core@4.35.7': {} + '@tanstack/query-core@5.45.0': {} - '@tanstack/query-persist-client-core@4.35.7': - dependencies: - '@tanstack/query-core': 4.35.7 + '@tanstack/query-devtools@5.37.1': {} - '@tanstack/query-sync-storage-persister@4.35.7': + '@tanstack/query-persist-client-core@5.45.0': dependencies: - '@tanstack/query-persist-client-core': 4.35.7 + '@tanstack/query-core': 5.45.0 - '@tanstack/react-query-devtools@4.35.7(@tanstack/react-query@4.35.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@tanstack/react-query-devtools@5.45.1(@tanstack/react-query@5.45.1(react@18.3.1))(react@18.3.1)': dependencies: - '@tanstack/match-sorter-utils': 8.8.4 - '@tanstack/react-query': 4.35.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tanstack/query-devtools': 5.37.1 + '@tanstack/react-query': 5.45.1(react@18.3.1) react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - superjson: 1.13.3 - use-sync-external-store: 1.2.0(react@18.3.1) - '@tanstack/react-query-persist-client@4.35.7(@tanstack/react-query@4.35.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@tanstack/react-query-persist-client@5.45.1(@tanstack/react-query@5.45.1(react@18.3.1))(react@18.3.1)': dependencies: - '@tanstack/query-persist-client-core': 4.35.7 - '@tanstack/react-query': 4.35.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tanstack/query-persist-client-core': 5.45.0 + '@tanstack/react-query': 5.45.1(react@18.3.1) + react: 18.3.1 - '@tanstack/react-query@4.35.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@tanstack/react-query@5.45.1(react@18.3.1)': dependencies: - '@tanstack/query-core': 4.35.7 + '@tanstack/query-core': 5.45.0 react: 18.3.1 - use-sync-external-store: 1.2.0(react@18.3.1) - optionalDependencies: - react-dom: 18.3.1(react@18.3.1) '@testing-library/dom@9.3.4': dependencies: - '@babel/code-frame': 7.23.5 - '@babel/runtime': 7.23.9 + '@babel/code-frame': 7.24.7 + '@babel/runtime': 7.24.4 '@types/aria-query': 5.0.4 aria-query: 5.1.3 chalk: 4.1.2 @@ -19328,7 +22012,7 @@ snapshots: '@testing-library/jest-dom@6.4.2(vitest@1.6.0(@types/node@20.12.12)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1))': dependencies: '@adobe/css-tools': 4.3.2 - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.4 aria-query: 5.3.0 chalk: 3.0.0 css.escape: 1.5.1 @@ -19347,7 +22031,7 @@ snapshots: '@tootallnate/once@2.0.0': {} - '@trivago/prettier-plugin-sort-imports@4.3.0(@vue/compiler-sfc@3.4.27)(prettier@3.3.0)': + '@trivago/prettier-plugin-sort-imports@4.3.0(@vue/compiler-sfc@3.4.19)(prettier@3.3.0)': dependencies: '@babel/generator': 7.17.7 '@babel/parser': 7.24.7 @@ -19357,17 +22041,10 @@ snapshots: lodash: 4.17.21 prettier: 3.3.0 optionalDependencies: - '@vue/compiler-sfc': 3.4.27 + '@vue/compiler-sfc': 3.4.19 transitivePeerDependencies: - supports-color - '@ts-morph/common@0.20.0': - dependencies: - fast-glob: 3.3.2 - minimatch: 7.4.6 - mkdirp: 2.1.6 - path-browserify: 1.0.1 - '@ts-morph/common@0.22.0': dependencies: fast-glob: 3.3.2 @@ -19665,6 +22342,8 @@ snapshots: '@types/filewriter@0.0.32': {} + '@types/find-cache-dir@3.2.1': {} + '@types/geojson@7946.0.13': {} '@types/get-params@0.1.2': {} @@ -19717,6 +22396,16 @@ snapshots: '@types/is-empty@1.2.3': {} + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + '@types/jsdom@21.1.3': dependencies: '@types/node': 20.12.12 @@ -19899,6 +22588,8 @@ snapshots: '@types/source-list-map@0.1.6': {} + '@types/stack-utils@2.0.3': {} + '@types/styled-components@5.1.34': dependencies: '@types/hoist-non-react-statics': 3.3.5 @@ -19967,6 +22658,16 @@ snapshots: dependencies: '@types/node': 20.12.12 + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@15.0.19': + dependencies: + '@types/yargs-parser': 21.0.3 + + '@types/yargs@17.0.32': + dependencies: + '@types/yargs-parser': 21.0.3 + '@types/yauzl@2.10.0': dependencies: '@types/node': 20.12.12 @@ -19977,6 +22678,26 @@ snapshots: '@types/zxcvbn@4.4.4': {} + '@typescript-eslint/eslint-plugin@6.9.0(@typescript-eslint/parser@6.9.0(eslint@8.56.0)(typescript@5.4.5))(eslint@8.56.0)(typescript@5.4.5)': + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 6.9.0(eslint@8.56.0)(typescript@5.4.5) + '@typescript-eslint/scope-manager': 6.9.0 + '@typescript-eslint/type-utils': 6.9.0(eslint@8.56.0)(typescript@5.4.5) + '@typescript-eslint/utils': 6.9.0(eslint@8.56.0)(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 6.9.0 + debug: 4.3.5 + eslint: 8.56.0 + graphemer: 1.4.0 + ignore: 5.3.1 + natural-compare: 1.4.0 + semver: 7.6.2 + ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/eslint-plugin@7.5.0(@typescript-eslint/parser@7.5.0(eslint@8.56.0)(typescript@5.4.5))(eslint@8.56.0)(typescript@5.4.5)': dependencies: '@eslint-community/regexpp': 4.10.0 @@ -19997,6 +22718,19 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/parser@6.9.0(eslint@8.56.0)(typescript@5.4.5)': + dependencies: + '@typescript-eslint/scope-manager': 6.9.0 + '@typescript-eslint/types': 6.9.0 + '@typescript-eslint/typescript-estree': 6.9.0(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 6.9.0 + debug: 4.3.5 + eslint: 8.56.0 + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/parser@7.5.0(eslint@8.56.0)(typescript@5.4.5)': dependencies: '@typescript-eslint/scope-manager': 7.5.0 @@ -20020,11 +22754,28 @@ snapshots: '@typescript-eslint/types': 6.17.0 '@typescript-eslint/visitor-keys': 6.17.0 + '@typescript-eslint/scope-manager@6.9.0': + dependencies: + '@typescript-eslint/types': 6.9.0 + '@typescript-eslint/visitor-keys': 6.9.0 + '@typescript-eslint/scope-manager@7.5.0': dependencies: '@typescript-eslint/types': 7.5.0 '@typescript-eslint/visitor-keys': 7.5.0 + '@typescript-eslint/type-utils@6.9.0(eslint@8.56.0)(typescript@5.4.5)': + dependencies: + '@typescript-eslint/typescript-estree': 6.9.0(typescript@5.4.5) + '@typescript-eslint/utils': 6.9.0(eslint@8.56.0)(typescript@5.4.5) + debug: 4.3.5 + eslint: 8.56.0 + ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/type-utils@7.5.0(eslint@8.56.0)(typescript@5.4.5)': dependencies: '@typescript-eslint/typescript-estree': 7.5.0(typescript@5.4.5) @@ -20041,6 +22792,8 @@ snapshots: '@typescript-eslint/types@6.17.0': {} + '@typescript-eslint/types@6.9.0': {} + '@typescript-eslint/types@7.5.0': {} '@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.5)': @@ -20072,6 +22825,20 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/typescript-estree@6.9.0(typescript@5.4.5)': + dependencies: + '@typescript-eslint/types': 6.9.0 + '@typescript-eslint/visitor-keys': 6.9.0 + debug: 4.3.5 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.6.2 + ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/typescript-estree@7.5.0(typescript@5.4.5)': dependencies: '@typescript-eslint/types': 7.5.0 @@ -20116,6 +22883,20 @@ snapshots: - supports-color - typescript + '@typescript-eslint/utils@6.9.0(eslint@8.56.0)(typescript@5.4.5)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 6.9.0 + '@typescript-eslint/types': 6.9.0 + '@typescript-eslint/typescript-estree': 6.9.0(typescript@5.4.5) + eslint: 8.56.0 + semver: 7.6.2 + transitivePeerDependencies: + - supports-color + - typescript + '@typescript-eslint/utils@7.5.0(eslint@8.56.0)(typescript@5.4.5)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) @@ -20140,6 +22921,11 @@ snapshots: '@typescript-eslint/types': 6.17.0 eslint-visitor-keys: 3.4.3 + '@typescript-eslint/visitor-keys@6.9.0': + dependencies: + '@typescript-eslint/types': 6.9.0 + eslint-visitor-keys: 3.4.3 + '@typescript-eslint/visitor-keys@7.5.0': dependencies: '@typescript-eslint/types': 7.5.0 @@ -20147,6 +22933,18 @@ snapshots: '@ungap/structured-clone@1.2.0': {} + '@urql/core@2.3.6(graphql@15.8.0)': + dependencies: + '@graphql-typed-document-node/core': 3.2.0(graphql@15.8.0) + graphql: 15.8.0 + wonka: 4.0.15 + + '@urql/exchange-retry@0.3.0(graphql@15.8.0)': + dependencies: + '@urql/core': 2.3.6(graphql@15.8.0) + graphql: 15.8.0 + wonka: 4.0.15 + '@vitest/coverage-istanbul@1.6.0(vitest@1.6.0(@types/node@20.12.12)(jsdom@22.1.0)(lightningcss@1.25.1)(terser@5.31.1))': dependencies: debug: 4.3.4(supports-color@5.5.0) @@ -20166,7 +22964,7 @@ snapshots: dependencies: '@vitest/spy': 1.3.1 '@vitest/utils': 1.3.1 - chai: 4.4.0 + chai: 4.4.1 '@vitest/expect@1.6.0': dependencies: @@ -20188,7 +22986,7 @@ snapshots: '@vitest/spy@1.3.1': dependencies: - tinyspy: 2.2.0 + tinyspy: 2.2.1 '@vitest/spy@1.6.0': dependencies: @@ -20208,13 +23006,6 @@ snapshots: loupe: 2.3.7 pretty-format: 29.7.0 - '@vue/compiler-core@3.3.4': - dependencies: - '@babel/parser': 7.24.7 - '@vue/shared': 3.3.4 - estree-walker: 2.0.2 - source-map-js: 1.2.0 - '@vue/compiler-core@3.4.19': dependencies: '@babel/parser': 7.24.7 @@ -20223,44 +23014,11 @@ snapshots: estree-walker: 2.0.2 source-map-js: 1.2.0 - '@vue/compiler-core@3.4.27': - dependencies: - '@babel/parser': 7.24.7 - '@vue/shared': 3.4.27 - entities: 4.5.0 - estree-walker: 2.0.2 - source-map-js: 1.2.0 - optional: true - - '@vue/compiler-dom@3.3.4': - dependencies: - '@vue/compiler-core': 3.3.4 - '@vue/shared': 3.3.4 - '@vue/compiler-dom@3.4.19': dependencies: '@vue/compiler-core': 3.4.19 '@vue/shared': 3.4.19 - '@vue/compiler-dom@3.4.27': - dependencies: - '@vue/compiler-core': 3.4.27 - '@vue/shared': 3.4.27 - optional: true - - '@vue/compiler-sfc@3.3.4': - dependencies: - '@babel/parser': 7.24.7 - '@vue/compiler-core': 3.3.4 - '@vue/compiler-dom': 3.3.4 - '@vue/compiler-ssr': 3.3.4 - '@vue/reactivity-transform': 3.3.4 - '@vue/shared': 3.3.4 - estree-walker: 2.0.2 - magic-string: 0.30.5 - postcss: 8.4.38 - source-map-js: 1.2.0 - '@vue/compiler-sfc@3.4.19': dependencies: '@babel/parser': 7.24.7 @@ -20273,50 +23031,13 @@ snapshots: postcss: 8.4.38 source-map-js: 1.2.0 - '@vue/compiler-sfc@3.4.27': - dependencies: - '@babel/parser': 7.24.7 - '@vue/compiler-core': 3.4.27 - '@vue/compiler-dom': 3.4.27 - '@vue/compiler-ssr': 3.4.27 - '@vue/shared': 3.4.27 - estree-walker: 2.0.2 - magic-string: 0.30.10 - postcss: 8.4.38 - source-map-js: 1.2.0 - optional: true - - '@vue/compiler-ssr@3.3.4': - dependencies: - '@vue/compiler-dom': 3.3.4 - '@vue/shared': 3.3.4 - '@vue/compiler-ssr@3.4.19': dependencies: '@vue/compiler-dom': 3.4.19 '@vue/shared': 3.4.19 - '@vue/compiler-ssr@3.4.27': - dependencies: - '@vue/compiler-dom': 3.4.27 - '@vue/shared': 3.4.27 - optional: true - - '@vue/reactivity-transform@3.3.4': - dependencies: - '@babel/parser': 7.24.7 - '@vue/compiler-core': 3.3.4 - '@vue/shared': 3.3.4 - estree-walker: 2.0.2 - magic-string: 0.30.5 - - '@vue/shared@3.3.4': {} - '@vue/shared@3.4.19': {} - '@vue/shared@3.4.27': - optional: true - '@webassemblyjs/ast@1.12.1': dependencies: '@webassemblyjs/helper-numbers': 1.11.6 @@ -20410,6 +23131,10 @@ snapshots: optionalDependencies: webpack-dev-server: 4.15.1(webpack-cli@5.1.4)(webpack@5.91.0) + '@xmldom/xmldom@0.7.13': {} + + '@xmldom/xmldom@0.8.10': {} + '@xtuc/ieee754@1.2.0': {} '@xtuc/long@4.2.2': {} @@ -20673,6 +23398,8 @@ snapshots: transitivePeerDependencies: - debug + anser@1.4.10: {} + anser@2.1.1: {} ansi-align@3.0.1: @@ -20681,8 +23408,20 @@ snapshots: ansi-colors@4.1.3: {} + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 + + ansi-fragments@0.2.1: + dependencies: + colorette: 1.4.0 + slice-ansi: 2.1.0 + strip-ansi: 5.2.0 + ansi-html-community@0.0.8: {} + ansi-regex@4.1.1: {} + ansi-regex@5.0.1: {} ansi-regex@6.0.1: {} @@ -20706,6 +23445,10 @@ snapshots: app-root-dir@1.0.2: {} + appdirsjs@1.2.7: {} + + application-config-path@0.1.1: {} + aproba@2.0.0: {} are-passive-events-supported@1.1.1: {} @@ -20723,6 +23466,8 @@ snapshots: arg@4.1.3: {} + arg@5.0.2: {} + argon2-browser@1.18.0: {} argparse@1.0.10: @@ -20743,11 +23488,6 @@ snapshots: dependencies: dequal: 2.0.3 - array-buffer-byte-length@1.0.0: - dependencies: - call-bind: 1.0.7 - is-array-buffer: 3.0.2 - array-buffer-byte-length@1.0.1: dependencies: call-bind: 1.0.7 @@ -20829,6 +23569,8 @@ snapshots: arrify@1.0.1: {} + asap@2.0.6: {} + asn1.js@5.4.1: dependencies: bn.js: 4.12.0 @@ -20852,10 +23594,16 @@ snapshots: assertion-error@1.1.0: {} + ast-types@0.15.2: + dependencies: + tslib: 2.6.2 + ast-types@0.16.1: dependencies: tslib: 2.6.2 + astral-regex@1.0.0: {} + astring@1.8.6: {} async-retry@1.3.3: @@ -20893,16 +23641,6 @@ snapshots: semver: 7.6.0 yargs: 17.7.2 - autoprefixer@10.4.15(postcss@8.4.38): - dependencies: - browserslist: 4.23.0 - caniuse-lite: 1.0.30001632 - fraction.js: 4.3.7 - normalize-range: 0.1.2 - picocolors: 1.0.1 - postcss: 8.4.38 - postcss-value-parser: 4.2.0 - autoprefixer@10.4.19(postcss@8.4.38): dependencies: browserslist: 4.23.0 @@ -20971,6 +23709,8 @@ snapshots: transitivePeerDependencies: - supports-color + babel-plugin-react-native-web@0.19.12: {} + babel-plugin-styled-components@2.1.4(@babel/core@7.24.4)(styled-components@5.3.11(@babel/core@7.24.4)(react-dom@18.3.1(react@18.3.1))(react-is@18.2.0)(react@18.3.1)): dependencies: '@babel/helper-annotate-as-pure': 7.22.5 @@ -20982,6 +23722,28 @@ snapshots: transitivePeerDependencies: - '@babel/core' + babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.24.4): + dependencies: + '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.24.4) + transitivePeerDependencies: + - '@babel/core' + + babel-preset-expo@11.0.10(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4)): + dependencies: + '@babel/plugin-proposal-decorators': 7.24.7(@babel/core@7.24.4) + '@babel/plugin-transform-export-namespace-from': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-object-rest-spread': 7.24.6(@babel/core@7.24.4) + '@babel/plugin-transform-parameters': 7.24.6(@babel/core@7.24.4) + '@babel/preset-react': 7.24.7(@babel/core@7.24.4) + '@babel/preset-typescript': 7.23.3(@babel/core@7.24.4) + '@react-native/babel-preset': 0.74.84(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4)) + babel-plugin-react-native-web: 0.19.12 + react-refresh: 0.14.2 + transitivePeerDependencies: + - '@babel/core' + - '@babel/preset-env' + - supports-color + babel-runtime@6.26.0: dependencies: core-js: 2.6.12 @@ -21126,10 +23888,22 @@ snapshots: widest-line: 4.0.1 wrap-ansi: 7.0.0 + bplist-creator@0.1.0: + dependencies: + stream-buffers: 2.2.0 + bplist-parser@0.2.0: dependencies: big-integer: 1.6.52 + bplist-parser@0.3.1: + dependencies: + big-integer: 1.6.52 + + bplist-parser@0.3.2: + dependencies: + big-integer: 1.6.52 + brace-expansion@1.1.11: dependencies: balanced-match: 1.0.2 @@ -21213,13 +23987,26 @@ snapshots: bs58check@3.0.1: dependencies: - '@noble/hashes': 1.4.0 - bs58: 5.0.0 + '@noble/hashes': 1.4.0 + bs58: 5.0.0 + + bser@2.1.1: + dependencies: + node-int64: 0.4.0 + + buffer-alloc-unsafe@1.1.0: {} + + buffer-alloc@1.2.0: + dependencies: + buffer-alloc-unsafe: 1.1.0 + buffer-fill: 1.0.0 buffer-crc32@0.2.13: {} buffer-equal-constant-time@1.0.1: {} + buffer-fill@1.0.0: {} + buffer-from@1.1.2: {} buffer-xor@1.0.3: {} @@ -21234,6 +24021,8 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 + builtins@1.0.3: {} + bundle-n-require@1.1.1: dependencies: esbuild: 0.20.2 @@ -21243,6 +24032,11 @@ snapshots: dependencies: run-applescript: 7.0.0 + bundle-require@4.2.1(esbuild@0.21.4): + dependencies: + esbuild: 0.21.4 + load-tsconfig: 0.2.5 + bunyan@1.8.15: optionalDependencies: dtrace-provider: 0.8.8 @@ -21291,6 +24085,21 @@ snapshots: - bluebird optional: true + cacache@18.0.3: + dependencies: + '@npmcli/fs': 3.1.1 + fs-minipass: 3.0.3 + glob: 10.3.10 + lru-cache: 10.2.0 + minipass: 7.0.4 + minipass-collect: 2.0.1 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + p-map: 4.0.0 + ssri: 10.0.6 + tar: 6.2.0 + unique-filename: 3.0.0 + cacheable-lookup@5.0.4: {} cacheable-lookup@7.0.0: {} @@ -21323,6 +24132,16 @@ snapshots: get-intrinsic: 1.2.4 set-function-length: 1.2.1 + caller-callsite@2.0.0: + dependencies: + callsites: 2.0.0 + + caller-path@2.0.0: + dependencies: + caller-callsite: 2.0.0 + + callsites@2.0.0: {} + callsites@3.1.0: {} camel-case@4.1.2: @@ -21337,6 +24156,10 @@ snapshots: quick-lru: 6.1.2 type-fest: 2.19.0 + camelcase@5.3.1: {} + + camelcase@6.3.0: {} + camelcase@7.0.1: {} camelize@1.0.1: {} @@ -21352,24 +24175,12 @@ snapshots: caniuse-lite@1.0.30001605: {} - caniuse-lite@1.0.30001632: {} - case-sensitive-paths-webpack-plugin@2.4.0: {} caseless@0.12.0: {} ccount@2.0.1: {} - chai@4.4.0: - dependencies: - assertion-error: 1.1.0 - check-error: 1.0.3 - deep-eql: 4.1.3 - get-func-name: 2.0.2 - loupe: 2.3.7 - pathval: 1.1.1 - type-detect: 4.0.8 - chai@4.4.1: dependencies: assertion-error: 1.1.0 @@ -21412,6 +24223,8 @@ snapshots: character-reference-invalid@2.0.1: {} + charenc@0.0.2: {} + check-error@1.0.3: dependencies: get-func-name: 2.0.2 @@ -21464,6 +24277,15 @@ snapshots: transitivePeerDependencies: - supports-color + chrome-launcher@0.15.2: + dependencies: + '@types/node': 20.12.12 + escape-string-regexp: 4.0.0 + is-wsl: 2.2.0 + lighthouse-logger: 1.4.2 + transitivePeerDependencies: + - supports-color + chrome-trace-event@1.0.3: {} chrome-webstore-upload-cli@2.2.2: @@ -21479,6 +24301,8 @@ snapshots: dependencies: got: 11.8.6 + ci-info@2.0.0: {} + ci-info@3.9.0: {} ci-info@4.0.0: {} @@ -21520,6 +24344,10 @@ snapshots: cli-boxes@3.0.0: {} + cli-cursor@2.1.0: + dependencies: + restore-cursor: 2.0.0 + cli-cursor@3.1.0: dependencies: restore-cursor: 3.1.0 @@ -21536,6 +24364,12 @@ snapshots: optionalDependencies: '@colors/colors': 1.5.0 + cliui@6.0.0: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + cliui@8.0.1: dependencies: string-width: 4.2.3 @@ -21554,6 +24388,8 @@ snapshots: clone@1.0.4: {} + clone@2.1.2: {} + clsx@2.1.0: {} code-block-writer@12.0.0: {} @@ -21593,6 +24429,8 @@ snapshots: color-convert: 2.0.1 color-string: 1.9.1 + colorette@1.4.0: {} + colorette@2.0.19: {} colorette@2.0.20: {} @@ -21608,6 +24446,8 @@ snapshots: comma-separated-tokens@2.0.3: {} + command-exists@1.2.9: {} + commander@10.0.1: {} commander@12.0.0: {} @@ -21618,6 +24458,8 @@ snapshots: dependencies: graceful-readlink: 1.0.1 + commander@4.1.1: {} + commander@6.2.1: {} commander@7.2.0: {} @@ -21637,6 +24479,8 @@ snapshots: compare-versions@6.1.0: {} + component-type@1.2.2: {} + compressible@2.0.18: dependencies: mime-db: 1.52.0 @@ -21709,6 +24553,15 @@ snapshots: connect-history-api-fallback@2.0.0: {} + connect@3.7.0: + dependencies: + debug: 2.6.9 + finalhandler: 1.1.2 + parseurl: 1.3.3 + utils-merge: 1.0.1 + transitivePeerDependencies: + - supports-color + consola@3.2.3: {} console-control-strings@1.1.0: {} @@ -21737,10 +24590,6 @@ snapshots: cookie@0.6.0: {} - copy-anything@3.0.5: - dependencies: - is-what: 4.1.16 - copy-webpack-plugin@12.0.2(webpack@5.91.0(@swc/core@1.4.8)(esbuild@0.21.4)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0))): dependencies: fast-glob: 3.3.2 @@ -21774,6 +24623,13 @@ snapshots: object-assign: 4.1.1 vary: 1.1.2 + cosmiconfig@5.2.1: + dependencies: + import-fresh: 2.0.0 + is-directory: 0.3.1 + js-yaml: 3.14.1 + parse-json: 4.0.0 + cosmiconfig@6.0.0: dependencies: '@types/parse-json': 4.0.2 @@ -21849,6 +24705,14 @@ snapshots: dependencies: buffer: 5.7.1 + cross-spawn@6.0.5: + dependencies: + nice-try: 1.0.5 + path-key: 2.0.1 + semver: 5.7.2 + shebang-command: 1.2.0 + which: 1.3.1 + cross-spawn@7.0.3: dependencies: path-key: 3.1.1 @@ -21859,6 +24723,8 @@ snapshots: dependencies: '@types/node': 17.0.45 + crypt@0.0.2: {} + crypto-browserify@3.12.0: dependencies: browserify-cipher: 1.0.1 @@ -21873,6 +24739,8 @@ snapshots: randombytes: 2.1.0 randomfill: 1.0.4 + crypto-random-string@1.0.0: {} + crypto-random-string@2.0.0: {} crypto-random-string@4.0.0: @@ -21902,7 +24770,7 @@ snapshots: postcss-modules-scope: 3.2.0(postcss@8.4.38) postcss-modules-values: 4.0.0(postcss@8.4.38) postcss-value-parser: 4.2.0 - semver: 7.6.0 + semver: 7.6.2 optionalDependencies: webpack: 5.91.0(@swc/core@1.4.8)(esbuild@0.21.4)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0)) @@ -21953,10 +24821,6 @@ snapshots: cssesc@3.0.0: {} - cssnano-utils@4.0.2(postcss@8.4.38): - dependencies: - postcss: 8.4.38 - cssnano-utils@5.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 @@ -22135,6 +24999,8 @@ snapshots: '@types/d3': 7.4.3 d3: 7.8.5 + dag-map@1.0.2: {} + dashdash@1.14.1: dependencies: assert-plus: 1.0.0 @@ -22179,6 +25045,10 @@ snapshots: dependencies: ms: 2.0.0 + debug@3.2.7: + dependencies: + ms: 2.1.3 + debug@4.3.4(supports-color@5.5.0): dependencies: ms: 2.1.2 @@ -22216,24 +25086,24 @@ snapshots: deep-equal@2.2.3: dependencies: - array-buffer-byte-length: 1.0.0 + array-buffer-byte-length: 1.0.1 call-bind: 1.0.7 es-get-iterator: 1.1.3 get-intrinsic: 1.2.4 is-arguments: 1.1.1 - is-array-buffer: 3.0.2 + is-array-buffer: 3.0.4 is-date-object: 1.0.5 is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 + is-shared-array-buffer: 1.0.3 isarray: 2.0.5 object-is: 1.1.5 object-keys: 1.1.1 object.assign: 4.1.5 - regexp.prototype.flags: 1.5.1 - side-channel: 1.0.5 + regexp.prototype.flags: 1.5.2 + side-channel: 1.0.6 which-boxed-primitive: 1.0.2 - which-collection: 1.0.1 - which-typed-array: 1.1.14 + which-collection: 1.0.2 + which-typed-array: 1.1.15 deep-extend@0.6.0: {} @@ -22259,6 +25129,11 @@ snapshots: bundle-name: 4.1.0 default-browser-id: 5.0.0 + default-gateway@4.2.0: + dependencies: + execa: 1.0.0 + ip-regex: 2.1.0 + default-gateway@6.0.3: dependencies: execa: 5.1.1 @@ -22316,6 +25191,8 @@ snapshots: delegates@1.0.0: {} + denodeify@1.2.1: {} + depd@1.1.2: {} depd@2.0.0: {} @@ -22383,7 +25260,7 @@ snapshots: detect-port@1.5.1: dependencies: address: 1.2.2 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.5 transitivePeerDependencies: - supports-color @@ -22499,6 +25376,10 @@ snapshots: dotenv-expand@10.0.0: {} + dotenv-expand@11.0.6: + dependencies: + dotenv: 16.4.5 + dotenv-webpack@8.1.0(webpack@5.91.0(@swc/core@1.4.8)(esbuild@0.21.4)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0))): dependencies: dotenv-defaults: 2.0.2 @@ -22600,7 +25481,7 @@ snapshots: has-cors: 1.1.0 parseqs: 0.0.6 parseuri: 0.0.6 - ws: 8.2.3 + ws: 8.17.1 xmlhttprequest-ssl: 2.0.0 yeast: 0.1.2 transitivePeerDependencies: @@ -22629,10 +25510,14 @@ snapshots: entities@4.5.0: {} + env-editor@0.4.2: {} + env-paths@2.2.1: {} envinfo@7.11.0: {} + eol@0.9.1: {} + err-code@2.0.3: optional: true @@ -22644,6 +25529,11 @@ snapshots: dependencies: stackframe: 1.3.4 + errorhandler@1.5.1: + dependencies: + accepts: 1.3.8 + escape-html: 1.0.3 + es-abstract@1.23.3: dependencies: array-buffer-byte-length: 1.0.1 @@ -22705,8 +25595,8 @@ snapshots: get-intrinsic: 1.2.4 has-symbols: 1.0.3 is-arguments: 1.1.1 - is-map: 2.0.2 - is-set: 2.0.2 + is-map: 2.0.3 + is-set: 2.0.3 is-string: 1.0.7 isarray: 2.0.5 stop-iteration-iterator: 1.0.0 @@ -22730,6 +25620,8 @@ snapshots: es-module-lexer@1.4.1: {} + es-module-lexer@1.5.3: {} + es-object-atoms@1.0.0: dependencies: es-errors: 1.3.0 @@ -22773,13 +25665,45 @@ snapshots: esbuild-plugin-alias@0.2.1: {} + esbuild-register@3.5.0(esbuild@0.18.20): + dependencies: + debug: 4.3.5 + esbuild: 0.18.20 + transitivePeerDependencies: + - supports-color + esbuild-register@3.5.0(esbuild@0.20.2): dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.5 esbuild: 0.20.2 transitivePeerDependencies: - supports-color + esbuild@0.18.20: + optionalDependencies: + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 + esbuild@0.20.2: optionalDependencies: '@esbuild/aix-ppc64': 0.20.2 @@ -22832,8 +25756,6 @@ snapshots: '@esbuild/win32-ia32': 0.21.4 '@esbuild/win32-x64': 0.21.4 - escalade@3.1.1: {} - escalade@3.1.2: {} escape-goat@4.0.0: {} @@ -22842,6 +25764,8 @@ snapshots: escape-string-regexp@1.0.5: {} + escape-string-regexp@2.0.0: {} + escape-string-regexp@4.0.0: {} escape-string-regexp@5.0.0: {} @@ -22971,7 +25895,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.5 doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -23080,6 +26004,18 @@ snapshots: md5.js: 1.3.5 safe-buffer: 5.2.1 + exec-async@2.2.0: {} + + execa@1.0.0: + dependencies: + cross-spawn: 6.0.5 + get-stream: 4.1.0 + is-stream: 1.1.0 + npm-run-path: 2.0.2 + p-finally: 1.0.0 + signal-exit: 3.0.7 + strip-eof: 1.0.0 + execa@4.1.0: dependencies: cross-spawn: 7.0.3 @@ -23116,6 +26052,82 @@ snapshots: signal-exit: 4.1.0 strip-final-newline: 3.0.0 + expo-asset@10.0.6(expo@51.0.8(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(encoding@0.1.13)): + dependencies: + '@react-native/assets-registry': 0.74.84 + expo: 51.0.8(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(encoding@0.1.13) + expo-constants: 16.0.1(expo@51.0.8(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(encoding@0.1.13)) + invariant: 2.2.4 + md5-file: 3.2.3 + transitivePeerDependencies: + - supports-color + + expo-constants@16.0.1(expo@51.0.8(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(encoding@0.1.13)): + dependencies: + '@expo/config': 9.0.2 + expo: 51.0.8(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(encoding@0.1.13) + transitivePeerDependencies: + - supports-color + + expo-file-system@17.0.1(expo@51.0.8(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(encoding@0.1.13)): + dependencies: + expo: 51.0.8(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(encoding@0.1.13) + + expo-font@12.0.5(expo@51.0.8(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(encoding@0.1.13)): + dependencies: + expo: 51.0.8(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(encoding@0.1.13) + fontfaceobserver: 2.3.0 + + expo-keep-awake@13.0.2(expo@51.0.8(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(encoding@0.1.13)): + dependencies: + expo: 51.0.8(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(encoding@0.1.13) + + expo-modules-autolinking@1.11.1: + dependencies: + chalk: 4.1.2 + commander: 7.2.0 + fast-glob: 3.3.2 + find-up: 5.0.0 + fs-extra: 9.1.0 + + expo-modules-core@1.12.11: + dependencies: + invariant: 2.2.4 + + expo-splash-screen@0.27.4(encoding@0.1.13)(expo-modules-autolinking@1.11.1)(expo@51.0.8(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(encoding@0.1.13)): + dependencies: + '@expo/prebuild-config': 7.0.3(encoding@0.1.13)(expo-modules-autolinking@1.11.1) + expo: 51.0.8(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(encoding@0.1.13) + transitivePeerDependencies: + - encoding + - expo-modules-autolinking + - supports-color + + expo@51.0.8(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(encoding@0.1.13): + dependencies: + '@babel/runtime': 7.24.4 + '@expo/cli': 0.18.13(encoding@0.1.13)(expo-modules-autolinking@1.11.1) + '@expo/config': 9.0.2 + '@expo/config-plugins': 8.0.4 + '@expo/metro-config': 0.18.4 + '@expo/vector-icons': 14.0.0 + babel-preset-expo: 11.0.10(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4)) + expo-asset: 10.0.6(expo@51.0.8(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(encoding@0.1.13)) + expo-file-system: 17.0.1(expo@51.0.8(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(encoding@0.1.13)) + expo-font: 12.0.5(expo@51.0.8(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(encoding@0.1.13)) + expo-keep-awake: 13.0.2(expo@51.0.8(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(encoding@0.1.13)) + expo-modules-autolinking: 1.11.1 + expo-modules-core: 1.12.11 + fbemitter: 3.0.0(encoding@0.1.13) + whatwg-url-without-unicode: 8.0.0-3 + transitivePeerDependencies: + - '@babel/core' + - '@babel/preset-env' + - bufferutil + - encoding + - supports-color + - utf-8-validate + express@4.19.2: dependencies: accepts: 1.3.8 @@ -23192,6 +26204,10 @@ snapshots: fast-redact@3.3.0: {} + fast-xml-parser@4.4.0: + dependencies: + strnum: 1.0.5 + fastest-levenshtein@1.0.16: {} fastq@1.16.0: @@ -23202,6 +26218,30 @@ snapshots: dependencies: websocket-driver: 0.7.4 + fb-watchman@2.0.2: + dependencies: + bser: 2.1.1 + + fbemitter@3.0.0(encoding@0.1.13): + dependencies: + fbjs: 3.0.5(encoding@0.1.13) + transitivePeerDependencies: + - encoding + + fbjs-css-vars@1.0.2: {} + + fbjs@3.0.5(encoding@0.1.13): + dependencies: + cross-fetch: 3.1.8(encoding@0.1.13) + fbjs-css-vars: 1.0.2 + loose-envify: 1.4.0 + object-assign: 4.1.1 + promise: 7.3.1 + setimmediate: 1.0.5 + ua-parser-js: 1.0.38 + transitivePeerDependencies: + - encoding + fd-slicer@1.1.0: dependencies: pend: 1.2.0 @@ -23211,6 +26251,8 @@ snapshots: node-domexception: 1.0.0 web-streams-polyfill: 3.3.3 + fetch-retry@4.1.1: {} + fetch-retry@5.0.6: {} figures@6.1.0: @@ -23248,6 +26290,18 @@ snapshots: dependencies: to-regex-range: 5.0.1 + finalhandler@1.1.2: + dependencies: + debug: 2.6.9 + encodeurl: 1.0.2 + escape-html: 1.0.3 + on-finished: 2.3.0 + parseurl: 1.3.3 + statuses: 1.5.0 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + finalhandler@1.2.0: dependencies: debug: 2.6.9 @@ -23298,6 +26352,10 @@ snapshots: micromatch: 4.0.5 pkg-dir: 4.2.0 + find-yarn-workspace-root@2.0.0: + dependencies: + micromatch: 4.0.5 + firefox-profile@4.3.2: dependencies: adm-zip: 0.5.10 @@ -23318,10 +26376,16 @@ snapshots: flatted@3.3.1: {} + flow-enums-runtime@0.0.6: {} + + flow-parser@0.206.0: {} + flow-parser@0.225.1: {} follow-redirects@1.15.6: {} + fontfaceobserver@2.3.0: {} + for-each@0.3.3: dependencies: is-callable: 1.2.7 @@ -23355,7 +26419,7 @@ snapshots: fork-ts-checker-webpack-plugin@8.0.0(typescript@5.4.5)(webpack@5.91.0(@swc/core@1.4.8)(esbuild@0.21.4)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0))): dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.24.7 chalk: 4.1.2 chokidar: 3.6.0 cosmiconfig: 7.1.0 @@ -23365,7 +26429,7 @@ snapshots: minimatch: 3.1.2 node-abort-controller: 3.1.1 schema-utils: 3.3.0 - semver: 7.6.0 + semver: 7.6.2 tapable: 2.2.1 typescript: 5.4.5 webpack: 5.91.0(@swc/core@1.4.8)(esbuild@0.21.4)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0)) @@ -23384,6 +26448,12 @@ snapshots: combined-stream: 1.0.8 mime-types: 2.1.35 + form-data@3.0.1: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + form-data@4.0.0: dependencies: asynckit: 0.4.0 @@ -23410,6 +26480,8 @@ snapshots: fraction.js@4.3.7: {} + freeport-async@2.0.0: {} + fresh@0.5.2: {} from@0.1.7: {} @@ -23446,6 +26518,13 @@ snapshots: jsonfile: 4.0.0 universalify: 0.1.2 + fs-extra@9.0.0: + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 1.0.0 + fs-extra@9.0.1: dependencies: at-least-node: 1.0.0 @@ -23464,6 +26543,10 @@ snapshots: dependencies: minipass: 3.3.6 + fs-minipass@3.0.3: + dependencies: + minipass: 7.0.4 + fs-monkey@1.0.5: {} fs.realpath@1.0.0: {} @@ -23551,8 +26634,14 @@ snapshots: get-params@0.1.2: {} + get-port@3.2.0: {} + get-port@7.0.0: {} + get-stream@4.1.0: + dependencies: + pump: 3.0.0 + get-stream@5.2.0: dependencies: pump: 3.0.0 @@ -23573,6 +26662,8 @@ snapshots: get-value@2.0.6: {} + getenv@1.0.0: {} + getopts@2.3.0: {} getpass@0.1.7: @@ -23627,6 +26718,15 @@ snapshots: path-is-absolute: 1.0.1 optional: true + glob@7.1.6: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + glob@7.2.3: dependencies: fs.realpath: 1.0.0 @@ -23649,7 +26749,7 @@ snapshots: es6-error: 4.1.1 matcher: 3.0.0 roarr: 2.15.4 - semver: 7.6.0 + semver: 7.6.2 serialize-error: 7.0.1 optional: true @@ -23747,6 +26847,13 @@ snapshots: graphemer@1.4.0: {} + graphql-tag@2.12.6(graphql@15.8.0): + dependencies: + graphql: 15.8.0 + tslib: 2.6.2 + + graphql@15.8.0: {} + graphql@16.8.1: {} growly@1.3.0: {} @@ -23886,6 +26993,34 @@ snapshots: he@1.2.0: {} + hermes-estree@0.15.0: {} + + hermes-estree@0.18.2: {} + + hermes-estree@0.19.1: {} + + hermes-estree@0.20.1: {} + + hermes-parser@0.15.0: + dependencies: + hermes-estree: 0.15.0 + + hermes-parser@0.18.2: + dependencies: + hermes-estree: 0.18.2 + + hermes-parser@0.19.1: + dependencies: + hermes-estree: 0.19.1 + + hermes-parser@0.20.1: + dependencies: + hermes-estree: 0.20.1 + + hermes-profile-transformer@0.0.6: + dependencies: + source-map: 0.7.4 + hex-rgba@1.0.2: {} hmac-drbg@1.0.1: @@ -23902,6 +27037,10 @@ snapshots: hosted-git-info@2.8.9: {} + hosted-git-info@3.0.8: + dependencies: + lru-cache: 6.0.0 + hosted-git-info@4.1.0: dependencies: lru-cache: 6.0.0 @@ -23986,7 +27125,7 @@ snapshots: dependencies: '@tootallnate/once': 1.1.2 agent-base: 6.0.2 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.5 transitivePeerDependencies: - supports-color optional: true @@ -24095,6 +27234,11 @@ snapshots: immutable@4.3.6: {} + import-fresh@2.0.0: + dependencies: + caller-path: 2.0.0 + resolve-from: 3.0.0 + import-fresh@3.3.0: dependencies: parent-module: 1.0.1 @@ -24137,11 +27281,10 @@ snapshots: inline-style-parser@0.2.2: {} - internal-slot@1.0.6: + internal-ip@4.3.0: dependencies: - get-intrinsic: 1.2.4 - hasown: 2.0.2 - side-channel: 1.0.5 + default-gateway: 4.2.0 + ipaddr.js: 1.9.1 internal-slot@1.0.7: dependencies: @@ -24161,6 +27304,8 @@ snapshots: invert-kv@3.0.1: {} + ip-regex@2.1.0: {} + ip@2.0.1: {} ipaddr.js@1.9.1: {} @@ -24192,12 +27337,6 @@ snapshots: call-bind: 1.0.7 has-tostringtag: 1.0.2 - is-array-buffer@3.0.2: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - is-typed-array: 1.1.13 - is-array-buffer@3.0.4: dependencies: call-bind: 1.0.7 @@ -24224,6 +27363,8 @@ snapshots: call-bind: 1.0.7 has-tostringtag: 1.0.2 + is-buffer@1.1.6: {} + is-callable@1.2.7: {} is-ci@3.0.1: @@ -24248,6 +27389,8 @@ snapshots: is-deflate@1.0.0: {} + is-directory@0.3.1: {} + is-docker@2.2.1: {} is-docker@3.0.0: {} @@ -24256,18 +27399,26 @@ snapshots: is-extendable@0.1.1: {} + is-extglob@1.0.0: {} + is-extglob@2.1.1: {} is-finalizationregistry@1.0.2: dependencies: call-bind: 1.0.7 + is-fullwidth-code-point@2.0.0: {} + is-fullwidth-code-point@3.0.0: {} is-generator-function@1.0.10: dependencies: has-tostringtag: 1.0.2 + is-glob@2.0.1: + dependencies: + is-extglob: 1.0.0 + is-glob@4.0.3: dependencies: is-extglob: 2.1.1 @@ -24296,11 +27447,13 @@ snapshots: is-interactive@2.0.0: {} + is-invalid-path@0.1.0: + dependencies: + is-glob: 2.0.1 + is-lambda@1.0.1: optional: true - is-map@2.0.2: {} - is-map@2.0.3: {} is-mergeable-object@1.1.1: {} @@ -24363,18 +27516,14 @@ snapshots: is-root@2.1.0: {} - is-set@2.0.2: {} - is-set@2.0.3: {} - is-shared-array-buffer@1.0.2: - dependencies: - call-bind: 1.0.7 - is-shared-array-buffer@1.0.3: dependencies: call-bind: 1.0.7 + is-stream@1.1.0: {} + is-stream@2.0.1: {} is-stream@3.0.0: {} @@ -24401,7 +27550,9 @@ snapshots: is-utf8@0.2.1: {} - is-weakmap@2.0.1: {} + is-valid-path@0.1.1: + dependencies: + is-invalid-path: 0.1.0 is-weakmap@2.0.2: {} @@ -24409,11 +27560,6 @@ snapshots: dependencies: call-bind: 1.0.7 - is-weakset@2.0.2: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - is-weakset@2.0.3: dependencies: call-bind: 1.0.7 @@ -24421,6 +27567,8 @@ snapshots: is-what@4.1.16: {} + is-wsl@1.1.0: {} + is-wsl@2.2.0: dependencies: is-docker: 2.2.1 @@ -24508,18 +27656,82 @@ snapshots: jed@1.1.1: {} + jest-environment-node@29.7.0: + dependencies: + '@jest/environment': 29.7.0 + '@jest/fake-timers': 29.7.0 + '@jest/types': 29.6.3 + '@types/node': 20.12.12 + jest-mock: 29.7.0 + jest-util: 29.7.0 + + jest-get-type@29.6.3: {} + + jest-message-util@29.7.0: + dependencies: + '@babel/code-frame': 7.24.7 + '@jest/types': 29.6.3 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.5 + pretty-format: 29.7.0 + slash: 3.0.0 + stack-utils: 2.0.6 + + jest-mock@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 20.12.12 + jest-util: 29.7.0 + + jest-util@29.7.0: + dependencies: + '@jest/types': 29.6.3 + '@types/node': 20.12.12 + chalk: 4.1.2 + ci-info: 3.9.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + + jest-validate@29.7.0: + dependencies: + '@jest/types': 29.6.3 + camelcase: 6.3.0 + chalk: 4.1.2 + jest-get-type: 29.6.3 + leven: 3.1.0 + pretty-format: 29.7.0 + jest-worker@27.5.1: dependencies: '@types/node': 20.12.12 merge-stream: 2.0.0 supports-color: 8.1.1 - jiti@1.21.0: {} + jest-worker@29.7.0: + dependencies: + '@types/node': 20.12.12 + jest-util: 29.7.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jimp-compact@0.16.1: {} - jiti@1.21.4: {} + jiti@1.21.0: {} jju@1.4.0: {} + joi@17.13.1: + dependencies: + '@hapi/hoek': 9.3.0 + '@hapi/topo': 5.1.0 + '@sideway/address': 4.1.5 + '@sideway/formula': 3.0.1 + '@sideway/pinpoint': 2.0.0 + + join-component@1.1.0: {} + jose@4.13.1: {} jotai-redux@0.2.1(jotai@2.2.1(react@18.3.1)): @@ -24530,6 +27742,8 @@ snapshots: optionalDependencies: react: 18.3.1 + joycon@3.1.1: {} + js-cookie@3.0.1: {} js-tokens@4.0.0: {} @@ -24551,10 +27765,39 @@ snapshots: jsbn@0.1.1: {} + jsc-android@250231.0.0: {} + + jsc-safe-url@0.2.4: {} + + jscodeshift@0.14.0(@babel/preset-env@7.24.6(@babel/core@7.24.4)): + dependencies: + '@babel/core': 7.24.4 + '@babel/parser': 7.24.7 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.4) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.24.4) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.4) + '@babel/plugin-transform-modules-commonjs': 7.24.6(@babel/core@7.24.4) + '@babel/preset-env': 7.24.6(@babel/core@7.24.4) + '@babel/preset-flow': 7.23.3(@babel/core@7.24.4) + '@babel/preset-typescript': 7.23.3(@babel/core@7.24.4) + '@babel/register': 7.23.7(@babel/core@7.24.4) + babel-core: 7.0.0-bridge.0(@babel/core@7.24.4) + chalk: 4.1.2 + flow-parser: 0.225.1 + graceful-fs: 4.2.11 + micromatch: 4.0.5 + neo-async: 2.6.2 + node-dir: 0.1.17 + recast: 0.21.5 + temp: 0.8.4 + write-file-atomic: 2.4.3 + transitivePeerDependencies: + - supports-color + jscodeshift@0.15.1(@babel/preset-env@7.24.6(@babel/core@7.24.4)): dependencies: '@babel/core': 7.24.4 - '@babel/parser': 7.24.4 + '@babel/parser': 7.24.7 '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.24.4) '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.24.4) '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.24.4) @@ -24601,7 +27844,7 @@ snapshots: whatwg-encoding: 2.0.0 whatwg-mimetype: 3.0.0 whatwg-url: 12.0.1 - ws: 8.16.0 + ws: 8.17.1 xml-name-validator: 4.0.0 transitivePeerDependencies: - bufferutil @@ -24618,6 +27861,8 @@ snapshots: dependencies: fast-deep-equal: 3.1.3 + json-parse-better-errors@1.0.2: {} + json-parse-even-better-errors@2.3.1: {} json-parse-even-better-errors@3.0.1: {} @@ -24626,6 +27871,17 @@ snapshots: dependencies: lodash: 4.17.21 + json-schema-deref-sync@0.13.0: + dependencies: + clone: 2.1.2 + dag-map: 1.0.2 + is-valid-path: 0.1.1 + lodash: 4.17.21 + md5: 2.2.1 + memory-cache: 0.2.0 + traverse: 0.6.9 + valid-url: 1.0.9 + json-schema-merge-allof@0.6.0: dependencies: compute-lcm: 1.1.2 @@ -24811,12 +28067,18 @@ snapshots: transitivePeerDependencies: - supports-color + lightningcss-darwin-arm64@1.19.0: + optional: true + lightningcss-darwin-arm64@1.23.0: optional: true lightningcss-darwin-arm64@1.25.1: optional: true + lightningcss-darwin-x64@1.19.0: + optional: true + lightningcss-darwin-x64@1.23.0: optional: true @@ -24829,42 +28091,73 @@ snapshots: lightningcss-freebsd-x64@1.25.1: optional: true + lightningcss-linux-arm-gnueabihf@1.19.0: + optional: true + lightningcss-linux-arm-gnueabihf@1.23.0: optional: true lightningcss-linux-arm-gnueabihf@1.25.1: optional: true + lightningcss-linux-arm64-gnu@1.19.0: + optional: true + lightningcss-linux-arm64-gnu@1.23.0: optional: true lightningcss-linux-arm64-gnu@1.25.1: optional: true + lightningcss-linux-arm64-musl@1.19.0: + optional: true + lightningcss-linux-arm64-musl@1.23.0: optional: true lightningcss-linux-arm64-musl@1.25.1: optional: true + lightningcss-linux-x64-gnu@1.19.0: + optional: true + lightningcss-linux-x64-gnu@1.23.0: optional: true lightningcss-linux-x64-gnu@1.25.1: optional: true + lightningcss-linux-x64-musl@1.19.0: + optional: true + lightningcss-linux-x64-musl@1.23.0: optional: true lightningcss-linux-x64-musl@1.25.1: optional: true + lightningcss-win32-x64-msvc@1.19.0: + optional: true + lightningcss-win32-x64-msvc@1.23.0: optional: true lightningcss-win32-x64-msvc@1.25.1: optional: true + lightningcss@1.19.0: + dependencies: + detect-libc: 1.0.3 + optionalDependencies: + lightningcss-darwin-arm64: 1.19.0 + lightningcss-darwin-x64: 1.19.0 + lightningcss-linux-arm-gnueabihf: 1.19.0 + lightningcss-linux-arm64-gnu: 1.19.0 + lightningcss-linux-arm64-musl: 1.19.0 + lightningcss-linux-x64-gnu: 1.19.0 + lightningcss-linux-x64-musl: 1.19.0 + lightningcss-win32-x64-msvc: 1.19.0 + lightningcss@1.23.0: dependencies: detect-libc: 1.0.3 @@ -24894,7 +28187,7 @@ snapshots: lightningcss-win32-x64-msvc: 1.25.1 optional: true - lil-fp@1.4.5: {} + lilconfig@3.1.2: {} lines-and-columns@1.2.4: {} @@ -24909,6 +28202,8 @@ snapshots: '@npmcli/config': 8.1.0 import-meta-resolve: 4.0.0 + load-tsconfig@0.2.5: {} + load-yaml-file@0.2.0: dependencies: graceful-fs: 4.2.11 @@ -24984,12 +28279,18 @@ snapshots: lodash.sortby@4.7.0: {} + lodash.throttle@4.1.1: {} + lodash.uniq@4.5.0: {} lodash.uniqby@4.7.0: {} lodash@4.17.21: {} + log-symbols@2.2.0: + dependencies: + chalk: 2.4.2 + log-symbols@4.1.0: dependencies: chalk: 4.1.2 @@ -25000,6 +28301,12 @@ snapshots: chalk: 5.3.0 is-unicode-supported: 1.3.0 + logkitty@0.7.1: + dependencies: + ansi-fragments: 0.2.1 + dayjs: 1.11.8 + yargs: 15.4.1 + loglevel@1.8.1: {} long@4.0.0: {} @@ -25044,10 +28351,6 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - magic-string@0.30.5: - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - magic-string@0.30.8: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 @@ -25100,6 +28403,10 @@ snapshots: - supports-color optional: true + makeerror@1.0.12: + dependencies: + tmpl: 1.0.5 + map-age-cleaner@0.1.3: dependencies: p-defer: 1.0.0 @@ -25132,12 +28439,30 @@ snapshots: escape-string-regexp: 4.0.0 optional: true + md5-file@3.2.3: + dependencies: + buffer-alloc: 1.2.0 + md5.js@1.3.5: dependencies: hash-base: 3.1.0 inherits: 2.0.4 safe-buffer: 5.2.1 + md5@2.2.1: + dependencies: + charenc: 0.0.2 + crypt: 0.0.2 + is-buffer: 1.1.6 + + md5@2.3.0: + dependencies: + charenc: 0.0.2 + crypt: 0.0.2 + is-buffer: 1.1.6 + + md5hex@1.0.0: {} + mdast-util-find-and-replace@3.0.1: dependencies: '@types/mdast': 4.0.3 @@ -25321,46 +28646,384 @@ snapshots: mimic-fn: 2.1.0 p-is-promise: 2.1.0 - memfs@3.6.0: + memfs@3.6.0: + dependencies: + fs-monkey: 1.0.5 + + memoize-one@5.2.1: {} + + memoize-one@6.0.0: {} + + memoize@10.0.0: + dependencies: + mimic-function: 5.0.1 + + memoizerific@1.11.3: + dependencies: + map-or-similar: 1.5.0 + + memory-cache@0.2.0: {} + + meow@11.0.0: + dependencies: + '@types/minimist': 1.2.5 + camelcase-keys: 8.0.2 + decamelize: 6.0.0 + decamelize-keys: 1.1.1 + hard-rejection: 2.1.0 + minimist-options: 4.1.0 + normalize-package-data: 4.0.1 + read-pkg-up: 9.1.0 + redent: 4.0.0 + trim-newlines: 4.1.1 + type-fest: 3.13.1 + yargs-parser: 21.1.1 + + merge-anything@5.1.7: + dependencies: + is-what: 4.1.16 + + merge-descriptors@1.0.1: {} + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + methods@1.1.2: {} + + metro-babel-transformer@0.80.5: + dependencies: + '@babel/core': 7.24.4 + hermes-parser: 0.18.2 + nullthrows: 1.1.1 + transitivePeerDependencies: + - supports-color + + metro-babel-transformer@0.80.9: + dependencies: + '@babel/core': 7.24.4 + hermes-parser: 0.20.1 + nullthrows: 1.1.1 + transitivePeerDependencies: + - supports-color + + metro-cache-key@0.80.5: {} + + metro-cache-key@0.80.9: {} + + metro-cache@0.80.5: + dependencies: + metro-core: 0.80.5 + rimraf: 3.0.2 + + metro-cache@0.80.9: + dependencies: + metro-core: 0.80.9 + rimraf: 3.0.2 + + metro-config@0.80.5(encoding@0.1.13): + dependencies: + connect: 3.7.0 + cosmiconfig: 5.2.1 + jest-validate: 29.7.0 + metro: 0.80.5(encoding@0.1.13) + metro-cache: 0.80.5 + metro-core: 0.80.5 + metro-runtime: 0.80.5 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + metro-config@0.80.9(encoding@0.1.13): + dependencies: + connect: 3.7.0 + cosmiconfig: 5.2.1 + jest-validate: 29.7.0 + metro: 0.80.9(encoding@0.1.13) + metro-cache: 0.80.9 + metro-core: 0.80.9 + metro-runtime: 0.80.9 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + + metro-core@0.80.5: + dependencies: + lodash.throttle: 4.1.1 + metro-resolver: 0.80.5 + + metro-core@0.80.9: + dependencies: + lodash.throttle: 4.1.1 + metro-resolver: 0.80.9 + + metro-file-map@0.80.5: + dependencies: + anymatch: 3.1.3 + debug: 2.6.9 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + invariant: 2.2.4 + jest-worker: 29.7.0 + micromatch: 4.0.5 + node-abort-controller: 3.1.1 + nullthrows: 1.1.1 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.3 + transitivePeerDependencies: + - supports-color + + metro-file-map@0.80.9: + dependencies: + anymatch: 3.1.3 + debug: 2.6.9 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + invariant: 2.2.4 + jest-worker: 29.7.0 + micromatch: 4.0.5 + node-abort-controller: 3.1.1 + nullthrows: 1.1.1 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.3 + transitivePeerDependencies: + - supports-color + + metro-minify-terser@0.80.5: + dependencies: + terser: 5.31.1 + + metro-minify-terser@0.80.9: + dependencies: + terser: 5.31.1 + + metro-resolver@0.80.5: {} + + metro-resolver@0.80.9: {} + + metro-runtime@0.80.5: + dependencies: + '@babel/runtime': 7.24.4 + + metro-runtime@0.80.9: + dependencies: + '@babel/runtime': 7.24.4 + + metro-source-map@0.80.5: dependencies: - fs-monkey: 1.0.5 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + invariant: 2.2.4 + metro-symbolicate: 0.80.5 + nullthrows: 1.1.1 + ob1: 0.80.5 + source-map: 0.5.7 + vlq: 1.0.1 + transitivePeerDependencies: + - supports-color - memoize-one@6.0.0: {} + metro-source-map@0.80.9: + dependencies: + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + invariant: 2.2.4 + metro-symbolicate: 0.80.9 + nullthrows: 1.1.1 + ob1: 0.80.9 + source-map: 0.5.7 + vlq: 1.0.1 + transitivePeerDependencies: + - supports-color - memoize@10.0.0: + metro-symbolicate@0.80.5: dependencies: - mimic-function: 5.0.1 + invariant: 2.2.4 + metro-source-map: 0.80.5 + nullthrows: 1.1.1 + source-map: 0.5.7 + through2: 2.0.5 + vlq: 1.0.1 + transitivePeerDependencies: + - supports-color - memoizerific@1.11.3: + metro-symbolicate@0.80.9: dependencies: - map-or-similar: 1.5.0 + invariant: 2.2.4 + metro-source-map: 0.80.9 + nullthrows: 1.1.1 + source-map: 0.5.7 + through2: 2.0.5 + vlq: 1.0.1 + transitivePeerDependencies: + - supports-color - meow@11.0.0: + metro-transform-plugins@0.80.5: dependencies: - '@types/minimist': 1.2.5 - camelcase-keys: 8.0.2 - decamelize: 6.0.0 - decamelize-keys: 1.1.1 - hard-rejection: 2.1.0 - minimist-options: 4.1.0 - normalize-package-data: 4.0.1 - read-pkg-up: 9.1.0 - redent: 4.0.0 - trim-newlines: 4.1.1 - type-fest: 3.13.1 - yargs-parser: 21.1.1 + '@babel/core': 7.24.4 + '@babel/generator': 7.24.7 + '@babel/template': 7.24.7 + '@babel/traverse': 7.24.7 + nullthrows: 1.1.1 + transitivePeerDependencies: + - supports-color - merge-anything@5.1.7: + metro-transform-plugins@0.80.9: dependencies: - is-what: 4.1.16 + '@babel/core': 7.24.4 + '@babel/generator': 7.24.7 + '@babel/template': 7.24.7 + '@babel/traverse': 7.24.7 + nullthrows: 1.1.1 + transitivePeerDependencies: + - supports-color - merge-descriptors@1.0.1: {} + metro-transform-worker@0.80.5(encoding@0.1.13): + dependencies: + '@babel/core': 7.24.4 + '@babel/generator': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + metro: 0.80.5(encoding@0.1.13) + metro-babel-transformer: 0.80.5 + metro-cache: 0.80.5 + metro-cache-key: 0.80.5 + metro-minify-terser: 0.80.5 + metro-source-map: 0.80.5 + metro-transform-plugins: 0.80.5 + nullthrows: 1.1.1 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate - merge-stream@2.0.0: {} + metro-transform-worker@0.80.9(encoding@0.1.13): + dependencies: + '@babel/core': 7.24.4 + '@babel/generator': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/types': 7.24.7 + metro: 0.80.9(encoding@0.1.13) + metro-babel-transformer: 0.80.9 + metro-cache: 0.80.9 + metro-cache-key: 0.80.9 + metro-minify-terser: 0.80.9 + metro-source-map: 0.80.9 + metro-transform-plugins: 0.80.9 + nullthrows: 1.1.1 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate - merge2@1.4.1: {} + metro@0.80.5(encoding@0.1.13): + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/core': 7.24.4 + '@babel/generator': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/template': 7.24.7 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + accepts: 1.3.8 + chalk: 4.1.2 + ci-info: 2.0.0 + connect: 3.7.0 + debug: 2.6.9 + denodeify: 1.2.1 + error-stack-parser: 2.1.4 + graceful-fs: 4.2.11 + hermes-parser: 0.18.2 + image-size: 1.1.1 + invariant: 2.2.4 + jest-worker: 29.7.0 + jsc-safe-url: 0.2.4 + lodash.throttle: 4.1.1 + metro-babel-transformer: 0.80.5 + metro-cache: 0.80.5 + metro-cache-key: 0.80.5 + metro-config: 0.80.5(encoding@0.1.13) + metro-core: 0.80.5 + metro-file-map: 0.80.5 + metro-resolver: 0.80.5 + metro-runtime: 0.80.5 + metro-source-map: 0.80.5 + metro-symbolicate: 0.80.5 + metro-transform-plugins: 0.80.5 + metro-transform-worker: 0.80.5(encoding@0.1.13) + mime-types: 2.1.35 + node-fetch: 2.7.0(encoding@0.1.13) + nullthrows: 1.1.1 + rimraf: 3.0.2 + serialize-error: 2.1.0 + source-map: 0.5.7 + strip-ansi: 6.0.1 + throat: 5.0.0 + ws: 8.17.1 + yargs: 17.7.2 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate - methods@1.1.2: {} + metro@0.80.9(encoding@0.1.13): + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/core': 7.24.4 + '@babel/generator': 7.24.7 + '@babel/parser': 7.24.7 + '@babel/template': 7.24.7 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 + accepts: 1.3.8 + chalk: 4.1.2 + ci-info: 2.0.0 + connect: 3.7.0 + debug: 2.6.9 + denodeify: 1.2.1 + error-stack-parser: 2.1.4 + graceful-fs: 4.2.11 + hermes-parser: 0.20.1 + image-size: 1.1.1 + invariant: 2.2.4 + jest-worker: 29.7.0 + jsc-safe-url: 0.2.4 + lodash.throttle: 4.1.1 + metro-babel-transformer: 0.80.9 + metro-cache: 0.80.9 + metro-cache-key: 0.80.9 + metro-config: 0.80.9(encoding@0.1.13) + metro-core: 0.80.9 + metro-file-map: 0.80.9 + metro-resolver: 0.80.9 + metro-runtime: 0.80.9 + metro-source-map: 0.80.9 + metro-symbolicate: 0.80.9 + metro-transform-plugins: 0.80.9 + metro-transform-worker: 0.80.9(encoding@0.1.13) + mime-types: 2.1.35 + node-fetch: 2.7.0(encoding@0.1.13) + nullthrows: 1.1.1 + rimraf: 3.0.2 + serialize-error: 2.1.0 + source-map: 0.5.7 + strip-ansi: 6.0.1 + throat: 5.0.0 + ws: 8.17.1 + yargs: 17.7.2 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate micro-packed@0.3.2: dependencies: @@ -25372,8 +29035,6 @@ snapshots: microdiff@1.3.2: {} - microdiff@1.4.0: {} - micromark-core-commonmark@2.0.0: dependencies: decode-named-character-reference: 1.0.2 @@ -25663,6 +29324,10 @@ snapshots: mime@1.6.0: {} + mime@2.6.0: {} + + mimic-fn@1.2.0: {} + mimic-fn@2.1.0: {} mimic-fn@4.0.0: {} @@ -25689,10 +29354,6 @@ snapshots: dependencies: brace-expansion: 2.0.1 - minimatch@7.4.6: - dependencies: - brace-expansion: 2.0.1 - minimatch@8.0.4: dependencies: brace-expansion: 2.0.1 @@ -25718,6 +29379,10 @@ snapshots: minipass: 3.3.6 optional: true + minipass-collect@2.0.1: + dependencies: + minipass: 7.0.4 + minipass-fetch@1.4.1: dependencies: minipass: 3.3.6 @@ -25730,12 +29395,10 @@ snapshots: minipass-flush@1.0.5: dependencies: minipass: 3.3.6 - optional: true minipass-pipeline@1.2.4: dependencies: minipass: 3.3.6 - optional: true minipass-sized@1.0.3: dependencies: @@ -25762,21 +29425,11 @@ snapshots: mkdirp@0.5.6: dependencies: minimist: 1.2.8 - optional: true mkdirp@1.0.4: {} - mkdirp@2.1.6: {} - mkdirp@3.0.1: {} - mlly@1.4.2: - dependencies: - acorn: 8.11.3 - pathe: 1.1.1 - pkg-types: 1.0.3 - ufo: 1.3.2 - mlly@1.6.1: dependencies: acorn: 8.11.3 @@ -25850,15 +29503,21 @@ snapshots: neo-async@2.6.2: {} + nested-error-stacks@2.0.1: {} + new-date@1.0.3: dependencies: '@segment/isodate': 1.0.3 + nice-try@1.0.5: {} + no-case@3.0.4: dependencies: lower-case: 2.0.2 tslib: 2.6.2 + nocache@3.0.4: {} + node-abort-controller@3.1.1: {} node-addon-api@4.3.0: {} @@ -25904,7 +29563,7 @@ snapshots: nopt: 5.0.0 npmlog: 6.0.2 rimraf: 3.0.2 - semver: 7.6.0 + semver: 7.6.2 tar: 6.2.0 which: 2.0.2 transitivePeerDependencies: @@ -25912,6 +29571,8 @@ snapshots: - supports-color optional: true + node-int64@0.4.0: {} + node-notifier@10.0.1: dependencies: growly: 1.3.0 @@ -25923,6 +29584,8 @@ snapshots: node-releases@2.0.14: {} + node-stream-zip@1.15.0: {} + nopt@5.0.0: dependencies: abbrev: 1.1.1 @@ -25942,7 +29605,7 @@ snapshots: dependencies: hosted-git-info: 4.1.0 is-core-module: 2.13.1 - semver: 7.6.0 + semver: 7.6.2 validate-npm-package-license: 3.0.4 normalize-package-data@4.0.1: @@ -25962,6 +29625,17 @@ snapshots: npm-normalize-package-bin@3.0.1: {} + npm-package-arg@7.0.0: + dependencies: + hosted-git-info: 3.0.8 + osenv: 0.1.5 + semver: 5.7.2 + validate-npm-package-name: 3.0.0 + + npm-run-path@2.0.2: + dependencies: + path-key: 2.0.1 + npm-run-path@4.0.1: dependencies: path-key: 3.1.1 @@ -25989,6 +29663,8 @@ snapshots: dependencies: boolbase: 1.0.0 + nullthrows@1.1.1: {} + nwsapi@2.2.7: {} nypm@0.3.4: @@ -26000,6 +29676,10 @@ snapshots: oauth-sign@0.9.0: {} + ob1@0.80.5: {} + + ob1@0.80.9: {} + obj-case@0.2.1: {} object-assign@4.1.1: {} @@ -26077,6 +29757,10 @@ snapshots: dependencies: wrappy: 1.0.2 + onetime@2.0.1: + dependencies: + mimic-fn: 1.2.0 + onetime@5.1.2: dependencies: mimic-fn: 2.1.0 @@ -26092,6 +29776,15 @@ snapshots: is-inside-container: 1.0.0 is-wsl: 3.1.0 + open@6.4.0: + dependencies: + is-wsl: 1.1.0 + + open@7.4.2: + dependencies: + is-docker: 2.2.1 + is-wsl: 2.2.0 + open@8.4.2: dependencies: define-lazy-prop: 2.0.0 @@ -26109,6 +29802,15 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 + ora@3.4.0: + dependencies: + chalk: 2.4.2 + cli-cursor: 2.1.0 + cli-spinners: 2.9.2 + log-symbols: 2.2.0 + strip-ansi: 5.2.0 + wcwidth: 1.0.1 + ora@5.4.1: dependencies: bl: 4.1.0 @@ -26133,6 +29835,8 @@ snapshots: strip-ansi: 7.1.0 wcwidth: 1.0.1 + os-homedir@1.0.2: {} + os-locale@5.0.0: dependencies: execa: 4.1.0 @@ -26141,6 +29845,13 @@ snapshots: os-shim@0.1.3: {} + os-tmpdir@1.0.2: {} + + osenv@0.1.5: + dependencies: + os-homedir: 1.0.2 + os-tmpdir: 1.0.2 + outdent@0.8.0: {} p-cancelable@2.1.1: {} @@ -26149,6 +29860,8 @@ snapshots: p-defer@1.0.0: {} + p-finally@1.0.0: {} + p-is-promise@2.1.0: {} p-limit@2.3.0: @@ -26251,6 +29964,11 @@ snapshots: is-decimal: 2.0.1 is-hexadecimal: 2.0.1 + parse-json@4.0.0: + dependencies: + error-ex: 1.3.2 + json-parse-better-errors: 1.0.2 + parse-json@5.2.0: dependencies: '@babel/code-frame': 7.24.2 @@ -26273,6 +29991,10 @@ snapshots: lines-and-columns: 2.0.4 type-fest: 3.13.1 + parse-png@2.1.0: + dependencies: + pngjs: 3.4.0 + parse5-htmlparser2-tree-adapter@7.0.0: dependencies: domhandler: 5.0.3 @@ -26293,6 +30015,11 @@ snapshots: no-case: 3.0.4 tslib: 2.6.2 + password-prompt@1.1.3: + dependencies: + ansi-escapes: 4.3.2 + cross-spawn: 7.0.3 + path-browserify@1.0.1: {} path-exists@3.0.0: {} @@ -26305,6 +30032,8 @@ snapshots: path-is-inside@1.0.2: {} + path-key@2.0.1: {} + path-key@3.1.1: {} path-key@4.0.0: {} @@ -26322,8 +30051,6 @@ snapshots: path-type@5.0.0: {} - pathe@1.1.1: {} - pathe@1.1.2: {} pathval@1.1.1: {} @@ -26366,6 +30093,8 @@ snapshots: picomatch@2.3.1: {} + picomatch@3.0.1: {} + picomatch@4.0.2: {} pify@2.3.0: {} @@ -26449,8 +30178,8 @@ snapshots: pkg-types@1.0.3: dependencies: jsonc-parser: 3.2.0 - mlly: 1.4.2 - pathe: 1.1.1 + mlly: 1.6.1 + pathe: 1.1.2 pkg-up@3.1.0: dependencies: @@ -26464,11 +30193,19 @@ snapshots: optionalDependencies: fsevents: 2.3.2 + plist@3.1.0: + dependencies: + '@xmldom/xmldom': 0.8.10 + base64-js: 1.5.1 + xmlbuilder: 15.1.1 + pluralize@8.0.0: {} + pngjs@3.4.0: {} + polished@4.3.1: dependencies: - '@babel/runtime': 7.23.9 + '@babel/runtime': 7.24.4 possible-typed-array-names@1.0.0: {} @@ -26533,18 +30270,10 @@ snapshots: postcss: 8.4.38 postcss-selector-parser: 6.0.16 - postcss-discard-duplicates@6.0.3(postcss@8.4.38): - dependencies: - postcss: 8.4.38 - postcss-discard-duplicates@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 - postcss-discard-empty@6.0.3(postcss@8.4.38): - dependencies: - postcss: 8.4.38 - postcss-discard-empty@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 @@ -26589,6 +30318,14 @@ snapshots: '@csstools/utilities': 1.0.0(postcss@8.4.38) postcss: 8.4.38 + postcss-load-config@4.0.2(postcss@8.4.38)(ts-node@10.9.2(@swc/core@1.4.8)(@types/node@20.12.12)(typescript@5.4.5)): + dependencies: + lilconfig: 3.1.2 + yaml: 2.3.4 + optionalDependencies: + postcss: 8.4.38 + ts-node: 10.9.2(@swc/core@1.4.8)(@types/node@20.12.12)(typescript@5.4.5) + postcss-loader@8.1.1(postcss@8.4.38)(typescript@5.4.5)(webpack@5.91.0(@swc/core@1.4.8)(esbuild@0.21.4)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0))): dependencies: cosmiconfig: 9.0.0(typescript@5.4.5) @@ -26605,14 +30342,6 @@ snapshots: postcss: 8.4.38 postcss-value-parser: 4.2.0 - postcss-merge-rules@6.1.1(postcss@8.4.38): - dependencies: - browserslist: 4.23.0 - caniuse-api: 3.0.0 - cssnano-utils: 4.0.2(postcss@8.4.38) - postcss: 8.4.38 - postcss-selector-parser: 6.1.0 - postcss-merge-rules@7.0.0(postcss@8.4.38): dependencies: browserslist: 4.23.0 @@ -26621,11 +30350,6 @@ snapshots: postcss: 8.4.38 postcss-selector-parser: 6.1.0 - postcss-minify-selectors@6.0.4(postcss@8.4.38): - dependencies: - postcss: 8.4.38 - postcss-selector-parser: 6.1.0 - postcss-minify-selectors@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 @@ -26664,11 +30388,6 @@ snapshots: postcss: 8.4.38 postcss-selector-parser: 6.0.16 - postcss-normalize-whitespace@6.0.2(postcss@8.4.38): - dependencies: - postcss: 8.4.38 - postcss-value-parser: 4.2.0 - postcss-normalize-whitespace@7.0.0(postcss@8.4.38): dependencies: postcss: 8.4.38 @@ -26812,26 +30531,26 @@ snapshots: path-exists: 4.0.0 which-pm: 2.0.0 - preferred-pm@3.1.3: - dependencies: - find-up: 5.0.0 - find-yarn-workspace-root2: 1.2.16 - path-exists: 4.0.0 - which-pm: 2.0.0 - prelude-ls@1.2.1: {} - prettier@2.8.8: {} - prettier@3.2.5: {} prettier@3.3.0: {} + pretty-bytes@5.6.0: {} + pretty-error@4.0.0: dependencies: lodash: 4.17.21 renderkid: 3.0.0 + pretty-format@26.6.2: + dependencies: + '@jest/types': 26.6.2 + ansi-regex: 5.0.1 + ansi-styles: 4.3.0 + react-is: 17.0.2 + pretty-format@27.5.1: dependencies: ansi-regex: 5.0.1 @@ -26889,6 +30608,14 @@ snapshots: dependencies: make-error: 1.3.6 + promise@7.3.1: + dependencies: + asap: 2.0.6 + + promise@8.3.0: + dependencies: + asap: 2.0.6 + prompts@2.4.2: dependencies: kleur: 3.0.3 @@ -26950,6 +30677,8 @@ snapshots: qr.js@0.0.0: {} + qrcode-terminal@0.11.0: {} + qs@6.11.0: dependencies: side-channel: 1.0.5 @@ -27068,6 +30797,14 @@ snapshots: - supports-color - vue-template-compiler + react-devtools-core@5.2.0: + dependencies: + shell-quote: 1.8.1 + ws: 8.17.1 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + react-docgen-typescript@2.2.2(typescript@5.4.5): dependencies: typescript: 5.4.5 @@ -27075,8 +30812,8 @@ snapshots: react-docgen@7.0.3: dependencies: '@babel/core': 7.24.4 - '@babel/traverse': 7.24.0(supports-color@5.5.0) - '@babel/types': 7.24.0 + '@babel/traverse': 7.24.7 + '@babel/types': 7.24.7 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.5 '@types/doctrine': 0.0.9 @@ -27092,12 +30829,26 @@ snapshots: dom-confetti: 0.2.2 react: 18.3.1 + react-dom@18.2.0(react@18.2.0): + dependencies: + loose-envify: 1.4.0 + react: 18.2.0 + scheduler: 0.23.2 + react-dom@18.3.1(react@18.3.1): dependencies: loose-envify: 1.4.0 react: 18.3.1 scheduler: 0.23.2 + react-element-to-jsx-string@15.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + dependencies: + '@base2/pretty-print-object': 1.0.1 + is-plain-object: 5.0.0 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-is: 18.1.0 + react-element-to-jsx-string@15.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@base2/pretty-print-object': 1.0.1 @@ -27148,13 +30899,63 @@ snapshots: lottie-web: 5.12.2 react: 18.3.1 + react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.3.1): + dependencies: + '@jest/create-cache-key-function': 29.7.0 + '@react-native-community/cli': 13.6.6(encoding@0.1.13) + '@react-native-community/cli-platform-android': 13.6.6(encoding@0.1.13) + '@react-native-community/cli-platform-ios': 13.6.6(encoding@0.1.13) + '@react-native/assets-registry': 0.73.1 + '@react-native/codegen': 0.74.83(@babel/preset-env@7.24.6(@babel/core@7.24.4)) + '@react-native/community-cli-plugin': 0.74.83(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(encoding@0.1.13) + '@react-native/gradle-plugin': 0.74.83 + '@react-native/js-polyfills': 0.74.83 + '@react-native/normalize-colors': 0.74.83 + '@react-native/virtualized-lists': 0.74.83(@types/react@18.3.3)(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.2.0) + abort-controller: 3.0.0 + anser: 1.4.10 + ansi-regex: 5.0.1 + base64-js: 1.5.1 + chalk: 4.1.2 + event-target-shim: 5.0.1 + flow-enums-runtime: 0.0.6 + invariant: 2.2.4 + jest-environment-node: 29.7.0 + jsc-android: 250231.0.0 + memoize-one: 5.2.1 + metro-runtime: 0.80.9 + metro-source-map: 0.80.9 + mkdirp: 0.5.6 + nullthrows: 1.1.1 + pretty-format: 26.6.2 + promise: 8.3.0 + react: 18.3.1 + react-devtools-core: 5.2.0 + react-refresh: 0.14.2 + react-shallow-renderer: 16.15.0(react@18.2.0) + regenerator-runtime: 0.13.11 + scheduler: 0.24.0-canary-efb381bbf-20230505 + stacktrace-parser: 0.1.10 + whatwg-fetch: 3.6.20 + ws: 8.17.1 + yargs: 17.7.2 + optionalDependencies: + '@types/react': 18.3.3 + transitivePeerDependencies: + - '@babel/core' + - '@babel/preset-env' + - bufferutil + - encoding + - supports-color + - utf-8-validate + react-qr-code@2.0.12(react@18.3.1): dependencies: prop-types: 15.8.1 qr.js: 0.0.0 react: 18.3.1 - react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1): + react-redux@8.1.3(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@4.2.1): dependencies: '@babel/runtime': 7.23.9 '@types/hoist-non-react-statics': 3.3.5 @@ -27167,19 +30968,29 @@ snapshots: '@types/react': 18.3.3 '@types/react-dom': 18.3.0 react-dom: 18.3.1(react@18.3.1) + react-native: 0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.3.1) redux: 4.2.1 - react-redux@9.1.0(@types/react@18.3.3)(react@18.3.1)(redux@5.0.1): + react-redux@9.1.0(@types/react@18.3.3)(react-native@0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.2.0))(react@18.3.1)(redux@5.0.1): dependencies: '@types/use-sync-external-store': 0.0.3 react: 18.3.1 use-sync-external-store: 1.2.0(react@18.3.1) optionalDependencies: '@types/react': 18.3.3 + react-native: 0.74.1(@babel/core@7.24.4)(@babel/preset-env@7.24.6(@babel/core@7.24.4))(@react-native/assets-registry@0.73.1)(@types/react@18.3.3)(encoding@0.1.13)(react@18.3.1) redux: 5.0.1 react-refresh@0.14.2: {} + react-remove-scroll-bar@2.3.5(@types/react@18.3.3)(react@18.2.0): + dependencies: + react: 18.2.0 + react-style-singleton: 2.2.1(@types/react@18.3.3)(react@18.2.0) + tslib: 2.6.2 + optionalDependencies: + '@types/react': 18.3.3 + react-remove-scroll-bar@2.3.5(@types/react@18.3.3)(react@18.3.1): dependencies: react: 18.3.1 @@ -27188,6 +30999,17 @@ snapshots: optionalDependencies: '@types/react': 18.3.3 + react-remove-scroll@2.5.5(@types/react@18.3.3)(react@18.2.0): + dependencies: + react: 18.2.0 + react-remove-scroll-bar: 2.3.5(@types/react@18.3.3)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.3.3)(react@18.2.0) + tslib: 2.6.2 + use-callback-ref: 1.3.1(@types/react@18.3.3)(react@18.2.0) + use-sidecar: 1.1.2(@types/react@18.3.3)(react@18.2.0) + optionalDependencies: + '@types/react': 18.3.3 + react-remove-scroll@2.5.5(@types/react@18.3.3)(react@18.3.1): dependencies: react: 18.3.1 @@ -27227,6 +31049,21 @@ snapshots: transitivePeerDependencies: - '@types/react' + react-shallow-renderer@16.15.0(react@18.2.0): + dependencies: + object-assign: 4.1.1 + react: 18.2.0 + react-is: 18.2.0 + + react-style-singleton@2.2.1(@types/react@18.3.3)(react@18.2.0): + dependencies: + get-nonce: 1.0.1 + invariant: 2.2.4 + react: 18.2.0 + tslib: 2.6.2 + optionalDependencies: + '@types/react': 18.3.3 + react-style-singleton@2.2.1(@types/react@18.3.3)(react@18.3.1): dependencies: get-nonce: 1.0.1 @@ -27250,6 +31087,10 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + react@18.2.0: + dependencies: + loose-envify: 1.4.0 + react@18.3.1: dependencies: loose-envify: 1.4.0 @@ -27285,6 +31126,11 @@ snapshots: parse-json: 5.2.0 type-fest: 2.19.0 + read-yaml-file@2.1.0: + dependencies: + js-yaml: 4.1.0 + strip-bom: 4.0.0 + readable-stream@2.3.8: dependencies: core-util-is: 1.0.3 @@ -27315,8 +31161,17 @@ snapshots: readline-transform@1.0.0: {} + readline@1.3.0: {} + real-require@0.2.0: {} + recast@0.21.5: + dependencies: + ast-types: 0.15.2 + esprima: 4.0.1 + source-map: 0.6.1 + tslib: 2.6.2 + recast@0.23.6: dependencies: ast-types: 0.16.1 @@ -27401,12 +31256,6 @@ snapshots: regexp-tree@0.1.27: {} - regexp.prototype.flags@1.5.1: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - set-function-name: 2.0.1 - regexp.prototype.flags@1.5.2: dependencies: call-bind: 1.0.7 @@ -27500,7 +31349,7 @@ snapshots: mdast-util-to-markdown: 2.1.0 unified: 11.0.4 - remove-accents@0.4.2: {} + remove-trailing-slash@0.1.1: {} renderkid@3.0.0: dependencies: @@ -27537,6 +31386,14 @@ snapshots: require-from-string@2.0.2: {} + require-main-filename@2.0.0: {} + + requireg@0.2.2: + dependencies: + nested-error-stacks: 2.0.1 + rc: 1.2.8 + resolve: 1.7.1 + requireindex@1.2.0: {} requires-port@1.0.0: {} @@ -27553,18 +31410,26 @@ snapshots: dependencies: resolve-from: 5.0.0 + resolve-from@3.0.0: {} + resolve-from@4.0.0: {} resolve-from@5.0.0: {} resolve-pkg-maps@1.0.0: {} + resolve.exports@2.0.2: {} + resolve@1.22.8: dependencies: is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + resolve@1.7.1: + dependencies: + path-parse: 1.0.7 + resolve@2.0.0-next.5: dependencies: is-core-module: 2.13.1 @@ -27579,6 +31444,11 @@ snapshots: dependencies: lowercase-keys: 3.0.0 + restore-cursor@2.0.0: + dependencies: + onetime: 2.0.1 + signal-exit: 3.0.7 + restore-cursor@3.1.0: dependencies: onetime: 5.1.2 @@ -27715,6 +31585,10 @@ snapshots: dependencies: loose-envify: 1.4.0 + scheduler@0.24.0-canary-efb381bbf-20230505: + dependencies: + loose-envify: 1.4.0 + schema-inspector@2.0.2: dependencies: async: 2.6.4 @@ -27788,6 +31662,8 @@ snapshots: transitivePeerDependencies: - supports-color + serialize-error@2.1.0: {} + serialize-error@7.0.1: dependencies: type-fest: 0.13.1 @@ -27829,12 +31705,6 @@ snapshots: gopd: 1.0.1 has-property-descriptors: 1.0.2 - set-function-name@2.0.1: - dependencies: - define-data-property: 1.1.4 - functions-have-names: 1.2.3 - has-property-descriptors: 1.0.2 - set-function-name@2.0.2: dependencies: define-data-property: 1.1.4 @@ -27861,10 +31731,16 @@ snapshots: shallowequal@1.1.0: {} + shebang-command@1.2.0: + dependencies: + shebang-regex: 1.0.0 + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 + shebang-regex@1.0.0: {} + shebang-regex@3.0.0: {} shell-quote@1.7.3: {} @@ -27910,6 +31786,12 @@ snapshots: simple-element-resize-detector@1.3.0: {} + simple-plist@1.3.1: + dependencies: + bplist-creator: 0.1.0 + bplist-parser: 0.3.1 + plist: 3.1.0 + simple-swizzle@0.2.2: dependencies: is-arrayish: 0.3.2 @@ -27926,8 +31808,16 @@ snapshots: slash@5.1.0: {} + slice-ansi@2.1.0: + dependencies: + ansi-styles: 3.2.1 + astral-regex: 1.0.0 + is-fullwidth-code-point: 2.0.0 + sliced@1.0.1: {} + slugify@1.6.6: {} + smart-buffer@4.2.0: {} socket.io-client@4.4.1: @@ -27963,7 +31853,7 @@ snapshots: stream-demux: 8.1.0 uuid: 8.3.2 vinyl-buffer: 1.0.1 - ws: 8.16.0 + ws: 8.17.1 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -27981,7 +31871,7 @@ snapshots: stream-demux: 10.0.1 uuid: 8.3.2 vinyl-buffer: 1.0.1 - ws: 8.16.0 + ws: 8.17.1 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -27998,7 +31888,7 @@ snapshots: sc-formatter: 4.0.0 stream-demux: 10.0.1 writable-consumable-stream: 4.1.0 - ws: 8.16.0 + ws: 8.17.1 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -28012,7 +31902,7 @@ snapshots: socks-proxy-agent@6.2.1: dependencies: agent-base: 6.0.2 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.5 socks: 2.7.1 transitivePeerDependencies: - supports-color @@ -28043,6 +31933,10 @@ snapshots: source-map@0.7.4: {} + source-map@0.8.0-beta.0: + dependencies: + whatwg-url: 7.1.0 + space-separated-tokens@2.0.2: {} spawn-command@0.0.2: {} @@ -28127,15 +32021,27 @@ snapshots: safer-buffer: 2.1.2 tweetnacl: 0.14.5 + ssri@10.0.6: + dependencies: + minipass: 7.0.4 + ssri@8.0.1: dependencies: minipass: 3.3.6 optional: true + stack-utils@2.0.6: + dependencies: + escape-string-regexp: 2.0.0 + stackback@0.0.2: {} stackframe@1.3.4: {} + stacktrace-parser@0.1.10: + dependencies: + type-fest: 0.7.1 + statuses@1.5.0: {} statuses@2.0.1: {} @@ -28148,7 +32054,7 @@ snapshots: stop-iteration-iterator@1.0.0: dependencies: - internal-slot: 1.0.6 + internal-slot: 1.0.7 store2@2.14.3: {} @@ -28169,6 +32075,8 @@ snapshots: inherits: 2.0.4 readable-stream: 3.6.2 + stream-buffers@2.2.0: {} + stream-combiner@0.2.2: dependencies: duplexer: 0.1.2 @@ -28261,6 +32169,10 @@ snapshots: character-entities-html4: 2.1.0 character-entities-legacy: 3.0.0 + strip-ansi@5.2.0: + dependencies: + ansi-regex: 4.1.1 + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 @@ -28280,8 +32192,12 @@ snapshots: strip-bom@3.0.0: {} + strip-bom@4.0.0: {} + strip-bom@5.0.0: {} + strip-eof@1.0.0: {} + strip-final-newline@2.0.0: {} strip-final-newline@3.0.0: {} @@ -28304,6 +32220,10 @@ snapshots: dependencies: js-tokens: 9.0.0 + strnum@1.0.5: {} + + structured-headers@0.4.1: {} + style-loader@3.3.4(webpack@5.91.0(@swc/core@1.4.8)(esbuild@0.21.4)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0))): dependencies: webpack: 5.91.0(@swc/core@1.4.8)(esbuild@0.21.4)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0)) @@ -28336,16 +32256,38 @@ snapshots: stylis@4.2.0: {} + sucrase@3.34.0: + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + commander: 4.1.1 + glob: 7.1.6 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.6 + ts-interface-checker: 0.1.13 + + sucrase@3.35.0: + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + commander: 4.1.1 + glob: 10.3.10 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.6 + ts-interface-checker: 0.1.13 + + sudo-prompt@8.2.5: {} + + sudo-prompt@9.1.1: {} + + sudo-prompt@9.2.1: {} + sumchecker@3.0.1: dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.5 transitivePeerDependencies: - supports-color - superjson@1.13.3: - dependencies: - copy-anything: 3.0.5 - supports-color@5.5.0: dependencies: has-flag: 3.0.0 @@ -28360,6 +32302,11 @@ snapshots: supports-color@9.4.0: {} + supports-hyperlinks@2.3.0: + dependencies: + has-flag: 4.0.0 + supports-color: 7.2.0 + supports-preserve-symlinks-flag@1.0.0: {} svg-url-loader@8.0.0(webpack@5.91.0(@swc/core@1.4.8)(esbuild@0.21.4)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0))): @@ -28375,6 +32322,8 @@ snapshots: symbol-tree@3.2.4: {} + synchronous-promise@2.0.17: {} + synckit@0.9.0: dependencies: '@pkgr/core': 0.1.1 @@ -28416,12 +32365,28 @@ snapshots: dependencies: memoizerific: 1.11.3 + temp-dir@1.0.0: {} + temp-dir@2.0.0: {} temp@0.8.4: dependencies: rimraf: 2.6.3 + tempy@0.3.0: + dependencies: + temp-dir: 1.0.0 + type-fest: 0.3.1 + unique-string: 1.0.0 + + tempy@0.7.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@1.0.1: dependencies: del: 6.1.1 @@ -28430,6 +32395,11 @@ snapshots: type-fest: 0.16.0 unique-string: 2.0.0 + terminal-link@2.1.1: + dependencies: + ansi-escapes: 4.3.2 + supports-hyperlinks: 2.3.0 + terser-webpack-plugin@5.3.10(@swc/core@1.4.8)(esbuild@0.21.4)(webpack@5.91.0(@swc/core@1.4.8)(esbuild@0.21.4)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0))): dependencies: '@jridgewell/trace-mapping': 0.3.22 @@ -28455,7 +32425,6 @@ snapshots: acorn: 8.11.3 commander: 2.20.3 source-map-support: 0.5.21 - optional: true test-exclude@6.0.0: dependencies: @@ -28477,6 +32446,8 @@ snapshots: dependencies: real-require: 0.2.0 + throat@5.0.0: {} + through2@2.0.5: dependencies: readable-stream: 2.3.8 @@ -28500,14 +32471,18 @@ snapshots: tinypool@0.8.3: {} - tinyspy@2.2.0: {} - tinyspy@2.2.1: {} + tmp@0.0.33: + dependencies: + os-tmpdir: 1.0.2 + tmp@0.2.1: dependencies: rimraf: 3.0.2 + tmpl@1.0.5: {} + to-fast-properties@2.0.0: {} to-regex-range@5.0.1: @@ -28538,10 +32513,20 @@ snapshots: tr46@0.0.3: {} + tr46@1.0.1: + dependencies: + punycode: 2.3.1 + tr46@4.1.1: dependencies: punycode: 2.3.1 + traverse@0.6.9: + dependencies: + gopd: 1.0.1 + typedarray.prototype.slice: 1.0.3 + which-typed-array: 1.1.15 + tree-kill@1.2.2: {} trim-lines@3.0.1: {} @@ -28580,10 +32565,7 @@ snapshots: optionalDependencies: jsdom: 22.1.0 - ts-morph@19.0.0: - dependencies: - '@ts-morph/common': 0.20.0 - code-block-writer: 12.0.0 + ts-interface-checker@0.1.13: {} ts-morph@21.0.1: dependencies: @@ -28610,8 +32592,6 @@ snapshots: optionalDependencies: '@swc/core': 1.4.8 - ts-pattern@5.0.5: {} - ts-pattern@5.0.8: {} ts-unused-exports@10.0.1(typescript@5.4.5): @@ -28620,10 +32600,6 @@ snapshots: tsconfig-paths: 3.15.0 typescript: 5.4.5 - tsconfck@2.1.2(typescript@5.4.5): - optionalDependencies: - typescript: 5.4.5 - tsconfck@3.0.2(typescript@5.4.5): optionalDependencies: typescript: 5.4.5 @@ -28651,6 +32627,30 @@ snapshots: tslib@2.6.2: {} + tsup@8.1.0(@swc/core@1.4.8)(postcss@8.4.38)(ts-node@10.9.2(@swc/core@1.4.8)(@types/node@20.12.12)(typescript@5.4.5))(typescript@5.4.5): + dependencies: + bundle-require: 4.2.1(esbuild@0.21.4) + cac: 6.7.14 + chokidar: 3.6.0 + debug: 4.3.5 + esbuild: 0.21.4 + execa: 5.1.1 + globby: 11.1.0 + joycon: 3.1.1 + postcss-load-config: 4.0.2(postcss@8.4.38)(ts-node@10.9.2(@swc/core@1.4.8)(@types/node@20.12.12)(typescript@5.4.5)) + resolve-from: 5.0.0 + rollup: 4.14.0 + source-map: 0.8.0-beta.0 + sucrase: 3.35.0 + tree-kill: 1.2.2 + optionalDependencies: + '@swc/core': 1.4.8 + postcss: 8.4.38 + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + - ts-node + tsutils@3.21.0(typescript@5.4.5): dependencies: tslib: 1.14.1 @@ -28679,8 +32679,14 @@ snapshots: type-fest@0.20.2: {} + type-fest@0.21.3: {} + + type-fest@0.3.1: {} + type-fest@0.6.0: {} + type-fest@0.7.1: {} + type-fest@0.8.1: {} type-fest@1.4.0: {} @@ -28733,6 +32739,15 @@ snapshots: dependencies: is-typedarray: 1.0.0 + typedarray.prototype.slice@1.0.3: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + typed-array-buffer: 1.0.2 + typed-array-byte-offset: 1.0.2 + typedarray@0.0.6: {} typeforce@1.18.0: {} @@ -28741,7 +32756,7 @@ snapshots: typescript@5.4.5: {} - ufo@1.3.2: {} + ua-parser-js@1.0.38: {} ufo@1.5.3: {} @@ -28818,11 +32833,23 @@ snapshots: unique-slug: 2.0.2 optional: true + unique-filename@3.0.0: + dependencies: + unique-slug: 4.0.0 + unique-slug@2.0.2: dependencies: imurmurhash: 0.1.4 optional: true + unique-slug@4.0.0: + dependencies: + imurmurhash: 0.1.4 + + unique-string@1.0.0: + dependencies: + crypto-random-string: 1.0.0 + unique-string@2.0.0: dependencies: crypto-random-string: 2.0.0 @@ -28926,6 +32953,8 @@ snapshots: dependencies: punycode: 2.3.1 + url-join@4.0.0: {} + url-join@5.0.0: {} url-parse@1.5.10: @@ -28938,6 +32967,13 @@ snapshots: punycode: 1.4.1 qs: 6.11.2 + use-callback-ref@1.3.1(@types/react@18.3.3)(react@18.2.0): + dependencies: + react: 18.2.0 + tslib: 2.6.2 + optionalDependencies: + '@types/react': 18.3.3 + use-callback-ref@1.3.1(@types/react@18.3.3)(react@18.3.1): dependencies: react: 18.3.1 @@ -28963,6 +32999,14 @@ snapshots: optionalDependencies: '@types/react': 18.3.3 + use-sidecar@1.1.2(@types/react@18.3.3)(react@18.2.0): + dependencies: + detect-node-es: 1.1.0 + react: 18.2.0 + tslib: 2.6.2 + optionalDependencies: + '@types/react': 18.3.3 + use-sidecar@1.1.2(@types/react@18.3.3)(react@18.3.1): dependencies: detect-node-es: 1.1.0 @@ -28991,6 +33035,8 @@ snapshots: uuid@3.4.0: {} + uuid@7.0.3: {} + uuid@8.3.2: {} uuid@9.0.1: {} @@ -29011,6 +33057,10 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 + validate-npm-package-name@3.0.0: + dependencies: + builtins: 1.0.3 + validate.io-array@1.0.6: {} validate.io-function@1.0.2: {} @@ -29139,6 +33189,8 @@ snapshots: - supports-color - terser + vlq@1.0.1: {} + vm-browserify@1.1.2: {} w3c-xmlserializer@4.0.0: @@ -29147,6 +33199,10 @@ snapshots: walk-up-path@3.0.1: {} + walker@1.0.8: + dependencies: + makeerror: 1.0.12 + watchpack@2.4.0: dependencies: glob-to-regexp: 0.4.1 @@ -29209,7 +33265,7 @@ snapshots: tmp: 0.2.1 update-notifier: 6.0.2 watchpack: 2.4.0 - ws: 8.13.0 + ws: 8.17.1 yargs: 17.7.1 zip-dir: 2.0.0 transitivePeerDependencies: @@ -29251,7 +33307,7 @@ snapshots: tmp: 0.2.1 update-notifier: 6.0.2 watchpack: 2.4.0 - ws: 8.13.0 + ws: 8.17.1 yargs: 17.7.1 zip-dir: 2.0.0 transitivePeerDependencies: @@ -29268,6 +33324,10 @@ snapshots: webidl-conversions@3.0.1: {} + webidl-conversions@4.0.2: {} + + webidl-conversions@5.0.0: {} + webidl-conversions@7.0.0: {} webpack-bundle-analyzer@4.10.2: @@ -29283,7 +33343,7 @@ snapshots: opener: 1.5.2 picocolors: 1.0.0 sirv: 2.0.4 - ws: 7.5.9 + ws: 8.17.1 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -29348,7 +33408,7 @@ snapshots: sockjs: 0.3.24 spdy: 4.0.2 webpack-dev-middleware: 5.3.4(webpack@5.91.0(@swc/core@1.4.8)(esbuild@0.21.4)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0))) - ws: 8.16.0 + ws: 8.17.1 optionalDependencies: webpack: 5.91.0(@swc/core@1.4.8)(esbuild@0.21.4)(webpack-cli@5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0)) webpack-cli: 5.1.4(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@4.15.1)(webpack@5.91.0) @@ -29432,6 +33492,12 @@ snapshots: whatwg-mimetype@3.0.0: {} + whatwg-url-without-unicode@8.0.0-3: + dependencies: + buffer: 5.7.1 + punycode: 2.3.1 + webidl-conversions: 5.0.0 + whatwg-url@12.0.1: dependencies: tr46: 4.1.1 @@ -29442,6 +33508,12 @@ snapshots: tr46: 0.0.3 webidl-conversions: 3.0.1 + whatwg-url@7.1.0: + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + when@3.7.7: {} which-boxed-primitive@1.0.2: @@ -29467,13 +33539,6 @@ snapshots: which-collection: 1.0.2 which-typed-array: 1.1.15 - which-collection@1.0.1: - dependencies: - is-map: 2.0.2 - is-set: 2.0.2 - is-weakmap: 2.0.1 - is-weakset: 2.0.2 - which-collection@1.0.2: dependencies: is-map: 2.0.3 @@ -29481,6 +33546,8 @@ snapshots: is-weakmap: 2.0.2 is-weakset: 2.0.3 + which-module@2.0.1: {} + which-pm@2.0.0: dependencies: load-yaml-file: 0.2.0 @@ -29536,6 +33603,8 @@ snapshots: winreg@0.0.12: {} + wonka@4.0.15: {} + wordwrap@1.0.0: {} wrap-ansi@7.0.0: @@ -29567,15 +33636,12 @@ snapshots: signal-exit: 3.0.7 typedarray-to-buffer: 3.1.5 - ws@7.5.6: {} - - ws@7.5.9: {} - - ws@8.13.0: {} + ws@8.17.1: {} - ws@8.16.0: {} - - ws@8.2.3: {} + xcode@3.0.1: + dependencies: + simple-plist: 1.3.1 + uuid: 7.0.3 xdg-basedir@5.1.0: {} @@ -29586,14 +33652,25 @@ snapshots: sax: 1.3.0 xmlbuilder: 11.0.1 + xml2js@0.6.0: + dependencies: + sax: 1.3.0 + xmlbuilder: 11.0.1 + xmlbuilder@11.0.1: {} + xmlbuilder@14.0.0: {} + + xmlbuilder@15.1.1: {} + xmlchars@2.2.0: {} xmlhttprequest-ssl@2.0.0: {} xtend@4.0.2: {} + y18n@4.0.3: {} + y18n@5.0.8: {} yallist@3.1.1: {} @@ -29604,8 +33681,27 @@ snapshots: yaml@2.3.4: {} + yargs-parser@18.1.3: + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + yargs-parser@21.1.1: {} + yargs@15.4.1: + dependencies: + cliui: 6.0.0 + decamelize: 1.2.0 + find-up: 4.1.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 4.2.3 + which-module: 2.0.1 + y18n: 4.0.3 + yargs-parser: 18.1.3 + yargs@17.7.1: dependencies: cliui: 8.0.1 diff --git a/src/app/app.tsx b/src/app/app.tsx index 3af6470f9f5..89e945cad93 100644 --- a/src/app/app.tsx +++ b/src/app/app.tsx @@ -4,7 +4,7 @@ import { Provider as ReduxProvider } from 'react-redux'; import { QueryClientProvider } from '@tanstack/react-query'; import { PersistGate } from 'redux-persist/integration/react'; -import { LeatherQueryProvider } from '@leather-wallet/query'; +import { LeatherQueryProvider } from '@leather.io/query'; import { GITHUB_ORG, GITHUB_REPO } from '@shared/constants'; import { BRANCH_NAME, WALLET_ENVIRONMENT } from '@shared/environment'; diff --git a/src/app/common/account-restoration/account-restore.ts b/src/app/common/account-restoration/account-restore.ts index c6c2151a763..5d61b541b67 100644 --- a/src/app/common/account-restoration/account-restore.ts +++ b/src/app/common/account-restoration/account-restore.ts @@ -1,4 +1,4 @@ -import { createCounter, fibonacciGenerator } from '@leather-wallet/utils'; +import { createCounter, fibonacciGenerator } from '@leather.io/utils'; const numOfEmptyAccountsToCheck = 20; diff --git a/src/app/common/analytics/track-switch-account.ts b/src/app/common/analytics/track-switch-account.ts new file mode 100644 index 00000000000..41ccc40a57e --- /dev/null +++ b/src/app/common/analytics/track-switch-account.ts @@ -0,0 +1,13 @@ +import { analytics } from '@shared/utils/analytics'; + +import { queryClient } from '@app/common/persistence'; + +export async function trackSwitchAccount(address: string, index: number) { + const accountBalanceCache = queryClient.getQueryData(['get-address-stx-balance', address]); + if (!accountBalanceCache) return; + try { + const hasStxBalance = !!(accountBalanceCache as any).stx.unlockedStx.amount.isGreaterThan(0); + void analytics.track('switch_account', { index, hasStxBalance }); + } finally { + } +} diff --git a/src/app/common/app-analytics.ts b/src/app/common/app-analytics.ts new file mode 100644 index 00000000000..ac4a8a69065 --- /dev/null +++ b/src/app/common/app-analytics.ts @@ -0,0 +1,59 @@ +import { useEffect } from 'react'; + +import { HIRO_API_BASE_URL_MAINNET, HIRO_API_BASE_URL_TESTNET } from '@leather.io/models'; + +import { IS_TEST_ENV, SEGMENT_WRITE_KEY } from '@shared/environment'; +import { decorateAnalyticsEventsWithContext, initAnalytics } from '@shared/utils/analytics'; + +import { store } from '@app/store'; +import { selectWalletType } from '@app/store/common/wallet-type.selectors'; +import { selectCurrentNetwork } from '@app/store/networks/networks.selectors'; + +import { flow, origin } from './initial-search-params'; + +const defaultStaticAnalyticContext = { + ip: '0.0.0.0', + platform: 'web', + product: 'extension', + route: location.pathname, + version: VERSION, + ...(flow && { flow }), + ...(origin && { origin }), +}; + +function getAnalyticsStateProps() { + const state = store.getState(); + const currentNetwork = selectCurrentNetwork(state); + const walletType = selectWalletType(state); + + return { + walletType, + currentNetwork, + }; +} + +function isHiroApiUrl(url: string) { + return url.includes(HIRO_API_BASE_URL_MAINNET) || url.includes(HIRO_API_BASE_URL_TESTNET); +} + +function getDerivedStateAnalyticsContext() { + const appState = getAnalyticsStateProps(); + + return { + network: appState.currentNetwork.name.toLowerCase(), + usingDefaultHiroApi: isHiroApiUrl(appState.currentNetwork.chain.stacks.url), + walletType: appState.walletType, + }; +} + +export function useInitalizeAnalytics() { + useEffect(() => { + if (!SEGMENT_WRITE_KEY || IS_TEST_ENV) return; + initAnalytics(); + }, []); +} + +decorateAnalyticsEventsWithContext(() => ({ + ...defaultStaticAnalyticContext, + ...getDerivedStateAnalyticsContext(), +})); diff --git a/src/app/common/asset-utils.ts b/src/app/common/asset-utils.ts index 66660702b54..5c9d1411390 100644 --- a/src/app/common/asset-utils.ts +++ b/src/app/common/asset-utils.ts @@ -1,9 +1,9 @@ -import type { MarketData, Money } from '@leather-wallet/models'; +import type { MarketData, Money } from '@leather.io/models'; import { baseCurrencyAmountInQuote, i18nFormatCurrency, isMoneyGreaterThanZero, -} from '@leather-wallet/utils'; +} from '@leather.io/utils'; export function migratePositiveAssetBalancesToTop(assets: T) { const assetsWithPositiveBalance = assets.filter(asset => asset.balance.amount.isGreaterThan(0)); diff --git a/src/app/common/authentication/use-finish-auth-request.ts b/src/app/common/authentication/use-finish-auth-request.ts index 6436332cf06..31d8d40abd5 100644 --- a/src/app/common/authentication/use-finish-auth-request.ts +++ b/src/app/common/authentication/use-finish-auth-request.ts @@ -7,7 +7,7 @@ import { updateWalletConfigWithApp, } from '@stacks/wallet-sdk'; -import { gaiaUrl } from '@leather-wallet/constants'; +import { gaiaUrl } from '@leather.io/constants'; import { finalizeAuthResponse } from '@shared/actions/finalize-auth-response'; import { logger } from '@shared/logger'; diff --git a/src/app/common/error-formatters.ts b/src/app/common/error-formatters.ts index dba377e83f0..dd362d18dfb 100644 --- a/src/app/common/error-formatters.ts +++ b/src/app/common/error-formatters.ts @@ -1,5 +1,5 @@ -import type { Money } from '@leather-wallet/models'; -import { isFunction } from '@leather-wallet/utils'; +import type { Money } from '@leather.io/models'; +import { isFunction } from '@leather.io/utils'; import { FormErrorMessages } from '@shared/error-messages'; diff --git a/src/app/common/hooks/account/use-account-names.ts b/src/app/common/hooks/account/use-account-names.ts index 13909a30b7e..a765cd59232 100644 --- a/src/app/common/hooks/account/use-account-names.ts +++ b/src/app/common/hooks/account/use-account-names.ts @@ -1,7 +1,7 @@ import { useMemo } from 'react'; -import { useGetBnsNamesOwnedByAddressQuery } from '@leather-wallet/query'; -import { isUndefined } from '@leather-wallet/utils'; +import { useGetBnsNamesOwnedByAddressQuery } from '@leather.io/query'; +import { isUndefined } from '@leather.io/utils'; import { parseIfValidPunycode } from '@app/common/utils'; import { formatAccountName } from '@app/common/utils/format-account-name'; diff --git a/src/app/common/hooks/account/use-create-account.ts b/src/app/common/hooks/account/use-create-account.ts index 078e1f63056..00087141d2a 100644 --- a/src/app/common/hooks/account/use-create-account.ts +++ b/src/app/common/hooks/account/use-create-account.ts @@ -1,12 +1,12 @@ import { useCallback } from 'react'; -import { useAnalytics } from '@app/common/hooks/analytics/use-analytics'; +import { analytics } from '@shared/utils/analytics'; + import { useKeyActions } from '@app/common/hooks/use-key-actions'; import { useToast } from '@app/features/toasts/use-toast'; export function useCreateAccount() { const { createNewAccount } = useKeyActions(); - const analytics = useAnalytics(); const toast = useToast(); return useCallback(() => { @@ -15,5 +15,5 @@ export function useCreateAccount() { success: 'Account created!', error: 'Error creating account.', }); - }, [analytics, createNewAccount, toast]); + }, [createNewAccount, toast]); } diff --git a/src/app/common/hooks/account/use-refresh-all-account-data.ts b/src/app/common/hooks/account/use-refresh-all-account-data.ts index e18623bee50..0cc582c4fe5 100644 --- a/src/app/common/hooks/account/use-refresh-all-account-data.ts +++ b/src/app/common/hooks/account/use-refresh-all-account-data.ts @@ -1,7 +1,7 @@ import { useCallback } from 'react'; -import { useAccountMempoolQuery } from '@leather-wallet/query'; -import { delay } from '@leather-wallet/utils'; +import { useAccountMempoolQuery } from '@leather.io/query'; +import { delay } from '@leather.io/utils'; import { useCurrentStacksAccountAddress } from '@app/store/accounts/blockchain/stacks/stacks-account.hooks'; diff --git a/src/app/common/hooks/account/use-switch-account.ts b/src/app/common/hooks/account/use-switch-account.ts index 877ee119faf..0457cdba75a 100644 --- a/src/app/common/hooks/account/use-switch-account.ts +++ b/src/app/common/hooks/account/use-switch-account.ts @@ -8,7 +8,7 @@ import { useTransactionNetworkVersion, } from '@app/store/accounts/blockchain/stacks/stacks-account.hooks'; -import { useTrackSwitchAccount } from '../analytics/use-track-switch-account'; +import { trackSwitchAccount } from '../../analytics/track-switch-account'; import { useKeyActions } from '../use-key-actions'; const TIMEOUT = 350; @@ -20,7 +20,6 @@ export function useSwitchAccount(callback?: () => void) { const txIndex = useTransactionAccountIndex(); const transactionVersion = useTransactionNetworkVersion(); const [hasSwitched, setHasSwitched] = useHasSwitchedAccounts(); - const trackSwitchAccount = useTrackSwitchAccount(); const handleSwitchAccount = useCallback( async (index: number) => { @@ -30,7 +29,7 @@ export function useSwitchAccount(callback?: () => void) { if (!accounts) return; void trackSwitchAccount(accounts[index]?.address, index); }, - [setHasSwitched, switchAccount, callback, accounts, trackSwitchAccount] + [setHasSwitched, switchAccount, callback, accounts] ); const getIsActive = useCallback( diff --git a/src/app/common/hooks/analytics/use-analytics.ts b/src/app/common/hooks/analytics/use-analytics.ts deleted file mode 100644 index b4d11288a91..00000000000 --- a/src/app/common/hooks/analytics/use-analytics.ts +++ /dev/null @@ -1,110 +0,0 @@ -import { useEffect, useMemo } from 'react'; - -import { - EventParams, - PageParams, -} from '@segment/analytics-next/dist/types/core/arguments-resolver'; - -import { - HIRO_API_BASE_URL_MAINNET, - HIRO_API_BASE_URL_TESTNET, - type NetworkConfiguration, -} from '@leather-wallet/models'; - -import { IS_TEST_ENV, SEGMENT_WRITE_KEY } from '@shared/environment'; -import { logger } from '@shared/logger'; -import { analytics, initAnalytics } from '@shared/utils/analytics'; - -import { flow, origin } from '@app/common/initial-search-params'; -import { useWalletType } from '@app/common/use-wallet-type'; -import { store } from '@app/store'; -import { type WalletType, selectWalletType } from '@app/store/common/wallet-type.selectors'; -import { useCurrentNetworkState } from '@app/store/networks/networks.hooks'; -import { selectCurrentNetwork } from '@app/store/networks/networks.selectors'; - -const IGNORED_PATH_REGEXPS = [/^\/$/]; - -function isIgnoredPath(path: string) { - return IGNORED_PATH_REGEXPS.find(regexp => regexp.test(path)); -} - -function isHiroApiUrl(url: string) { - return url.includes(HIRO_API_BASE_URL_MAINNET) || url.includes(HIRO_API_BASE_URL_TESTNET); -} - -export function useInitalizeAnalytics() { - useEffect(() => { - if (!SEGMENT_WRITE_KEY || IS_TEST_ENV) return; - initAnalytics(); - }, []); -} - -function getStateProps() { - const state = store.getState(); - const currentNetwork = selectCurrentNetwork(state); - const walletType = selectWalletType(state); - - return { - walletType, - currentNetwork, - }; -} - -interface Analytics { - identify(properties: object): Promise; - page(...args: PageParams): Promise; - track(...args: EventParams): Promise; -} - -export function createAnalytics(suppliedOptions?: { - currentNetwork: NetworkConfiguration; - walletType?: WalletType; -}): Analytics { - const options = suppliedOptions ?? getStateProps(); - const defaultProperties = { - network: options.currentNetwork.name.toLowerCase(), - usingDefaultHiroApi: isHiroApiUrl(options.currentNetwork.chain.stacks.url), - route: location.pathname, - version: VERSION, - walletType: options.walletType, - ...(flow && { flow }), - ...(origin && { origin }), - }; - - const defaultOptions = { context: { ip: '0.0.0.0' } }; - - return { - async identify(properties) { - return analytics.identify(properties).catch(logger.error); - }, - - async page(...args) { - const [category, name, properties, options, ...rest] = args; - const prop = { ...defaultProperties, ...properties }; - const opts = { ...defaultOptions, ...options }; - logger.debug(`Analytics page view: ${name}`, properties); - - if (typeof name === 'string' && isIgnoredPath(name)) return; - - return analytics.page(category, name, prop, opts, ...rest).catch(logger.error); - }, - - async track(...args) { - const [eventName, properties, options, ...rest] = args; - const prop = { ...defaultProperties, ...properties }; - const opts = { ...defaultOptions, ...options }; - logger.debug(`Analytics event: ${eventName}`, properties); - return analytics.track(eventName, prop, opts, ...rest).catch(logger.error); - }, - }; -} - -export function useAnalytics() { - const currentNetwork = useCurrentNetworkState(); - const { walletType } = useWalletType(); - - return useMemo( - () => createAnalytics({ currentNetwork, walletType }), - [currentNetwork, walletType] - ); -} diff --git a/src/app/common/hooks/analytics/use-track-switch-account.ts b/src/app/common/hooks/analytics/use-track-switch-account.ts deleted file mode 100644 index 23614ac1613..00000000000 --- a/src/app/common/hooks/analytics/use-track-switch-account.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { useCallback } from 'react'; - -import { queryClient } from '@app/common/persistence'; - -import { useAnalytics } from './use-analytics'; - -export function useTrackSwitchAccount() { - const analytics = useAnalytics(); - - return useCallback( - async (address: string, index: number) => { - const accountBalanceCache = queryClient.getQueryData(['get-address-stx-balance', address]); - if (!accountBalanceCache) return; - try { - const hasStxBalance = !!(accountBalanceCache as any).stx.unlockedStx.amount.isGreaterThan( - 0 - ); - void analytics.track('switch_account', { index, hasStxBalance }); - } finally { - } - }, - [analytics] - ); -} diff --git a/src/app/common/hooks/balance/use-total-balance.tsx b/src/app/common/hooks/balance/use-total-balance.tsx index eada203e6f7..2c8b7084838 100644 --- a/src/app/common/hooks/balance/use-total-balance.tsx +++ b/src/app/common/hooks/balance/use-total-balance.tsx @@ -3,8 +3,8 @@ import { useMemo } from 'react'; import { useCryptoCurrencyMarketDataMeanAverage, useStxCryptoAssetBalance, -} from '@leather-wallet/query'; -import { baseCurrencyAmountInQuote, createMoney, i18nFormatCurrency } from '@leather-wallet/utils'; +} from '@leather.io/query'; +import { baseCurrencyAmountInQuote, createMoney, i18nFormatCurrency } from '@leather.io/utils'; import { useBtcCryptoAssetBalanceNativeSegwit } from '@app/query/bitcoin/balance/btc-balance-native-segwit.hooks'; @@ -20,18 +20,18 @@ export function useTotalBalance({ btcAddress, stxAddress }: UseTotalBalanceArgs) // get stx balance const { data: balance, - isLoading, - isInitialLoading, - isFetching: isFetchingStacksBalance, + isFetching: isFetchingStxBalance, + isLoading: isLoadingStxBalance, + isPending: isPendingStxBalance, } = useStxCryptoAssetBalance(stxAddress); const stxBalance = balance ? balance.totalBalance : createMoney(0, 'STX'); // get btc balance const { balance: btcBalance, - isLoading: isLoadingBtcBalance, isFetching: isFetchingBtcBalance, - isInitialLoading: isInititalLoadingBtcBalance, + isLoading: isLoadingBtcBalance, + isPending: isPendingBtcBalance, } = useBtcCryptoAssetBalanceNativeSegwit(btcAddress); return useMemo(() => { @@ -41,25 +41,25 @@ export function useTotalBalance({ btcAddress, stxAddress }: UseTotalBalanceArgs) const totalBalance = { ...stxUsdAmount, amount: stxUsdAmount.amount.plus(btcUsdAmount.amount) }; return { + isFetching: isFetchingStxBalance || isFetchingBtcBalance, + isLoading: isLoadingStxBalance || isLoadingBtcBalance, + isPending: isPendingStxBalance || isPendingBtcBalance, totalBalance, totalUsdBalance: i18nFormatCurrency( totalBalance, totalBalance.amount.isGreaterThanOrEqualTo(100_000) ? 0 : 2 ), - isLoading: isLoading || isLoadingBtcBalance, - isInitialLoading: isInitialLoading || isInititalLoadingBtcBalance, - isFetching: isFetchingStacksBalance || isFetchingBtcBalance, }; }, [ - stxBalance, - stxMarketData, btcBalance.availableBalance, btcMarketData, - isLoading, - isLoadingBtcBalance, - isInitialLoading, - isInititalLoadingBtcBalance, - isFetchingStacksBalance, isFetchingBtcBalance, + isFetchingStxBalance, + isLoadingBtcBalance, + isLoadingStxBalance, + isPendingBtcBalance, + isPendingStxBalance, + stxBalance, + stxMarketData, ]); } diff --git a/src/app/common/hooks/use-bitcoin-contracts.ts b/src/app/common/hooks/use-bitcoin-contracts.ts index b3dac0a6d0b..e6a0ad1eea8 100644 --- a/src/app/common/hooks/use-bitcoin-contracts.ts +++ b/src/app/common/hooks/use-bitcoin-contracts.ts @@ -4,15 +4,15 @@ import { RpcErrorCode } from '@btckit/types'; import { JsDLCInterface } from '@dlc-link/dlc-tools'; import { bytesToHex } from '@stacks/common'; -import { deriveAddressIndexKeychainFromAccount } from '@leather-wallet/bitcoin'; -import { extractAddressIndexFromPath } from '@leather-wallet/crypto'; -import type { Money } from '@leather-wallet/models'; +import { deriveAddressIndexKeychainFromAccount } from '@leather.io/bitcoin'; +import { extractAddressIndexFromPath } from '@leather.io/crypto'; +import type { Money } from '@leather.io/models'; import { sendAcceptedBitcoinContractOfferToProtocolWallet, useCalculateBitcoinFiatValue, useCryptoCurrencyMarketDataMeanAverage, -} from '@leather-wallet/query'; -import { createMoneyFromDecimal, i18nFormatCurrency, satToBtc } from '@leather-wallet/utils'; +} from '@leather.io/query'; +import { createMoneyFromDecimal, i18nFormatCurrency, satToBtc } from '@leather.io/utils'; import { RouteUrls } from '@shared/route-urls'; import { BitcoinContractResponseStatus } from '@shared/rpc/methods/accept-bitcoin-contract'; diff --git a/src/app/common/hooks/use-convert-to-fiat-amount.ts b/src/app/common/hooks/use-convert-to-fiat-amount.ts index 6f838d3d9f9..4146606a5cc 100644 --- a/src/app/common/hooks/use-convert-to-fiat-amount.ts +++ b/src/app/common/hooks/use-convert-to-fiat-amount.ts @@ -1,8 +1,8 @@ import { useCallback } from 'react'; -import type { CryptoCurrencies, Money } from '@leather-wallet/models'; -import { useCryptoCurrencyMarketDataMeanAverage } from '@leather-wallet/query'; -import { baseCurrencyAmountInQuote } from '@leather-wallet/utils'; +import type { CryptoCurrencies, Money } from '@leather.io/models'; +import { useCryptoCurrencyMarketDataMeanAverage } from '@leather.io/query'; +import { baseCurrencyAmountInQuote } from '@leather.io/utils'; export function useConvertCryptoCurrencyToFiatAmount(currency: CryptoCurrencies) { // TODO: unsafe type assumption diff --git a/src/app/common/hooks/use-default-request-search-params.ts b/src/app/common/hooks/use-default-request-search-params.ts index ac1acb8cf6d..12b4578529b 100644 --- a/src/app/common/hooks/use-default-request-search-params.ts +++ b/src/app/common/hooks/use-default-request-search-params.ts @@ -1,6 +1,6 @@ import { useMemo } from 'react'; -import { isString } from '@leather-wallet/utils'; +import { isString } from '@leather.io/utils'; import { initialSearchParams } from '@app/common/initial-search-params'; diff --git a/src/app/common/hooks/use-interval.ts b/src/app/common/hooks/use-interval.ts index f35ea2ee3a4..7c5f8a3682f 100644 --- a/src/app/common/hooks/use-interval.ts +++ b/src/app/common/hooks/use-interval.ts @@ -1,6 +1,6 @@ import { useEffect, useRef } from 'react'; -import { noop } from '@leather-wallet/utils'; +import { noop } from '@leather.io/utils'; export function useInterval(callback: () => void, delay: number | null) { const savedCallback = useRef(noop); diff --git a/src/app/common/hooks/use-key-actions.ts b/src/app/common/hooks/use-key-actions.ts index f46f79608d5..b864e1e337c 100644 --- a/src/app/common/hooks/use-key-actions.ts +++ b/src/app/common/hooks/use-key-actions.ts @@ -4,6 +4,7 @@ import { generateSecretKey } from '@stacks/wallet-sdk'; import { logger } from '@shared/logger'; import { clearChromeStorage } from '@shared/storage/redux-pesist'; +import { analytics } from '@shared/utils/analytics'; import { queryClient } from '@app/common/persistence'; import { partiallyClearLocalStorage } from '@app/common/store-utils'; @@ -18,10 +19,7 @@ import { clearWalletSession } from '@app/store/session-restore'; import { keyActions } from '@app/store/software-keys/software-key.actions'; import { useCurrentKeyDetails } from '@app/store/software-keys/software-key.selectors'; -import { useAnalytics } from './analytics/use-analytics'; - export function useKeyActions() { - const analytics = useAnalytics(); const dispatch = useAppDispatch(); const defaultKeyDetails = useCurrentKeyDetails(); const btcClient = useBitcoinClient(); @@ -71,6 +69,6 @@ export function useKeyActions() { return dispatch(inMemoryKeyActions.lockWallet()); }, }), - [analytics, btcClient, defaultKeyDetails, dispatch, stxClient] + [btcClient, defaultKeyDetails, dispatch, stxClient] ); } diff --git a/src/app/common/hooks/use-location-state.ts b/src/app/common/hooks/use-location-state.ts index c2dc70f7d66..a3124ccca20 100644 --- a/src/app/common/hooks/use-location-state.ts +++ b/src/app/common/hooks/use-location-state.ts @@ -3,7 +3,7 @@ import { useLocation } from 'react-router-dom'; import get from 'lodash.get'; -import { isUndefined } from '@leather-wallet/utils'; +import { isUndefined } from '@leather.io/utils'; type LocationState = string | boolean | undefined | number | Location; diff --git a/src/app/common/hooks/use-on-mount.ts b/src/app/common/hooks/use-on-mount.ts index be3c79e3651..88b3c0510bf 100644 --- a/src/app/common/hooks/use-on-mount.ts +++ b/src/app/common/hooks/use-on-mount.ts @@ -1,6 +1,6 @@ import { useEffect } from 'react'; -import { isFunction } from '@leather-wallet/utils'; +import { isFunction } from '@leather.io/utils'; export function useOnMount(effect: () => void | (() => void) | Promise) { useEffect(() => { diff --git a/src/app/common/hooks/use-submit-stx-transaction.ts b/src/app/common/hooks/use-submit-stx-transaction.ts index 9632667144b..cdbdfb4d445 100644 --- a/src/app/common/hooks/use-submit-stx-transaction.ts +++ b/src/app/common/hooks/use-submit-stx-transaction.ts @@ -3,13 +3,13 @@ import { useCallback } from 'react'; import { bytesToHex } from '@stacks/common'; import { StacksTransaction, broadcastTransaction } from '@stacks/transactions'; -import { delay, isError } from '@leather-wallet/utils'; +import { delay, isError } from '@leather.io/utils'; import { logger } from '@shared/logger'; +import { analytics } from '@shared/utils/analytics'; import { getErrorMessage } from '@app/common/get-error-message'; import { useRefreshAllAccountData } from '@app/common/hooks/account/use-refresh-all-account-data'; -import { useAnalytics } from '@app/common/hooks/analytics/use-analytics'; import { useLoading } from '@app/common/hooks/use-loading'; import { safelyFormatHexTxid } from '@app/common/utils/safe-handle-txid'; import { useToast } from '@app/features/toasts/use-toast'; @@ -29,8 +29,6 @@ interface UseSubmitTransactionCallbackArgs { export function useSubmitTransactionCallback({ loadingKey }: UseSubmitTransactionArgs) { const submittedTransactionsActions = useSubmittedTransactionsActions(); const toast = useToast(); - - const analytics = useAnalytics(); const refreshAccountData = useRefreshAllAccountData(); const { setIsLoading, setIsIdle } = useLoading(loadingKey); @@ -73,7 +71,6 @@ export function useSubmitTransactionCallback({ loadingKey }: UseSubmitTransactio toast, setIsIdle, submittedTransactionsActions, - analytics, refreshAccountData, ] ); diff --git a/src/app/common/persistence.ts b/src/app/common/persistence.ts index e63a67390dd..400a25538d4 100644 --- a/src/app/common/persistence.ts +++ b/src/app/common/persistence.ts @@ -2,11 +2,10 @@ import { createAsyncStoragePersister } from '@tanstack/query-async-storage-persi import { MutationCache, QueryCache, QueryClient } from '@tanstack/react-query'; import { persistQueryClient } from '@tanstack/react-query-persist-client'; -import { PERSISTENCE_CACHE_TIME } from '@leather-wallet/constants'; +import { PERSISTENCE_CACHE_TIME } from '@leather.io/constants'; import { IS_TEST_ENV } from '@shared/environment'; - -import { createAnalytics } from './hooks/analytics/use-analytics'; +import { analytics } from '@shared/utils/analytics'; const storage = { getItem: async (key: string) => { @@ -22,19 +21,19 @@ const chromeStorageLocalPersister = createAsyncStoragePersister({ storage }); export const queryClient = new QueryClient({ queryCache: new QueryCache({ async onError(_error, query) { - const queryPrefix = query.queryKey[0] ?? ''; - await createAnalytics().track(`query_error_${queryPrefix}`); + const queryKey = query.queryKey[0] ?? ''; + void analytics.track('query_error', { queryKey }); }, }), mutationCache: new MutationCache({ async onError(_error, _variables, _context, mutation) { const mutationPrefix = mutation?.options.mutationKey?.[0] ?? ''; - await createAnalytics().track(`mutation_error_${mutationPrefix}`); + void analytics.track('mutation_error', { mutationPrefix }); }, }), defaultOptions: { queries: { - cacheTime: PERSISTENCE_CACHE_TIME, + gcTime: PERSISTENCE_CACHE_TIME, // https://tanstack.com/query/v4/docs/guides/testing#turn-off-retries retry: IS_TEST_ENV ? false : 3, }, diff --git a/src/app/common/profiles/requests.ts b/src/app/common/profiles/requests.ts index ddcba94155c..53a65642529 100644 --- a/src/app/common/profiles/requests.ts +++ b/src/app/common/profiles/requests.ts @@ -4,7 +4,7 @@ import { Person } from '@stacks/profile'; import { getAppPrivateKey } from '@stacks/wallet-sdk'; import { TokenVerifier, decodeToken } from 'jsontokens'; -import { isString } from '@leather-wallet/utils'; +import { isString } from '@leather.io/utils'; import { StacksAccount } from '@app/store/accounts/blockchain/stacks/stacks-account.models'; diff --git a/src/app/common/psbt/requests.ts b/src/app/common/psbt/requests.ts index f2c1b0bdcf9..723c40a76b2 100644 --- a/src/app/common/psbt/requests.ts +++ b/src/app/common/psbt/requests.ts @@ -2,8 +2,8 @@ import type { TransactionInput } from '@scure/btc-signer/psbt'; import { PsbtPayload } from '@stacks/connect'; import { decodeToken } from 'jsontokens'; -import type { Money } from '@leather-wallet/models'; -import { isString } from '@leather-wallet/utils'; +import type { Money } from '@leather.io/models'; +import { isString } from '@leather.io/utils'; export interface SignPsbtArgs { addressNativeSegwitTotal?: Money; diff --git a/src/app/common/psbt/use-psbt-request-params.ts b/src/app/common/psbt/use-psbt-request-params.ts index bb63d080b71..9303f7bb982 100644 --- a/src/app/common/psbt/use-psbt-request-params.ts +++ b/src/app/common/psbt/use-psbt-request-params.ts @@ -1,6 +1,6 @@ import { useMemo } from 'react'; -import { ensureArray, isDefined, undefinedIfLengthZero } from '@leather-wallet/utils'; +import { ensureArray, isDefined, undefinedIfLengthZero } from '@leather.io/utils'; import { useDefaultRequestParams } from '../hooks/use-default-request-search-params'; import { initialSearchParams } from '../initial-search-params'; diff --git a/src/app/common/signature/requests.ts b/src/app/common/signature/requests.ts index 093dfd2a80b..b0203096cb5 100644 --- a/src/app/common/signature/requests.ts +++ b/src/app/common/signature/requests.ts @@ -2,7 +2,7 @@ import { CommonSignaturePayload, SignaturePayload } from '@stacks/connect'; import { deserializeCV } from '@stacks/transactions'; import { TokenInterface, decodeToken } from 'jsontokens'; -import { isString } from '@leather-wallet/utils'; +import { isString } from '@leather.io/utils'; import { StructuredMessageDataDomain } from '@shared/signature/signature-types'; diff --git a/src/app/common/stacks-utils.ts b/src/app/common/stacks-utils.ts index 01b2769eaa7..9235dc8368e 100644 --- a/src/app/common/stacks-utils.ts +++ b/src/app/common/stacks-utils.ts @@ -2,9 +2,9 @@ import { ChainID } from '@stacks/transactions'; import BigNumber from 'bignumber.js'; import { c32addressDecode } from 'c32check'; -import { STX_DECIMALS } from '@leather-wallet/constants'; -import type { NetworkConfiguration } from '@leather-wallet/models'; -import { initBigNumber, microStxToStx } from '@leather-wallet/utils'; +import { STX_DECIMALS } from '@leather.io/constants'; +import type { NetworkConfiguration } from '@leather.io/models'; +import { initBigNumber, microStxToStx } from '@leather.io/utils'; import { logger } from '@shared/logger'; import { isValidUrl } from '@shared/utils/validate-url'; diff --git a/src/app/common/theme-provider.tsx b/src/app/common/theme-provider.tsx index 88141898dac..96c7506dd79 100644 --- a/src/app/common/theme-provider.tsx +++ b/src/app/common/theme-provider.tsx @@ -3,7 +3,7 @@ import { createContext, useContext, useEffect, useState } from 'react'; import * as RadixTooltip from '@radix-ui/react-tooltip'; import { Theme as RadixTheme } from '@radix-ui/themes'; -import { noop } from '@leather-wallet/utils'; +import { noop } from '@leather.io/utils'; import { store } from '@app/store'; import { settingsActions } from '@app/store/settings/settings.actions'; diff --git a/src/app/common/transactions/bitcoin/coinselect/local-coin-selection.spec.ts b/src/app/common/transactions/bitcoin/coinselect/local-coin-selection.spec.ts index 541d4f77891..12193db13e2 100644 --- a/src/app/common/transactions/bitcoin/coinselect/local-coin-selection.spec.ts +++ b/src/app/common/transactions/bitcoin/coinselect/local-coin-selection.spec.ts @@ -1,5 +1,5 @@ -import { BTC_P2WPKH_DUST_AMOUNT } from '@leather-wallet/constants'; -import { createMoney, createNullArrayOfLength, sumNumbers } from '@leather-wallet/utils'; +import { BTC_P2WPKH_DUST_AMOUNT } from '@leather.io/constants'; +import { createMoney, createNullArrayOfLength, sumNumbers } from '@leather.io/utils'; import { determineUtxosForSpend } from './local-coin-selection'; diff --git a/src/app/common/transactions/bitcoin/coinselect/local-coin-selection.ts b/src/app/common/transactions/bitcoin/coinselect/local-coin-selection.ts index fd5d4b37bcc..089ed0c7836 100644 --- a/src/app/common/transactions/bitcoin/coinselect/local-coin-selection.ts +++ b/src/app/common/transactions/bitcoin/coinselect/local-coin-selection.ts @@ -1,8 +1,8 @@ import BigNumber from 'bignumber.js'; import { validate } from 'bitcoin-address-validation'; -import type { UtxoResponseItem } from '@leather-wallet/query'; -import { sumMoney, sumNumbers } from '@leather-wallet/utils'; +import type { UtxoResponseItem } from '@leather.io/query'; +import { sumMoney, sumNumbers } from '@leather.io/utils'; import type { TransferRecipient } from '@shared/models/form.model'; diff --git a/src/app/common/transactions/bitcoin/fees/bitcoin-fees.spec.ts b/src/app/common/transactions/bitcoin/fees/bitcoin-fees.spec.ts index 65afefc9b88..f2d65446469 100644 --- a/src/app/common/transactions/bitcoin/fees/bitcoin-fees.spec.ts +++ b/src/app/common/transactions/bitcoin/fees/bitcoin-fees.spec.ts @@ -1,8 +1,8 @@ import BigNumber from 'bignumber.js'; import { sha256 } from 'bitcoinjs-lib/src/crypto'; -import type { UtxoResponseItem } from '@leather-wallet/query'; -import { createMoney } from '@leather-wallet/utils'; +import type { UtxoResponseItem } from '@leather.io/query'; +import { createMoney } from '@leather.io/utils'; import { filterUneconomicalUtxos } from '../utils'; import { calculateMaxBitcoinSpend } from './calculate-max-bitcoin-spend'; diff --git a/src/app/common/transactions/bitcoin/fees/calculate-max-bitcoin-spend.ts b/src/app/common/transactions/bitcoin/fees/calculate-max-bitcoin-spend.ts index cceed893c58..1f806b4f623 100644 --- a/src/app/common/transactions/bitcoin/fees/calculate-max-bitcoin-spend.ts +++ b/src/app/common/transactions/bitcoin/fees/calculate-max-bitcoin-spend.ts @@ -1,8 +1,8 @@ import BigNumber from 'bignumber.js'; -import type { AverageBitcoinFeeRates } from '@leather-wallet/models'; -import type { UtxoResponseItem } from '@leather-wallet/query'; -import { createMoney, satToBtc } from '@leather-wallet/utils'; +import type { AverageBitcoinFeeRates } from '@leather.io/models'; +import type { UtxoResponseItem } from '@leather.io/query'; +import { createMoney, satToBtc } from '@leather.io/utils'; import { filterUneconomicalUtxos, getSpendableAmount } from '../utils'; diff --git a/src/app/common/transactions/bitcoin/use-generate-bitcoin-tx.ts b/src/app/common/transactions/bitcoin/use-generate-bitcoin-tx.ts index 21e76edd06f..a3cdde6df42 100644 --- a/src/app/common/transactions/bitcoin/use-generate-bitcoin-tx.ts +++ b/src/app/common/transactions/bitcoin/use-generate-bitcoin-tx.ts @@ -2,8 +2,8 @@ import { useCallback } from 'react'; import * as btc from '@scure/btc-signer'; -import type { Money } from '@leather-wallet/models'; -import type { UtxoResponseItem } from '@leather-wallet/query'; +import type { Money } from '@leather.io/models'; +import type { UtxoResponseItem } from '@leather.io/query'; import { logger } from '@shared/logger'; import type { TransferRecipient } from '@shared/models/form.model'; diff --git a/src/app/common/transactions/bitcoin/utils.ts b/src/app/common/transactions/bitcoin/utils.ts index 0e8b5556f2b..b77344f4061 100644 --- a/src/app/common/transactions/bitcoin/utils.ts +++ b/src/app/common/transactions/bitcoin/utils.ts @@ -6,10 +6,10 @@ import { validate, } from 'bitcoin-address-validation'; -import { BTC_P2WPKH_DUST_AMOUNT } from '@leather-wallet/constants'; -import type { BitcoinTransactionVectorOutput, BitcoinTx } from '@leather-wallet/models'; -import type { UtxoResponseItem } from '@leather-wallet/query'; -import { satToBtc, sumNumbers, truncateMiddle } from '@leather-wallet/utils'; +import { BTC_P2WPKH_DUST_AMOUNT } from '@leather.io/constants'; +import type { BitcoinTransactionVectorOutput, BitcoinTx } from '@leather.io/models'; +import type { UtxoResponseItem } from '@leather.io/query'; +import { satToBtc, sumNumbers, truncateMiddle } from '@leather.io/utils'; import type { TransferRecipient } from '@shared/models/form.model'; diff --git a/src/app/common/transactions/stacks/transaction.utils.ts b/src/app/common/transactions/stacks/transaction.utils.ts index 9d06b7ffe7d..90bc708e64a 100644 --- a/src/app/common/transactions/stacks/transaction.utils.ts +++ b/src/app/common/transactions/stacks/transaction.utils.ts @@ -16,8 +16,8 @@ import { } from '@stacks/transactions'; import { BigNumber } from 'bignumber.js'; -import { StacksTx, StacksTxStatus } from '@leather-wallet/models'; -import { truncateMiddle } from '@leather-wallet/utils'; +import { StacksTx, StacksTxStatus } from '@leather.io/models'; +import { truncateMiddle } from '@leather.io/utils'; import { getStacksContractName, stacksValue } from '@app/common/stacks-utils'; diff --git a/src/app/common/utils.spec.ts b/src/app/common/utils.spec.ts index 9dd7b8bf253..458f2ab0a6c 100644 --- a/src/app/common/utils.spec.ts +++ b/src/app/common/utils.spec.ts @@ -1,4 +1,4 @@ -import { extractPhraseFromString, getTicker } from '@app/common/utils'; +import { getTicker } from '@app/common/utils'; const nothing = 'micro-nothing'; const novel_token_19 = 'novel-token-19'; @@ -14,81 +14,3 @@ describe(getTicker.name, () => { expect(ste).toEqual('STE'); }); }); - -const SECRET_KEY_FORMATTED_POORLY = `1 balance -2 adult -3 board -4 true -5 diary -pear banana olympic street enhance - -gift rely account patient stereo one - -during banner shift globe romance - -arrange dolphin disease`; - -const SECRET_KEY_FORMATTED_CORRECTLY = `balance adult board true diary pear banana olympic street enhance gift rely account patient stereo one during banner shift globe romance arrange dolphin disease`; - -const SECRET_KEY_COPIED_FROM_v3 = `1 -almost -2 -dumb -3 -wave -4 -rude -5 -surround -6 -jealous -7 -shine -8 -fruit -9 -toward -10 -method -11 -yard -12 -ribbon -13 -gold -14 -acid -15 -cute -16 -police -17 -team -18 -time -19 -this -20 -easy -21 -heavy -22 -fuel -23 -trash -24 -swing`; - -const SECRET_KEY_COPIED_FROM_V3_FORMATTED = `almost dumb wave rude surround jealous shine fruit toward method yard ribbon gold acid cute police team time this easy heavy fuel trash swing`; - -describe(extractPhraseFromString.name, () => { - test('Extract secret key from poorly formatted string', () => { - const key = extractPhraseFromString(SECRET_KEY_FORMATTED_POORLY); - expect(key).toEqual(SECRET_KEY_FORMATTED_CORRECTLY); - }); - - test('Extract secret key from seed copied from v3 wallet', () => { - const key = extractPhraseFromString(SECRET_KEY_COPIED_FROM_v3); - expect(key).toEqual(SECRET_KEY_COPIED_FROM_V3_FORMATTED); - }); -}); diff --git a/src/app/common/utils.ts b/src/app/common/utils.ts index 9e62f5a91ae..c530c503c5d 100644 --- a/src/app/common/utils.ts +++ b/src/app/common/utils.ts @@ -2,13 +2,12 @@ import { hexToBytes } from '@stacks/common'; import { BytesReader, PostCondition, deserializePostCondition } from '@stacks/transactions'; import { toUnicode } from 'punycode'; -import { KEBAB_REGEX } from '@leather-wallet/constants'; +import { KEBAB_REGEX } from '@leather.io/constants'; import { type BitcoinChainConfig, type BitcoinNetworkModes, HIRO_API_BASE_URL_NAKAMOTO_TESTNET, -} from '@leather-wallet/models'; -import { isBoolean } from '@leather-wallet/utils'; +} from '@leather.io/models'; import { HIRO_EXPLORER_URL } from '@shared/constants'; @@ -16,19 +15,6 @@ function kebabCase(str: string) { return str.replace(KEBAB_REGEX, match => '-' + match.toLowerCase()); } -export function extractPhraseFromString(value: string) { - const clean = value.trim(); - const words = clean.match(/\S+/g); - if (words?.length) { - return words - .map(word => (word.match(/[^0-9]+/g) ? word : null)) - .filter(Boolean) - .join(' '); - } else { - return clean; - } -} - interface MakeBitcoinTxExplorerLinkArgs { txid: string; bitcoin: BitcoinChainConfig; @@ -306,7 +292,3 @@ export function removeTrailingNullCharacters(s: string) { export function removeMinusSign(value: string) { return value.replace('-', ''); } - -export function propIfDefined(prop: string, value: any) { - return isBoolean(value) ? { [prop]: value } : {}; -} diff --git a/src/app/common/utils/create-waitable-action.ts b/src/app/common/utils/create-waitable-action.ts index d0bde6a12ee..2a9120321ae 100644 --- a/src/app/common/utils/create-waitable-action.ts +++ b/src/app/common/utils/create-waitable-action.ts @@ -1,6 +1,6 @@ -import { noop } from '@leather-wallet/utils'; +import { noop } from '@leather.io/utils'; -// TODO: Migrate to @leather-wallet/utils +// TODO: Migrate to @leather.io/utils export function createWaitableAction() { let resolve = (_value?: unknown) => noop(); const promise = new Promise(r => (resolve = r)); diff --git a/src/app/common/utils/format-account-name.ts b/src/app/common/utils/format-account-name.ts index 50827cdbc1c..eea2c496206 100644 --- a/src/app/common/utils/format-account-name.ts +++ b/src/app/common/utils/format-account-name.ts @@ -1,4 +1,4 @@ -import { truncateMiddle } from '@leather-wallet/utils'; +import { truncateMiddle } from '@leather.io/utils'; export function formatAccountName(input: string | undefined, maxLength = 20, offset = 4) { if (!input) return ''; diff --git a/src/app/common/utils/safe-await.ts b/src/app/common/utils/safe-await.ts index 78fc28cd635..667b6ecc027 100644 --- a/src/app/common/utils/safe-await.ts +++ b/src/app/common/utils/safe-await.ts @@ -1,5 +1,5 @@ // TypeScript port of https://github.com/DavidWells/safe-await/ -import { isError } from '@leather-wallet/utils'; +import { isError } from '@leather.io/utils'; // Native Error types https://mzl.la/2Veh3TR const nativeExceptions = [ @@ -17,7 +17,7 @@ function throwNative(error: Error) { } } -// TODO: Migrate to `@leather-wallet/utils` +// TODO: Migrate to `@leather.io/utils` export async function safeAwait(promise: Promise, finallyFn?: () => void) { return promise .then(data => { diff --git a/src/app/common/utils/spam-filter.spec.ts b/src/app/common/utils/spam-filter.spec.ts deleted file mode 100644 index ed6e3f4a7a5..00000000000 --- a/src/app/common/utils/spam-filter.spec.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { spamFilter, spamReplacement } from '@app/common/utils/spam-filter'; - -describe('Spam filter', () => { - it('should allow valid tokens', () => { - expect(spamFilter('This token name is OK')).not.toEqual(spamReplacement); - }); - it('should detect spam urls in strings and replace content', () => { - expect(spamFilter('www.fake')).toEqual(spamReplacement); - expect(spamFilter('https://www.fake.com')).toEqual(spamReplacement); - expect(spamFilter('fake.com')).toEqual(spamReplacement); - expect(spamFilter('https://www.fake')).toEqual(spamReplacement); - expect(spamFilter('http://www.fake')).toEqual(spamReplacement); - expect(spamFilter('ftp://fake.com')).toEqual(spamReplacement); - expect(spamFilter('https://fake.com')).toEqual(spamReplacement); - expect(spamFilter('http://fake.com')).toEqual(spamReplacement); - expect(spamFilter('https://fake')).toEqual(spamReplacement); - expect(spamFilter('http://fake')).toEqual(spamReplacement); - }); - it('should detect spam words in strings and replace content', () => { - expect(spamFilter('You won some stx')).toEqual(spamReplacement); - expect(spamFilter('You Win some stx')).toEqual(spamReplacement); - expect(spamFilter('You Won some stx')).toEqual(spamReplacement); - expect(spamFilter('click here for some stx')).toEqual(spamReplacement); - expect(spamFilter('Click here for some stx')).toEqual(spamReplacement); - }); -}); diff --git a/src/app/common/utils/spam-filter.ts b/src/app/common/utils/spam-filter.ts deleted file mode 100644 index 0e74172617d..00000000000 --- a/src/app/common/utils/spam-filter.ts +++ /dev/null @@ -1,24 +0,0 @@ -const urlRegex = - /(http|https|ftp)|(((http|ftp|https):\/\/)?(((http|ftp|https):\/\/)?(([\w.-]*)\.([\w]*))))/g; -const spamWords = ['won', 'win', 'click']; -export const spamReplacement = 'Unknown token'; - -function spamUrlFilter(input: string) { - return input.match(urlRegex); -} - -function spamWordFilter(input: string): boolean { - const containsSpam = (element: string) => input.toLowerCase().includes(element); - return spamWords.some(containsSpam); -} - -export function spamFilter(input: string): string { - const urlFound = spamUrlFilter(input); - const spamWordsFound = spamWordFilter(input); - - if (urlFound || spamWordsFound) { - return spamReplacement; - } - - return input; -} diff --git a/src/app/common/validation/forms/address-validators.ts b/src/app/common/validation/forms/address-validators.ts index 374f5efcd2d..d7f8f05238f 100644 --- a/src/app/common/validation/forms/address-validators.ts +++ b/src/app/common/validation/forms/address-validators.ts @@ -1,8 +1,8 @@ import { AddressType, Network, getAddressInfo, validate } from 'bitcoin-address-validation'; import * as yup from 'yup'; -import type { BitcoinNetworkModes, NetworkConfiguration } from '@leather-wallet/models'; -import { isString } from '@leather-wallet/utils'; +import type { BitcoinNetworkModes, NetworkConfiguration } from '@leather.io/models'; +import { isString } from '@leather.io/utils'; import { FormErrorMessages } from '@shared/error-messages'; diff --git a/src/app/common/validation/forms/amount-validators.ts b/src/app/common/validation/forms/amount-validators.ts index f85a64d4c6d..6d1719cca9a 100644 --- a/src/app/common/validation/forms/amount-validators.ts +++ b/src/app/common/validation/forms/amount-validators.ts @@ -1,8 +1,8 @@ import BigNumber from 'bignumber.js'; import * as yup from 'yup'; -import type { Money } from '@leather-wallet/models'; -import type { UtxoResponseItem } from '@leather-wallet/query'; +import type { Money } from '@leather.io/models'; +import type { UtxoResponseItem } from '@leather.io/query'; import { btcToSat, convertAmountToBaseUnit, @@ -11,7 +11,7 @@ import { microStxToStx, satToBtc, stxToMicroStx, -} from '@leather-wallet/utils'; +} from '@leather.io/utils'; import { analytics } from '@shared/utils/analytics'; diff --git a/src/app/common/validation/forms/compliance-validators.ts b/src/app/common/validation/forms/compliance-validators.ts index 32e4b524af5..d16b7d3ce44 100644 --- a/src/app/common/validation/forms/compliance-validators.ts +++ b/src/app/common/validation/forms/compliance-validators.ts @@ -1,7 +1,7 @@ import { isString } from 'formik'; import * as yup from 'yup'; -import type { NetworkModes } from '@leather-wallet/models'; +import type { NetworkModes } from '@leather.io/models'; import { checkEntityAddressIsCompliant } from '@app/query/common/compliance-checker/compliance-checker.query'; diff --git a/src/app/common/validation/forms/currency-validators.ts b/src/app/common/validation/forms/currency-validators.ts index 2df8d4de82e..4d15125d907 100644 --- a/src/app/common/validation/forms/currency-validators.ts +++ b/src/app/common/validation/forms/currency-validators.ts @@ -1,7 +1,7 @@ import * as yup from 'yup'; -import { BTC_DECIMALS, STX_DECIMALS } from '@leather-wallet/constants'; -import { countDecimals, isNumber } from '@leather-wallet/utils'; +import { BTC_DECIMALS, STX_DECIMALS } from '@leather.io/constants'; +import { countDecimals, isNumber } from '@leather.io/utils'; import { FormErrorMessages } from '@shared/error-messages'; diff --git a/src/app/common/validation/forms/fee-validators.ts b/src/app/common/validation/forms/fee-validators.ts index 919162a7dcf..c2f370d57f6 100644 --- a/src/app/common/validation/forms/fee-validators.ts +++ b/src/app/common/validation/forms/fee-validators.ts @@ -1,8 +1,8 @@ import BigNumber from 'bignumber.js'; import { AnyObject, NumberSchema } from 'yup'; -import type { Money } from '@leather-wallet/models'; -import { btcToSat, isNumber, moneyToBaseUnit, stxToMicroStx } from '@leather-wallet/utils'; +import type { Money } from '@leather.io/models'; +import { btcToSat, isNumber, moneyToBaseUnit, stxToMicroStx } from '@leather.io/utils'; import { formatInsufficientBalanceError, formatPrecisionError } from '@app/common/error-formatters'; import { diff --git a/src/app/common/validation/forms/memo-validators.ts b/src/app/common/validation/forms/memo-validators.ts index 698886a572b..064d2386422 100644 --- a/src/app/common/validation/forms/memo-validators.ts +++ b/src/app/common/validation/forms/memo-validators.ts @@ -1,7 +1,7 @@ import { MEMO_MAX_LENGTH_BYTES } from '@stacks/transactions'; import * as yup from 'yup'; -import { isString } from '@leather-wallet/utils'; +import { isString } from '@leather.io/utils'; const exceedsMaxLengthBytes = (string: string, maxLengthBytes: number): boolean => string ? Buffer.from(string).length > maxLengthBytes : false; diff --git a/src/app/common/validation/forms/recipient-validators.ts b/src/app/common/validation/forms/recipient-validators.ts index 93d03084011..bb8dc1419fe 100644 --- a/src/app/common/validation/forms/recipient-validators.ts +++ b/src/app/common/validation/forms/recipient-validators.ts @@ -1,4 +1,4 @@ -import type { NetworkConfiguration } from '@leather-wallet/models'; +import type { NetworkConfiguration } from '@leather.io/models'; import { stacksChainIdToCoreNetworkMode } from '@shared/crypto/stacks/stacks.utils'; import { FormErrorMessages } from '@shared/error-messages'; diff --git a/src/app/components/account-total-balance.tsx b/src/app/components/account-total-balance.tsx index 39138230f2b..46e9a8a4e7a 100644 --- a/src/app/components/account-total-balance.tsx +++ b/src/app/components/account-total-balance.tsx @@ -2,10 +2,9 @@ import { memo } from 'react'; import { styled } from 'leather-styles/jsx'; -import { useTotalBalance } from '@app/common/hooks/balance/use-total-balance'; +import { SkeletonLoader, shimmerStyles } from '@leather.io/ui'; -import { SkeletonLoader } from '../ui/components/skeleton-loader/skeleton-loader'; -import { shimmerStyles } from '../ui/shared/shimmer-styles'; +import { useTotalBalance } from '@app/common/hooks/balance/use-total-balance'; interface AccountTotalBalanceProps { btcAddress: string; @@ -13,7 +12,7 @@ interface AccountTotalBalanceProps { } export const AccountTotalBalance = memo(({ btcAddress, stxAddress }: AccountTotalBalanceProps) => { - const { totalUsdBalance, isFetching, isInitialLoading } = useTotalBalance({ + const { totalUsdBalance, isFetching, isLoading } = useTotalBalance({ btcAddress, stxAddress, }); @@ -21,7 +20,7 @@ export const AccountTotalBalance = memo(({ btcAddress, stxAddress }: AccountTota if (!totalUsdBalance) return null; return ( - + { children: React.ReactNode; diff --git a/src/app/components/address-displayer/form-address-displayer.tsx b/src/app/components/address-displayer/form-address-displayer.tsx index e75e82cfa30..117f721bb67 100644 --- a/src/app/components/address-displayer/form-address-displayer.tsx +++ b/src/app/components/address-displayer/form-address-displayer.tsx @@ -1,7 +1,7 @@ import { SharedComponentsSelectors } from '@tests/selectors/shared-component.selectors'; import { Box, BoxProps } from 'leather-styles/jsx'; -import { AddressDisplayer } from '@app/ui/components/address-displayer/address-displayer'; +import { AddressDisplayer } from '@leather.io/ui'; interface FormAddressDisplayerProps extends BoxProps { address: string; diff --git a/src/app/components/balance/btc-balance.tsx b/src/app/components/balance/btc-balance.tsx index 61830a36f89..3e90079ae69 100644 --- a/src/app/components/balance/btc-balance.tsx +++ b/src/app/components/balance/btc-balance.tsx @@ -1,6 +1,5 @@ -import { formatMoney } from '@leather-wallet/utils'; - -import { Caption } from '@app/ui/components/typography/caption'; +import { Caption } from '@leather.io/ui'; +import { formatMoney } from '@leather.io/utils'; import { BitcoinNativeSegwitAccountLoader } from '../loaders/bitcoin-account-loader'; import { BtcBalanceLoader } from '../loaders/btc-balance-loader'; diff --git a/src/app/components/balance/stx-balance.tsx b/src/app/components/balance/stx-balance.tsx index 5f9a89afc22..486127eeb44 100644 --- a/src/app/components/balance/stx-balance.tsx +++ b/src/app/components/balance/stx-balance.tsx @@ -1,9 +1,9 @@ import { useMemo } from 'react'; -import { useStxCryptoAssetBalance } from '@leather-wallet/query'; +import { useStxCryptoAssetBalance } from '@leather.io/query'; +import { Caption } from '@leather.io/ui'; import { stacksValue } from '@app/common/stacks-utils'; -import { Caption } from '@app/ui/components/typography/caption'; interface StxBalanceProps { address: string; diff --git a/src/app/components/bitcoin-contract-entry-point/bitcoin-contract-entry-point-layout.tsx b/src/app/components/bitcoin-contract-entry-point/bitcoin-contract-entry-point-layout.tsx index 3d74a72a338..ce0c7183912 100644 --- a/src/app/components/bitcoin-contract-entry-point/bitcoin-contract-entry-point-layout.tsx +++ b/src/app/components/bitcoin-contract-entry-point/bitcoin-contract-entry-point-layout.tsx @@ -1,10 +1,10 @@ import { Flex, HStack, styled } from 'leather-styles/jsx'; -import type { Money } from '@leather-wallet/models'; +import type { Money } from '@leather.io/models'; +import { Flag } from '@leather.io/ui'; import { formatBalance } from '@app/common/format-balance'; import { ftDecimals } from '@app/common/stacks-utils'; -import { Flag } from '@app/ui/components/flag/flag'; import { BasicTooltip } from '@app/ui/components/tooltip/basic-tooltip'; import { LoadingSpinner } from '../loading-spinner'; diff --git a/src/app/components/bitcoin-contract-entry-point/bitcoin-contract-entry-point.tsx b/src/app/components/bitcoin-contract-entry-point/bitcoin-contract-entry-point.tsx index 9ba20f6e408..f533cb93124 100644 --- a/src/app/components/bitcoin-contract-entry-point/bitcoin-contract-entry-point.tsx +++ b/src/app/components/bitcoin-contract-entry-point/bitcoin-contract-entry-point.tsx @@ -1,9 +1,10 @@ import { useNavigate } from 'react-router-dom'; +import { BitcoinContractIcon } from '@leather.io/ui'; + import { RouteUrls } from '@shared/route-urls'; import { useGetBitcoinContractsBalance } from '@app/query/bitcoin/balance/bitcoin-contracts-balance.hooks'; -import { BitcoinContractIcon } from '@app/ui/icons/bitcoin-contract-icon'; import { BitcoinContractEntryPointLayout } from './bitcoin-contract-entry-point-layout'; diff --git a/src/app/components/bitcoin-custom-fee/bitcoin-custom-fee-input.tsx b/src/app/components/bitcoin-custom-fee/bitcoin-custom-fee-input.tsx index be782617ead..aa900dd2345 100644 --- a/src/app/components/bitcoin-custom-fee/bitcoin-custom-fee-input.tsx +++ b/src/app/components/bitcoin-custom-fee/bitcoin-custom-fee-input.tsx @@ -3,13 +3,13 @@ import { useState } from 'react'; import { useField } from 'formik'; import { Stack } from 'leather-styles/jsx'; -import { createMoney, satToBtc } from '@leather-wallet/utils'; +import { Input } from '@leather.io/ui'; +import { createMoney, satToBtc } from '@leather.io/utils'; import type { TransferRecipient } from '@shared/models/form.model'; import { useOnMount } from '@app/common/hooks/use-on-mount'; import { InsufficientFundsError } from '@app/common/transactions/bitcoin/coinselect/local-coin-selection'; -import { Input } from '@app/ui/components/input/input'; import { ErrorLabel } from '../error-label'; import { BitcoinCustomFeeFiat } from './bitcoin-custom-fee-fiat'; diff --git a/src/app/components/bitcoin-custom-fee/bitcoin-custom-fee.tsx b/src/app/components/bitcoin-custom-fee/bitcoin-custom-fee.tsx index b9e501127d2..dc92f9ee90f 100644 --- a/src/app/components/bitcoin-custom-fee/bitcoin-custom-fee.tsx +++ b/src/app/components/bitcoin-custom-fee/bitcoin-custom-fee.tsx @@ -5,14 +5,13 @@ import { Form, Formik } from 'formik'; import { Stack, styled } from 'leather-styles/jsx'; import * as yup from 'yup'; -import type { BtcFeeType } from '@leather-wallet/models'; -import { createMoney } from '@leather-wallet/utils'; +import type { BtcFeeType } from '@leather.io/models'; +import { Button, Link } from '@leather.io/ui'; +import { createMoney } from '@leather.io/utils'; import type { TransferRecipient } from '@shared/models/form.model'; import { openInNewTab } from '@app/common/utils/open-in-new-tab'; -import { Button } from '@app/ui/components/button/button'; -import { Link } from '@app/ui/components/link/link'; import { OnChooseFeeArgs } from '../bitcoin-fees-list/bitcoin-fees-list'; import { BitcoinCustomFeeInput } from './bitcoin-custom-fee-input'; diff --git a/src/app/components/bitcoin-custom-fee/hooks/use-bitcoin-custom-fee.tsx b/src/app/components/bitcoin-custom-fee/hooks/use-bitcoin-custom-fee.tsx index daee80a640b..c422ac113fd 100644 --- a/src/app/components/bitcoin-custom-fee/hooks/use-bitcoin-custom-fee.tsx +++ b/src/app/components/bitcoin-custom-fee/hooks/use-bitcoin-custom-fee.tsx @@ -1,8 +1,8 @@ import { useCallback } from 'react'; -import type { Money } from '@leather-wallet/models'; -import { useCryptoCurrencyMarketDataMeanAverage } from '@leather-wallet/query'; -import { baseCurrencyAmountInQuote, createMoney, i18nFormatCurrency } from '@leather-wallet/utils'; +import type { Money } from '@leather.io/models'; +import { useCryptoCurrencyMarketDataMeanAverage } from '@leather.io/query'; +import { baseCurrencyAmountInQuote, createMoney, i18nFormatCurrency } from '@leather.io/utils'; import type { TransferRecipient } from '@shared/models/form.model'; diff --git a/src/app/components/bitcoin-fees-list/bitcoin-fees-list.tsx b/src/app/components/bitcoin-fees-list/bitcoin-fees-list.tsx index 416b62acf0f..92a0ba0d3c1 100644 --- a/src/app/components/bitcoin-fees-list/bitcoin-fees-list.tsx +++ b/src/app/components/bitcoin-fees-list/bitcoin-fees-list.tsx @@ -2,7 +2,7 @@ import { useCallback } from 'react'; import { Stack } from 'leather-styles/jsx'; -import type { BtcFeeType } from '@leather-wallet/models'; +import type { BtcFeeType } from '@leather.io/models'; import { LoadingSpinner } from '../loading-spinner'; import { FeesListError } from './components/fees-list-error'; diff --git a/src/app/components/bitcoin-fees-list/use-bitcoin-fees-list-multiple-recipients.ts b/src/app/components/bitcoin-fees-list/use-bitcoin-fees-list-multiple-recipients.ts index 48f8146e449..526f89bf976 100644 --- a/src/app/components/bitcoin-fees-list/use-bitcoin-fees-list-multiple-recipients.ts +++ b/src/app/components/bitcoin-fees-list/use-bitcoin-fees-list-multiple-recipients.ts @@ -1,17 +1,17 @@ import { useMemo } from 'react'; -import { BtcFeeType, Money, btcTxTimeMap } from '@leather-wallet/models'; +import { BtcFeeType, Money, btcTxTimeMap } from '@leather.io/models'; import { type UtxoResponseItem, useAverageBitcoinFeeRates, useCryptoCurrencyMarketDataMeanAverage, -} from '@leather-wallet/query'; +} from '@leather.io/query'; import { baseCurrencyAmountInQuote, createMoney, formatMoneyPadded, i18nFormatCurrency, -} from '@leather-wallet/utils'; +} from '@leather.io/utils'; import type { TransferRecipient } from '@shared/models/form.model'; diff --git a/src/app/components/bitcoin-fees-list/use-bitcoin-fees-list.ts b/src/app/components/bitcoin-fees-list/use-bitcoin-fees-list.ts index f2c73a54414..0b170281390 100644 --- a/src/app/components/bitcoin-fees-list/use-bitcoin-fees-list.ts +++ b/src/app/components/bitcoin-fees-list/use-bitcoin-fees-list.ts @@ -1,17 +1,17 @@ import { useMemo } from 'react'; -import { BtcFeeType, Money, btcTxTimeMap } from '@leather-wallet/models'; +import { BtcFeeType, Money, btcTxTimeMap } from '@leather.io/models'; import { type UtxoResponseItem, useAverageBitcoinFeeRates, useCryptoCurrencyMarketDataMeanAverage, -} from '@leather-wallet/query'; +} from '@leather.io/query'; import { baseCurrencyAmountInQuote, createMoney, formatMoneyPadded, i18nFormatCurrency, -} from '@leather-wallet/utils'; +} from '@leather.io/utils'; import { DetermineUtxosForSpendArgs, diff --git a/src/app/components/bitcoin-transaction-item/bitcoin-transaction-icon.tsx b/src/app/components/bitcoin-transaction-item/bitcoin-transaction-icon.tsx index cbfceaedf2a..f2e0d29ff06 100644 --- a/src/app/components/bitcoin-transaction-item/bitcoin-transaction-icon.tsx +++ b/src/app/components/bitcoin-transaction-item/bitcoin-transaction-icon.tsx @@ -1,10 +1,9 @@ import { Circle, CircleProps, Flex } from 'leather-styles/jsx'; -import type { BitcoinTx } from '@leather-wallet/models'; +import type { BitcoinTx } from '@leather.io/models'; +import { ArrowDownIcon, ArrowUpIcon } from '@leather.io/ui'; import { isBitcoinTxInbound } from '@app/common/transactions/bitcoin/utils'; -import { ArrowDownIcon } from '@app/ui/icons/arrow-down-icon'; -import { ArrowUpIcon } from '@app/ui/icons/arrow-up-icon'; function TxStatusIcon(props: { address: string; tx: BitcoinTx }) { const { address, tx } = props; diff --git a/src/app/components/bitcoin-transaction-item/bitcoin-transaction-inscription-icon.tsx b/src/app/components/bitcoin-transaction-item/bitcoin-transaction-inscription-icon.tsx index 0b028f51dae..5ac49e2ef87 100644 --- a/src/app/components/bitcoin-transaction-item/bitcoin-transaction-inscription-icon.tsx +++ b/src/app/components/bitcoin-transaction-item/bitcoin-transaction-inscription-icon.tsx @@ -1,8 +1,7 @@ import { Circle } from 'leather-styles/jsx'; -import type { Inscription } from '@leather-wallet/models'; - -import { OrdinalAvatarIcon } from '@app/ui/components/avatar/ordinal-avatar-icon'; +import type { Inscription } from '@leather.io/models'; +import { OrdinalAvatarIcon } from '@leather.io/ui'; export function InscriptionIcon({ inscription, ...rest }: { inscription: Inscription }) { switch (inscription.mimeType) { diff --git a/src/app/components/bitcoin-transaction-item/bitcoin-transaction-item.tsx b/src/app/components/bitcoin-transaction-item/bitcoin-transaction-item.tsx index 9add881fb4b..0348253a62a 100644 --- a/src/app/components/bitcoin-transaction-item/bitcoin-transaction-item.tsx +++ b/src/app/components/bitcoin-transaction-item/bitcoin-transaction-item.tsx @@ -3,12 +3,13 @@ import { useLocation, useNavigate } from 'react-router-dom'; import { HStack } from 'leather-styles/jsx'; -import type { BitcoinTx } from '@leather-wallet/models'; -import { useInscriptionByOutput } from '@leather-wallet/query'; +import type { BitcoinTx } from '@leather.io/models'; +import { useInscriptionByOutput } from '@leather.io/query'; +import { BtcAvatarIcon, BulletSeparator, Caption } from '@leather.io/ui'; import { RouteUrls } from '@shared/route-urls'; +import { analytics } from '@shared/utils/analytics'; -import { useAnalytics } from '@app/common/hooks/analytics/use-analytics'; import { useBitcoinExplorerLink } from '@app/common/hooks/use-bitcoin-explorer-link'; import { containsTaprootInput, @@ -20,9 +21,6 @@ import { openInNewTab } from '@app/common/utils/open-in-new-tab'; import { IncreaseFeeButton } from '@app/components/stacks-transaction-item/increase-fee-button'; import { TransactionTitle } from '@app/components/transaction/transaction-title'; import { useCurrentAccountNativeSegwitAddressIndexZero } from '@app/store/accounts/blockchain/bitcoin/native-segwit-account.hooks'; -import { BtcAvatarIcon } from '@app/ui/components/avatar/btc-avatar-icon'; -import { BulletSeparator } from '@app/ui/components/bullet-separator/bullet-separator'; -import { Caption } from '@app/ui/components/typography/caption'; import { TransactionItemLayout } from '../transaction-item/transaction-item.layout'; import { BitcoinTransactionIcon } from './bitcoin-transaction-icon'; @@ -40,7 +38,6 @@ export function BitcoinTransactionItem({ transaction }: BitcoinTransactionItemPr const bitcoinAddress = useCurrentAccountNativeSegwitAddressIndexZero(); const { handleOpenBitcoinTxLink: handleOpenTxLink } = useBitcoinExplorerLink(); - const analytics = useAnalytics(); const caption = useMemo(() => getBitcoinTxCaption(transaction), [transaction]); const value = useMemo( () => getBitcoinTxValue(bitcoinAddress, transaction), diff --git a/src/app/components/bitcoin-transaction-item/bitcoin-transaction-status.tsx b/src/app/components/bitcoin-transaction-item/bitcoin-transaction-status.tsx index 21991055ea3..d3db5376a18 100644 --- a/src/app/components/bitcoin-transaction-item/bitcoin-transaction-status.tsx +++ b/src/app/components/bitcoin-transaction-item/bitcoin-transaction-status.tsx @@ -1,7 +1,7 @@ -import type { BitcoinTx } from '@leather-wallet/models'; +import type { BitcoinTx } from '@leather.io/models'; +import { Caption } from '@leather.io/ui'; import { BasicTooltip } from '@app/ui/components/tooltip/basic-tooltip'; -import { Caption } from '@app/ui/components/typography/caption'; interface BitcoinTransactionStatusProps { transaction: BitcoinTx; diff --git a/src/app/components/broadcast-error-dialog/broadcast-error-dialog.tsx b/src/app/components/broadcast-error-dialog/broadcast-error-dialog.tsx index 574a2a99a5a..946a40edfef 100644 --- a/src/app/components/broadcast-error-dialog/broadcast-error-dialog.tsx +++ b/src/app/components/broadcast-error-dialog/broadcast-error-dialog.tsx @@ -4,8 +4,8 @@ import GenericError from '@assets/images/generic-error.png'; import { Flex, styled } from 'leather-styles/jsx'; import get from 'lodash.get'; -import { Button } from '@app/ui/components/button/button'; -import { Dialog } from '@app/ui/components/containers/dialog/dialog'; +import { Button, Dialog } from '@leather.io/ui'; + import { Footer } from '@app/ui/components/containers/footers/footer'; import { DialogHeader } from '@app/ui/components/containers/headers/dialog-header'; diff --git a/src/app/components/crypto-asset-item/crypto-asset-item-error.tsx b/src/app/components/crypto-asset-item/crypto-asset-item-error.tsx new file mode 100644 index 00000000000..03cbca40828 --- /dev/null +++ b/src/app/components/crypto-asset-item/crypto-asset-item-error.tsx @@ -0,0 +1,39 @@ +import type { QueryObserverResult } from '@tanstack/react-query'; +import { Box, styled } from 'leather-styles/jsx'; + +import { ItemLayout } from '@leather.io/ui'; + +interface CryptoAssetItemErrorProps { + caption: string; + icon: React.ReactNode; + onRefetch?(): Promise>; + title: string; +} +export function CryptoAssetItemError({ + caption, + icon, + onRefetch, + title, +}: CryptoAssetItemErrorProps) { + return ( + + + Unable to load + + } + captionRight={ + onRefetch && ( + + Retry + + ) + } + /> + + ); +} diff --git a/src/app/components/crypto-asset-item/crypto-asset-item-placeholder.tsx b/src/app/components/crypto-asset-item/crypto-asset-item-placeholder.tsx new file mode 100644 index 00000000000..bfcf1914e26 --- /dev/null +++ b/src/app/components/crypto-asset-item/crypto-asset-item-placeholder.tsx @@ -0,0 +1,17 @@ +import { Box, Circle } from 'leather-styles/jsx'; + +import { ItemLayout, SkeletonLoader } from '@leather.io/ui'; + +export function CryptoAssetItemPlaceholder() { + return ( + + } + titleLeft={} + captionLeft={} + titleRight={} + captionRight={} + /> + + ); +} diff --git a/src/app/components/crypto-asset-item/crypto-asset-item.layout.tsx b/src/app/components/crypto-asset-item/crypto-asset-item.layout.tsx index 931b2e079dc..4b06282bb6e 100644 --- a/src/app/components/crypto-asset-item/crypto-asset-item.layout.tsx +++ b/src/app/components/crypto-asset-item/crypto-asset-item.layout.tsx @@ -1,14 +1,10 @@ import { Box, Flex, styled } from 'leather-styles/jsx'; -import type { Money } from '@leather-wallet/models'; +import type { Money } from '@leather.io/models'; +import { BulletSeparator, Caption, ItemLayout, Pressable, SkeletonLoader } from '@leather.io/ui'; +import { spamFilter } from '@leather.io/utils'; -import { spamFilter } from '@app/common/utils/spam-filter'; -import { BulletSeparator } from '@app/ui/components/bullet-separator/bullet-separator'; -import { ItemLayout } from '@app/ui/components/item-layout/item-layout'; -import { SkeletonLoader } from '@app/ui/components/skeleton-loader/skeleton-loader'; import { BasicTooltip } from '@app/ui/components/tooltip/basic-tooltip'; -import { Caption } from '@app/ui/components/typography/caption'; -import { Pressable } from '@app/ui/pressable/pressable'; import { parseCryptoAssetBalance } from './crypto-asset-item.layout.utils'; @@ -77,7 +73,7 @@ export function CryptoAssetItemLayout({ diff --git a/src/app/components/crypto-asset-item/crypto-asset-item.layout.utils.ts b/src/app/components/crypto-asset-item/crypto-asset-item.layout.utils.ts index 1f15a1d6623..0fd995a2841 100644 --- a/src/app/components/crypto-asset-item/crypto-asset-item.layout.utils.ts +++ b/src/app/components/crypto-asset-item/crypto-asset-item.layout.utils.ts @@ -1,7 +1,7 @@ import { CryptoAssetSelectors } from '@tests/selectors/crypto-asset.selectors'; -import type { Money } from '@leather-wallet/models'; -import { formatMoneyWithoutSymbol } from '@leather-wallet/utils'; +import type { Money } from '@leather.io/models'; +import { formatMoneyWithoutSymbol } from '@leather.io/utils'; import { formatBalance } from '@app/common/format-balance'; diff --git a/src/app/components/disclaimer.tsx b/src/app/components/disclaimer.tsx index 0ef74549f06..edf9540fe23 100644 --- a/src/app/components/disclaimer.tsx +++ b/src/app/components/disclaimer.tsx @@ -1,7 +1,8 @@ import { Box, BoxProps, styled } from 'leather-styles/jsx'; +import { Link } from '@leather.io/ui'; + import { openInNewTab } from '@app/common/utils/open-in-new-tab'; -import { Link } from '@app/ui/components/link/link'; interface DisclaimerProps extends BoxProps { disclaimerText: string; diff --git a/src/app/components/error-label.tsx b/src/app/components/error-label.tsx index 00a6537d05f..85488cb14ab 100644 --- a/src/app/components/error-label.tsx +++ b/src/app/components/error-label.tsx @@ -1,5 +1,4 @@ -import { Flag, type FlagProps } from '@app/ui/components/flag/flag'; -import { ErrorCircleIcon } from '@app/ui/icons/error-circle-icon'; +import { ErrorCircleIcon, Flag, type FlagProps } from '@leather.io/ui'; export function ErrorLabel({ children, ...rest }: FlagProps) { return ( diff --git a/src/app/components/event-card.tsx b/src/app/components/event-card.tsx index 76f720e5eb6..a78a2d138a8 100644 --- a/src/app/components/event-card.tsx +++ b/src/app/components/event-card.tsx @@ -1,6 +1,6 @@ import { Box, HStack, Stack, styled } from 'leather-styles/jsx'; -import { Caption } from '@app/ui/components/typography/caption'; +import { Caption } from '@leather.io/ui'; import { TxAssetItem } from './tx-asset-item'; diff --git a/src/app/components/fees-row/components/custom-fee-field.tsx b/src/app/components/fees-row/components/custom-fee-field.tsx index 81edcd673ee..235b51a57a6 100644 --- a/src/app/components/fees-row/components/custom-fee-field.tsx +++ b/src/app/components/fees-row/components/custom-fee-field.tsx @@ -4,8 +4,8 @@ import { SharedComponentsSelectors } from '@tests/selectors/shared-component.sel import { useField } from 'formik'; import { Flex, Stack, styled } from 'leather-styles/jsx'; -import type { CryptoCurrencies, StacksFeeEstimate } from '@leather-wallet/models'; -import { stxToMicroStx } from '@leather-wallet/utils'; +import type { CryptoCurrencies, StacksFeeEstimate } from '@leather.io/models'; +import { stxToMicroStx } from '@leather.io/utils'; import { SendFormWarningMessages } from '@app/common/warning-messages'; diff --git a/src/app/components/fees-row/components/fee-estimate-item.tsx b/src/app/components/fees-row/components/fee-estimate-item.tsx index 8c4fbad1253..f91af7a54ca 100644 --- a/src/app/components/fees-row/components/fee-estimate-item.tsx +++ b/src/app/components/fees-row/components/fee-estimate-item.tsx @@ -2,9 +2,7 @@ import { useMemo } from 'react'; import { HStack, styled } from 'leather-styles/jsx'; -import { Link } from '@app/ui/components/link/link'; -import { CheckmarkIcon } from '@app/ui/icons/checkmark-icon'; -import { ChevronDownIcon } from '@app/ui/icons/chevron-down-icon'; +import { CheckmarkIcon, ChevronDownIcon, Link } from '@leather.io/ui'; const labels = ['Low', 'Standard', 'High', 'Custom']; const testLabels = labels.map(label => label.toLowerCase()); diff --git a/src/app/components/fees-row/components/fee-estimate-select.layout.tsx b/src/app/components/fees-row/components/fee-estimate-select.layout.tsx index aed4cae242f..ec9c0df6350 100644 --- a/src/app/components/fees-row/components/fee-estimate-select.layout.tsx +++ b/src/app/components/fees-row/components/fee-estimate-select.layout.tsx @@ -3,7 +3,7 @@ import { ReactNode, useRef } from 'react'; import { SharedComponentsSelectors } from '@tests/selectors/shared-component.selectors'; import { Stack } from 'leather-styles/jsx'; -import { FeeTypes } from '@leather-wallet/models'; +import { FeeTypes } from '@leather.io/models'; import { useOnClickOutside } from '@app/common/hooks/use-onclickoutside'; diff --git a/src/app/components/fees-row/components/fee-estimate-select.tsx b/src/app/components/fees-row/components/fee-estimate-select.tsx index a865aee7dd0..6e05f5d730e 100644 --- a/src/app/components/fees-row/components/fee-estimate-select.tsx +++ b/src/app/components/fees-row/components/fee-estimate-select.tsx @@ -1,4 +1,4 @@ -import { FeeTypes, type StacksFeeEstimate } from '@leather-wallet/models'; +import { FeeTypes, type StacksFeeEstimate } from '@leather.io/models'; import { FeeEstimateItem } from './fee-estimate-item'; import { FeeEstimateSelectLayout } from './fee-estimate-select.layout'; diff --git a/src/app/components/fees-row/components/fees-row.layout.tsx b/src/app/components/fees-row/components/fees-row.layout.tsx index c6bc3e238f9..8de800ccfad 100644 --- a/src/app/components/fees-row/components/fees-row.layout.tsx +++ b/src/app/components/fees-row/components/fees-row.layout.tsx @@ -1,11 +1,11 @@ import { useField } from 'formik'; import { HStack, HstackProps, styled } from 'leather-styles/jsx'; +import { Callout, InfoCircleIcon } from '@leather.io/ui'; + import { openInNewTab } from '@app/common/utils/open-in-new-tab'; import { SponsoredLabel } from '@app/components/sponsored-label'; -import { Callout } from '@app/ui/components/callout/callout'; import { BasicTooltip } from '@app/ui/components/tooltip/basic-tooltip'; -import { InfoCircleIcon } from '@app/ui/icons/info-circle-icon'; const feesInfo = 'Higher fees increase the likelihood of your transaction getting confirmed before others. Click to learn more.'; diff --git a/src/app/components/fees-row/components/transaction-fee.tsx b/src/app/components/fees-row/components/transaction-fee.tsx index ad3b6c386d5..a0298e7d9f6 100644 --- a/src/app/components/fees-row/components/transaction-fee.tsx +++ b/src/app/components/fees-row/components/transaction-fee.tsx @@ -1,8 +1,8 @@ import { SharedComponentsSelectors } from '@tests/selectors/shared-component.selectors'; import { styled } from 'leather-styles/jsx'; -import type { CryptoCurrencies, Money } from '@leather-wallet/models'; -import { formatDustUsdAmounts, i18nFormatCurrency } from '@leather-wallet/utils'; +import type { CryptoCurrencies, Money } from '@leather.io/models'; +import { formatDustUsdAmounts, i18nFormatCurrency } from '@leather.io/utils'; import { BasicTooltip } from '@app/ui/components/tooltip/basic-tooltip'; diff --git a/src/app/components/fees-row/fees-row.tsx b/src/app/components/fees-row/fees-row.tsx index c9157db3aef..be6ac9da0ad 100644 --- a/src/app/components/fees-row/fees-row.tsx +++ b/src/app/components/fees-row/fees-row.tsx @@ -5,9 +5,9 @@ import BigNumber from 'bignumber.js'; import { useField } from 'formik'; import { Box } from 'leather-styles/jsx'; -import { STX_DECIMALS } from '@leather-wallet/constants'; -import { FeeTypes, type Fees } from '@leather-wallet/models'; -import { convertAmountToBaseUnit, createMoney, isNumber, isString } from '@leather-wallet/utils'; +import { STX_DECIMALS } from '@leather.io/constants'; +import { FeeTypes, type Fees } from '@leather.io/models'; +import { convertAmountToBaseUnit, createMoney, isNumber, isString } from '@leather.io/utils'; import { useConvertCryptoCurrencyToFiatAmount } from '@app/common/hooks/use-convert-to-fiat-amount'; import { LoadingRectangle } from '@app/components/loading-rectangle'; diff --git a/src/app/components/generic-error/generic-error.layout.tsx b/src/app/components/generic-error/generic-error.layout.tsx index d8f7438154e..72bd927e844 100644 --- a/src/app/components/generic-error/generic-error.layout.tsx +++ b/src/app/components/generic-error/generic-error.layout.tsx @@ -3,9 +3,9 @@ import { ReactNode } from 'react'; import GenericError from '@assets/images/generic-error.png'; import { Flex, FlexProps, HStack, styled } from 'leather-styles/jsx'; +import { ExternalLinkIcon, Link } from '@leather.io/ui'; + import { openInNewTab } from '@app/common/utils/open-in-new-tab'; -import { Link } from '@app/ui/components/link/link'; -import { ExternalLinkIcon } from '@app/ui/icons/external-link-icon'; const supportUrl = 'https://wallet.hiro.so/wallet-faq/where-can-i-find-support-for-the-stacks-wallet'; diff --git a/src/app/components/info-card/info-card.tsx b/src/app/components/info-card/info-card.tsx index e84a34dbba9..c7a5a17562f 100644 --- a/src/app/components/info-card/info-card.tsx +++ b/src/app/components/info-card/info-card.tsx @@ -3,10 +3,8 @@ import { ReactNode } from 'react'; import { SharedComponentsSelectors } from '@tests/selectors/shared-component.selectors'; import { Box, BoxProps, Flex, HStack, Stack, styled } from 'leather-styles/jsx'; -import { isString } from '@leather-wallet/utils'; - -import { Button } from '@app/ui/components/button/button'; -import { DashedHr } from '@app/ui/components/hr'; +import { Button, DashedHr } from '@leather.io/ui'; +import { isString } from '@leather.io/utils'; // InfoCardRow interface InfoCardRowProps { diff --git a/src/app/components/inscription-preview-card/components/inscription-metadata.tsx b/src/app/components/inscription-preview-card/components/inscription-metadata.tsx index 869bfe31f7b..49ff460f385 100644 --- a/src/app/components/inscription-preview-card/components/inscription-metadata.tsx +++ b/src/app/components/inscription-preview-card/components/inscription-metadata.tsx @@ -1,6 +1,6 @@ import { Flex, styled } from 'leather-styles/jsx'; -import { Link } from '@app/ui/components/link/link'; +import { Link } from '@leather.io/ui'; interface InscriptionMetadataProps { action?(): void; diff --git a/src/app/components/inscription-preview-card/components/inscription-preview.tsx b/src/app/components/inscription-preview-card/components/inscription-preview.tsx index 1cd3238f473..e8e651b9138 100644 --- a/src/app/components/inscription-preview-card/components/inscription-preview.tsx +++ b/src/app/components/inscription-preview-card/components/inscription-preview.tsx @@ -1,8 +1,7 @@ import { BoxProps, Flex } from 'leather-styles/jsx'; -import type { Inscription } from '@leather-wallet/models'; - -import { OrdinalAvatarIcon } from '@app/ui/components/avatar/ordinal-avatar-icon'; +import type { Inscription } from '@leather.io/models'; +import { OrdinalAvatarIcon } from '@leather.io/ui'; import { InscriptionImage } from './inscription-image'; import { InscriptionPreviewContainer } from './inscription-preview-container'; diff --git a/src/app/components/inscription-preview-card/components/inscription-text.tsx b/src/app/components/inscription-preview-card/components/inscription-text.tsx index b7e65d98811..4cba1c1a77c 100644 --- a/src/app/components/inscription-preview-card/components/inscription-text.tsx +++ b/src/app/components/inscription-preview-card/components/inscription-text.tsx @@ -1,7 +1,7 @@ import { sanitize } from 'dompurify'; import { Box } from 'leather-styles/jsx'; -import { useInscriptionTextContentQuery } from '@leather-wallet/query'; +import { useInscriptionTextContentQuery } from '@leather.io/query'; import { parseJson } from '@app/components/json'; import { LoadingSpinner } from '@app/components/loading-spinner'; diff --git a/src/app/components/inscription-preview-card/inscription-preview-card.tsx b/src/app/components/inscription-preview-card/inscription-preview-card.tsx index e3581bba398..5cff38a2fb3 100644 --- a/src/app/components/inscription-preview-card/inscription-preview-card.tsx +++ b/src/app/components/inscription-preview-card/inscription-preview-card.tsx @@ -1,4 +1,4 @@ -import { Flag } from '@app/ui/components/flag/flag'; +import { Flag } from '@leather.io/ui'; import { InscriptionMetadata } from './components/inscription-metadata'; diff --git a/src/app/components/json.tsx b/src/app/components/json.tsx index 3f360b83455..a6df3bc9d85 100644 --- a/src/app/components/json.tsx +++ b/src/app/components/json.tsx @@ -2,7 +2,7 @@ import { bytesToHex } from '@stacks/common'; import { css } from 'leather-styles/css'; import { Box } from 'leather-styles/jsx'; -import { isBigInt, isTypedArray } from '@leather-wallet/utils'; +import { isBigInt, isTypedArray } from '@leather.io/utils'; export function parseJson(content: string) { try { diff --git a/src/app/components/layout/divider-separator.tsx b/src/app/components/layout/divider-separator.tsx index 69eb744fbad..f8fc9d48ba8 100644 --- a/src/app/components/layout/divider-separator.tsx +++ b/src/app/components/layout/divider-separator.tsx @@ -1,6 +1,6 @@ import { ReactNode, cloneElement, isValidElement } from 'react'; -import { Hr, HrProps } from '@app/ui/components/hr'; +import { Hr, HrProps } from '@leather.io/ui'; interface DividerSeparatorProps extends HrProps { children: ReactNode; diff --git a/src/app/components/loaders/brc20-tokens-loader.tsx b/src/app/components/loaders/brc20-tokens-loader.tsx index 405740da048..cb5e10d78f2 100644 --- a/src/app/components/loaders/brc20-tokens-loader.tsx +++ b/src/app/components/loaders/brc20-tokens-loader.tsx @@ -1,4 +1,4 @@ -import type { Brc20CryptoAssetInfo, CryptoAssetBalance, MarketData } from '@leather-wallet/models'; +import type { Brc20CryptoAssetInfo, CryptoAssetBalance, MarketData } from '@leather.io/models'; import { useBrc20Tokens } from '@app/query/bitcoin/ordinals/brc20/brc20-tokens.hooks'; diff --git a/src/app/components/loaders/btc-balance-loader.tsx b/src/app/components/loaders/btc-balance-loader.tsx index a5b3a4e86a8..3e3ff89a45a 100644 --- a/src/app/components/loaders/btc-balance-loader.tsx +++ b/src/app/components/loaders/btc-balance-loader.tsx @@ -1,12 +1,28 @@ -import type { BtcCryptoAssetBalance } from '@leather-wallet/models'; +import type { BtcCryptoAssetBalance } from '@leather.io/models'; +import { BtcAvatarIcon } from '@leather.io/ui'; import { useBtcCryptoAssetBalanceNativeSegwit } from '@app/query/bitcoin/balance/btc-balance-native-segwit.hooks'; +import { CryptoAssetItemError } from '../crypto-asset-item/crypto-asset-item-error'; +import { CryptoAssetItemPlaceholder } from '../crypto-asset-item/crypto-asset-item-placeholder'; + interface BtcBalanceLoaderProps { address: string; - children(balance: BtcCryptoAssetBalance, isInitialLoading: boolean): React.ReactNode; + children(balance: BtcCryptoAssetBalance): React.ReactNode; } export function BtcBalanceLoader({ address, children }: BtcBalanceLoaderProps) { - const { balance, isInitialLoading } = useBtcCryptoAssetBalanceNativeSegwit(address); - return children(balance, isInitialLoading); + const { balance } = useBtcCryptoAssetBalanceNativeSegwit(address); + return children(balance); +} + +interface BtcAssetItemBalanceLoaderProps { + address: string; + children(balance: BtcCryptoAssetBalance, isLoading: boolean): React.ReactNode; +} +export function BtcAssetItemBalanceLoader({ address, children }: BtcAssetItemBalanceLoaderProps) { + const { balance, isError, isLoading } = useBtcCryptoAssetBalanceNativeSegwit(address); + if (isLoading) return ; + if (isError) + return } title="Bitcoin" />; + return children(balance, isLoading); } diff --git a/src/app/components/loaders/runes-loader.tsx b/src/app/components/loaders/runes-loader.tsx index 97ec54b439b..79c09d0e5d4 100644 --- a/src/app/components/loaders/runes-loader.tsx +++ b/src/app/components/loaders/runes-loader.tsx @@ -1,5 +1,5 @@ -import type { CryptoAssetBalance, RuneCryptoAssetInfo } from '@leather-wallet/models'; -import { useRuneTokens } from '@leather-wallet/query'; +import type { CryptoAssetBalance, RuneCryptoAssetInfo } from '@leather.io/models'; +import { useRuneTokens } from '@leather.io/query'; interface RunesLoaderProps { addresses: string[]; diff --git a/src/app/components/loaders/sip10-tokens-loader.tsx b/src/app/components/loaders/sip10-tokens-loader.tsx index 14cf70583d1..0456dbf16ff 100644 --- a/src/app/components/loaders/sip10-tokens-loader.tsx +++ b/src/app/components/loaders/sip10-tokens-loader.tsx @@ -2,7 +2,7 @@ import { type Sip10CryptoAssetFilter, type Sip10TokenAssetDetails, useFilteredSip10Tokens, -} from '@leather-wallet/query'; +} from '@leather.io/query'; interface Sip10TokensLoaderProps { address: string; @@ -10,6 +10,6 @@ interface Sip10TokensLoaderProps { children(isLoading: boolean, tokens: Sip10TokenAssetDetails[]): React.ReactNode; } export function Sip10TokensLoader({ address, filter, children }: Sip10TokensLoaderProps) { - const { isInitialLoading, tokens = [] } = useFilteredSip10Tokens({ address, filter }); - return children(isInitialLoading, tokens); + const { isLoading, tokens = [] } = useFilteredSip10Tokens({ address, filter }); + return children(isLoading, tokens); } diff --git a/src/app/components/loaders/src20-tokens-loader.tsx b/src/app/components/loaders/src20-tokens-loader.tsx index 4633e6be09f..b757427bd23 100644 --- a/src/app/components/loaders/src20-tokens-loader.tsx +++ b/src/app/components/loaders/src20-tokens-loader.tsx @@ -1,5 +1,5 @@ -import type { CryptoAssetBalance, Src20CryptoAssetInfo } from '@leather-wallet/models'; -import { useSrc20TokensByAddress } from '@leather-wallet/query'; +import type { CryptoAssetBalance, Src20CryptoAssetInfo } from '@leather.io/models'; +import { useSrc20TokensByAddress } from '@leather.io/query'; export interface Src20TokenAssetDetails { balance: CryptoAssetBalance; diff --git a/src/app/components/loaders/stacks-account-loader.tsx b/src/app/components/loaders/stacks-account-loader.tsx index 84ccc9a1be9..3db04fadf16 100644 --- a/src/app/components/loaders/stacks-account-loader.tsx +++ b/src/app/components/loaders/stacks-account-loader.tsx @@ -16,7 +16,7 @@ export function CurrentStacksAccountLoader({ fallback, }: CurrentStacksAccountLoaderProps) { const currentAccount = useCurrentStacksAccount(); - if (!currentAccount) return fallback ? fallback : null; + if (!currentAccount) return fallback; return children(currentAccount); } diff --git a/src/app/components/loaders/stx-balance-loader.tsx b/src/app/components/loaders/stx-balance-loader.tsx index 416aea90090..dd5d22fb89e 100644 --- a/src/app/components/loaders/stx-balance-loader.tsx +++ b/src/app/components/loaders/stx-balance-loader.tsx @@ -1,15 +1,33 @@ -import type { StxCryptoAssetBalance } from '@leather-wallet/models'; -import { useStxCryptoAssetBalance } from '@leather-wallet/query'; +import type { StxCryptoAssetBalance } from '@leather.io/models'; +import { + isErrorTooManyRequests, + isFetchedWithSuccess, + isInitializingData, + useStxCryptoAssetBalance, +} from '@leather.io/query'; +import { StxAvatarIcon } from '@leather.io/ui'; -import { isFetchedWithSuccess } from '@app/query/query-config'; +import { CryptoAssetItemError } from '../crypto-asset-item/crypto-asset-item-error'; +import { CryptoAssetItemPlaceholder } from '../crypto-asset-item/crypto-asset-item-placeholder'; -interface StxBalanceLoaderProps { +interface StxAssetItemBalanceLoaderProps { address: string; - children(balance: StxCryptoAssetBalance, isInitialLoading: boolean): React.ReactNode; + children(balance: StxCryptoAssetBalance, isLoading: boolean): React.ReactNode; } -export function StxBalanceLoader({ address, children }: StxBalanceLoaderProps) { +export function StxAssetItemBalanceLoader({ address, children }: StxAssetItemBalanceLoaderProps) { const result = useStxCryptoAssetBalance(address); - if (!isFetchedWithSuccess(result)) return null; - const { data: balance, isInitialLoading } = result; - return children(balance, isInitialLoading); + if (isInitializingData(result)) return ; + if (isErrorTooManyRequests(result)) + return ( + } + onRefetch={() => result.refetch()} + title="Stacks" + /> + ); + if (!isFetchedWithSuccess(result)) + return } title="Stacks" />; + const { data: balance, isLoading } = result; + return children(balance, isLoading); } diff --git a/src/app/components/loaders/stx20-tokens-loader.tsx b/src/app/components/loaders/stx20-tokens-loader.tsx index a2be397d53e..50f6aea2987 100644 --- a/src/app/components/loaders/stx20-tokens-loader.tsx +++ b/src/app/components/loaders/stx20-tokens-loader.tsx @@ -1,5 +1,5 @@ -import type { CryptoAssetBalance, Stx20CryptoAssetInfo } from '@leather-wallet/models'; -import { useStx20Tokens } from '@leather-wallet/query'; +import type { CryptoAssetBalance, Stx20CryptoAssetInfo } from '@leather.io/models'; +import { useStx20Tokens } from '@leather.io/query'; interface Stx20TokensLoaderProps { address: string; diff --git a/src/app/components/loading-spinner.tsx b/src/app/components/loading-spinner.tsx index ca7530d318b..556f8603a41 100644 --- a/src/app/components/loading-spinner.tsx +++ b/src/app/components/loading-spinner.tsx @@ -1,6 +1,6 @@ import { Flex, FlexProps } from 'leather-styles/jsx'; -import { Spinner } from '@app/ui/components/spinner'; +import { Spinner } from '@leather.io/ui'; export function LoadingSpinner(props: { size?: string } & FlexProps) { return ( diff --git a/src/app/components/nonce-setter.tsx b/src/app/components/nonce-setter.tsx index fa5445383ba..530cba5f41f 100644 --- a/src/app/components/nonce-setter.tsx +++ b/src/app/components/nonce-setter.tsx @@ -2,7 +2,7 @@ import { useAsync } from 'react-async-hook'; import { useFormikContext } from 'formik'; -import { useNextNonce } from '@leather-wallet/query'; +import { useNextNonce } from '@leather.io/query'; import { StacksSendFormValues, StacksTransactionFormValues } from '@shared/models/form.model'; diff --git a/src/app/components/request-password.tsx b/src/app/components/request-password.tsx index 614cdb7e492..7993607fc71 100644 --- a/src/app/components/request-password.tsx +++ b/src/app/components/request-password.tsx @@ -3,13 +3,14 @@ import { FormEvent, useCallback, useState } from 'react'; import { SettingsSelectors } from '@tests/selectors/settings.selectors'; import { Box, Stack, styled } from 'leather-styles/jsx'; -import { useAnalytics } from '@app/common/hooks/analytics/use-analytics'; +import { Button, Logo } from '@leather.io/ui'; + +import { analytics } from '@shared/utils/analytics'; + import { useKeyActions } from '@app/common/hooks/use-key-actions'; import { buildEnterKeyEvent } from '@app/common/hooks/use-modifier-key'; import { WaitingMessages, useWaitingMessage } from '@app/common/hooks/use-waiting-message'; -import { Button } from '@app/ui/components/button/button'; import { Footer } from '@app/ui/components/containers/footers/footer'; -import { Logo } from '@app/ui/components/logo'; import { Card } from '@app/ui/layout/card/card'; import { Page } from '@app/ui/layout/page/page.layout'; @@ -31,7 +32,7 @@ export function RequestPassword({ onSuccess }: RequestPasswordProps) { const [password, setPassword] = useState(''); const [error, setError] = useState(''); const { unlockWallet } = useKeyActions(); - const analytics = useAnalytics(); + const [isRunning, waitingMessage, startWaitingMessage, stopWaitingMessage] = useWaitingMessage(waitingMessages); @@ -51,7 +52,7 @@ export function RequestPassword({ onSuccess }: RequestPasswordProps) { void analytics.track('complete_unlock', { durationMs: unlockSuccessTimeMs - startUnlockTimeMs, }); - }, [analytics, startWaitingMessage, stopWaitingMessage, unlockWallet, password, onSuccess]); + }, [startWaitingMessage, stopWaitingMessage, unlockWallet, password, onSuccess]); return ( diff --git a/src/app/components/requester-flag.tsx b/src/app/components/requester-flag.tsx index 7c4b213bf05..068a87ec593 100644 --- a/src/app/components/requester-flag.tsx +++ b/src/app/components/requester-flag.tsx @@ -1,6 +1,6 @@ import { styled } from 'leather-styles/jsx'; -import { Flag } from '@app/ui/components/flag/flag'; +import { Flag } from '@leather.io/ui'; import { Favicon } from './favicon'; diff --git a/src/app/components/sponsored-label.tsx b/src/app/components/sponsored-label.tsx index 69922bdf189..76a00a6d6a5 100644 --- a/src/app/components/sponsored-label.tsx +++ b/src/app/components/sponsored-label.tsx @@ -1,6 +1,6 @@ import { HStack, Stack, styled } from 'leather-styles/jsx'; -import { ErrorCircleIcon } from '@app/ui/icons/error-circle-icon'; +import { ErrorCircleIcon } from '@leather.io/ui'; // #4476 TODO - visually inspect this export function SponsoredLabel(): React.JSX.Element { diff --git a/src/app/components/stacks-asset-avatar.tsx b/src/app/components/stacks-asset-avatar.tsx index 36dde46b297..706602c3d75 100644 --- a/src/app/components/stacks-asset-avatar.tsx +++ b/src/app/components/stacks-asset-avatar.tsx @@ -1,8 +1,6 @@ import { Box, BoxProps } from 'leather-styles/jsx'; -import { Avatar, defaultFallbackDelay } from '@app/ui/components/avatar/avatar'; -import { StxAvatarIcon } from '@app/ui/components/avatar/stx-avatar-icon'; -import { DynamicColorCircle } from '@app/ui/components/dynamic-color-circle'; +import { Avatar, DynamicColorCircle, StxAvatarIcon, defaultFallbackDelay } from '@leather.io/ui'; interface StacksAssetAvatarProps extends BoxProps { gradientString?: string; diff --git a/src/app/components/stacks-transaction-item/increase-fee-button.tsx b/src/app/components/stacks-transaction-item/increase-fee-button.tsx index 846a1259f9d..80c7caf9b33 100644 --- a/src/app/components/stacks-transaction-item/increase-fee-button.tsx +++ b/src/app/components/stacks-transaction-item/increase-fee-button.tsx @@ -1,6 +1,6 @@ import { HStack, styled } from 'leather-styles/jsx'; -import { ChevronsRightIcon } from '@app/ui/icons/chevrons-right-icon'; +import { ChevronsRightIcon } from '@leather.io/ui'; interface IncreaseFeeButtonProps { isEnabled?: boolean; diff --git a/src/app/components/stacks-transaction-item/stacks-transaction-icon.tsx b/src/app/components/stacks-transaction-item/stacks-transaction-icon.tsx index 1cb34590520..a22b7c8a212 100644 --- a/src/app/components/stacks-transaction-item/stacks-transaction-icon.tsx +++ b/src/app/components/stacks-transaction-item/stacks-transaction-icon.tsx @@ -1,11 +1,7 @@ import { BoxProps } from 'leather-styles/jsx'; -import { StacksTx } from '@leather-wallet/models'; - -import { StxAvatarIcon } from '@app/ui/components/avatar/stx-avatar-icon'; -import { DynamicColorCircle } from '@app/ui/components/dynamic-color-circle'; -import { ErrorCircleIcon } from '@app/ui/icons'; -import { ListIcon } from '@app/ui/icons/list-icon'; +import { StacksTx } from '@leather.io/models'; +import { DynamicColorCircle, ErrorCircleIcon, ListIcon, StxAvatarIcon } from '@leather.io/ui'; import { TransactionIconWrapper } from '../transaction/transaction-icon-wrapper'; import { TransactionTypeIcon } from '../transaction/transaction-type-icon'; diff --git a/src/app/components/stacks-transaction-item/stacks-transaction-item.tsx b/src/app/components/stacks-transaction-item/stacks-transaction-item.tsx index 5de63ce4ef8..4517b641879 100644 --- a/src/app/components/stacks-transaction-item/stacks-transaction-item.tsx +++ b/src/app/components/stacks-transaction-item/stacks-transaction-item.tsx @@ -1,10 +1,10 @@ import { useLocation, useNavigate } from 'react-router-dom'; -import { StacksTx } from '@leather-wallet/models'; +import { StacksTx } from '@leather.io/models'; import { RouteUrls } from '@shared/route-urls'; +import { analytics } from '@shared/utils/analytics'; -import { useAnalytics } from '@app/common/hooks/analytics/use-analytics'; import { useStacksExplorerLink } from '@app/common/hooks/use-stacks-explorer-link'; import { getTxCaption, @@ -41,7 +41,7 @@ export function StacksTransactionItem({ }: StacksTransactionItemProps) { const { handleOpenStacksTxLink } = useStacksExplorerLink(); const currentAccount = useCurrentStacksAccount(); - const analytics = useAnalytics(); + const { pathname } = useLocation(); const navigate = useNavigate(); const { whenWallet } = useWalletType(); diff --git a/src/app/components/stacks-transaction-item/stacks-transaction-status.tsx b/src/app/components/stacks-transaction-item/stacks-transaction-status.tsx index e34e8e69c81..ea7e356f158 100644 --- a/src/app/components/stacks-transaction-item/stacks-transaction-status.tsx +++ b/src/app/components/stacks-transaction-item/stacks-transaction-status.tsx @@ -1,8 +1,8 @@ -import { StacksTx } from '@leather-wallet/models'; +import { StacksTx } from '@leather.io/models'; +import { Caption } from '@leather.io/ui'; import { isPendingTx } from '@app/common/transactions/stacks/transaction.utils'; import { BasicTooltip } from '@app/ui/components/tooltip/basic-tooltip'; -import { Caption } from '@app/ui/components/typography/caption'; const pendingWaitingMessage = 'This transaction is waiting to be confirmed. Depending on network congestion, this may take anywhere from a few minutes, to a couple of hours.'; diff --git a/src/app/components/transaction-item/transaction-item.layout.tsx b/src/app/components/transaction-item/transaction-item.layout.tsx index f39a4ff6b85..b0d61e62680 100644 --- a/src/app/components/transaction-item/transaction-item.layout.tsx +++ b/src/app/components/transaction-item/transaction-item.layout.tsx @@ -2,9 +2,7 @@ import { ReactNode } from 'react'; import { HStack, styled } from 'leather-styles/jsx'; -import { ItemLayout } from '@app/ui/components/item-layout/item-layout'; -import { Caption } from '@app/ui/components/typography/caption'; -import { Pressable } from '@app/ui/pressable/pressable'; +import { Caption, ItemLayout, Pressable } from '@leather.io/ui'; interface TransactionItemLayoutProps { openTxLink(): void; diff --git a/src/app/components/transaction/token-transfer-icon.tsx b/src/app/components/transaction/token-transfer-icon.tsx index c16af5d85d9..d9a1e5d52fa 100644 --- a/src/app/components/transaction/token-transfer-icon.tsx +++ b/src/app/components/transaction/token-transfer-icon.tsx @@ -1,8 +1,7 @@ -import { StacksTx } from '@leather-wallet/models'; +import { StacksTx } from '@leather.io/models'; +import { ArrowDownIcon, ArrowUpIcon } from '@leather.io/ui'; import { useCurrentStacksAccountAddress } from '@app/store/accounts/blockchain/stacks/stacks-account.hooks'; -import { ArrowDownIcon } from '@app/ui/icons/arrow-down-icon'; -import { ArrowUpIcon } from '@app/ui/icons/arrow-up-icon'; export function TokenTransferIcon(props: { tx: StacksTx }) { const { tx } = props; diff --git a/src/app/components/transaction/transaction-icon-wrapper.tsx b/src/app/components/transaction/transaction-icon-wrapper.tsx index 2077a96bff9..adba809bfaf 100644 --- a/src/app/components/transaction/transaction-icon-wrapper.tsx +++ b/src/app/components/transaction/transaction-icon-wrapper.tsx @@ -2,7 +2,7 @@ import { ReactNode } from 'react'; import { Circle, CircleProps } from 'leather-styles/jsx'; -import { StacksTx } from '@leather-wallet/models'; +import { StacksTx } from '@leather.io/models'; import { TransactionTypeIcon } from './transaction-type-icon'; diff --git a/src/app/components/transaction/transaction-icon.tsx b/src/app/components/transaction/transaction-icon.tsx index 6a6a02f0bab..bf13580bede 100644 --- a/src/app/components/transaction/transaction-icon.tsx +++ b/src/app/components/transaction/transaction-icon.tsx @@ -1,8 +1,5 @@ -import { StacksTx } from '@leather-wallet/models'; - -import { CodeIcon } from '@app/ui/icons/code-icon'; -import { FunctionIcon } from '@app/ui/icons/function-icon'; -import { PlusIcon } from '@app/ui/icons/plus-icon'; +import { StacksTx } from '@leather.io/models'; +import { CodeIcon, FunctionIcon, PlusIcon } from '@leather.io/ui'; import { TokenTransferIcon } from './token-transfer-icon'; diff --git a/src/app/components/transaction/transaction-title.tsx b/src/app/components/transaction/transaction-title.tsx index 2cc5668f7f6..50145104712 100644 --- a/src/app/components/transaction/transaction-title.tsx +++ b/src/app/components/transaction/transaction-title.tsx @@ -1,9 +1,10 @@ import { useRef, useState } from 'react'; +import { Title } from '@leather.io/ui'; +import { spamFilter } from '@leather.io/utils'; + import { useOnResizeListener } from '@app/common/hooks/use-on-resize-listener'; -import { spamFilter } from '@app/common/utils/spam-filter'; import { BasicTooltip } from '@app/ui/components/tooltip/basic-tooltip'; -import { Title } from '@app/ui/components/typography/title'; interface TransactionTitleProps { title: string; diff --git a/src/app/components/transaction/transaction-type-icon.tsx b/src/app/components/transaction/transaction-type-icon.tsx index 311f46d7830..575dae85afc 100644 --- a/src/app/components/transaction/transaction-type-icon.tsx +++ b/src/app/components/transaction/transaction-type-icon.tsx @@ -1,4 +1,4 @@ -import { StacksTx, StacksTxStatus } from '@leather-wallet/models'; +import { StacksTx, StacksTxStatus } from '@leather.io/models'; import { statusFromTx } from '@app/common/transactions/stacks/transaction.utils'; diff --git a/src/app/features/activity-list/activity-list.tsx b/src/app/features/activity-list/activity-list.tsx index 9542f6a5ead..b7b0f99f9a5 100644 --- a/src/app/features/activity-list/activity-list.tsx +++ b/src/app/features/activity-list/activity-list.tsx @@ -8,7 +8,7 @@ import { useGetAccountTransactionsWithTransfersQuery, useGetBitcoinTransactionsByAddressesQuery, useStacksPendingTransactions, -} from '@leather-wallet/query'; +} from '@leather.io/query'; import { LoadingSpinner } from '@app/components/loading-spinner'; import { useConfigBitcoinEnabled } from '@app/query/common/remote-config/remote-config.query'; @@ -50,8 +50,8 @@ export function ActivityList() { const updateSubmittedTxs = useUpdateSubmittedTransactions(); const [ - { isInitialLoading: isInitialLoadingNsBitcoinTransactions, data: nsBitcoinTransactions = [] }, - { isInitialLoading: isInitialLoadingTrBitcoinTransactions, data: trBitcoinTransactions = [] }, + { isLoading: isLoadingNsBitcoinTransactions, data: nsBitcoinTransactions = [] }, + { isLoading: isLoadingTrBitcoinTransactions, data: trBitcoinTransactions = [] }, ] = useGetBitcoinTransactionsByAddressesQuery([nsBitcoinAddress, trBitcoinAddress]); const [{ data: nsPendingTxs = [] }, { data: trPendingTxs = [] }] = useBitcoinPendingTransactions([ @@ -63,12 +63,10 @@ export function ActivityList() { [nsPendingTxs, trPendingTxs] ); + const { isLoading: isLoadingStacksTransactions, data: stacksTransactionsWithTransfers } = + useGetAccountTransactionsWithTransfersQuery(stxAddress); const { - isInitialLoading: isInitialLoadingStacksTransactions, - data: stacksTransactionsWithTransfers, - } = useGetAccountTransactionsWithTransfersQuery(stxAddress); - const { - query: { isInitialLoading: isInitialLoadingStacksPendingTransactions }, + query: { isLoading: isLoadingStacksPendingTransactions }, transactions: stacksPendingTransactions, } = useStacksPendingTransactions(stxAddress); const submittedTransactions = useSubmittedTransactions(); @@ -78,11 +76,11 @@ export function ActivityList() { updateSubmittedTxs(stacksPendingTransactions); }, [stacksPendingTransactions, updateSubmittedTxs]); - const isInitialLoading = - isInitialLoadingNsBitcoinTransactions || - isInitialLoadingTrBitcoinTransactions || - isInitialLoadingStacksTransactions || - isInitialLoadingStacksPendingTransactions; + const isLoading = + isLoadingNsBitcoinTransactions || + isLoadingTrBitcoinTransactions || + isLoadingStacksTransactions || + isLoadingStacksPendingTransactions; const transactionListBitcoinTxs = useMemo(() => { return convertBitcoinTxsToListType( @@ -107,7 +105,7 @@ export function ActivityList() { const hasTxs = hasSubmittedTransactions || hasPendingTransactions || hasTransactions; - if (isInitialLoading) + if (isLoading) return ( diff --git a/src/app/features/activity-list/activity-list.utils.ts b/src/app/features/activity-list/activity-list.utils.ts index 640a7b096f3..c4d74fa71c8 100644 --- a/src/app/features/activity-list/activity-list.utils.ts +++ b/src/app/features/activity-list/activity-list.utils.ts @@ -1,6 +1,6 @@ import { AddressTransactionWithTransfers } from '@stacks/stacks-blockchain-api-types'; -import type { BitcoinTx } from '@leather-wallet/models'; +import type { BitcoinTx } from '@leather.io/models'; import { TransactionListBitcoinTx, diff --git a/src/app/features/activity-list/components/no-account-activity.tsx b/src/app/features/activity-list/components/no-account-activity.tsx index fe2706444ca..e979425316d 100644 --- a/src/app/features/activity-list/components/no-account-activity.tsx +++ b/src/app/features/activity-list/components/no-account-activity.tsx @@ -1,7 +1,7 @@ import NoActivity from '@assets/images/no-activity.png'; import { Stack } from 'leather-styles/jsx'; -import { Caption } from '@app/ui/components/typography/caption'; +import { Caption } from '@leather.io/ui'; export function NoAccountActivity() { return ( diff --git a/src/app/features/activity-list/components/pending-transaction-list/pending-transaction-list.tsx b/src/app/features/activity-list/components/pending-transaction-list/pending-transaction-list.tsx index d982ecacd72..3b0f2763907 100644 --- a/src/app/features/activity-list/components/pending-transaction-list/pending-transaction-list.tsx +++ b/src/app/features/activity-list/components/pending-transaction-list/pending-transaction-list.tsx @@ -1,6 +1,6 @@ import { MempoolTransaction } from '@stacks/stacks-blockchain-api-types'; -import type { BitcoinTx } from '@leather-wallet/models'; +import type { BitcoinTx } from '@leather.io/models'; import { BitcoinTransactionItem } from '@app/components/bitcoin-transaction-item/bitcoin-transaction-item'; import { StacksTransactionItem } from '@app/components/stacks-transaction-item/stacks-transaction-item'; diff --git a/src/app/features/activity-list/components/submitted-transaction-list/submitted-transaction-icon.tsx b/src/app/features/activity-list/components/submitted-transaction-list/submitted-transaction-icon.tsx index 9ee05f71f15..dacd08e16e0 100644 --- a/src/app/features/activity-list/components/submitted-transaction-list/submitted-transaction-icon.tsx +++ b/src/app/features/activity-list/components/submitted-transaction-list/submitted-transaction-icon.tsx @@ -1,13 +1,12 @@ import { PayloadType, StacksTransaction, addressToString } from '@stacks/transactions'; import { CircleProps } from 'leather-styles/jsx'; -import { StacksTx } from '@leather-wallet/models'; +import { StacksTx } from '@leather.io/models'; +import { DynamicColorCircle, StxAvatarIcon } from '@leather.io/ui'; import { getTxSenderAddress } from '@app/common/transactions/stacks/transaction.utils'; import { TransactionIconWrapper } from '@app/components/transaction/transaction-icon-wrapper'; import { TransactionTypeIcon } from '@app/components/transaction/transaction-type-icon'; -import { StxAvatarIcon } from '@app/ui/components/avatar/stx-avatar-icon'; -import { DynamicColorCircle } from '@app/ui/components/dynamic-color-circle'; interface SubmittedTransactionIconProps extends CircleProps { transaction: StacksTransaction; diff --git a/src/app/features/activity-list/components/submitted-transaction-list/submitted-transaction-item.tsx b/src/app/features/activity-list/components/submitted-transaction-list/submitted-transaction-item.tsx index 6212e3d204b..d3c1d97ea32 100644 --- a/src/app/features/activity-list/components/submitted-transaction-list/submitted-transaction-item.tsx +++ b/src/app/features/activity-list/components/submitted-transaction-list/submitted-transaction-item.tsx @@ -1,14 +1,14 @@ import { StacksTransaction } from '@stacks/transactions'; import { HStack, styled } from 'leather-styles/jsx'; -import { useAnalytics } from '@app/common/hooks/analytics/use-analytics'; +import { Caption, ItemLayout, Pressable } from '@leather.io/ui'; + +import { analytics } from '@shared/utils/analytics'; + import { useStacksExplorerLink } from '@app/common/hooks/use-stacks-explorer-link'; import { getTxSenderAddress } from '@app/common/transactions/stacks/transaction.utils'; import { TransactionTitle } from '@app/components/transaction/transaction-title'; -import { ItemLayout } from '@app/ui/components/item-layout/item-layout'; import { BasicTooltip } from '@app/ui/components/tooltip/basic-tooltip'; -import { Caption } from '@app/ui/components/typography/caption'; -import { Pressable } from '@app/ui/pressable/pressable'; import { SubmittedTransactionIcon } from './submitted-transaction-icon'; import { getSubmittedTransactionDetails } from './submitted-transaction-list.utils'; @@ -18,7 +18,6 @@ interface SubmittedTransactionItemProps { txid: string; } export function SubmittedTransactionItem({ transaction, txid }: SubmittedTransactionItemProps) { - const analytics = useAnalytics(); const { handleOpenStacksTxLink } = useStacksExplorerLink(); if (!transaction) return null; diff --git a/src/app/features/activity-list/components/submitted-transaction-list/submitted-transaction-list.utils.ts b/src/app/features/activity-list/components/submitted-transaction-list/submitted-transaction-list.utils.ts index 22aa5eaa670..8df849d43de 100644 --- a/src/app/features/activity-list/components/submitted-transaction-list/submitted-transaction-list.utils.ts +++ b/src/app/features/activity-list/components/submitted-transaction-list/submitted-transaction-list.utils.ts @@ -1,6 +1,6 @@ import { PayloadType, StacksTransaction } from '@stacks/transactions'; -import { StacksTx } from '@leather-wallet/models'; +import { StacksTx } from '@leather.io/models'; import { stacksValue } from '@app/common/stacks-utils'; import { getTxCaption } from '@app/common/transactions/stacks/transaction.utils'; diff --git a/src/app/features/activity-list/components/transaction-list/stacks-transaction/ft-transfer-item.tsx b/src/app/features/activity-list/components/transaction-list/stacks-transaction/ft-transfer-item.tsx index 995c26884fe..86f87992a86 100644 --- a/src/app/features/activity-list/components/transaction-list/stacks-transaction/ft-transfer-item.tsx +++ b/src/app/features/activity-list/components/transaction-list/stacks-transaction/ft-transfer-item.tsx @@ -1,7 +1,8 @@ import type { AddressTransactionWithTransfers } from '@stacks/stacks-blockchain-api-types'; -import { FtTransfer } from '@leather-wallet/models'; -import { isFtAsset, useGetFungibleTokenMetadataQuery } from '@leather-wallet/query'; +import { FtTransfer } from '@leather.io/models'; +import { isFtAsset, useGetFungibleTokenMetadataQuery } from '@leather.io/query'; +import { ArrowDownIcon, ArrowUpIcon } from '@leather.io/ui'; import { logger } from '@shared/logger'; @@ -14,8 +15,6 @@ import { getPrincipalFromContractId } from '@app/common/utils'; import { StacksAssetAvatar } from '@app/components/stacks-asset-avatar'; import { StacksTransactionItem } from '@app/components/stacks-transaction-item/stacks-transaction-item'; import { useCurrentStacksAccount } from '@app/store/accounts/blockchain/stacks/stacks-account.hooks'; -import { ArrowDownIcon } from '@app/ui/icons/arrow-down-icon'; -import { ArrowUpIcon } from '@app/ui/icons/arrow-up-icon'; import { TxTransferIconWrapper } from './tx-transfer-icon-wrapper'; diff --git a/src/app/features/activity-list/components/transaction-list/stacks-transaction/stx-transfer-item.tsx b/src/app/features/activity-list/components/transaction-list/stacks-transaction/stx-transfer-item.tsx index 5fac8c5659f..6ab3ab82bdf 100644 --- a/src/app/features/activity-list/components/transaction-list/stacks-transaction/stx-transfer-item.tsx +++ b/src/app/features/activity-list/components/transaction-list/stacks-transaction/stx-transfer-item.tsx @@ -1,13 +1,12 @@ import type { AddressTransactionWithTransfers } from '@stacks/stacks-blockchain-api-types'; -import type { StxTransfer } from '@leather-wallet/models'; +import type { StxTransfer } from '@leather.io/models'; +import { ArrowDownIcon, ArrowUpIcon } from '@leather.io/ui'; import { stacksValue } from '@app/common/stacks-utils'; import { getTxCaption } from '@app/common/transactions/stacks/transaction.utils'; import { StacksTransactionItem } from '@app/components/stacks-transaction-item/stacks-transaction-item'; import { useCurrentStacksAccount } from '@app/store/accounts/blockchain/stacks/stacks-account.hooks'; -import { ArrowDownIcon } from '@app/ui/icons/arrow-down-icon'; -import { ArrowUpIcon } from '@app/ui/icons/arrow-up-icon'; import { TxTransferIconWrapper } from './tx-transfer-icon-wrapper'; diff --git a/src/app/features/activity-list/components/transaction-list/stacks-transaction/tx-transfer-icon-wrapper.tsx b/src/app/features/activity-list/components/transaction-list/stacks-transaction/tx-transfer-icon-wrapper.tsx index 7be01e8bd78..5e06df03bf5 100644 --- a/src/app/features/activity-list/components/transaction-list/stacks-transaction/tx-transfer-icon-wrapper.tsx +++ b/src/app/features/activity-list/components/transaction-list/stacks-transaction/tx-transfer-icon-wrapper.tsx @@ -2,8 +2,9 @@ import { type ReactNode } from 'react'; import { Circle } from 'leather-styles/jsx'; +import { StxAvatarIcon } from '@leather.io/ui'; + import { TransactionTypeIconWrapper } from '@app/components/transaction/transaction-type-icon-wrapper'; -import { StxAvatarIcon } from '@app/ui/components/avatar/stx-avatar-icon'; interface TxTransferIconWrapperProps { icon: ReactNode; diff --git a/src/app/features/activity-list/components/transaction-list/transaction-list.model.ts b/src/app/features/activity-list/components/transaction-list/transaction-list.model.ts index a20bd024972..7598707b29f 100644 --- a/src/app/features/activity-list/components/transaction-list/transaction-list.model.ts +++ b/src/app/features/activity-list/components/transaction-list/transaction-list.model.ts @@ -1,6 +1,6 @@ import { AddressTransactionWithTransfers } from '@stacks/stacks-blockchain-api-types'; -import type { BitcoinTx, Blockchains } from '@leather-wallet/models'; +import type { BitcoinTx, Blockchains } from '@leather.io/models'; export interface TransactionListBitcoinTx { blockchain: Extract; diff --git a/src/app/features/activity-list/components/transaction-list/transaction-list.utils.ts b/src/app/features/activity-list/components/transaction-list/transaction-list.utils.ts index c54dd365ef4..1f8a2e204b5 100644 --- a/src/app/features/activity-list/components/transaction-list/transaction-list.utils.ts +++ b/src/app/features/activity-list/components/transaction-list/transaction-list.utils.ts @@ -1,6 +1,6 @@ import dayjs from 'dayjs'; -import { isUndefined } from '@leather-wallet/utils'; +import { isUndefined } from '@leather.io/utils'; import { displayDate, isoDateToLocalDateSafe, todaysIsoDate } from '@app/common/date-utils'; import { diff --git a/src/app/features/add-network/add-network-form.tsx b/src/app/features/add-network/add-network-form.tsx index d9b3d6feace..0372ea738e4 100644 --- a/src/app/features/add-network/add-network-form.tsx +++ b/src/app/features/add-network/add-network-form.tsx @@ -4,13 +4,15 @@ import { NetworkSelectors } from '@tests/selectors/network.selectors'; import { useFormikContext } from 'formik'; import { HStack, styled } from 'leather-styles/jsx'; -import type { BitcoinNetworkModes } from '@leather-wallet/models'; - -import { Input } from '@app/ui/components/input/input'; -import { Select } from '@app/ui/components/select/select'; -import { SelectItemLayout } from '@app/ui/components/select/select-item.layout'; -import { Title } from '@app/ui/components/typography/title'; -import { CheckmarkIcon, ChevronDownIcon } from '@app/ui/icons'; +import type { BitcoinNetworkModes } from '@leather.io/models'; +import { + CheckmarkIcon, + ChevronDownIcon, + Input, + Select, + SelectItemLayout, + Title, +} from '@leather.io/ui'; import { type AddNetworkFormValues } from './use-add-network'; @@ -92,10 +94,10 @@ export function AddNetworkForm() { { - void setFieldValue('bitcoinApi', value); + void setFieldValue('bitcoinNetwork', value); }} > - + @@ -105,7 +107,11 @@ export function AddNetworkForm() { {networks.map(item => ( - + diff --git a/src/app/features/add-network/add-network.tsx b/src/app/features/add-network/add-network.tsx index c3f180c9e92..f3a23a4e31c 100644 --- a/src/app/features/add-network/add-network.tsx +++ b/src/app/features/add-network/add-network.tsx @@ -2,8 +2,9 @@ import { NetworkSelectors } from '@tests/selectors/network.selectors'; import { Form, Formik } from 'formik'; import { Stack, styled } from 'leather-styles/jsx'; +import { Button } from '@leather.io/ui'; + import { ErrorLabel } from '@app/components/error-label'; -import { Button } from '@app/ui/components/button/button'; import { Card } from '@app/ui/layout/card/card'; import { Page } from '@app/ui/layout/page/page.layout'; diff --git a/src/app/features/add-network/use-add-network.tsx b/src/app/features/add-network/use-add-network.tsx index 6cd4d4db981..e0aba75008f 100644 --- a/src/app/features/add-network/use-add-network.tsx +++ b/src/app/features/add-network/use-add-network.tsx @@ -3,7 +3,7 @@ import { useNavigate } from 'react-router-dom'; import { ChainID } from '@stacks/transactions'; -import type { BitcoinNetworkModes, DefaultNetworkConfigurations } from '@leather-wallet/models'; +import type { BitcoinNetworkModes, DefaultNetworkConfigurations } from '@leather.io/models'; import { RouteUrls } from '@shared/route-urls'; import { isValidUrl } from '@shared/utils/validate-url'; diff --git a/src/app/features/asset-list/_components/connect-ledger-asset-button.tsx b/src/app/features/asset-list/_components/connect-ledger-asset-button.tsx index 70450ed08b7..e5bffd9607c 100644 --- a/src/app/features/asset-list/_components/connect-ledger-asset-button.tsx +++ b/src/app/features/asset-list/_components/connect-ledger-asset-button.tsx @@ -2,14 +2,13 @@ import { useNavigate } from 'react-router-dom'; import { styled } from 'leather-styles/jsx'; -import type { Blockchains } from '@leather-wallet/models'; +import type { Blockchains } from '@leather.io/models'; +import { Button, LedgerIcon } from '@leather.io/ui'; import { RouteUrls } from '@shared/route-urls'; import { capitalize } from '@app/common/utils'; import { immediatelyAttemptLedgerConnection } from '@app/features/ledger/hooks/use-when-reattempt-ledger-connection'; -import { Button } from '@app/ui/components/button/button'; -import { LedgerIcon } from '@app/ui/icons/ledger-icon'; interface ConnectLedgerButtonProps { chain: Blockchains; diff --git a/src/app/features/asset-list/_components/connect-ledger-asset-item-fallback.tsx b/src/app/features/asset-list/_components/connect-ledger-asset-item-fallback.tsx index 4037d0300db..66ff32a67ae 100644 --- a/src/app/features/asset-list/_components/connect-ledger-asset-item-fallback.tsx +++ b/src/app/features/asset-list/_components/connect-ledger-asset-item-fallback.tsx @@ -1,11 +1,10 @@ import type React from 'react'; -import type { Blockchains, Currencies } from '@leather-wallet/models'; +import type { Blockchains, Currencies } from '@leather.io/models'; +import { ItemLayout, Pressable } from '@leather.io/ui'; import { capitalize } from '@app/common/utils'; import { useCheckLedgerBlockchainAvailable } from '@app/store/accounts/blockchain/utils'; -import { ItemLayout } from '@app/ui/components/item-layout/item-layout'; -import { Pressable } from '@app/ui/pressable/pressable'; import type { AssetListVariant } from '../asset-list'; import { ConnectLedgerButton } from './connect-ledger-asset-button'; diff --git a/src/app/features/asset-list/asset-list.tsx b/src/app/features/asset-list/asset-list.tsx index ff8c8b188e5..26180b0755b 100644 --- a/src/app/features/asset-list/asset-list.tsx +++ b/src/app/features/asset-list/asset-list.tsx @@ -1,5 +1,7 @@ import { Stack } from 'leather-styles/jsx'; +import { BtcAvatarIcon, StxAvatarIcon } from '@leather.io/ui'; + import { useWalletType } from '@app/common/use-wallet-type'; import { BitcoinContractEntryPoint } from '@app/components/bitcoin-contract-entry-point/bitcoin-contract-entry-point'; import { @@ -7,21 +9,19 @@ import { BitcoinTaprootAccountLoader, } from '@app/components/loaders/bitcoin-account-loader'; import { Brc20TokensLoader } from '@app/components/loaders/brc20-tokens-loader'; -import { BtcBalanceLoader } from '@app/components/loaders/btc-balance-loader'; +import { BtcAssetItemBalanceLoader } from '@app/components/loaders/btc-balance-loader'; import { RunesLoader } from '@app/components/loaders/runes-loader'; import { Sip10TokensLoader } from '@app/components/loaders/sip10-tokens-loader'; import { Src20TokensLoader } from '@app/components/loaders/src20-tokens-loader'; import { CurrentStacksAccountLoader } from '@app/components/loaders/stacks-account-loader'; import { Stx20TokensLoader } from '@app/components/loaders/stx20-tokens-loader'; -import { StxBalanceLoader } from '@app/components/loaders/stx-balance-loader'; +import { StxAssetItemBalanceLoader } from '@app/components/loaders/stx-balance-loader'; import { Brc20TokenAssetList } from '@app/features/asset-list/bitcoin/brc20-token-asset-list/brc20-token-asset-list'; import { RunesAssetList } from '@app/features/asset-list/bitcoin/runes-asset-list/runes-asset-list'; import { Src20TokenAssetList } from '@app/features/asset-list/bitcoin/src20-token-asset-list/src20-token-asset-list'; import { Stx20TokenAssetList } from '@app/features/asset-list/stacks/stx20-token-asset-list/stx20-token-asset-list'; import { StxCryptoAssetItem } from '@app/features/asset-list/stacks/stx-crypo-asset-item/stx-crypto-asset-item'; import { useCurrentNetwork } from '@app/store/networks/networks.selectors'; -import { BtcAvatarIcon } from '@app/ui/components/avatar/btc-avatar-icon'; -import { StxAvatarIcon } from '@app/ui/components/avatar/stx-avatar-icon'; import { ConnectLedgerAssetItemFallback } from './_components/connect-ledger-asset-item-fallback'; import { BtcCryptoAssetItem } from './bitcoin/btc-crypto-asset-item/btc-crypto-asset-item'; @@ -54,15 +54,15 @@ export function AssetList({ onSelectAsset, variant = 'read-only' }: AssetListPro } > {nativeSegwitAccount => ( - - {(balance, isInitialLoading) => ( + + {(balance, isLoading) => ( )} - + )} @@ -86,22 +86,22 @@ export function AssetList({ onSelectAsset, variant = 'read-only' }: AssetListPro > {account => ( <> - - {(balance, isInitialLoading) => ( + + {(balance, isLoading) => ( )} - + - {(isInitialLoading, tokens) => ( + {(isLoading, tokens) => ( @@ -149,8 +149,8 @@ export function AssetList({ onSelectAsset, variant = 'read-only' }: AssetListPro {account => ( - {(isInitialLoading, tokens) => ( - + {(isLoading, tokens) => ( + )} )} diff --git a/src/app/features/asset-list/bitcoin/brc20-token-asset-list/brc20-token-asset-list.tsx b/src/app/features/asset-list/bitcoin/brc20-token-asset-list/brc20-token-asset-list.tsx index 3d7abccc32b..4b9ee9b36a7 100644 --- a/src/app/features/asset-list/bitcoin/brc20-token-asset-list/brc20-token-asset-list.tsx +++ b/src/app/features/asset-list/bitcoin/brc20-token-asset-list/brc20-token-asset-list.tsx @@ -3,14 +3,14 @@ import { useNavigate } from 'react-router-dom'; import { CryptoAssetSelectors } from '@tests/selectors/crypto-asset.selectors'; import { Stack } from 'leather-styles/jsx'; -import type { Brc20CryptoAssetInfo, CryptoAssetBalance, MarketData } from '@leather-wallet/models'; +import type { Brc20CryptoAssetInfo, CryptoAssetBalance, MarketData } from '@leather.io/models'; +import { Brc20AvatarIcon } from '@leather.io/ui'; import { RouteUrls } from '@shared/route-urls'; import { CryptoAssetItemLayout } from '@app/components/crypto-asset-item/crypto-asset-item.layout'; import type { AssetListVariant } from '@app/features/asset-list/asset-list'; import { useCurrentBtcCryptoAssetBalanceNativeSegwit } from '@app/query/bitcoin/balance/btc-balance-native-segwit.hooks'; -import { Brc20AvatarIcon } from '@app/ui/components/avatar/brc20-avatar-icon'; interface Brc20TokenAssetDetails { balance: CryptoAssetBalance; @@ -25,7 +25,7 @@ interface Brc20TokenAssetListProps { } export function Brc20TokenAssetList({ tokens, variant }: Brc20TokenAssetListProps) { const navigate = useNavigate(); - const { balance, isInitialLoading } = useCurrentBtcCryptoAssetBalanceNativeSegwit(); + const { balance, isLoading } = useCurrentBtcCryptoAssetBalanceNativeSegwit(); const hasPositiveBtcBalanceForFees = variant === 'interactive' && balance.availableBalance.amount.isGreaterThan(0); @@ -42,6 +42,7 @@ export function Brc20TokenAssetList({ tokens, variant }: Brc20TokenAssetListProp }); } + if (!tokens.length) return null; return ( {tokens.map(token => ( @@ -49,7 +50,7 @@ export function Brc20TokenAssetList({ tokens, variant }: Brc20TokenAssetListProp availableBalance={token.balance.availableBalance} captionLeft={token.info.name.toUpperCase()} icon={} - isLoading={isInitialLoading} + isLoading={isLoading} key={token.info.symbol} onSelectAsset={ hasPositiveBtcBalanceForFees ? () => navigateToBrc20SendForm(token) : undefined diff --git a/src/app/features/asset-list/bitcoin/btc-crypto-asset-item/btc-crypto-asset-item.tsx b/src/app/features/asset-list/bitcoin/btc-crypto-asset-item/btc-crypto-asset-item.tsx index e963d8b9069..b7a6a50eb00 100644 --- a/src/app/features/asset-list/bitcoin/btc-crypto-asset-item/btc-crypto-asset-item.tsx +++ b/src/app/features/asset-list/bitcoin/btc-crypto-asset-item/btc-crypto-asset-item.tsx @@ -1,9 +1,9 @@ -import type { BtcCryptoAssetBalance } from '@leather-wallet/models'; -import { useCryptoCurrencyMarketDataMeanAverage } from '@leather-wallet/query'; -import { baseCurrencyAmountInQuote, i18nFormatCurrency } from '@leather-wallet/utils'; +import type { BtcCryptoAssetBalance } from '@leather.io/models'; +import { useCryptoCurrencyMarketDataMeanAverage } from '@leather.io/query'; +import { BtcAvatarIcon } from '@leather.io/ui'; +import { baseCurrencyAmountInQuote, i18nFormatCurrency } from '@leather.io/utils'; import { CryptoAssetItemLayout } from '@app/components/crypto-asset-item/crypto-asset-item.layout'; -import { BtcAvatarIcon } from '@app/ui/components/avatar/btc-avatar-icon'; interface BtcCryptoAssetItemProps { balance: BtcCryptoAssetBalance; diff --git a/src/app/features/asset-list/bitcoin/runes-asset-list/runes-asset-list.tsx b/src/app/features/asset-list/bitcoin/runes-asset-list/runes-asset-list.tsx index ddebdbb22f6..6de30d00763 100644 --- a/src/app/features/asset-list/bitcoin/runes-asset-list/runes-asset-list.tsx +++ b/src/app/features/asset-list/bitcoin/runes-asset-list/runes-asset-list.tsx @@ -1,8 +1,8 @@ -import type { CryptoAssetBalance, RuneCryptoAssetInfo } from '@leather-wallet/models'; -import { convertAmountToBaseUnit, createMoneyFromDecimal } from '@leather-wallet/utils'; +import type { CryptoAssetBalance, RuneCryptoAssetInfo } from '@leather.io/models'; +import { RunesAvatarIcon } from '@leather.io/ui'; +import { convertAmountToBaseUnit, createMoneyFromDecimal } from '@leather.io/utils'; import { CryptoAssetItemLayout } from '@app/components/crypto-asset-item/crypto-asset-item.layout'; -import { RunesAvatarIcon } from '@app/ui/components/avatar/runes-avatar-icon'; interface RuneTokenAssetDetails { balance: CryptoAssetBalance; diff --git a/src/app/features/asset-list/bitcoin/src20-token-asset-list/src20-token-asset-list.tsx b/src/app/features/asset-list/bitcoin/src20-token-asset-list/src20-token-asset-list.tsx index 3a5b0788716..5152644d27e 100644 --- a/src/app/features/asset-list/bitcoin/src20-token-asset-list/src20-token-asset-list.tsx +++ b/src/app/features/asset-list/bitcoin/src20-token-asset-list/src20-token-asset-list.tsx @@ -1,6 +1,7 @@ +import { Src20AvatarIcon } from '@leather.io/ui'; + import { CryptoAssetItemLayout } from '@app/components/crypto-asset-item/crypto-asset-item.layout'; import type { Src20TokenAssetDetails } from '@app/components/loaders/src20-tokens-loader'; -import { Src20AvatarIcon } from '@app/ui/components/avatar/src20-avatar-icon'; interface Src20TokenAssetListProps { tokens: Src20TokenAssetDetails[]; diff --git a/src/app/features/asset-list/stacks/sip10-token-asset-list/sip10-token-asset-item.tsx b/src/app/features/asset-list/stacks/sip10-token-asset-list/sip10-token-asset-item.tsx index 7cb582b57e7..c78b77f9517 100644 --- a/src/app/features/asset-list/stacks/sip10-token-asset-list/sip10-token-asset-item.tsx +++ b/src/app/features/asset-list/stacks/sip10-token-asset-list/sip10-token-asset-item.tsx @@ -1,8 +1,7 @@ -import type { CryptoAssetBalance, MarketData, Sip10CryptoAssetInfo } from '@leather-wallet/models'; +import type { CryptoAssetBalance, MarketData, Sip10CryptoAssetInfo } from '@leather.io/models'; import { convertAssetBalanceToFiat } from '@app/common/asset-utils'; import { getSafeImageCanonicalUri } from '@app/common/stacks-utils'; -import { spamFilter } from '@app/common/utils/spam-filter'; import { CryptoAssetItemLayout } from '@app/components/crypto-asset-item/crypto-asset-item.layout'; import { StacksAssetAvatar } from '@app/components/stacks-asset-avatar'; @@ -20,23 +19,23 @@ export function Sip10TokenAssetItem({ marketData, onSelectAsset, }: Sip10TokenAssetItemProps) { - const name = spamFilter(info.name); const fiatBalance = convertAssetBalanceToFiat({ balance: balance.availableBalance, marketData, }); + const { contractId, imageCanonicalUri, name, symbol } = info; return ( {name[0]} diff --git a/src/app/features/asset-list/stacks/sip10-token-asset-list/sip10-token-asset-list-unsupported.tsx b/src/app/features/asset-list/stacks/sip10-token-asset-list/sip10-token-asset-list-unsupported.tsx index b5aaf71fed9..28c8b0733a1 100644 --- a/src/app/features/asset-list/stacks/sip10-token-asset-list/sip10-token-asset-list-unsupported.tsx +++ b/src/app/features/asset-list/stacks/sip10-token-asset-list/sip10-token-asset-list-unsupported.tsx @@ -2,12 +2,8 @@ import { useState } from 'react'; import { Stack, styled } from 'leather-styles/jsx'; -import { - type Sip10TokenAssetDetails, - useAlexCurrencyPriceAsMarketData, -} from '@leather-wallet/query'; - -import { Accordion } from '@app/ui/components/accordion/accordion'; +import { type Sip10TokenAssetDetails, useAlexCurrencyPriceAsMarketData } from '@leather.io/query'; +import { Accordion } from '@leather.io/ui'; import { Sip10TokenAssetItem } from './sip10-token-asset-item'; diff --git a/src/app/features/asset-list/stacks/sip10-token-asset-list/sip10-token-asset-list.tsx b/src/app/features/asset-list/stacks/sip10-token-asset-list/sip10-token-asset-list.tsx index 80030602010..3a8933f4dfd 100644 --- a/src/app/features/asset-list/stacks/sip10-token-asset-list/sip10-token-asset-list.tsx +++ b/src/app/features/asset-list/stacks/sip10-token-asset-list/sip10-token-asset-list.tsx @@ -1,9 +1,6 @@ import { Stack } from 'leather-styles/jsx'; -import { - type Sip10TokenAssetDetails, - useAlexCurrencyPriceAsMarketData, -} from '@leather-wallet/query'; +import { type Sip10TokenAssetDetails, useAlexCurrencyPriceAsMarketData } from '@leather.io/query'; import { getPrincipalFromContractId } from '@app/common/utils'; diff --git a/src/app/features/asset-list/stacks/stx-crypo-asset-item/stx-crypto-asset-item.tsx b/src/app/features/asset-list/stacks/stx-crypo-asset-item/stx-crypto-asset-item.tsx index 9f1b525bc6e..74f9c291356 100644 --- a/src/app/features/asset-list/stacks/stx-crypo-asset-item/stx-crypto-asset-item.tsx +++ b/src/app/features/asset-list/stacks/stx-crypo-asset-item/stx-crypto-asset-item.tsx @@ -1,16 +1,15 @@ import { styled } from 'leather-styles/jsx'; -import type { StxCryptoAssetBalance } from '@leather-wallet/models'; -import { useCryptoCurrencyMarketDataMeanAverage } from '@leather-wallet/query'; +import type { StxCryptoAssetBalance } from '@leather.io/models'; +import { useCryptoCurrencyMarketDataMeanAverage } from '@leather.io/query'; +import { Caption, StxAvatarIcon } from '@leather.io/ui'; import { baseCurrencyAmountInQuote, formatMoneyWithoutSymbol, i18nFormatCurrency, -} from '@leather-wallet/utils'; +} from '@leather.io/utils'; import { CryptoAssetItemLayout } from '@app/components/crypto-asset-item/crypto-asset-item.layout'; -import { StxAvatarIcon } from '@app/ui/components/avatar/stx-avatar-icon'; -import { Caption } from '@app/ui/components/typography/caption'; interface StxCryptoAssetItemProps { balance: StxCryptoAssetBalance; diff --git a/src/app/features/asset-list/stacks/stx20-token-asset-list/stx20-token-asset-list.tsx b/src/app/features/asset-list/stacks/stx20-token-asset-list/stx20-token-asset-list.tsx index 60c490b1767..d3e6ddc6af1 100644 --- a/src/app/features/asset-list/stacks/stx20-token-asset-list/stx20-token-asset-list.tsx +++ b/src/app/features/asset-list/stacks/stx20-token-asset-list/stx20-token-asset-list.tsx @@ -1,4 +1,4 @@ -import type { CryptoAssetBalance, Stx20CryptoAssetInfo } from '@leather-wallet/models'; +import type { CryptoAssetBalance, Stx20CryptoAssetInfo } from '@leather.io/models'; import { CryptoAssetItemLayout } from '@app/components/crypto-asset-item/crypto-asset-item.layout'; import { Stx20AvatarIcon } from '@app/ui/components/avatar/stx20-avatar-icon'; diff --git a/src/app/features/bitcoin-choose-fee/bitcoin-choose-fee.tsx b/src/app/features/bitcoin-choose-fee/bitcoin-choose-fee.tsx index ec8232a12c8..5319d1f6f5d 100644 --- a/src/app/features/bitcoin-choose-fee/bitcoin-choose-fee.tsx +++ b/src/app/features/bitcoin-choose-fee/bitcoin-choose-fee.tsx @@ -2,8 +2,8 @@ import { useState } from 'react'; import { Box, FlexProps, Stack, styled } from 'leather-styles/jsx'; -import type { BtcFeeType, Money } from '@leather-wallet/models'; -import { formatMoney } from '@leather-wallet/utils'; +import type { BtcFeeType, Money } from '@leather.io/models'; +import { formatMoney } from '@leather.io/utils'; import type { TransferRecipient } from '@shared/models/form.model'; diff --git a/src/app/features/bitcoin-choose-fee/components/choose-fee-tabs.tsx b/src/app/features/bitcoin-choose-fee/components/choose-fee-tabs.tsx index bfe3025ba19..f4cee49173c 100644 --- a/src/app/features/bitcoin-choose-fee/components/choose-fee-tabs.tsx +++ b/src/app/features/bitcoin-choose-fee/components/choose-fee-tabs.tsx @@ -2,9 +2,11 @@ import { Suspense } from 'react'; import { Box, Stack, StackProps } from 'leather-styles/jsx'; -import { useAnalytics } from '@app/common/hooks/analytics/use-analytics'; +import { Tabs } from '@leather.io/ui'; + +import { analytics } from '@shared/utils/analytics'; + import { LoadingSpinner } from '@app/components/loading-spinner'; -import { Tabs } from '@app/ui/components/tabs/tabs'; enum CustomFeeTabs { Recommended = 'recommended', @@ -18,7 +20,6 @@ interface ChooseFeeTabsProps extends StackProps { } export function ChooseFeeTabs(props: ChooseFeeTabsProps) { const { customFee, defaultToCustomFee, feesList, ...rest } = props; - const analytics = useAnalytics(); return ( diff --git a/src/app/features/bitcoin-choose-fee/hooks/use-validate-bitcoin-spend.ts b/src/app/features/bitcoin-choose-fee/hooks/use-validate-bitcoin-spend.ts index 5055843e24f..f85936fdd4d 100644 --- a/src/app/features/bitcoin-choose-fee/hooks/use-validate-bitcoin-spend.ts +++ b/src/app/features/bitcoin-choose-fee/hooks/use-validate-bitcoin-spend.ts @@ -1,7 +1,7 @@ import { useState } from 'react'; -import type { Money } from '@leather-wallet/models'; -import { createMoney, subtractMoney, sumMoney } from '@leather-wallet/utils'; +import type { Money } from '@leather.io/models'; +import { createMoney, subtractMoney, sumMoney } from '@leather.io/utils'; import { useCurrentBtcCryptoAssetBalanceNativeSegwit } from '@app/query/bitcoin/balance/btc-balance-native-segwit.hooks'; diff --git a/src/app/features/collectibles/components/_collectible-types/collectible-audio.tsx b/src/app/features/collectibles/components/_collectible-types/collectible-audio.tsx index c2b4b90fd6c..6059717f030 100644 --- a/src/app/features/collectibles/components/_collectible-types/collectible-audio.tsx +++ b/src/app/features/collectibles/components/_collectible-types/collectible-audio.tsx @@ -1,6 +1,6 @@ import { ReactNode } from 'react'; -import { HeadsetIcon } from '@app/ui/icons/headset-icon'; +import { HeadsetIcon } from '@leather.io/ui'; import { CollectibleItemLayout, CollectibleItemLayoutProps } from '../collectible-item.layout'; import { CollectiblePlaceholderLayout } from './collectible-placeholder.layout'; diff --git a/src/app/features/collectibles/components/add-collectible.tsx b/src/app/features/collectibles/components/add-collectible.tsx index a6b37349175..6cf4a632850 100644 --- a/src/app/features/collectibles/components/add-collectible.tsx +++ b/src/app/features/collectibles/components/add-collectible.tsx @@ -1,15 +1,15 @@ import { useLocation, useNavigate } from 'react-router-dom'; -import { RouteUrls } from '@shared/route-urls'; +import { PlusIcon } from '@leather.io/ui'; -import { useAnalytics } from '@app/common/hooks/analytics/use-analytics'; -import { PlusIcon } from '@app/ui/icons/plus-icon'; +import { RouteUrls } from '@shared/route-urls'; +import { analytics } from '@shared/utils/analytics'; import { CollectibleItemLayout } from './collectible-item.layout'; export function AddCollectible() { const navigate = useNavigate(); - const analytics = useAnalytics(); + const location = useLocation(); return ( diff --git a/src/app/features/collectibles/components/bitcoin/inscription-text.tsx b/src/app/features/collectibles/components/bitcoin/inscription-text.tsx index 15fc469ba58..acf9604ac3b 100644 --- a/src/app/features/collectibles/components/bitcoin/inscription-text.tsx +++ b/src/app/features/collectibles/components/bitcoin/inscription-text.tsx @@ -1,7 +1,7 @@ -import { useInscriptionTextContentQuery } from '@leather-wallet/query'; +import { useInscriptionTextContentQuery } from '@leather.io/query'; +import { OrdinalAvatarIcon } from '@leather.io/ui'; import { parseJson } from '@app/components/json'; -import { OrdinalAvatarIcon } from '@app/ui/components/avatar/ordinal-avatar-icon'; import { CollectibleText } from '../_collectible-types/collectible-text'; diff --git a/src/app/features/collectibles/components/bitcoin/inscription.tsx b/src/app/features/collectibles/components/bitcoin/inscription.tsx index fd5db492fbc..bdb1a54d40a 100644 --- a/src/app/features/collectibles/components/bitcoin/inscription.tsx +++ b/src/app/features/collectibles/components/bitcoin/inscription.tsx @@ -1,12 +1,12 @@ import { useLocation, useNavigate } from 'react-router-dom'; -import { type Inscription } from '@leather-wallet/models'; +import { type Inscription } from '@leather.io/models'; +import { OrdinalAvatarIcon } from '@leather.io/ui'; import { ORD_IO_URL } from '@shared/constants'; import { RouteUrls } from '@shared/route-urls'; import { openInNewTab } from '@app/common/utils/open-in-new-tab'; -import { OrdinalAvatarIcon } from '@app/ui/components/avatar/ordinal-avatar-icon'; import { CollectibleAudio } from '../_collectible-types/collectible-audio'; import { CollectibleIframe } from '../_collectible-types/collectible-iframe'; diff --git a/src/app/features/collectibles/components/bitcoin/ordinals.tsx b/src/app/features/collectibles/components/bitcoin/ordinals.tsx index 0e6341e8a66..a25eaaa332a 100644 --- a/src/app/features/collectibles/components/bitcoin/ordinals.tsx +++ b/src/app/features/collectibles/components/bitcoin/ordinals.tsx @@ -3,9 +3,10 @@ import { useInView } from 'react-intersection-observer'; import { Box } from 'leather-styles/jsx'; -import { useInscriptions } from '@leather-wallet/query'; +import { useInscriptions } from '@leather.io/query'; + +import { analytics } from '@shared/utils/analytics'; -import { useAnalytics } from '@app/common/hooks/analytics/use-analytics'; import { useCurrentAccountNativeSegwitIndexZeroSigner } from '@app/store/accounts/blockchain/bitcoin/native-segwit-account.hooks'; import { useCurrentTaprootAccount } from '@app/store/accounts/blockchain/bitcoin/taproot-account.hooks'; @@ -18,22 +19,21 @@ export function Ordinals({ setIsLoadingMore }: OrdinalsProps) { const account = useCurrentTaprootAccount(); const nativeSegwitSigner = useCurrentAccountNativeSegwitIndexZeroSigner(); - const query = useInscriptions({ + const result = useInscriptions({ taprootKeychain: account?.keychain, nativeSegwitAddress: nativeSegwitSigner.address, }); - const pages = query.data?.pages; - const analytics = useAnalytics(); + const { ref: intersectionSentinel, inView } = useInView({ rootMargin: '0% 0% 20% 0%', }); useEffect(() => { async function fetchNextPage() { - if (!query.hasNextPage || query.isLoading || query.isFetchingNextPage) return; + if (!result.hasNextPage || result.isLoading || result.isFetchingNextPage) return; try { setIsLoadingMore(true); - await query.fetchNextPage(); + await result.fetchNextPage(); } catch (e) { // TO-DO: handle error // console.log(e); @@ -44,27 +44,25 @@ export function Ordinals({ setIsLoadingMore }: OrdinalsProps) { if (inView) { void fetchNextPage(); } - }, [inView, query, setIsLoadingMore]); + }, [inView, result, setIsLoadingMore]); useEffect(() => { - const inscriptionsLength = pages?.reduce((acc, page) => acc + page.inscriptions.length, 0) || 0; + const inscriptionsLength = result.inscriptions.length || 0; if (inscriptionsLength > 0) { void analytics.track('view_collectibles', { ordinals_count: inscriptionsLength, }); void analytics.identify({ ordinals_count: inscriptionsLength }); } - }, [pages, analytics]); + }, [result.inscriptions.length]); - if (!pages) return null; + if (!result.inscriptions) return null; return ( <> - {pages.map(page => - page.inscriptions.map(inscription => ( - - )) - )} + {result.inscriptions.map(inscription => ( + + ))} ); diff --git a/src/app/features/collectibles/components/bitcoin/stamp.tsx b/src/app/features/collectibles/components/bitcoin/stamp.tsx index 758aaca3980..c44beec6002 100644 --- a/src/app/features/collectibles/components/bitcoin/stamp.tsx +++ b/src/app/features/collectibles/components/bitcoin/stamp.tsx @@ -1,4 +1,4 @@ -import { Stamp as BitcoinStamp } from '@leather-wallet/query'; +import { Stamp as BitcoinStamp } from '@leather.io/query'; import { openInNewTab } from '@app/common/utils/open-in-new-tab'; import { StampsAvatarIcon } from '@app/ui/components/avatar/stamps-avatar-icon'; diff --git a/src/app/features/collectibles/components/bitcoin/stamps.tsx b/src/app/features/collectibles/components/bitcoin/stamps.tsx index 2667249f1e8..2e7c31593c5 100644 --- a/src/app/features/collectibles/components/bitcoin/stamps.tsx +++ b/src/app/features/collectibles/components/bitcoin/stamps.tsx @@ -1,8 +1,9 @@ import { useEffect } from 'react'; -import { useStampsByAddress } from '@leather-wallet/query'; +import { useStampsByAddress } from '@leather.io/query'; + +import { analytics } from '@shared/utils/analytics'; -import { useAnalytics } from '@app/common/hooks/analytics/use-analytics'; import { useCurrentAccountNativeSegwitAddressIndexZero } from '@app/store/accounts/blockchain/bitcoin/native-segwit-account.hooks'; import { Stamp } from './stamp'; @@ -10,7 +11,6 @@ import { Stamp } from './stamp'; export function Stamps() { const currentAccountBtcAddress = useCurrentAccountNativeSegwitAddressIndexZero(); const { data: stamps = [] } = useStampsByAddress(currentAccountBtcAddress); - const analytics = useAnalytics(); useEffect(() => { if (!stamps.length) return; @@ -20,7 +20,7 @@ export function Stamps() { }); void analytics.identify({ stamps_count: stamps.length }); } - }, [analytics, stamps]); + }, [stamps]); if (!stamps.length) return null; diff --git a/src/app/features/collectibles/components/collectible-hover.tsx b/src/app/features/collectibles/components/collectible-hover.tsx index 6e99283a962..79d7a49146e 100644 --- a/src/app/features/collectibles/components/collectible-hover.tsx +++ b/src/app/features/collectibles/components/collectible-hover.tsx @@ -1,8 +1,8 @@ import { ReactNode } from 'react'; -import { Box, styled } from 'leather-styles/jsx'; +import { Box } from 'leather-styles/jsx'; -import { ArrowUpIcon } from '@app/ui/icons/arrow-up-icon'; +import { ArrowUpIcon, IconButton } from '@leather.io/ui'; interface CollectibleHoverProps { collectibleTypeIcon?: ReactNode; @@ -38,15 +38,23 @@ export function CollectibleHover({ {collectibleTypeIcon} {onClickCallToAction && ( - + } onClick={e => { e.stopPropagation(); onClickCallToAction(); @@ -57,9 +65,7 @@ export function CollectibleHover({ type="button" width="30px" zIndex={999} - > - - + /> )} ); diff --git a/src/app/features/collectibles/components/collectible.layout.tsx b/src/app/features/collectibles/components/collectible.layout.tsx index 460cd484f6d..3fec6b158cd 100644 --- a/src/app/features/collectibles/components/collectible.layout.tsx +++ b/src/app/features/collectibles/components/collectible.layout.tsx @@ -1,9 +1,9 @@ import { Flex, Grid, HStack, styled } from 'leather-styles/jsx'; import { token } from 'leather-styles/tokens'; +import { RefreshIcon, Spinner } from '@leather.io/ui'; + import { LoadingSpinner } from '@app/components/loading-spinner'; -import { Spinner } from '@app/ui/components/spinner'; -import { RefreshIcon } from '@app/ui/icons/refresh-icon'; interface CollectiblesLayoutProps { title: string; diff --git a/src/app/features/collectibles/components/image-unavailable.tsx b/src/app/features/collectibles/components/image-unavailable.tsx index 309beed9a49..b7a11d624c1 100644 --- a/src/app/features/collectibles/components/image-unavailable.tsx +++ b/src/app/features/collectibles/components/image-unavailable.tsx @@ -1,6 +1,6 @@ import { styled } from 'leather-styles/jsx'; -import { EyeSlashIcon } from '@app/ui/icons/eye-slash-icon'; +import { EyeSlashIcon } from '@leather.io/ui'; import { CollectiblePlaceholderLayout } from './_collectible-types/collectible-placeholder.layout'; diff --git a/src/app/features/collectibles/components/stacks/stacks-bns-name.tsx b/src/app/features/collectibles/components/stacks/stacks-bns-name.tsx index 0fddbfc96c0..569c26832b5 100644 --- a/src/app/features/collectibles/components/stacks/stacks-bns-name.tsx +++ b/src/app/features/collectibles/components/stacks/stacks-bns-name.tsx @@ -1,6 +1,6 @@ import StacksNftBns from '@assets/images/stacks-nft-bns.png'; -import { StxAvatarIcon } from '@app/ui/components/avatar/stx-avatar-icon'; +import { StxAvatarIcon } from '@leather.io/ui'; import { CollectibleItemLayout } from '../collectible-item.layout'; diff --git a/src/app/features/collectibles/components/stacks/stacks-crypto-assets.tsx b/src/app/features/collectibles/components/stacks/stacks-crypto-assets.tsx index 13244ef881c..ce8fb69e734 100644 --- a/src/app/features/collectibles/components/stacks/stacks-crypto-assets.tsx +++ b/src/app/features/collectibles/components/stacks/stacks-crypto-assets.tsx @@ -3,9 +3,10 @@ import { useEffect } from 'react'; import { useGetBnsNamesOwnedByAddressQuery, useStacksNonFungibleTokensMetadata, -} from '@leather-wallet/query'; +} from '@leather.io/query'; + +import { analytics } from '@shared/utils/analytics'; -import { useAnalytics } from '@app/common/hooks/analytics/use-analytics'; import { parseIfValidPunycode } from '@app/common/utils'; import { StacksBnsName } from './stacks-bns-name'; @@ -18,7 +19,6 @@ export function StacksCryptoAssets({ address }: StacksCryptoAssetsProps) { const names = useGetBnsNamesOwnedByAddressQuery(address).data?.names; const stacksNftsMetadataResp = useStacksNonFungibleTokensMetadata(address); - const analytics = useAnalytics(); useEffect(() => { if (stacksNftsMetadataResp.length > 0) { @@ -27,7 +27,7 @@ export function StacksCryptoAssets({ address }: StacksCryptoAssetsProps) { }); void analytics.identify({ stacks_nfts_count: stacksNftsMetadataResp.length }); } - }, [stacksNftsMetadataResp.length, analytics]); + }, [stacksNftsMetadataResp.length]); return ( <> diff --git a/src/app/features/collectibles/components/stacks/stacks-non-fungible-tokens.tsx b/src/app/features/collectibles/components/stacks/stacks-non-fungible-tokens.tsx index 1bd48e3aabc..7d049992b3f 100644 --- a/src/app/features/collectibles/components/stacks/stacks-non-fungible-tokens.tsx +++ b/src/app/features/collectibles/components/stacks/stacks-non-fungible-tokens.tsx @@ -1,8 +1,8 @@ import { Metadata as StacksNftMetadata } from '@hirosystems/token-metadata-api-client'; -import { isValidUrl } from '@shared/utils/validate-url'; +import { StxAvatarIcon } from '@leather.io/ui'; -import { StxAvatarIcon } from '@app/ui/components/avatar/stx-avatar-icon'; +import { isValidUrl } from '@shared/utils/validate-url'; import { CollectibleImage } from '../_collectible-types/collectible-image'; import { ImageUnavailable } from '../image-unavailable'; diff --git a/src/app/features/collectibles/components/taproot-balance-displayer.tsx b/src/app/features/collectibles/components/taproot-balance-displayer.tsx index 7ebf853c6bf..b83b395b7cb 100644 --- a/src/app/features/collectibles/components/taproot-balance-displayer.tsx +++ b/src/app/features/collectibles/components/taproot-balance-displayer.tsx @@ -1,11 +1,11 @@ -import { useCurrentTaprootAccountBalance } from '@leather-wallet/query'; -import { formatMoney } from '@leather-wallet/utils'; +import { useCurrentTaprootAccountBalance } from '@leather.io/query'; +import { Link } from '@leather.io/ui'; +import { formatMoney } from '@leather.io/utils'; import { useRecoverUninscribedTaprootUtxosFeatureEnabled } from '@app/query/common/remote-config/remote-config.query'; import { useCurrentAccountIndex } from '@app/store/accounts/account'; import { useCurrentAccountNativeSegwitIndexZeroSigner } from '@app/store/accounts/blockchain/bitcoin/native-segwit-account.hooks'; import { useCurrentTaprootAccount } from '@app/store/accounts/blockchain/bitcoin/taproot-account.hooks'; -import { Link } from '@app/ui/components/link/link'; import { BasicTooltip } from '@app/ui/components/tooltip/basic-tooltip'; const taprootSpendNotSupportedYetMsg = ` diff --git a/src/app/features/collectibles/hooks/use-is-fetching-collectibles.ts b/src/app/features/collectibles/hooks/use-is-fetching-collectibles.ts index dfa4ece8243..45f8f974151 100644 --- a/src/app/features/collectibles/hooks/use-is-fetching-collectibles.ts +++ b/src/app/features/collectibles/hooks/use-is-fetching-collectibles.ts @@ -1,8 +1,7 @@ import { useIsFetching } from '@tanstack/react-query'; -import { sumNumbers } from '@leather-wallet/utils'; - -import { QueryPrefixes } from '@app/query/query-prefixes'; +import { QueryPrefixes } from '@leather.io/query'; +import { sumNumbers } from '@leather.io/utils'; function areAnyQueriesFetching(...args: number[]) { return sumNumbers(args).toNumber() > 0; @@ -10,17 +9,17 @@ function areAnyQueriesFetching(...args: number[]) { export function useIsFetchingCollectiblesRelatedQuery() { // Ordinal inscriptions - const n1 = useIsFetching([QueryPrefixes.TaprootAddressUtxos]); - const n2 = useIsFetching([QueryPrefixes.InscriptionsByAddress]); - const n3 = useIsFetching([QueryPrefixes.InscriptionMetadata]); - const n4 = useIsFetching([QueryPrefixes.OrdinalTextContent]); - const n5 = useIsFetching([QueryPrefixes.GetInscriptions]); + const n1 = useIsFetching({ queryKey: [QueryPrefixes.TaprootAddressUtxos] }); + const n2 = useIsFetching({ queryKey: [QueryPrefixes.InscriptionsByAddress] }); + const n3 = useIsFetching({ queryKey: [QueryPrefixes.InscriptionMetadata] }); + const n4 = useIsFetching({ queryKey: [QueryPrefixes.OrdinalTextContent] }); + const n5 = useIsFetching({ queryKey: [QueryPrefixes.GetInscriptions] }); // BNS - const n6 = useIsFetching([QueryPrefixes.BnsNamesByAddress]); + const n6 = useIsFetching({ queryKey: [QueryPrefixes.BnsNamesByAddress] }); // NFTs - const n7 = useIsFetching([QueryPrefixes.GetNftMetadata]); + const n7 = useIsFetching({ queryKey: [QueryPrefixes.GetNftMetadata] }); return areAnyQueriesFetching(n1, n2, n3, n4, n5, n6, n7); } diff --git a/src/app/features/container/container.tsx b/src/app/features/container/container.tsx index 481904699fa..6c0a578154e 100644 --- a/src/app/features/container/container.tsx +++ b/src/app/features/container/container.tsx @@ -6,10 +6,13 @@ import { OnboardingSelectors } from '@tests/selectors/onboarding.selectors'; import { SettingsSelectors } from '@tests/selectors/settings.selectors'; import { Box } from 'leather-styles/jsx'; +import { Flag, HamburgerIcon, Logo, NetworkModeBadge } from '@leather.io/ui'; + import { RouteUrls } from '@shared/route-urls'; import { closeWindow } from '@shared/utils'; +import { analytics } from '@shared/utils/analytics'; -import { useAnalytics, useInitalizeAnalytics } from '@app/common/hooks/analytics/use-analytics'; +import { useInitalizeAnalytics } from '@app/common/app-analytics'; import { LoadingSpinner } from '@app/components/loading-spinner'; import { CurrentAccountAvatar } from '@app/features/current-account/current-account-avatar'; import { CurrentAccountName } from '@app/features/current-account/current-account-name'; @@ -20,11 +23,7 @@ import { useOnWalletLock } from '@app/routes/hooks/use-on-wallet-lock'; import { useHasStateRehydrated } from '@app/store'; import { useCurrentNetworkState } from '@app/store/networks/networks.hooks'; import { ContainerLayout } from '@app/ui/components/containers/container.layout'; -import { NetworkModeBadge } from '@app/ui/components/containers/headers/components/network-mode-badge'; import { Header } from '@app/ui/components/containers/headers/header'; -import { Flag } from '@app/ui/components/flag/flag'; -import { Logo } from '@app/ui/components/logo'; -import { HamburgerIcon } from '@app/ui/icons/'; import { useRestoreFormState } from '../popup-send-form-restoration/use-restore-form-state'; import { Settings } from '../settings/settings'; @@ -53,7 +52,7 @@ export function Container() { const navigate = useNavigate(); const { pathname: locationPathname } = useLocation(); const pathname = locationPathname as RouteUrls; - const analytics = useAnalytics(); + const hasStateRehydrated = useHasStateRehydrated(); const { chain, name: chainName } = useCurrentNetworkState(); @@ -62,7 +61,7 @@ export function Container() { useRestoreFormState(); useInitalizeAnalytics(); - useEffect(() => void analytics.page('view', `${pathname}`), [analytics, pathname]); + useEffect(() => void analytics.page('view', `${pathname}`), [pathname]); const variant = getPageVariant(pathname); diff --git a/src/app/features/container/utils/get-popup-header.ts b/src/app/features/container/utils/get-popup-header.ts index 16ae97bd077..805ed8c0101 100644 --- a/src/app/features/container/utils/get-popup-header.ts +++ b/src/app/features/container/utils/get-popup-header.ts @@ -1,5 +1,5 @@ /** - * POPUP header logic notes here -> https://github.com/leather-wallet/extension/issues/4371#issuecomment-1919114939 + * POPUP header logic notes here -> https://github.com/leather-io/extension/issues/4371#issuecomment-1919114939 */ import { RouteUrls } from '@shared/route-urls'; diff --git a/src/app/features/devtool/devtools.tsx b/src/app/features/devtool/devtools.tsx index 42884ff9eb2..34f9e696e60 100644 --- a/src/app/features/devtool/devtools.tsx +++ b/src/app/features/devtool/devtools.tsx @@ -6,7 +6,7 @@ import { queryClient } from '@app/common/persistence'; export function Devtools() { return queryClient ? ( - + ) : null; } diff --git a/src/app/features/dialogs/edit-nonce-dialog/components/edit-nonce-field.tsx b/src/app/features/dialogs/edit-nonce-dialog/components/edit-nonce-field.tsx index de37a000648..b0f19f66c11 100644 --- a/src/app/features/dialogs/edit-nonce-dialog/components/edit-nonce-field.tsx +++ b/src/app/features/dialogs/edit-nonce-dialog/components/edit-nonce-field.tsx @@ -3,8 +3,9 @@ import { FormEvent, memo } from 'react'; import { useField } from 'formik'; import { Stack, StackProps } from 'leather-styles/jsx'; +import { Input } from '@leather.io/ui'; + import { ErrorLabel } from '@app/components/error-label'; -import { Input } from '@app/ui/components/input/input'; interface EditNonceFieldProps extends StackProps { onBlur(): void; diff --git a/src/app/features/dialogs/edit-nonce-dialog/components/edit-nonce-form.tsx b/src/app/features/dialogs/edit-nonce-dialog/components/edit-nonce-form.tsx index 8d1d37dbff1..9cd96bb928d 100644 --- a/src/app/features/dialogs/edit-nonce-dialog/components/edit-nonce-form.tsx +++ b/src/app/features/dialogs/edit-nonce-dialog/components/edit-nonce-form.tsx @@ -1,6 +1,6 @@ import { HStack } from 'leather-styles/jsx'; -import { Button } from '@app/ui/components/button/button'; +import { Button } from '@leather.io/ui'; import { EditNonceField } from './edit-nonce-field'; diff --git a/src/app/features/dialogs/edit-nonce-dialog/edit-nonce-dialog.tsx b/src/app/features/dialogs/edit-nonce-dialog/edit-nonce-dialog.tsx index 92bce3793d0..35389fa1f3d 100644 --- a/src/app/features/dialogs/edit-nonce-dialog/edit-nonce-dialog.tsx +++ b/src/app/features/dialogs/edit-nonce-dialog/edit-nonce-dialog.tsx @@ -4,13 +4,13 @@ import { useLocation, useNavigate } from 'react-router-dom'; import { useFormikContext } from 'formik'; import { Stack, styled } from 'leather-styles/jsx'; +import { Dialog, Link } from '@leather.io/ui'; + import { StacksSendFormValues, StacksTransactionFormValues } from '@shared/models/form.model'; import { useOnMount } from '@app/common/hooks/use-on-mount'; import { openInNewTab } from '@app/common/utils/open-in-new-tab'; -import { Dialog } from '@app/ui/components/containers/dialog/dialog'; import { DialogHeader } from '@app/ui/components/containers/headers/dialog-header'; -import { Link } from '@app/ui/components/link/link'; import { EditNonceForm } from './components/edit-nonce-form'; diff --git a/src/app/features/dialogs/high-fee-dialog/high-fee-dialog.tsx b/src/app/features/dialogs/high-fee-dialog/high-fee-dialog.tsx deleted file mode 100644 index 8b0a1aff694..00000000000 --- a/src/app/features/dialogs/high-fee-dialog/high-fee-dialog.tsx +++ /dev/null @@ -1,77 +0,0 @@ -import { useEffect, useState } from 'react'; - -import { useFormikContext } from 'formik'; -import { HStack, Stack } from 'leather-styles/jsx'; - -import { - BitcoinSendFormValues, - StacksSendFormValues, - StacksTransactionFormValues, -} from '@shared/models/form.model'; - -import { openInNewTab } from '@app/common/utils/open-in-new-tab'; -import { Button } from '@app/ui/components/button/button'; -import { Dialog } from '@app/ui/components/containers/dialog/dialog'; -import { Footer } from '@app/ui/components/containers/footers/footer'; -import { DialogHeader } from '@app/ui/components/containers/headers/dialog-header'; -import { Link } from '@app/ui/components/link/link'; -import { Caption } from '@app/ui/components/typography/caption'; -import { Title } from '@app/ui/components/typography/title'; -import { ErrorIcon } from '@app/ui/icons'; - -interface HighFeeDialogProps { - learnMoreUrl: string; - isShowing?: boolean; -} - -export function HighFeeDialog({ learnMoreUrl, isShowing = false }: HighFeeDialogProps) { - const [isShowingHighFeeConfirmation, setIsShowingHighFeeConfirmation] = useState(isShowing); - - useEffect(() => { - return () => { - if (isShowingHighFeeConfirmation) setIsShowingHighFeeConfirmation(false); - }; - }, [isShowingHighFeeConfirmation, setIsShowingHighFeeConfirmation]); - - const { handleSubmit, values } = useFormikContext< - BitcoinSendFormValues | StacksSendFormValues | StacksTransactionFormValues - >(); - return ( - } - isShowing={isShowingHighFeeConfirmation} - onClose={() => setIsShowingHighFeeConfirmation(false)} - footer={ -
- - -
- } - > - - - - - Are you sure you want to pay {values.fee} {values.feeCurrency} in fees for this - transaction? - - - - This action cannot be undone and the fees won't be returned, even if the transaction - fails. - openInNewTab(learnMoreUrl)} size="sm"> - Learn more - - - -
- ); -} diff --git a/src/app/features/dialogs/increase-fee-dialog/components/increase-fee-actions.tsx b/src/app/features/dialogs/increase-fee-dialog/components/increase-fee-actions.tsx index f00b31b7c37..b51ae084d0f 100644 --- a/src/app/features/dialogs/increase-fee-dialog/components/increase-fee-actions.tsx +++ b/src/app/features/dialogs/increase-fee-dialog/components/increase-fee-actions.tsx @@ -1,7 +1,8 @@ import { useFormikContext } from 'formik'; +import { Button } from '@leather.io/ui'; + import { useWalletType } from '@app/common/use-wallet-type'; -import { Button } from '@app/ui/components/button/button'; interface IncreaseFeeActionsProps { isBroadcasting?: boolean; diff --git a/src/app/features/dialogs/increase-fee-dialog/components/increase-fee-field.tsx b/src/app/features/dialogs/increase-fee-dialog/components/increase-fee-field.tsx index 29af1c453e2..64e7d02c8e0 100644 --- a/src/app/features/dialogs/increase-fee-dialog/components/increase-fee-field.tsx +++ b/src/app/features/dialogs/increase-fee-dialog/components/increase-fee-field.tsx @@ -3,7 +3,7 @@ import { useCallback, useMemo, useState } from 'react'; import { useField } from 'formik'; import { Stack, styled } from 'leather-styles/jsx'; -import { microStxToStx, stxToMicroStx } from '@leather-wallet/utils'; +import { microStxToStx, stxToMicroStx } from '@leather.io/utils'; import { ErrorLabel } from '@app/components/error-label'; diff --git a/src/app/features/dialogs/increase-fee-dialog/hooks/use-btc-increase-fee.ts b/src/app/features/dialogs/increase-fee-dialog/hooks/use-btc-increase-fee.ts index 3ef8593dfa6..70c14955627 100644 --- a/src/app/features/dialogs/increase-fee-dialog/hooks/use-btc-increase-fee.ts +++ b/src/app/features/dialogs/increase-fee-dialog/hooks/use-btc-increase-fee.ts @@ -5,13 +5,13 @@ import * as btc from '@scure/btc-signer'; import BigNumber from 'bignumber.js'; import * as yup from 'yup'; -import type { BitcoinTx } from '@leather-wallet/models'; -import { useBitcoinBroadcastTransaction } from '@leather-wallet/query'; -import { btcToSat, createMoney, isError } from '@leather-wallet/utils'; +import type { BitcoinTx } from '@leather.io/models'; +import { useBitcoinBroadcastTransaction } from '@leather.io/query'; +import { btcToSat, createMoney, isError } from '@leather.io/utils'; import { RouteUrls } from '@shared/route-urls'; +import { analytics } from '@shared/utils/analytics'; -import { useAnalytics } from '@app/common/hooks/analytics/use-analytics'; import { queryClient } from '@app/common/persistence'; import { getBitcoinTxSizeEstimation, @@ -31,7 +31,6 @@ export function useBtcIncreaseFee(btcTx: BitcoinTx) { const toast = useToast(); const navigate = useNavigate(); const networkMode = useBitcoinScureLibNetworkConfig(); - const analytics = useAnalytics(); const { address: currentBitcoinAddress, publicKey } = useCurrentAccountNativeSegwitIndexZeroSigner(); diff --git a/src/app/features/dialogs/increase-fee-dialog/increase-btc-fee-dialog.tsx b/src/app/features/dialogs/increase-fee-dialog/increase-btc-fee-dialog.tsx index 5ae2edb5e38..52a92904a6a 100644 --- a/src/app/features/dialogs/increase-fee-dialog/increase-btc-fee-dialog.tsx +++ b/src/app/features/dialogs/increase-fee-dialog/increase-btc-fee-dialog.tsx @@ -4,8 +4,9 @@ import { Outlet, useLocation, useNavigate } from 'react-router-dom'; import { Formik } from 'formik'; import { Flex, Stack } from 'leather-styles/jsx'; -import type { BitcoinTx } from '@leather-wallet/models'; -import { btcToSat, createMoney, formatMoney } from '@leather-wallet/utils'; +import type { BitcoinTx } from '@leather.io/models'; +import { Caption, Dialog, Spinner } from '@leather.io/ui'; +import { btcToSat, createMoney, formatMoney } from '@leather.io/utils'; import { RouteUrls } from '@shared/route-urls'; @@ -15,11 +16,8 @@ import { BitcoinCustomFeeInput } from '@app/components/bitcoin-custom-fee/bitcoi import { BitcoinTransactionItem } from '@app/components/bitcoin-transaction-item/bitcoin-transaction-item'; import { useBtcCryptoAssetBalanceNativeSegwit } from '@app/query/bitcoin/balance/btc-balance-native-segwit.hooks'; import { useCurrentAccountNativeSegwitIndexZeroSigner } from '@app/store/accounts/blockchain/bitcoin/native-segwit-account.hooks'; -import { Dialog } from '@app/ui/components/containers/dialog/dialog'; import { Footer } from '@app/ui/components/containers/footers/footer'; import { DialogHeader } from '@app/ui/components/containers/headers/dialog-header'; -import { Spinner } from '@app/ui/components/spinner'; -import { Caption } from '@app/ui/components/typography/caption'; import { IncreaseFeeActions } from './components/increase-fee-actions'; import { useBtcIncreaseFee } from './hooks/use-btc-increase-fee'; diff --git a/src/app/features/dialogs/increase-fee-dialog/increase-stx-fee-dialog.tsx b/src/app/features/dialogs/increase-fee-dialog/increase-stx-fee-dialog.tsx index 94544f14228..216d4bb1c89 100644 --- a/src/app/features/dialogs/increase-fee-dialog/increase-stx-fee-dialog.tsx +++ b/src/app/features/dialogs/increase-fee-dialog/increase-stx-fee-dialog.tsx @@ -11,8 +11,9 @@ import { useStacksRawTransaction, useStxAvailableUnlockedBalance, useTransactionById, -} from '@leather-wallet/query'; -import { microStxToStx, stxToMicroStx } from '@leather-wallet/utils'; +} from '@leather.io/query'; +import { Caption, Dialog, Spinner } from '@leather.io/ui'; +import { microStxToStx, stxToMicroStx } from '@leather.io/utils'; import { RouteUrls } from '@shared/route-urls'; @@ -26,11 +27,8 @@ import { useStacksBroadcastTransaction } from '@app/features/stacks-transaction- import { useToast } from '@app/features/toasts/use-toast'; import { useCurrentStacksAccountAddress } from '@app/store/accounts/blockchain/stacks/stacks-account.hooks'; import { useSubmittedTransactionsActions } from '@app/store/submitted-transactions/submitted-transactions.hooks'; -import { Dialog } from '@app/ui/components/containers/dialog/dialog'; import { Footer } from '@app/ui/components/containers/footers/footer'; import { DialogHeader } from '@app/ui/components/containers/headers/dialog-header'; -import { Spinner } from '@app/ui/components/spinner'; -import { Caption } from '@app/ui/components/typography/caption'; import { IncreaseFeeActions } from './components/increase-fee-actions'; import { IncreaseFeeField } from './components/increase-fee-field'; diff --git a/src/app/features/dialogs/leather-intro-dialog/leather-intro-dialog.tsx b/src/app/features/dialogs/leather-intro-dialog/leather-intro-dialog.tsx index e5580954134..6c117517d7b 100644 --- a/src/app/features/dialogs/leather-intro-dialog/leather-intro-dialog.tsx +++ b/src/app/features/dialogs/leather-intro-dialog/leather-intro-dialog.tsx @@ -1,9 +1,10 @@ import { createContext, useContext } from 'react'; import { Outlet, Route, useNavigate } from 'react-router-dom'; -import { delay } from '@leather-wallet/utils'; +import { delay } from '@leather.io/utils'; + +import { analytics } from '@shared/utils/analytics'; -import { useAnalytics } from '@app/common/hooks/analytics/use-analytics'; import { openInNewTab } from '@app/common/utils/open-in-new-tab'; import { @@ -35,7 +36,6 @@ export function useLeatherIntroDialogContext() { } function LeatherIntroDialogContainer() { - const analytics = useAnalytics(); const navigate = useNavigate(); async function onRevealNewName() { void analytics.track('new_brand_reveal_name'); diff --git a/src/app/features/dialogs/leather-intro-dialog/leather-intro-steps.tsx b/src/app/features/dialogs/leather-intro-dialog/leather-intro-steps.tsx index 53312a25d0a..4d6a307fc35 100644 --- a/src/app/features/dialogs/leather-intro-dialog/leather-intro-steps.tsx +++ b/src/app/features/dialogs/leather-intro-dialog/leather-intro-steps.tsx @@ -5,9 +5,10 @@ import { Dialog, Inset } from '@radix-ui/themes'; import { css } from 'leather-styles/css'; import { Box, Flex, Stack, styled } from 'leather-styles/jsx'; +import { Button } from '@leather.io/ui'; + import { HasChildren } from '@app/common/has-children'; import { openInNewTab } from '@app/common/utils/open-in-new-tab'; -import { Button } from '@app/ui/components/button/button'; import { confettiConfig } from './confetti-config'; import { useLeatherIntroDialogContext } from './leather-intro-dialog'; diff --git a/src/app/features/dialogs/switch-account-dialog/switch-account-dialog.tsx b/src/app/features/dialogs/switch-account-dialog/switch-account-dialog.tsx index a8cbd427f32..4f1724f28e7 100644 --- a/src/app/features/dialogs/switch-account-dialog/switch-account-dialog.tsx +++ b/src/app/features/dialogs/switch-account-dialog/switch-account-dialog.tsx @@ -3,13 +3,13 @@ import { Virtuoso } from 'react-virtuoso'; import { Box } from 'leather-styles/jsx'; +import { Button, Dialog } from '@leather.io/ui'; + import { useCreateAccount } from '@app/common/hooks/account/use-create-account'; import { useWalletType } from '@app/common/use-wallet-type'; import { useCurrentAccountIndex } from '@app/store/accounts/account'; import { useFilteredBitcoinAccounts } from '@app/store/accounts/blockchain/bitcoin/bitcoin.ledger'; import { useStacksAccounts } from '@app/store/accounts/blockchain/stacks/stacks-account.hooks'; -import { Button } from '@app/ui/components/button/button'; -import { Dialog } from '@app/ui/components/containers/dialog/dialog'; import { Footer } from '@app/ui/components/containers/footers/footer'; import { DialogHeader } from '@app/ui/components/containers/headers/dialog-header'; import { VirtuosoWrapper } from '@app/ui/components/virtuoso'; diff --git a/src/app/features/errors/app-error-boundary.tsx b/src/app/features/errors/app-error-boundary.tsx index 2ff75775a6e..08a49ca0ecd 100644 --- a/src/app/features/errors/app-error-boundary.tsx +++ b/src/app/features/errors/app-error-boundary.tsx @@ -4,15 +4,13 @@ import BroadcastError from '@assets/images/unhappy-face-ui.png'; import { SharedComponentsSelectors } from '@tests/selectors/shared-component.selectors'; import { Box, Flex, HStack, styled } from 'leather-styles/jsx'; -import { isError } from '@leather-wallet/utils'; +import { Button, CopyIcon, Link } from '@leather.io/ui'; +import { isError } from '@leather.io/utils'; import { Prism } from '@app/common/clarity-prism'; import { useClipboard } from '@app/common/hooks/use-copy-to-clipboard'; import { compliantErrorBody } from '@app/query/common/compliance-checker/compliance-checker.query'; -import { Button } from '@app/ui/components/button/button'; import { CodeBlock } from '@app/ui/components/codeblock'; -import { Link } from '@app/ui/components/link/link'; -import { CopyIcon } from '@app/ui/icons'; import { useToast } from '../toasts/use-toast'; diff --git a/src/app/features/errors/requesting-tab-closed-error-msg.tsx b/src/app/features/errors/requesting-tab-closed-error-msg.tsx index 94683a542ac..208eb180855 100644 --- a/src/app/features/errors/requesting-tab-closed-error-msg.tsx +++ b/src/app/features/errors/requesting-tab-closed-error-msg.tsx @@ -1,7 +1,8 @@ import { useState } from 'react'; +import { Callout } from '@leather.io/ui'; + import { useOnOriginTabClose } from '@app/routes/hooks/use-on-tab-closed'; -import { Callout } from '@app/ui/components/callout/callout'; export function RequestingTabClosedWarningMessage() { const [hasTabClosed, setHasTabClosed] = useState(false); diff --git a/src/app/features/feedback-button/feedback-button.tsx b/src/app/features/feedback-button/feedback-button.tsx index 74b009d9f2f..b94381ff71a 100644 --- a/src/app/features/feedback-button/feedback-button.tsx +++ b/src/app/features/feedback-button/feedback-button.tsx @@ -1,11 +1,11 @@ import { BrowserClient, Feedback, getCurrentHub } from '@sentry/react'; import { Flex } from 'leather-styles/jsx'; +import { Button, MegaphoneIcon } from '@leather.io/ui'; + import { analytics } from '@shared/utils/analytics'; import { useThemeSwitcher } from '@app/common/theme-provider'; -import { Button } from '@app/ui/components/button/button'; -import { MegaphoneIcon } from '@app/ui/icons/megaphone-icon'; export function openFeedbackDialog() { void analytics.track('user_clicked_feedback_button'); diff --git a/src/app/features/hiro-messages/components/in-app-message-item.tsx b/src/app/features/hiro-messages/components/in-app-message-item.tsx index e113b3d6d93..a6c0cb88505 100644 --- a/src/app/features/hiro-messages/components/in-app-message-item.tsx +++ b/src/app/features/hiro-messages/components/in-app-message-item.tsx @@ -1,7 +1,8 @@ import { Box, Flex, styled } from 'leather-styles/jsx'; +import { CloseIcon } from '@leather.io/ui'; + import { HiroMessage } from '@app/query/common/remote-config/remote-config.query'; -import { CloseIcon } from '@app/ui/icons/close-icon'; interface HiroMessageItemProps extends HiroMessage { onDismiss(id: string): void; diff --git a/src/app/features/ledger/components/ledger-inline-warnings.tsx b/src/app/features/ledger/components/ledger-inline-warnings.tsx index cffa05399b2..240d5da8747 100644 --- a/src/app/features/ledger/components/ledger-inline-warnings.tsx +++ b/src/app/features/ledger/components/ledger-inline-warnings.tsx @@ -1,8 +1,8 @@ import { styled } from 'leather-styles/jsx'; -import type { SupportedBlockchains } from '@leather-wallet/models'; +import type { SupportedBlockchains } from '@leather.io/models'; +import { Callout } from '@leather.io/ui'; -import { Callout } from '@app/ui/components/callout/callout'; import { Capitalize } from '@app/ui/utils/capitalize'; import { LatestDeviceResponse } from '../utils/generic-ledger-utils'; diff --git a/src/app/features/ledger/components/ledger-screen-detail.tsx b/src/app/features/ledger/components/ledger-screen-detail.tsx index d548484682a..4b8fd6653bc 100644 --- a/src/app/features/ledger/components/ledger-screen-detail.tsx +++ b/src/app/features/ledger/components/ledger-screen-detail.tsx @@ -1,8 +1,8 @@ import { Flex, styled } from 'leather-styles/jsx'; +import { Caption, InfoCircleIcon } from '@leather.io/ui'; + import { BasicTooltip } from '@app/ui/components/tooltip/basic-tooltip'; -import { Caption } from '@app/ui/components/typography/caption'; -import { InfoCircleIcon } from '@app/ui/icons/info-circle-icon'; interface LedgerScreenDetailProps { children: React.ReactNode; diff --git a/src/app/features/ledger/components/ledger-title.tsx b/src/app/features/ledger/components/ledger-title.tsx index 150f2ec8b9e..4b58b4c229f 100644 --- a/src/app/features/ledger/components/ledger-title.tsx +++ b/src/app/features/ledger/components/ledger-title.tsx @@ -1,6 +1,6 @@ import { BoxProps, styled } from 'leather-styles/jsx'; -import type { SupportedBlockchains } from '@leather-wallet/models'; +import type { SupportedBlockchains } from '@leather.io/models'; import { Capitalize } from '@app/ui/utils/capitalize'; diff --git a/src/app/features/ledger/components/looking-for-ledger-label.tsx b/src/app/features/ledger/components/looking-for-ledger-label.tsx index e83415d89b3..f0e10e05060 100644 --- a/src/app/features/ledger/components/looking-for-ledger-label.tsx +++ b/src/app/features/ledger/components/looking-for-ledger-label.tsx @@ -1,7 +1,6 @@ import { Flex, FlexProps } from 'leather-styles/jsx'; -import { Spinner } from '@app/ui/components/spinner'; -import { Caption } from '@app/ui/components/typography/caption'; +import { Caption, Spinner } from '@leather.io/ui'; interface LookingForLedgerLabelProps extends FlexProps { children: React.ReactNode; diff --git a/src/app/features/ledger/components/success-label.tsx b/src/app/features/ledger/components/success-label.tsx index c9da58a1f0b..71b36b94029 100644 --- a/src/app/features/ledger/components/success-label.tsx +++ b/src/app/features/ledger/components/success-label.tsx @@ -1,7 +1,6 @@ import { Flex, FlexProps } from 'leather-styles/jsx'; -import { Caption } from '@app/ui/components/typography/caption'; -import { CheckmarkIcon } from '@app/ui/icons'; +import { Caption, CheckmarkIcon } from '@leather.io/ui'; interface LedgerSuccessLabelProps extends FlexProps { children: React.ReactNode; diff --git a/src/app/features/ledger/flows/bitcoin-tx-signing/ledger-bitcoin-sign-tx-container.tsx b/src/app/features/ledger/flows/bitcoin-tx-signing/ledger-bitcoin-sign-tx-container.tsx index dafdd1d33db..15609b9e67e 100644 --- a/src/app/features/ledger/flows/bitcoin-tx-signing/ledger-bitcoin-sign-tx-container.tsx +++ b/src/app/features/ledger/flows/bitcoin-tx-signing/ledger-bitcoin-sign-tx-container.tsx @@ -6,7 +6,7 @@ import { hexToBytes } from '@stacks/common'; import BitcoinApp from 'ledger-bitcoin'; import get from 'lodash.get'; -import { delay } from '@leather-wallet/utils'; +import { delay } from '@leather.io/utils'; import { BitcoinInputSigningConfig } from '@shared/crypto/bitcoin/signer-config'; import { logger } from '@shared/logger'; diff --git a/src/app/features/ledger/flows/bitcoin-tx-signing/steps/approve-bitcoin-sign-ledger-tx.tsx b/src/app/features/ledger/flows/bitcoin-tx-signing/steps/approve-bitcoin-sign-ledger-tx.tsx index fe8237ddfe8..e45d9ac001e 100644 --- a/src/app/features/ledger/flows/bitcoin-tx-signing/steps/approve-bitcoin-sign-ledger-tx.tsx +++ b/src/app/features/ledger/flows/bitcoin-tx-signing/steps/approve-bitcoin-sign-ledger-tx.tsx @@ -1,6 +1,6 @@ import * as btc from '@scure/btc-signer'; -import { getPsbtTxInputs, getPsbtTxOutputs } from '@leather-wallet/bitcoin'; +import { getPsbtTxInputs, getPsbtTxOutputs } from '@leather.io/bitcoin'; import { getBitcoinInputValue } from '@shared/crypto/bitcoin/bitcoin.utils'; diff --git a/src/app/features/ledger/flows/jwt-signing/ledger-sign-jwt-container.tsx b/src/app/features/ledger/flows/jwt-signing/ledger-sign-jwt-container.tsx index c420b9d55ae..975596b33a7 100644 --- a/src/app/features/ledger/flows/jwt-signing/ledger-sign-jwt-container.tsx +++ b/src/app/features/ledger/flows/jwt-signing/ledger-sign-jwt-container.tsx @@ -5,7 +5,8 @@ import { TransactionVersion, getAddressFromPublicKey } from '@stacks/transaction import { LedgerError } from '@zondax/ledger-stacks'; import get from 'lodash.get'; -import { delay, isError } from '@leather-wallet/utils'; +import { Dialog } from '@leather.io/ui'; +import { delay, isError } from '@leather.io/utils'; import { finalizeAuthResponse } from '@shared/actions/finalize-auth-response'; import { logger } from '@shared/logger'; @@ -25,7 +26,6 @@ import { useCurrentStacksAccount, useStacksAccounts, } from '@app/store/accounts/blockchain/stacks/stacks-account.hooks'; -import { Dialog } from '@app/ui/components/containers/dialog/dialog'; import { DialogHeader } from '@app/ui/components/containers/headers/dialog-header'; import { useLedgerNavigate } from '../../hooks/use-ledger-navigate'; diff --git a/src/app/features/ledger/flows/jwt-signing/ledger-sign-jwt.context.ts b/src/app/features/ledger/flows/jwt-signing/ledger-sign-jwt.context.ts index eb0e2d820e9..541711298cc 100644 --- a/src/app/features/ledger/flows/jwt-signing/ledger-sign-jwt.context.ts +++ b/src/app/features/ledger/flows/jwt-signing/ledger-sign-jwt.context.ts @@ -1,6 +1,6 @@ import { createContext } from 'react'; -import { noop } from '@leather-wallet/utils'; +import { noop } from '@leather.io/utils'; import { BaseLedgerOperationContext } from '../../utils/generic-ledger-utils'; diff --git a/src/app/features/ledger/flows/request-bitcoin-keys/ledger-request-bitcoin-keys.tsx b/src/app/features/ledger/flows/request-bitcoin-keys/ledger-request-bitcoin-keys.tsx index b5a486cf064..f8036fff6e9 100644 --- a/src/app/features/ledger/flows/request-bitcoin-keys/ledger-request-bitcoin-keys.tsx +++ b/src/app/features/ledger/flows/request-bitcoin-keys/ledger-request-bitcoin-keys.tsx @@ -3,7 +3,7 @@ import { useNavigate } from 'react-router-dom'; import BitcoinApp from 'ledger-bitcoin'; -import { bitcoinNetworkModeToCoreNetworkMode } from '@leather-wallet/bitcoin'; +import { bitcoinNetworkModeToCoreNetworkMode } from '@leather.io/bitcoin'; import { pullBitcoinKeysFromLedgerDevice } from '@app/features/ledger/flows/request-bitcoin-keys/request-bitcoin-keys.utils'; import { ledgerRequestKeysRoutes } from '@app/features/ledger/generic-flows/request-keys/ledger-request-keys-route-generator'; diff --git a/src/app/features/ledger/flows/request-bitcoin-keys/request-bitcoin-keys.utils.ts b/src/app/features/ledger/flows/request-bitcoin-keys/request-bitcoin-keys.utils.ts index 8e67805409e..8318675516d 100644 --- a/src/app/features/ledger/flows/request-bitcoin-keys/request-bitcoin-keys.utils.ts +++ b/src/app/features/ledger/flows/request-bitcoin-keys/request-bitcoin-keys.utils.ts @@ -4,9 +4,9 @@ import { createWalletIdDecoratedPath, getNativeSegwitAccountDerivationPath, getTaprootAccountDerivationPath, -} from '@leather-wallet/bitcoin'; -import type { BitcoinNetworkModes, NetworkModes } from '@leather-wallet/models'; -import { delay } from '@leather-wallet/utils'; +} from '@leather.io/bitcoin'; +import type { BitcoinNetworkModes, NetworkModes } from '@leather.io/models'; +import { delay } from '@leather.io/utils'; import { defaultNumberOfKeysToPullFromLedgerDevice } from '../../generic-flows/request-keys/use-request-ledger-keys'; import { diff --git a/src/app/features/ledger/flows/request-stacks-keys/request-stacks-keys.utils.ts b/src/app/features/ledger/flows/request-stacks-keys/request-stacks-keys.utils.ts index 8e8e835ee62..ad42a45ac55 100644 --- a/src/app/features/ledger/flows/request-stacks-keys/request-stacks-keys.utils.ts +++ b/src/app/features/ledger/flows/request-stacks-keys/request-stacks-keys.utils.ts @@ -2,7 +2,7 @@ import { bytesToHex } from '@noble/hashes/utils'; import * as secp from '@noble/secp256k1'; import StacksApp from '@zondax/ledger-stacks'; -import { delay } from '@leather-wallet/utils'; +import { delay } from '@leather.io/utils'; import { getIdentityDerivationPath, diff --git a/src/app/features/ledger/flows/stacks-message-signing/ledger-stacks-sign-msg-container.tsx b/src/app/features/ledger/flows/stacks-message-signing/ledger-stacks-sign-msg-container.tsx index 5952f9b0f48..c0436f993c7 100644 --- a/src/app/features/ledger/flows/stacks-message-signing/ledger-stacks-sign-msg-container.tsx +++ b/src/app/features/ledger/flows/stacks-message-signing/ledger-stacks-sign-msg-container.tsx @@ -5,7 +5,8 @@ import { bytesToHex, signatureVrsToRsv } from '@stacks/common'; import { serializeCV } from '@stacks/transactions'; import { LedgerError } from '@zondax/ledger-stacks'; -import { delay, isError } from '@leather-wallet/utils'; +import { Dialog } from '@leather.io/ui'; +import { delay, isError } from '@leather.io/utils'; import { UnsignedMessage, whenSignableMessageOfType } from '@shared/signature/signature-types'; @@ -20,7 +21,6 @@ import { } from '@app/features/ledger/utils/stacks-ledger-utils'; import { useCurrentStacksAccount } from '@app/store/accounts/blockchain/stacks/stacks-account.hooks'; import { StacksAccount } from '@app/store/accounts/blockchain/stacks/stacks-account.models'; -import { Dialog } from '@app/ui/components/containers/dialog/dialog'; import { DialogHeader } from '@app/ui/components/containers/headers/dialog-header'; import { useLedgerAnalytics } from '../../hooks/use-ledger-analytics.hook'; diff --git a/src/app/features/ledger/flows/stacks-message-signing/ledger-stacks-sign-msg.context.ts b/src/app/features/ledger/flows/stacks-message-signing/ledger-stacks-sign-msg.context.ts index 52f8df5ce22..f6c6bf94b5f 100644 --- a/src/app/features/ledger/flows/stacks-message-signing/ledger-stacks-sign-msg.context.ts +++ b/src/app/features/ledger/flows/stacks-message-signing/ledger-stacks-sign-msg.context.ts @@ -1,6 +1,6 @@ import { createContext } from 'react'; -import { noop } from '@leather-wallet/utils'; +import { noop } from '@leather.io/utils'; import { UnsignedMessage } from '@shared/signature/signature-types'; diff --git a/src/app/features/ledger/flows/stacks-message-signing/use-message-type.ts b/src/app/features/ledger/flows/stacks-message-signing/use-message-type.ts index 03404d67dd6..38880887ba1 100644 --- a/src/app/features/ledger/flows/stacks-message-signing/use-message-type.ts +++ b/src/app/features/ledger/flows/stacks-message-signing/use-message-type.ts @@ -1,4 +1,4 @@ -import { isString } from '@leather-wallet/utils'; +import { isString } from '@leather.io/utils'; import { type SignedMessageType, diff --git a/src/app/features/ledger/flows/stacks-tx-signing/ledger-sign-stacks-tx-container.tsx b/src/app/features/ledger/flows/stacks-tx-signing/ledger-sign-stacks-tx-container.tsx index 9fe17546da6..69f459f415f 100644 --- a/src/app/features/ledger/flows/stacks-tx-signing/ledger-sign-stacks-tx-container.tsx +++ b/src/app/features/ledger/flows/stacks-tx-signing/ledger-sign-stacks-tx-container.tsx @@ -5,7 +5,7 @@ import { deserializeTransaction } from '@stacks/transactions'; import StacksApp, { LedgerError } from '@zondax/ledger-stacks'; import get from 'lodash.get'; -import { delay, isError } from '@leather-wallet/utils'; +import { delay, isError } from '@leather.io/utils'; import { RouteUrls } from '@shared/route-urls'; import { analytics } from '@shared/utils/analytics'; diff --git a/src/app/features/ledger/flows/stacks-tx-signing/steps/approve-sign-stacks-ledger-tx.tsx b/src/app/features/ledger/flows/stacks-tx-signing/steps/approve-sign-stacks-ledger-tx.tsx index 39f793582c5..f28a079f484 100644 --- a/src/app/features/ledger/flows/stacks-tx-signing/steps/approve-sign-stacks-ledger-tx.tsx +++ b/src/app/features/ledger/flows/stacks-tx-signing/steps/approve-sign-stacks-ledger-tx.tsx @@ -3,7 +3,7 @@ import { useMemo } from 'react'; import { PayloadType, cvToString } from '@stacks/transactions'; import { BigNumber } from 'bignumber.js'; -import { microStxToStx } from '@leather-wallet/utils'; +import { microStxToStx } from '@leather.io/utils'; import { isSip10Transfer } from '@app/common/transactions/stacks/is-sip-10-transfer'; import { useLedgerTxSigningContext } from '@app/features/ledger/generic-flows/tx-signing/ledger-sign-tx.context'; diff --git a/src/app/features/ledger/flows/stacks-tx-signing/steps/contract-principal-bug-warning.tsx b/src/app/features/ledger/flows/stacks-tx-signing/steps/contract-principal-bug-warning.tsx index e9936788671..312195eb8be 100644 --- a/src/app/features/ledger/flows/stacks-tx-signing/steps/contract-principal-bug-warning.tsx +++ b/src/app/features/ledger/flows/stacks-tx-signing/steps/contract-principal-bug-warning.tsx @@ -1,12 +1,12 @@ import GenericErrorImg from '@assets/images/generic-error.png'; import { Box, HStack, styled } from 'leather-styles/jsx'; -import { delay } from '@leather-wallet/utils'; +import { Button } from '@leather.io/ui'; +import { delay } from '@leather.io/utils'; import { useLoading } from '@app/common/hooks/use-loading'; import { LedgerTitle } from '@app/features/ledger/components/ledger-title'; import { LedgerWrapper } from '@app/features/ledger/components/ledger-wrapper'; -import { Button } from '@app/ui/components/button/button'; import { useLedgerTxSigningContext } from '../../../generic-flows/tx-signing/ledger-sign-tx.context'; diff --git a/src/app/features/ledger/generic-flows/request-keys/ledger-request-keys.context.ts b/src/app/features/ledger/generic-flows/request-keys/ledger-request-keys.context.ts index 98df22e3741..39a3bb5b575 100644 --- a/src/app/features/ledger/generic-flows/request-keys/ledger-request-keys.context.ts +++ b/src/app/features/ledger/generic-flows/request-keys/ledger-request-keys.context.ts @@ -1,6 +1,6 @@ import { createContext, useContext } from 'react'; -import type { SupportedBlockchains } from '@leather-wallet/models'; +import type { SupportedBlockchains } from '@leather.io/models'; import { BaseLedgerOperationContext } from '../../utils/generic-ledger-utils'; diff --git a/src/app/features/ledger/generic-flows/request-keys/request-keys-flow.tsx b/src/app/features/ledger/generic-flows/request-keys/request-keys-flow.tsx index 3205c6f814f..5be63817bbc 100644 --- a/src/app/features/ledger/generic-flows/request-keys/request-keys-flow.tsx +++ b/src/app/features/ledger/generic-flows/request-keys/request-keys-flow.tsx @@ -1,7 +1,8 @@ import { Outlet } from 'react-router-dom'; +import { Dialog } from '@leather.io/ui'; + import { useScrollLock } from '@app/common/hooks/use-scroll-lock'; -import { Dialog } from '@app/ui/components/containers/dialog/dialog'; import { DialogHeader } from '@app/ui/components/containers/headers/dialog-header'; import { useLedgerNavigate } from '../../hooks/use-ledger-navigate'; diff --git a/src/app/features/ledger/generic-flows/request-keys/use-request-ledger-keys.ts b/src/app/features/ledger/generic-flows/request-keys/use-request-ledger-keys.ts index 9cb44411c90..51c19f8747d 100644 --- a/src/app/features/ledger/generic-flows/request-keys/use-request-ledger-keys.ts +++ b/src/app/features/ledger/generic-flows/request-keys/use-request-ledger-keys.ts @@ -3,8 +3,8 @@ import { useState } from 'react'; import StacksApp from '@zondax/ledger-stacks'; import BitcoinApp from 'ledger-bitcoin'; -import type { SupportedBlockchains } from '@leather-wallet/models'; -import { delay, isError } from '@leather-wallet/utils'; +import type { SupportedBlockchains } from '@leather.io/models'; +import { delay, isError } from '@leather.io/utils'; import { useLedgerAnalytics } from '../../hooks/use-ledger-analytics.hook'; import { useLedgerNavigate } from '../../hooks/use-ledger-navigate'; diff --git a/src/app/features/ledger/generic-flows/tx-signing/ledger-sign-tx.context.ts b/src/app/features/ledger/generic-flows/tx-signing/ledger-sign-tx.context.ts index f43f1907158..4fbcf3c7461 100644 --- a/src/app/features/ledger/generic-flows/tx-signing/ledger-sign-tx.context.ts +++ b/src/app/features/ledger/generic-flows/tx-signing/ledger-sign-tx.context.ts @@ -3,7 +3,7 @@ import { createContext, useContext } from 'react'; import * as btc from '@scure/btc-signer'; import { StacksTransaction } from '@stacks/transactions'; -import type { SupportedBlockchains } from '@leather-wallet/models'; +import type { SupportedBlockchains } from '@leather.io/models'; import { createWaitableAction } from '@app/common/utils/create-waitable-action'; diff --git a/src/app/features/ledger/generic-flows/tx-signing/tx-signing-flow.tsx b/src/app/features/ledger/generic-flows/tx-signing/tx-signing-flow.tsx index 27768798cdb..b08d07d70a7 100644 --- a/src/app/features/ledger/generic-flows/tx-signing/tx-signing-flow.tsx +++ b/src/app/features/ledger/generic-flows/tx-signing/tx-signing-flow.tsx @@ -1,7 +1,8 @@ import { Outlet } from 'react-router-dom'; +import { Dialog } from '@leather.io/ui'; + import { useScrollLock } from '@app/common/hooks/use-scroll-lock'; -import { Dialog } from '@app/ui/components/containers/dialog/dialog'; import { DialogHeader } from '@app/ui/components/containers/headers/dialog-header'; import { LedgerTxSigningContext, LedgerTxSigningProvider } from './ledger-sign-tx.context'; diff --git a/src/app/features/ledger/generic-flows/tx-signing/use-ledger-sign-tx.ts b/src/app/features/ledger/generic-flows/tx-signing/use-ledger-sign-tx.ts index c86005f8e93..5ae59f3cd31 100644 --- a/src/app/features/ledger/generic-flows/tx-signing/use-ledger-sign-tx.ts +++ b/src/app/features/ledger/generic-flows/tx-signing/use-ledger-sign-tx.ts @@ -3,8 +3,8 @@ import { useMemo, useState } from 'react'; import StacksApp from '@zondax/ledger-stacks'; import BitcoinApp from 'ledger-bitcoin'; -import type { SupportedBlockchains } from '@leather-wallet/models'; -import { delay, isError } from '@leather-wallet/utils'; +import type { SupportedBlockchains } from '@leather.io/models'; +import { delay, isError } from '@leather.io/utils'; import { useLedgerNavigate } from '../../hooks/use-ledger-navigate'; import { BitcoinAppVersion } from '../../utils/bitcoin-ledger-utils'; diff --git a/src/app/features/ledger/generic-steps/broadcast-error/broadcast-error.layout.tsx b/src/app/features/ledger/generic-steps/broadcast-error/broadcast-error.layout.tsx index 5203111ec9b..fdf5fa0ade9 100644 --- a/src/app/features/ledger/generic-steps/broadcast-error/broadcast-error.layout.tsx +++ b/src/app/features/ledger/generic-steps/broadcast-error/broadcast-error.layout.tsx @@ -1,7 +1,7 @@ import BroadcastError from '@assets/images/unhappy-face-ui.png'; import { Box, Flex, styled } from 'leather-styles/jsx'; -import { Button } from '@app/ui/components/button/button'; +import { Button } from '@leather.io/ui'; import { LedgerTitle } from '../../components/ledger-title'; import { LedgerWrapper } from '../../components/ledger-wrapper'; diff --git a/src/app/features/ledger/generic-steps/connect-device/connect-ledger-error.layout.tsx b/src/app/features/ledger/generic-steps/connect-device/connect-ledger-error.layout.tsx index 9c3c96ba411..1c93a3f1a1b 100644 --- a/src/app/features/ledger/generic-steps/connect-device/connect-ledger-error.layout.tsx +++ b/src/app/features/ledger/generic-steps/connect-device/connect-ledger-error.layout.tsx @@ -1,10 +1,8 @@ import { Box, Flex, HStack, Stack, styled } from 'leather-styles/jsx'; +import { Button, Callout, CircleIcon, Link } from '@leather.io/ui'; + import { ConnectLedgerErr } from '@app/features/ledger/illustrations/ledger-illu-connect-ledger-error'; -import { Button } from '@app/ui/components/button/button'; -import { Callout } from '@app/ui/components/callout/callout'; -import { Link } from '@app/ui/components/link/link'; -import { CircleIcon } from '@app/ui/icons/circle-icon'; import { LedgerTitle } from '../../components/ledger-title'; import { LedgerWrapper } from '../../components/ledger-wrapper'; diff --git a/src/app/features/ledger/generic-steps/connect-device/connect-ledger-error.tsx b/src/app/features/ledger/generic-steps/connect-device/connect-ledger-error.tsx index a7ee452a41e..20c52ee0f8f 100644 --- a/src/app/features/ledger/generic-steps/connect-device/connect-ledger-error.tsx +++ b/src/app/features/ledger/generic-steps/connect-device/connect-ledger-error.tsx @@ -1,4 +1,4 @@ -import type { SupportedBlockchains } from '@leather-wallet/models'; +import type { SupportedBlockchains } from '@leather.io/models'; import { useLocationState } from '@app/common/hooks/use-location-state'; import { capitalize } from '@app/common/utils'; diff --git a/src/app/features/ledger/generic-steps/connect-device/connect-ledger-start.tsx b/src/app/features/ledger/generic-steps/connect-device/connect-ledger-start.tsx index a59b5c2f98b..9db6583a8aa 100644 --- a/src/app/features/ledger/generic-steps/connect-device/connect-ledger-start.tsx +++ b/src/app/features/ledger/generic-steps/connect-device/connect-ledger-start.tsx @@ -1,11 +1,12 @@ import { useNavigate } from 'react-router-dom'; +import { Dialog } from '@leather.io/ui'; + import { RouteUrls } from '@shared/route-urls'; import { closeWindow } from '@shared/utils'; import { doesBrowserSupportWebUsbApi, whenPageMode } from '@app/common/utils'; import { openIndexPageInNewTab } from '@app/common/utils/open-in-new-tab'; -import { Dialog } from '@app/ui/components/containers/dialog/dialog'; import { DialogHeader } from '@app/ui/components/containers/headers/dialog-header'; import { immediatelyAttemptLedgerConnection } from '../../hooks/use-when-reattempt-ledger-connection'; diff --git a/src/app/features/ledger/generic-steps/connect-device/connect-ledger-success.layout.tsx b/src/app/features/ledger/generic-steps/connect-device/connect-ledger-success.layout.tsx index 314511870b9..9ead02605f7 100644 --- a/src/app/features/ledger/generic-steps/connect-device/connect-ledger-success.layout.tsx +++ b/src/app/features/ledger/generic-steps/connect-device/connect-ledger-success.layout.tsx @@ -1,4 +1,4 @@ -import type { SupportedBlockchains } from '@leather-wallet/models'; +import type { SupportedBlockchains } from '@leather.io/models'; import { ConnectLedgerSuccess } from '@app/features/ledger/illustrations/ledger-illu-success'; diff --git a/src/app/features/ledger/generic-steps/connect-device/connect-ledger-success.tsx b/src/app/features/ledger/generic-steps/connect-device/connect-ledger-success.tsx index 50b2a48e2ac..26156c06a19 100644 --- a/src/app/features/ledger/generic-steps/connect-device/connect-ledger-success.tsx +++ b/src/app/features/ledger/generic-steps/connect-device/connect-ledger-success.tsx @@ -1,4 +1,4 @@ -import type { SupportedBlockchains } from '@leather-wallet/models'; +import type { SupportedBlockchains } from '@leather.io/models'; import { useLocationState } from '@app/common/hooks/use-location-state'; diff --git a/src/app/features/ledger/generic-steps/connect-device/connect-ledger.tsx b/src/app/features/ledger/generic-steps/connect-device/connect-ledger.tsx index 5144775e16d..fe9bf973832 100644 --- a/src/app/features/ledger/generic-steps/connect-device/connect-ledger.tsx +++ b/src/app/features/ledger/generic-steps/connect-device/connect-ledger.tsx @@ -2,12 +2,10 @@ import { Suspense, lazy, useMemo } from 'react'; import { Box, HStack, Stack, styled } from 'leather-styles/jsx'; -import type { SupportedBlockchains } from '@leather-wallet/models'; +import type { SupportedBlockchains } from '@leather.io/models'; +import { BitcoinIcon, Button, Link, StacksIcon } from '@leather.io/ui'; import { Divider } from '@app/components/layout/divider'; -import { Button } from '@app/ui/components/button/button'; -import { Link } from '@app/ui/components/link/link'; -import { BitcoinIcon, StacksIcon } from '@app/ui/icons'; import { LedgerWrapper } from '../../components/ledger-wrapper'; diff --git a/src/app/features/ledger/generic-steps/invalid-payload/device-invalid-payload.layout.tsx b/src/app/features/ledger/generic-steps/invalid-payload/device-invalid-payload.layout.tsx index 17c64e0599b..34d0b131b63 100644 --- a/src/app/features/ledger/generic-steps/invalid-payload/device-invalid-payload.layout.tsx +++ b/src/app/features/ledger/generic-steps/invalid-payload/device-invalid-payload.layout.tsx @@ -1,7 +1,8 @@ import { Box, Flex, styled } from 'leather-styles/jsx'; +import { Button } from '@leather.io/ui'; + import { ConnectLedgerErr } from '@app/features/ledger/illustrations/ledger-illu-connect-ledger-error'; -import { Button } from '@app/ui/components/button/button'; import { LedgerWrapper } from '../../components/ledger-wrapper'; diff --git a/src/app/features/ledger/generic-steps/ledger-disconnected/ledger-disconnected.layout.tsx b/src/app/features/ledger/generic-steps/ledger-disconnected/ledger-disconnected.layout.tsx index 5549aa5532e..fec4a069ea5 100644 --- a/src/app/features/ledger/generic-steps/ledger-disconnected/ledger-disconnected.layout.tsx +++ b/src/app/features/ledger/generic-steps/ledger-disconnected/ledger-disconnected.layout.tsx @@ -1,6 +1,6 @@ import { Box, HStack } from 'leather-styles/jsx'; -import { Button } from '@app/ui/components/button/button'; +import { Button } from '@leather.io/ui'; import { LedgerTitle } from '../../components/ledger-title'; import { LedgerWrapper } from '../../components/ledger-wrapper'; diff --git a/src/app/features/ledger/generic-steps/operation-rejected/operation-rejected.layout.tsx b/src/app/features/ledger/generic-steps/operation-rejected/operation-rejected.layout.tsx index ae0b8ef13b4..fdf6c4b3033 100644 --- a/src/app/features/ledger/generic-steps/operation-rejected/operation-rejected.layout.tsx +++ b/src/app/features/ledger/generic-steps/operation-rejected/operation-rejected.layout.tsx @@ -1,7 +1,8 @@ import { Box } from 'leather-styles/jsx'; +import { Button } from '@leather.io/ui'; + import { LedgerTxRejected } from '@app/features/ledger/illustrations/ledger-illu-transaction-rejected'; -import { Button } from '@app/ui/components/button/button'; import { LedgerTitle } from '../../components/ledger-title'; import { LedgerWrapper } from '../../components/ledger-wrapper'; diff --git a/src/app/features/ledger/generic-steps/public-key-mismatch/public-key-mismatch.layout.tsx b/src/app/features/ledger/generic-steps/public-key-mismatch/public-key-mismatch.layout.tsx index cf95b8df2cc..3cff6163b38 100644 --- a/src/app/features/ledger/generic-steps/public-key-mismatch/public-key-mismatch.layout.tsx +++ b/src/app/features/ledger/generic-steps/public-key-mismatch/public-key-mismatch.layout.tsx @@ -1,7 +1,8 @@ import { Box, Flex, styled } from 'leather-styles/jsx'; +import { Button } from '@leather.io/ui'; + import { ConnectLedgerErr } from '@app/features/ledger/illustrations/ledger-illu-connect-ledger-error'; -import { Button } from '@app/ui/components/button/button'; import { LedgerWrapper } from '../../components/ledger-wrapper'; diff --git a/src/app/features/ledger/generic-steps/unsupported-browser/unsupported-browser.layout.tsx b/src/app/features/ledger/generic-steps/unsupported-browser/unsupported-browser.layout.tsx index 602dba1862b..4486d86e91e 100644 --- a/src/app/features/ledger/generic-steps/unsupported-browser/unsupported-browser.layout.tsx +++ b/src/app/features/ledger/generic-steps/unsupported-browser/unsupported-browser.layout.tsx @@ -2,10 +2,10 @@ import { useNavigate } from 'react-router-dom'; import { styled } from 'leather-styles/jsx'; +import { Dialog, Link } from '@leather.io/ui'; + import { UnsupportedBrowserImg } from '@app/features/ledger/illustrations/ledger-illu-unsupported-browser'; -import { Dialog } from '@app/ui/components/containers/dialog/dialog'; import { DialogHeader } from '@app/ui/components/containers/headers/dialog-header'; -import { Link } from '@app/ui/components/link/link'; import { LedgerTitle } from '../../components/ledger-title'; import { LedgerWrapper } from '../../components/ledger-wrapper'; diff --git a/src/app/features/ledger/hooks/use-ledger-analytics.hook.ts b/src/app/features/ledger/hooks/use-ledger-analytics.hook.ts index fd50a12e94a..2efd89e7569 100644 --- a/src/app/features/ledger/hooks/use-ledger-analytics.hook.ts +++ b/src/app/features/ledger/hooks/use-ledger-analytics.hook.ts @@ -1,9 +1,8 @@ import { useMemo } from 'react'; -import { useAnalytics } from '@app/common/hooks/analytics/use-analytics'; +import { analytics } from '@shared/utils/analytics'; export function useLedgerAnalytics() { - const analytics = useAnalytics(); return useMemo( () => ({ trackDeviceVersionInfo(info: object) { @@ -25,6 +24,6 @@ export function useLedgerAnalytics() { void analytics.track('ledger_public_keys_pulled_from_device'); }, }), - [analytics] + [] ); } diff --git a/src/app/features/ledger/hooks/use-ledger-navigate.ts b/src/app/features/ledger/hooks/use-ledger-navigate.ts index a7e8e370f27..792884491df 100644 --- a/src/app/features/ledger/hooks/use-ledger-navigate.ts +++ b/src/app/features/ledger/hooks/use-ledger-navigate.ts @@ -4,7 +4,7 @@ import { useLocation, useNavigate } from 'react-router-dom'; import { bytesToHex } from '@stacks/common'; import { StacksTransaction } from '@stacks/transactions'; -import type { SupportedBlockchains } from '@leather-wallet/models'; +import type { SupportedBlockchains } from '@leather.io/models'; import { BitcoinInputSigningConfig } from '@shared/crypto/bitcoin/signer-config'; import { RouteUrls } from '@shared/route-urls'; diff --git a/src/app/features/ledger/utils/bitcoin-ledger-utils.ts b/src/app/features/ledger/utils/bitcoin-ledger-utils.ts index df98c0d6fba..77b0a190dff 100644 --- a/src/app/features/ledger/utils/bitcoin-ledger-utils.ts +++ b/src/app/features/ledger/utils/bitcoin-ledger-utils.ts @@ -6,8 +6,8 @@ import { PartialSignature } from 'ledger-bitcoin/build/main/lib/appClient'; import { getNativeSegwitAccountDerivationPath, getTaprootAccountDerivationPath, -} from '@leather-wallet/bitcoin'; -import type { BitcoinNetworkModes } from '@leather-wallet/models'; +} from '@leather.io/bitcoin'; +import type { BitcoinNetworkModes } from '@leather.io/models'; import { LEDGER_APPS_MAP, promptOpenAppOnDevice } from './generic-ledger-utils'; diff --git a/src/app/features/ledger/utils/generic-ledger-utils.ts b/src/app/features/ledger/utils/generic-ledger-utils.ts index 375e2c5c211..f753c35be91 100644 --- a/src/app/features/ledger/utils/generic-ledger-utils.ts +++ b/src/app/features/ledger/utils/generic-ledger-utils.ts @@ -4,7 +4,7 @@ import { useLocation } from 'react-router-dom'; import TransportWebUSB from '@ledgerhq/hw-transport-webusb'; import BitcoinApp from 'ledger-bitcoin'; -import { delay } from '@leather-wallet/utils'; +import { delay } from '@leather.io/utils'; import { RouteUrls } from '@shared/route-urls'; diff --git a/src/app/features/message-signer/hash-drawer.tsx b/src/app/features/message-signer/hash-drawer.tsx index 245d4f9aaac..b8e066b10ff 100644 --- a/src/app/features/message-signer/hash-drawer.tsx +++ b/src/app/features/message-signer/hash-drawer.tsx @@ -2,8 +2,7 @@ import { useState } from 'react'; import { Box, styled } from 'leather-styles/jsx'; -import { ChevronDownIcon } from '@app/ui/icons/chevron-down-icon'; -import { ChevronUpIcon } from '@app/ui/icons/chevron-up-icon'; +import { ChevronDownIcon, ChevronUpIcon } from '@leather.io/ui'; interface ShowHashButtonProps { expanded: boolean; diff --git a/src/app/features/message-signer/message-signing-header.tsx b/src/app/features/message-signer/message-signing-header.tsx index ba5794432e1..6b3878c68e1 100644 --- a/src/app/features/message-signer/message-signing-header.tsx +++ b/src/app/features/message-signer/message-signing-header.tsx @@ -1,9 +1,10 @@ import { Stack, styled } from 'leather-styles/jsx'; +import { Flag } from '@leather.io/ui'; + import { addPortSuffix, getUrlHostname } from '@app/common/utils'; import { Favicon } from '@app/components/favicon'; import { useCurrentNetworkState } from '@app/store/networks/networks.hooks'; -import { Flag } from '@app/ui/components/flag/flag'; interface MessageSigningHeaderProps { name?: string; diff --git a/src/app/features/message-signer/stacks-sign-message-action.tsx b/src/app/features/message-signer/stacks-sign-message-action.tsx index 29545f98539..e63bd9d931d 100644 --- a/src/app/features/message-signer/stacks-sign-message-action.tsx +++ b/src/app/features/message-signer/stacks-sign-message-action.tsx @@ -1,7 +1,8 @@ import { HStack } from 'leather-styles/jsx'; +import { Button } from '@leather.io/ui'; + import { useWalletType } from '@app/common/use-wallet-type'; -import { Button } from '@app/ui/components/button/button'; interface StacksSignMessageActionsProps { onSignMessage(): void; diff --git a/src/app/features/pending-brc-20-transfers/pending-brc-20-transfers.tsx b/src/app/features/pending-brc-20-transfers/pending-brc-20-transfers.tsx index 48722c5a126..8e4c10f6831 100644 --- a/src/app/features/pending-brc-20-transfers/pending-brc-20-transfers.tsx +++ b/src/app/features/pending-brc-20-transfers/pending-brc-20-transfers.tsx @@ -2,8 +2,9 @@ import { useNavigate } from 'react-router-dom'; import { Box, Flex, HStack, Stack } from 'leather-styles/jsx'; -import { fetchInscripionById, useOrdinalsbotClient } from '@leather-wallet/query'; -import { noop } from '@leather-wallet/utils'; +import { fetchInscripionById, useOrdinalsbotClient } from '@leather.io/query'; +import { BulletSeparator, Caption, Flag } from '@leather.io/ui'; +import { noop } from '@leather.io/utils'; import { RouteUrls } from '@shared/route-urls'; @@ -17,10 +18,7 @@ import { PendingBrc20Transfer, usePendingBrc20Transfers, } from '@app/store/ordinals/ordinals.slice'; -import { BulletSeparator } from '@app/ui/components/bullet-separator/bullet-separator'; -import { Flag } from '@app/ui/components/flag/flag'; import { BasicTooltip } from '@app/ui/components/tooltip/basic-tooltip'; -import { Caption } from '@app/ui/components/typography/caption'; function StatusIcon({ status }: { status: OrdinalsbotInscriptionStatus }) { switch (status) { diff --git a/src/app/features/psbt-signer/components/psbt-inputs-and-outputs/components/psbt-input-list/components/psbt-input-item.tsx b/src/app/features/psbt-signer/components/psbt-inputs-and-outputs/components/psbt-input-list/components/psbt-input-item.tsx index cf91d01bb20..138042737ea 100644 --- a/src/app/features/psbt-signer/components/psbt-inputs-and-outputs/components/psbt-input-list/components/psbt-input-item.tsx +++ b/src/app/features/psbt-signer/components/psbt-inputs-and-outputs/components/psbt-input-list/components/psbt-input-item.tsx @@ -1,4 +1,4 @@ -import { createMoney, formatMoney, truncateMiddle } from '@leather-wallet/utils'; +import { createMoney, formatMoney, truncateMiddle } from '@leather.io/utils'; import { PsbtInput } from '@app/features/psbt-signer/hooks/use-parsed-inputs'; import { TagWithTooltip } from '@app/ui/components/tag/tag-with-tooltip'; diff --git a/src/app/features/psbt-signer/components/psbt-inputs-and-outputs/components/psbt-input-output-item.layout.tsx b/src/app/features/psbt-signer/components/psbt-inputs-and-outputs/components/psbt-input-output-item.layout.tsx index 37469fc99f5..a23b8391d55 100644 --- a/src/app/features/psbt-signer/components/psbt-inputs-and-outputs/components/psbt-input-output-item.layout.tsx +++ b/src/app/features/psbt-signer/components/psbt-inputs-and-outputs/components/psbt-input-output-item.layout.tsx @@ -1,11 +1,10 @@ import { Box, Flex, HStack, styled } from 'leather-styles/jsx'; +import { CopyIcon, Flag, Link } from '@leather.io/ui'; + import { useBitcoinExplorerLink } from '@app/common/hooks/use-bitcoin-explorer-link'; import { useClipboard } from '@app/common/hooks/use-copy-to-clipboard'; -import { Flag } from '@app/ui/components/flag/flag'; -import { Link } from '@app/ui/components/link/link'; import { BasicTooltip } from '@app/ui/components/tooltip/basic-tooltip'; -import { CopyIcon } from '@app/ui/icons/copy-icon'; interface PsbtInputOutputItemLayoutProps { address: string; diff --git a/src/app/features/psbt-signer/components/psbt-inputs-and-outputs/components/psbt-output-list/components/psbt-output-item.tsx b/src/app/features/psbt-signer/components/psbt-inputs-and-outputs/components/psbt-output-list/components/psbt-output-item.tsx index 243130b4624..95036b76daa 100644 --- a/src/app/features/psbt-signer/components/psbt-inputs-and-outputs/components/psbt-output-list/components/psbt-output-item.tsx +++ b/src/app/features/psbt-signer/components/psbt-inputs-and-outputs/components/psbt-output-list/components/psbt-output-item.tsx @@ -1,4 +1,4 @@ -import { createMoney, formatMoney, truncateMiddle } from '@leather-wallet/utils'; +import { createMoney, formatMoney, truncateMiddle } from '@leather.io/utils'; import { PsbtOutput } from '@app/features/psbt-signer/hooks/use-parsed-outputs'; import { TagWithTooltip } from '@app/ui/components/tag/tag-with-tooltip'; diff --git a/src/app/features/psbt-signer/components/psbt-inputs-outputs-totals/components/psbt-address-receive-totals.tsx b/src/app/features/psbt-signer/components/psbt-inputs-outputs-totals/components/psbt-address-receive-totals.tsx index b17cbde1c60..2a39ac3b294 100644 --- a/src/app/features/psbt-signer/components/psbt-inputs-outputs-totals/components/psbt-address-receive-totals.tsx +++ b/src/app/features/psbt-signer/components/psbt-inputs-outputs-totals/components/psbt-address-receive-totals.tsx @@ -1,5 +1,5 @@ -import { useCalculateBitcoinFiatValue } from '@leather-wallet/query'; -import { formatMoney, i18nFormatCurrency, truncateMiddle } from '@leather-wallet/utils'; +import { useCalculateBitcoinFiatValue } from '@leather.io/query'; +import { formatMoney, i18nFormatCurrency, truncateMiddle } from '@leather.io/utils'; import { removeMinusSign } from '@app/common/utils'; import { usePsbtSignerContext } from '@app/features/psbt-signer/psbt-signer.context'; diff --git a/src/app/features/psbt-signer/components/psbt-inputs-outputs-totals/components/psbt-address-total-item.tsx b/src/app/features/psbt-signer/components/psbt-inputs-outputs-totals/components/psbt-address-total-item.tsx index d784399e901..9d12fe9a9c8 100644 --- a/src/app/features/psbt-signer/components/psbt-inputs-outputs-totals/components/psbt-address-total-item.tsx +++ b/src/app/features/psbt-signer/components/psbt-inputs-outputs-totals/components/psbt-address-total-item.tsx @@ -1,11 +1,9 @@ import { Box, HStack, styled } from 'leather-styles/jsx'; +import { BtcAvatarIcon, CopyIcon, Flag, Link } from '@leather.io/ui'; + import { useClipboard } from '@app/common/hooks/use-copy-to-clipboard'; -import { BtcAvatarIcon } from '@app/ui/components/avatar/btc-avatar-icon'; -import { Flag } from '@app/ui/components/flag/flag'; -import { Link } from '@app/ui/components/link/link'; import { BasicTooltip } from '@app/ui/components/tooltip/basic-tooltip'; -import { CopyIcon } from '@app/ui/icons/copy-icon'; interface PsbtAddressTotalItemProps { hoverLabel?: string; diff --git a/src/app/features/psbt-signer/components/psbt-inputs-outputs-totals/components/psbt-address-transfer-totals.tsx b/src/app/features/psbt-signer/components/psbt-inputs-outputs-totals/components/psbt-address-transfer-totals.tsx index 26ce4949bde..6d0948f32bb 100644 --- a/src/app/features/psbt-signer/components/psbt-inputs-outputs-totals/components/psbt-address-transfer-totals.tsx +++ b/src/app/features/psbt-signer/components/psbt-inputs-outputs-totals/components/psbt-address-transfer-totals.tsx @@ -1,5 +1,5 @@ -import { useCalculateBitcoinFiatValue } from '@leather-wallet/query'; -import { formatMoney, i18nFormatCurrency, truncateMiddle } from '@leather-wallet/utils'; +import { useCalculateBitcoinFiatValue } from '@leather.io/query'; +import { formatMoney, i18nFormatCurrency, truncateMiddle } from '@leather.io/utils'; import { usePsbtSignerContext } from '@app/features/psbt-signer/psbt-signer.context'; diff --git a/src/app/features/psbt-signer/components/psbt-inputs-outputs-totals/components/psbt-inscription.tsx b/src/app/features/psbt-signer/components/psbt-inputs-outputs-totals/components/psbt-inscription.tsx index c2c500d71b0..0b5a800b975 100644 --- a/src/app/features/psbt-signer/components/psbt-inputs-outputs-totals/components/psbt-inscription.tsx +++ b/src/app/features/psbt-signer/components/psbt-inputs-outputs-totals/components/psbt-inscription.tsx @@ -1,10 +1,10 @@ -import type { Inscription } from '@leather-wallet/models'; -import { useInscription } from '@leather-wallet/query'; -import { isUndefined } from '@leather-wallet/utils'; +import type { Inscription } from '@leather.io/models'; +import { useInscription } from '@leather.io/query'; +import { OrdinalAvatarIcon } from '@leather.io/ui'; +import { isUndefined } from '@leather.io/utils'; import { openInNewTab } from '@app/common/utils/open-in-new-tab'; import { InscriptionPreview } from '@app/components/inscription-preview-card/components/inscription-preview'; -import { OrdinalAvatarIcon } from '@app/ui/components/avatar/ordinal-avatar-icon'; import { PsbtAddressTotalItem } from './psbt-address-total-item'; diff --git a/src/app/features/psbt-signer/components/psbt-request-actions.tsx b/src/app/features/psbt-signer/components/psbt-request-actions.tsx index 56e6e3c2d97..6b8746b8b7f 100644 --- a/src/app/features/psbt-signer/components/psbt-request-actions.tsx +++ b/src/app/features/psbt-signer/components/psbt-request-actions.tsx @@ -1,4 +1,5 @@ -import { Button } from '@app/ui/components/button/button'; +import { Button } from '@leather.io/ui'; + import { Footer } from '@app/ui/components/containers/footers/footer'; interface PsbtRequestActionsProps { diff --git a/src/app/features/psbt-signer/components/psbt-request-details-header.tsx b/src/app/features/psbt-signer/components/psbt-request-details-header.tsx index bc4dfb2956c..2e6c7b6df48 100644 --- a/src/app/features/psbt-signer/components/psbt-request-details-header.tsx +++ b/src/app/features/psbt-signer/components/psbt-request-details-header.tsx @@ -1,9 +1,9 @@ import { HStack, styled } from 'leather-styles/jsx'; +import { LockIcon, UnlockIcon } from '@leather.io/ui'; + import { usePsbtSignerContext } from '@app/features/psbt-signer/psbt-signer.context'; import { TagWithTooltip } from '@app/ui/components/tag/tag-with-tooltip'; -import { LockIcon } from '@app/ui/icons/lock-icon'; -import { UnlockIcon } from '@app/ui/icons/unlock-icon'; const immutableLabel = 'Any modification to the transaction, including the fee amount or other inputs/outputs, will invalidate the signature.'; diff --git a/src/app/features/psbt-signer/components/psbt-request-details-section-header.tsx b/src/app/features/psbt-signer/components/psbt-request-details-section-header.tsx index 1f69690ef64..de026ecad32 100644 --- a/src/app/features/psbt-signer/components/psbt-request-details-section-header.tsx +++ b/src/app/features/psbt-signer/components/psbt-request-details-section-header.tsx @@ -1,7 +1,6 @@ import { HStack, styled } from 'leather-styles/jsx'; -import { Link } from '@app/ui/components/link/link'; -import { ArrowUpIcon } from '@app/ui/icons/arrow-up-icon'; +import { ArrowUpIcon, Link } from '@leather.io/ui'; interface PsbtRequestDetailsSectionHeaderProps { hasDetails?: boolean; diff --git a/src/app/features/psbt-signer/components/psbt-request-fee.tsx b/src/app/features/psbt-signer/components/psbt-request-fee.tsx index a49d822aa74..b280234095a 100644 --- a/src/app/features/psbt-signer/components/psbt-request-fee.tsx +++ b/src/app/features/psbt-signer/components/psbt-request-fee.tsx @@ -1,8 +1,8 @@ import { HStack, Stack, styled } from 'leather-styles/jsx'; -import type { Money } from '@leather-wallet/models'; -import { useCalculateBitcoinFiatValue } from '@leather-wallet/query'; -import { formatMoney, i18nFormatCurrency } from '@leather-wallet/utils'; +import type { Money } from '@leather.io/models'; +import { useCalculateBitcoinFiatValue } from '@leather.io/query'; +import { formatMoney, i18nFormatCurrency } from '@leather.io/utils'; import { PsbtRequestDetailsSectionLayout } from './psbt-request-details-section.layout'; diff --git a/src/app/features/psbt-signer/components/psbt-request-header.tsx b/src/app/features/psbt-signer/components/psbt-request-header.tsx index 97dc691edae..eadbb7e9589 100644 --- a/src/app/features/psbt-signer/components/psbt-request-header.tsx +++ b/src/app/features/psbt-signer/components/psbt-request-header.tsx @@ -1,7 +1,8 @@ import { Flex, styled } from 'leather-styles/jsx'; +import { Flag } from '@leather.io/ui'; + import { Favicon } from '@app/components/favicon'; -import { Flag } from '@app/ui/components/flag/flag'; interface PsbtRequestHeaderProps { name?: string; diff --git a/src/app/features/psbt-signer/components/psbt-request-sighash-warning-label.tsx b/src/app/features/psbt-signer/components/psbt-request-sighash-warning-label.tsx index 1ff560f6ed9..f9c9150aa91 100644 --- a/src/app/features/psbt-signer/components/psbt-request-sighash-warning-label.tsx +++ b/src/app/features/psbt-signer/components/psbt-request-sighash-warning-label.tsx @@ -1,4 +1,4 @@ -import { Callout } from '@app/ui/components/callout/callout'; +import { Callout } from '@leather.io/ui'; interface PsbtRequestSighashWarningLabelProps { origin: string; diff --git a/src/app/features/psbt-signer/hooks/find-outputs-receiving-inscriptions.ts b/src/app/features/psbt-signer/hooks/find-outputs-receiving-inscriptions.ts index fd19fa3fcb7..1a8fd50309c 100644 --- a/src/app/features/psbt-signer/hooks/find-outputs-receiving-inscriptions.ts +++ b/src/app/features/psbt-signer/hooks/find-outputs-receiving-inscriptions.ts @@ -1,6 +1,6 @@ import BigNumber from 'bignumber.js'; -import { isDefined } from '@leather-wallet/utils'; +import { isDefined } from '@leather.io/utils'; import { PsbtInput } from './use-parsed-inputs'; import { PsbtOutput } from './use-parsed-outputs'; diff --git a/src/app/features/psbt-signer/hooks/use-parsed-inputs.tsx b/src/app/features/psbt-signer/hooks/use-parsed-inputs.tsx index b2026c92835..5ca56c7220e 100644 --- a/src/app/features/psbt-signer/hooks/use-parsed-inputs.tsx +++ b/src/app/features/psbt-signer/hooks/use-parsed-inputs.tsx @@ -3,13 +3,10 @@ import { useMemo } from 'react'; import type { TransactionInput } from '@scure/btc-signer/psbt'; import { bytesToHex } from '@stacks/common'; -import { - getBitcoinInputAddress, - getBtcSignerLibNetworkConfigByMode, -} from '@leather-wallet/bitcoin'; -import type { Inscription } from '@leather-wallet/models'; -import { useInscriptionsByOutputs } from '@leather-wallet/query'; -import { isDefined, isUndefined } from '@leather-wallet/utils'; +import { getBitcoinInputAddress, getBtcSignerLibNetworkConfigByMode } from '@leather.io/bitcoin'; +import type { Inscription } from '@leather.io/models'; +import { useInscriptionsByOutputs } from '@leather.io/query'; +import { isDefined, isUndefined } from '@leather.io/utils'; import { getBitcoinInputValue } from '@shared/crypto/bitcoin/bitcoin.utils'; diff --git a/src/app/features/psbt-signer/hooks/use-parsed-outputs.tsx b/src/app/features/psbt-signer/hooks/use-parsed-outputs.tsx index 307d9257148..3166eadef4f 100644 --- a/src/app/features/psbt-signer/hooks/use-parsed-outputs.tsx +++ b/src/app/features/psbt-signer/hooks/use-parsed-outputs.tsx @@ -2,12 +2,9 @@ import { useMemo } from 'react'; import type { TransactionOutput } from '@scure/btc-signer/psbt'; -import { - getAddressFromOutScript, - getBtcSignerLibNetworkConfigByMode, -} from '@leather-wallet/bitcoin'; -import type { NetworkConfiguration } from '@leather-wallet/models'; -import { isDefined, isUndefined } from '@leather-wallet/utils'; +import { getAddressFromOutScript, getBtcSignerLibNetworkConfigByMode } from '@leather.io/bitcoin'; +import type { NetworkConfiguration } from '@leather.io/models'; +import { isDefined, isUndefined } from '@leather.io/utils'; import { logger } from '@shared/logger'; diff --git a/src/app/features/psbt-signer/hooks/use-psbt-details.tsx b/src/app/features/psbt-signer/hooks/use-psbt-details.tsx index e93e0192237..8e486332cbc 100644 --- a/src/app/features/psbt-signer/hooks/use-psbt-details.tsx +++ b/src/app/features/psbt-signer/hooks/use-psbt-details.tsx @@ -2,7 +2,7 @@ import { useCallback, useMemo } from 'react'; import type { TransactionInput, TransactionOutput } from '@scure/btc-signer/psbt'; -import { createMoney, subtractMoney } from '@leather-wallet/utils'; +import { createMoney, subtractMoney } from '@leather.io/utils'; import { useCurrentAccountNativeSegwitIndexZeroSigner } from '@app/store/accounts/blockchain/bitcoin/native-segwit-account.hooks'; import { useCurrentAccountTaprootIndexZeroSigner } from '@app/store/accounts/blockchain/bitcoin/taproot-account.hooks'; diff --git a/src/app/features/psbt-signer/hooks/use-psbt-inscriptions.tsx b/src/app/features/psbt-signer/hooks/use-psbt-inscriptions.tsx index 939e06e63a4..4876576d988 100644 --- a/src/app/features/psbt-signer/hooks/use-psbt-inscriptions.tsx +++ b/src/app/features/psbt-signer/hooks/use-psbt-inscriptions.tsx @@ -1,6 +1,6 @@ import { useMemo } from 'react'; -import { isDefined } from '@leather-wallet/utils'; +import { isDefined } from '@leather.io/utils'; import { useCurrentAccountNativeSegwitIndexZeroSigner } from '@app/store/accounts/blockchain/bitcoin/native-segwit-account.hooks'; import { useCurrentAccountTaprootIndexZeroSigner } from '@app/store/accounts/blockchain/bitcoin/taproot-account.hooks'; diff --git a/src/app/features/psbt-signer/hooks/use-psbt-signer.tsx b/src/app/features/psbt-signer/hooks/use-psbt-signer.tsx index a4d3194535a..107cc9ca902 100644 --- a/src/app/features/psbt-signer/hooks/use-psbt-signer.tsx +++ b/src/app/features/psbt-signer/hooks/use-psbt-signer.tsx @@ -4,7 +4,7 @@ import { hexToBytes } from '@noble/hashes/utils'; import * as btc from '@scure/btc-signer'; import { RawPSBTV0, RawPSBTV2 } from '@scure/btc-signer/psbt'; -import { isString } from '@leather-wallet/utils'; +import { isString } from '@leather.io/utils'; import { BitcoinInputSigningConfig } from '@shared/crypto/bitcoin/signer-config'; import { logger } from '@shared/logger'; diff --git a/src/app/features/psbt-signer/hooks/use-psbt-totals.tsx b/src/app/features/psbt-signer/hooks/use-psbt-totals.tsx index 83796fdfa61..83cee1a8eb5 100644 --- a/src/app/features/psbt-signer/hooks/use-psbt-totals.tsx +++ b/src/app/features/psbt-signer/hooks/use-psbt-totals.tsx @@ -1,6 +1,6 @@ import { useMemo } from 'react'; -import { createMoney, sumNumbers } from '@leather-wallet/utils'; +import { createMoney, sumNumbers } from '@leather.io/utils'; import { PsbtInput } from './use-parsed-inputs'; import { PsbtOutput } from './use-parsed-outputs'; diff --git a/src/app/features/psbt-signer/psbt-signer.context.ts b/src/app/features/psbt-signer/psbt-signer.context.ts index 70e699412d6..2eae344417a 100644 --- a/src/app/features/psbt-signer/psbt-signer.context.ts +++ b/src/app/features/psbt-signer/psbt-signer.context.ts @@ -1,6 +1,6 @@ import { createContext, useContext } from 'react'; -import type { Inscription, Money } from '@leather-wallet/models'; +import type { Inscription, Money } from '@leather.io/models'; import { PsbtInput } from './hooks/use-parsed-inputs'; import { PsbtOutput } from './hooks/use-parsed-outputs'; diff --git a/src/app/features/psbt-signer/psbt-signer.tsx b/src/app/features/psbt-signer/psbt-signer.tsx index 9e7a2dec906..50073036c2d 100644 --- a/src/app/features/psbt-signer/psbt-signer.tsx +++ b/src/app/features/psbt-signer/psbt-signer.tsx @@ -3,8 +3,9 @@ import { useNavigate } from 'react-router-dom'; import { PsbtSelectors } from '@tests/selectors/requests.selectors'; -import { getPsbtTxInputs, getPsbtTxOutputs } from '@leather-wallet/bitcoin'; -import { isError } from '@leather-wallet/utils'; +import { getPsbtTxInputs, getPsbtTxOutputs } from '@leather.io/bitcoin'; +import { Button } from '@leather.io/ui'; +import { isError } from '@leather.io/utils'; import { RouteUrls } from '@shared/route-urls'; import { closeWindow } from '@shared/utils'; @@ -14,7 +15,6 @@ import { useBreakOnNonCompliantEntity } from '@app/query/common/compliance-check import { useOnOriginTabClose } from '@app/routes/hooks/use-on-tab-closed'; import { useCurrentAccountNativeSegwitIndexZeroSigner } from '@app/store/accounts/blockchain/bitcoin/native-segwit-account.hooks'; import { useCurrentAccountTaprootIndexZeroSigner } from '@app/store/accounts/blockchain/bitcoin/taproot-account.hooks'; -import { Button } from '@app/ui/components/button/button'; import { Footer } from '@app/ui/components/containers/footers/footer'; import { Card } from '@app/ui/layout/card/card'; import { CardContent } from '@app/ui/layout/card/card-content'; diff --git a/src/app/features/retrieve-taproot-to-native-segwit/components/retrieve-taproot-to-native-segwit.layout.tsx b/src/app/features/retrieve-taproot-to-native-segwit/components/retrieve-taproot-to-native-segwit.layout.tsx index 2cac7098fda..d72d6a97620 100644 --- a/src/app/features/retrieve-taproot-to-native-segwit/components/retrieve-taproot-to-native-segwit.layout.tsx +++ b/src/app/features/retrieve-taproot-to-native-segwit/components/retrieve-taproot-to-native-segwit.layout.tsx @@ -1,9 +1,7 @@ import { Flex, styled } from 'leather-styles/jsx'; -import { BtcAvatarIcon } from '@app/ui/components/avatar/btc-avatar-icon'; -import { Button } from '@app/ui/components/button/button'; -import { Callout } from '@app/ui/components/callout/callout'; -import { Dialog } from '@app/ui/components/containers/dialog/dialog'; +import { BtcAvatarIcon, Button, Callout, Dialog } from '@leather.io/ui'; + import { Footer } from '@app/ui/components/containers/footers/footer'; import { DialogHeader } from '@app/ui/components/containers/headers/dialog-header'; import { Card } from '@app/ui/layout/card/card'; diff --git a/src/app/features/retrieve-taproot-to-native-segwit/retrieve-taproot-to-native-segwit.tsx b/src/app/features/retrieve-taproot-to-native-segwit/retrieve-taproot-to-native-segwit.tsx index cd1b55f94bb..c76489c5211 100644 --- a/src/app/features/retrieve-taproot-to-native-segwit/retrieve-taproot-to-native-segwit.tsx +++ b/src/app/features/retrieve-taproot-to-native-segwit/retrieve-taproot-to-native-segwit.tsx @@ -6,12 +6,13 @@ import { useBitcoinBroadcastTransaction, useCurrentTaprootAccountBalance, useCurrentTaprootAccountUninscribedUtxos, -} from '@leather-wallet/query'; -import { delay, formatMoneyPadded, truncateMiddle } from '@leather-wallet/utils'; +} from '@leather.io/query'; +import { Link } from '@leather.io/ui'; +import { delay, formatMoneyPadded, truncateMiddle } from '@leather.io/utils'; import { RouteUrls } from '@shared/route-urls'; +import { analytics } from '@shared/utils/analytics'; -import { useAnalytics } from '@app/common/hooks/analytics/use-analytics'; import { FormAddressDisplayer } from '@app/components/address-displayer/form-address-displayer'; import { InfoCardRow, InfoCardSeparator } from '@app/components/info-card/info-card'; import { useToast } from '@app/features/toasts/use-toast'; @@ -21,7 +22,6 @@ import { useCurrentAccountNativeSegwitIndexZeroSigner, } from '@app/store/accounts/blockchain/bitcoin/native-segwit-account.hooks'; import { useCurrentTaprootAccount } from '@app/store/accounts/blockchain/bitcoin/taproot-account.hooks'; -import { Link } from '@app/ui/components/link/link'; import { RetrieveTaprootToNativeSegwitLayout } from './components/retrieve-taproot-to-native-segwit.layout'; import { useGenerateRetrieveTaprootFundsTx } from './use-generate-retrieve-taproot-funds-tx'; @@ -44,7 +44,7 @@ export function RetrieveTaprootToNativeSegwit() { nativeSegwitAddress: nativeSegwitSigner.address, currentAccountIndex, }); - const analytics = useAnalytics(); + const { generateRetrieveTaprootFundsTx, fee } = useGenerateRetrieveTaprootFundsTx(); const { broadcastTx, isBroadcasting } = useBitcoinBroadcastTransaction(); diff --git a/src/app/features/retrieve-taproot-to-native-segwit/use-generate-retrieve-taproot-funds-tx.tsx b/src/app/features/retrieve-taproot-to-native-segwit/use-generate-retrieve-taproot-funds-tx.tsx index 0a299d8488c..6562170643b 100644 --- a/src/app/features/retrieve-taproot-to-native-segwit/use-generate-retrieve-taproot-funds-tx.tsx +++ b/src/app/features/retrieve-taproot-to-native-segwit/use-generate-retrieve-taproot-funds-tx.tsx @@ -2,14 +2,14 @@ import { useCallback, useMemo } from 'react'; import * as btc from '@scure/btc-signer'; -import { extractAddressIndexFromPath } from '@leather-wallet/crypto'; -import type { Money } from '@leather-wallet/models'; +import { extractAddressIndexFromPath } from '@leather.io/crypto'; +import type { Money } from '@leather.io/models'; import { useAverageBitcoinFeeRates, useCurrentTaprootAccountUninscribedUtxos, useNumberOfInscriptionsOnUtxo, -} from '@leather-wallet/query'; -import { createMoney, sumNumbers } from '@leather-wallet/utils'; +} from '@leather.io/query'; +import { createMoney, sumNumbers } from '@leather.io/utils'; import { BtcSizeFeeEstimator } from '@app/common/transactions/bitcoin/fees/btc-size-fee-estimator'; import { useCurrentAccountIndex } from '@app/store/accounts/account'; diff --git a/src/app/features/secret-key-displayer/secret-key-displayer.tsx b/src/app/features/secret-key-displayer/secret-key-displayer.tsx index 302aedb2f1d..1531456b159 100644 --- a/src/app/features/secret-key-displayer/secret-key-displayer.tsx +++ b/src/app/features/secret-key-displayer/secret-key-displayer.tsx @@ -2,8 +2,8 @@ import { memo, useMemo } from 'react'; import { Outlet, useLocation, useNavigate } from 'react-router-dom'; import { RouteUrls } from '@shared/route-urls'; +import { analytics } from '@shared/utils/analytics'; -import { useAnalytics } from '@app/common/hooks/analytics/use-analytics'; import { useClipboard } from '@app/common/hooks/use-copy-to-clipboard'; import { SecretKeyLayout } from '../../ui/components/secret-key/secret-key.layout'; @@ -14,7 +14,7 @@ interface SecretKeyProps { export const SecretKey = memo(({ secretKey }: SecretKeyProps) => { const { onCopy, hasCopied } = useClipboard(secretKey || ''); const { pathname } = useLocation(); - const analytics = useAnalytics(); + const navigate = useNavigate(); const copyToClipboard = () => { diff --git a/src/app/features/settings/components/advanced-menu-items.tsx b/src/app/features/settings/components/advanced-menu-items.tsx index 69b1295c0c4..0c423f7fd3f 100644 --- a/src/app/features/settings/components/advanced-menu-items.tsx +++ b/src/app/features/settings/components/advanced-menu-items.tsx @@ -1,7 +1,8 @@ import { useMemo } from 'react'; import { useAsync } from 'react-async-hook'; -import { isNumber } from '@leather-wallet/utils'; +import { Caption, DropdownMenu } from '@leather.io/ui'; +import { isNumber } from '@leather.io/utils'; import { clearBrowserStorageLogs, @@ -11,8 +12,6 @@ import { import { Divider } from '@app/components/layout/divider'; import { useToast } from '@app/features/toasts/use-toast'; -import { DropdownMenu } from '@app/ui/components/dropdown-menu/dropdown-menu'; -import { Caption } from '@app/ui/components/typography/caption'; const isAnEmptyLogsArrayByteThreshold = 7; diff --git a/src/app/features/settings/components/ledger-item-row.tsx b/src/app/features/settings/components/ledger-item-row.tsx index 8340be0df51..9468177f1cf 100644 --- a/src/app/features/settings/components/ledger-item-row.tsx +++ b/src/app/features/settings/components/ledger-item-row.tsx @@ -1,7 +1,8 @@ import { Flex, styled } from 'leather-styles/jsx'; +import { LedgerIcon } from '@leather.io/ui'; + import { Divider } from '@app/components/layout/divider'; -import { LedgerIcon } from '@app/ui/icons/ledger-icon'; interface LedgerDeviceItemRowProps { deviceType?: string; diff --git a/src/app/features/settings/network/components/network-list-item.layout.tsx b/src/app/features/settings/network/components/network-list-item.layout.tsx index e353a3a87c7..b0b4afef823 100644 --- a/src/app/features/settings/network/components/network-list-item.layout.tsx +++ b/src/app/features/settings/network/components/network-list-item.layout.tsx @@ -2,11 +2,10 @@ import { NetworkSelectors } from '@tests/selectors/network.selectors'; import { SettingsSelectors } from '@tests/selectors/settings.selectors'; import { Flex, Stack, styled } from 'leather-styles/jsx'; -import type { NetworkConfiguration } from '@leather-wallet/models'; +import type { NetworkConfiguration } from '@leather.io/models'; +import { Button, CheckmarkIcon, CloudOffIcon, TrashIcon } from '@leather.io/ui'; import { getUrlHostname } from '@app/common/utils'; -import { Button } from '@app/ui/components/button/button'; -import { CheckmarkIcon, CloudOffIcon, TrashIcon } from '@app/ui/icons'; interface NetworkListItemLayoutProps { networkId: string; diff --git a/src/app/features/settings/network/network-list-item.tsx b/src/app/features/settings/network/network-list-item.tsx index 1f74ad90b2d..de1736cd381 100644 --- a/src/app/features/settings/network/network-list-item.tsx +++ b/src/app/features/settings/network/network-list-item.tsx @@ -1,5 +1,5 @@ -import { defaultCurrentNetwork } from '@leather-wallet/models'; -import { useNetworkStatus } from '@leather-wallet/query'; +import { defaultCurrentNetwork } from '@leather.io/models'; +import { useNetworkStatus } from '@leather.io/query'; import { useCurrentNetworkId, useNetworks } from '@app/store/networks/networks.selectors'; diff --git a/src/app/features/settings/network/network.tsx b/src/app/features/settings/network/network.tsx index aa4d5b95f82..a79ef308ab0 100644 --- a/src/app/features/settings/network/network.tsx +++ b/src/app/features/settings/network/network.tsx @@ -2,16 +2,15 @@ import { useNavigate } from 'react-router-dom'; import { SettingsSelectors } from '@tests/selectors/settings.selectors'; -import { WalletDefaultNetworkConfigurationIds } from '@leather-wallet/models'; +import { WalletDefaultNetworkConfigurationIds } from '@leather.io/models'; +import { Button, Dialog } from '@leather.io/ui'; import { RouteUrls } from '@shared/route-urls'; +import { analytics } from '@shared/utils/analytics'; -import { useAnalytics } from '@app/common/hooks/analytics/use-analytics'; import { NetworkListItem } from '@app/features/settings/network/network-list-item'; import { useCurrentNetworkState, useNetworksActions } from '@app/store/networks/networks.hooks'; import { useNetworks } from '@app/store/networks/networks.selectors'; -import { Button } from '@app/ui/components/button/button'; -import { Dialog } from '@app/ui/components/containers/dialog/dialog'; import { Footer } from '@app/ui/components/containers/footers/footer'; import { DialogHeader } from '@app/ui/components/containers/headers/dialog-header'; @@ -24,7 +23,7 @@ interface NetworkDialogProps { export function NetworkDialog({ onClose }: NetworkDialogProps) { const navigate = useNavigate(); const networks = useNetworks(); - const analytics = useAnalytics(); + const networksActions = useNetworksActions(); const currentNetwork = useCurrentNetworkState(); diff --git a/src/app/features/settings/settings.tsx b/src/app/features/settings/settings.tsx index 78cafad2bbd..84f8a3e345b 100644 --- a/src/app/features/settings/settings.tsx +++ b/src/app/features/settings/settings.tsx @@ -5,9 +5,25 @@ import { SettingsSelectors } from '@tests/selectors/settings.selectors'; import { css } from 'leather-styles/css'; import { Flex, Stack, styled } from 'leather-styles/jsx'; +import { + Caption, + DropdownMenu, + ExitIcon, + ExpandIcon, + ExternalLinkIcon, + Flag, + KeyIcon, + LockIcon, + MegaphoneIcon, + SunInCloudIcon, + SupportIcon, + SwapIcon, + WorldIcon, +} from '@leather.io/ui'; + import { RouteUrls } from '@shared/route-urls'; +import { analytics } from '@shared/utils/analytics'; -import { useAnalytics } from '@app/common/hooks/analytics/use-analytics'; import { useKeyActions } from '@app/common/hooks/use-key-actions'; import { useModifierKey } from '@app/common/hooks/use-modifier-key'; import { useWalletType } from '@app/common/use-wallet-type'; @@ -20,21 +36,6 @@ import { ThemeDialog } from '@app/features/settings/theme/theme-dialog'; import { useCurrentStacksAccount } from '@app/store/accounts/blockchain/stacks/stacks-account.hooks'; import { useHasLedgerKeys, useLedgerDeviceTargetId } from '@app/store/ledger/ledger.selectors'; import { useCurrentNetworkId } from '@app/store/networks/networks.selectors'; -import { DropdownMenu } from '@app/ui/components/dropdown-menu/dropdown-menu'; -import { Flag } from '@app/ui/components/flag/flag'; -import { Caption } from '@app/ui/components/typography/caption'; -import { - ExitIcon, - ExpandIcon, - ExternalLinkIcon, - KeyIcon, - LockIcon, - MegaphoneIcon, - SunInCloudIcon, - SupportIcon, - SwapIcon, - WorldIcon, -} from '@app/ui/icons/'; import { openFeedbackDialog } from '../feedback-button/feedback-button'; import { extractDeviceNameFromKnownTargetIds } from '../ledger/utils/generic-ledger-utils'; @@ -54,7 +55,7 @@ export function Settings({ triggerButton, toggleSwitchAccount }: SettingsProps) const currentNetworkId = useCurrentNetworkId(); const navigate = useNavigate(); - const analytics = useAnalytics(); + const { walletType } = useWalletType(); const targetId = useLedgerDeviceTargetId(); diff --git a/src/app/features/settings/sign-out/sign-out.tsx b/src/app/features/settings/sign-out/sign-out.tsx index 23f37de0924..04e83ee6e6b 100644 --- a/src/app/features/settings/sign-out/sign-out.tsx +++ b/src/app/features/settings/sign-out/sign-out.tsx @@ -2,14 +2,14 @@ import { SettingsSelectors } from '@tests/selectors/settings.selectors'; import { useFormik } from 'formik'; import { Flex, HStack, styled } from 'leather-styles/jsx'; +import { Button, Callout, Dialog } from '@leather.io/ui'; + import { useWalletType } from '@app/common/use-wallet-type'; -import { Button } from '@app/ui/components/button/button'; -import { Callout } from '@app/ui/components/callout/callout'; -import { Dialog, DialogProps } from '@app/ui/components/containers/dialog/dialog'; import { Footer } from '@app/ui/components/containers/footers/footer'; import { DialogHeader } from '@app/ui/components/containers/headers/dialog-header'; -interface SignOutDialogProps extends DialogProps { +interface SignOutDialogProps { + isShowing: boolean; onUserDeleteWallet(): void; onClose(): void; } diff --git a/src/app/features/settings/theme/theme-dialog.tsx b/src/app/features/settings/theme/theme-dialog.tsx index 56e37c38653..96cd5117739 100644 --- a/src/app/features/settings/theme/theme-dialog.tsx +++ b/src/app/features/settings/theme/theme-dialog.tsx @@ -1,8 +1,10 @@ import { useCallback } from 'react'; -import { useAnalytics } from '@app/common/hooks/analytics/use-analytics'; +import { Dialog } from '@leather.io/ui'; + +import { analytics } from '@shared/utils/analytics'; + import { UserSelectedTheme, themeLabelMap, useThemeSwitcher } from '@app/common/theme-provider'; -import { Dialog } from '@app/ui/components/containers/dialog/dialog'; import { DialogHeader } from '@app/ui/components/containers/headers/dialog-header'; import { ThemeListItem } from './theme-list-item'; @@ -13,7 +15,7 @@ interface ThemeDialogProps { export function ThemeDialog({ onClose }: ThemeDialogProps) { const themes = Object.keys(themeLabelMap) as UserSelectedTheme[]; - const analytics = useAnalytics(); + const { setUserSelectedTheme } = useThemeSwitcher(); const handleThemeSelected = useCallback( @@ -23,7 +25,7 @@ export function ThemeDialog({ onClose }: ThemeDialogProps) { }); setUserSelectedTheme(theme); }, - [analytics, setUserSelectedTheme] + [setUserSelectedTheme] ); const { userSelectedTheme } = useThemeSwitcher(); diff --git a/src/app/features/settings/theme/theme-list-item.tsx b/src/app/features/settings/theme/theme-list-item.tsx index 33c72298fd9..9fa549dd980 100644 --- a/src/app/features/settings/theme/theme-list-item.tsx +++ b/src/app/features/settings/theme/theme-list-item.tsx @@ -2,8 +2,9 @@ import { useCallback } from 'react'; import { Box, Flex, styled } from 'leather-styles/jsx'; +import { CheckmarkIcon } from '@leather.io/ui'; + import { UserSelectedTheme, getThemeLabel } from '@app/common/theme-provider'; -import { CheckmarkIcon } from '@app/ui/icons'; interface ThemeListItemProps { theme: UserSelectedTheme; diff --git a/src/app/features/stacks-high-fee-warning/stacks-high-fee-dialog.tsx b/src/app/features/stacks-high-fee-warning/stacks-high-fee-dialog.tsx new file mode 100644 index 00000000000..9ebcd5850e7 --- /dev/null +++ b/src/app/features/stacks-high-fee-warning/stacks-high-fee-dialog.tsx @@ -0,0 +1,65 @@ +import { SendCryptoAssetSelectors } from '@tests/selectors/send.selectors'; +import { useFormikContext } from 'formik'; +import { HStack, Stack } from 'leather-styles/jsx'; + +import { Button, Caption, Dialog, ErrorIcon, Link, Title } from '@leather.io/ui'; + +import { StacksSendFormValues } from '@shared/models/form.model'; + +import { openInNewTab } from '@app/common/utils/open-in-new-tab'; +import { Footer } from '@app/ui/components/containers/footers/footer'; +import { DialogHeader } from '@app/ui/components/containers/headers/dialog-header'; + +import { useStacksHighFeeWarningContext } from './stacks-high-fee-warning-container'; + +interface HighFeeDialogProps { + learnMoreUrl: string; +} +export function HighFeeDialog({ learnMoreUrl }: HighFeeDialogProps) { + const { handleSubmit, values } = useFormikContext(); + const { showHighFeeWarningDialog, setHasBypassedFeeWarning, setShowHighFeeWarningDialog } = + useStacksHighFeeWarningContext(); + + return ( + } + isShowing={showHighFeeWarningDialog} + onClose={() => setShowHighFeeWarningDialog(false)} + footer={ +
+ + +
+ } + > + + + + + Are you sure you want to pay {values.fee} {values.feeCurrency} in fees for this + transaction? + + + + This action cannot be undone. The fees won't be returned, even if the transaction fails. + openInNewTab(learnMoreUrl)} size="sm" ml="space.01"> + Learn more + + + +
+ ); +} diff --git a/src/app/features/stacks-high-fee-warning/stacks-high-fee-warning-container.tsx b/src/app/features/stacks-high-fee-warning/stacks-high-fee-warning-container.tsx new file mode 100644 index 00000000000..2da182ae6f7 --- /dev/null +++ b/src/app/features/stacks-high-fee-warning/stacks-high-fee-warning-container.tsx @@ -0,0 +1,51 @@ +import { createContext, useContext, useState } from 'react'; + +import BigNumber from 'bignumber.js'; +import type { FormikErrors } from 'formik'; + +import { HIGH_FEE_AMOUNT_STX } from '@leather.io/constants'; +import { isEmpty } from '@leather.io/utils'; + +import type { HasChildren } from '@app/common/has-children'; + +interface StacksHighFeeWarningContext { + showHighFeeWarningDialog: boolean; + setShowHighFeeWarningDialog(val: boolean): void; + hasBypassedFeeWarning: boolean; + setHasBypassedFeeWarning(val: boolean): void; + isHighFeeWithNoFormErrors(errors: FormikErrors, fee: number | string): boolean; +} + +const stacksHighFeeWarningContext = createContext(null); + +export function useStacksHighFeeWarningContext() { + const ctx = useContext(stacksHighFeeWarningContext); + if (!ctx) throw new Error(`stacksCommonSendFormContext must be used within a context`); + return ctx; +} + +const StacksHighFeeWarningProvider = stacksHighFeeWarningContext.Provider; + +export function StacksHighFeeWarningContainer({ children }: HasChildren) { + const [showHighFeeWarningDialog, setShowHighFeeWarningDialog] = useState(false); + const [hasBypassedFeeWarning, setHasBypassedFeeWarning] = useState(false); + + function isHighFeeWithNoFormErrors(errors: FormikErrors, fee: number | string) { + if (hasBypassedFeeWarning) return false; + return isEmpty(errors) && new BigNumber(fee).isGreaterThan(HIGH_FEE_AMOUNT_STX); + } + + return ( + + {children} + + ); +} diff --git a/src/app/features/stacks-message-signer/stacks-message-signing.utils.ts b/src/app/features/stacks-message-signer/stacks-message-signing.utils.ts index 82644c6974a..b2ffb165d72 100644 --- a/src/app/features/stacks-message-signer/stacks-message-signing.utils.ts +++ b/src/app/features/stacks-message-signer/stacks-message-signing.utils.ts @@ -2,7 +2,7 @@ import { useCallback } from 'react'; import { ClarityValue, TupleCV, createStacksPrivateKey } from '@stacks/transactions'; -import { isString } from '@leather-wallet/utils'; +import { isString } from '@leather.io/utils'; import { signMessage, signStructuredDataMessage } from '@shared/crypto/sign-message'; import { createDelay } from '@shared/utils'; diff --git a/src/app/features/stacks-message-signer/use-sign-stacks-message.ts b/src/app/features/stacks-message-signer/use-sign-stacks-message.ts index 0e547994acb..721a5f0f9fd 100644 --- a/src/app/features/stacks-message-signer/use-sign-stacks-message.ts +++ b/src/app/features/stacks-message-signer/use-sign-stacks-message.ts @@ -4,8 +4,8 @@ import { SignatureData } from '@stacks/connect'; import { logger } from '@shared/logger'; import { UnsignedMessage } from '@shared/signature/signature-types'; +import { analytics } from '@shared/utils/analytics'; -import { useAnalytics } from '@app/common/hooks/analytics/use-analytics'; import { useWalletType } from '@app/common/use-wallet-type'; import { useLedgerNavigate } from '@app/features/ledger/hooks/use-ledger-navigate'; import { @@ -23,7 +23,6 @@ export function useSignStacksMessage({ onSignMessageCompleted, onSignMessageCancelled, }: SignStacksMessageProps) { - const analytics = useAnalytics(); const signSoftwareWalletMessage = useMessageSignerStacksSoftwareWallet(); const { whenWallet } = useWalletType(); diff --git a/src/app/features/stacks-transaction-request/contract-call-details/contract-call-details.tsx b/src/app/features/stacks-transaction-request/contract-call-details/contract-call-details.tsx index 445488090b8..94617dcb2cb 100644 --- a/src/app/features/stacks-transaction-request/contract-call-details/contract-call-details.tsx +++ b/src/app/features/stacks-transaction-request/contract-call-details/contract-call-details.tsx @@ -2,12 +2,13 @@ import { Suspense } from 'react'; import { Stack } from 'leather-styles/jsx'; +import { Title } from '@leather.io/ui'; + import { useStacksExplorerLink } from '@app/common/hooks/use-stacks-explorer-link'; import { formatContractId } from '@app/common/utils'; import { AttachmentRow } from '@app/features/stacks-transaction-request/attachment-row'; import { ContractPreviewLayout } from '@app/features/stacks-transaction-request/contract-preview'; import { useTransactionRequestState } from '@app/store/transactions/requests.hooks'; -import { Title } from '@app/ui/components/typography/title'; import { FunctionArgumentsList } from './function-arguments-list'; diff --git a/src/app/features/stacks-transaction-request/contract-call-details/function-argument-item.tsx b/src/app/features/stacks-transaction-request/contract-call-details/function-argument-item.tsx index ec61ccc2c80..db203d9610c 100644 --- a/src/app/features/stacks-transaction-request/contract-call-details/function-argument-item.tsx +++ b/src/app/features/stacks-transaction-request/contract-call-details/function-argument-item.tsx @@ -1,7 +1,7 @@ import { cvToString, deserializeCV, getCVTypeString } from '@stacks/transactions'; -import { useContractFunction } from '@leather-wallet/query'; -import { formatContractId } from '@leather-wallet/utils'; +import { useContractFunction } from '@leather.io/query'; +import { formatContractId } from '@leather.io/utils'; import { logger } from '@shared/logger'; diff --git a/src/app/features/stacks-transaction-request/contract-call-details/function-arguments-list.tsx b/src/app/features/stacks-transaction-request/contract-call-details/function-arguments-list.tsx index 50953f2384e..f89f713ad3a 100644 --- a/src/app/features/stacks-transaction-request/contract-call-details/function-arguments-list.tsx +++ b/src/app/features/stacks-transaction-request/contract-call-details/function-arguments-list.tsx @@ -2,8 +2,9 @@ import { Suspense, memo } from 'react'; import { Stack, StackProps } from 'leather-styles/jsx'; +import { Caption } from '@leather.io/ui'; + import { useTransactionRequestState } from '@app/store/transactions/requests.hooks'; -import { Caption } from '@app/ui/components/typography/caption'; import { FunctionArgumentItem } from './function-argument-item'; diff --git a/src/app/features/stacks-transaction-request/contract-deploy-details/contract-deploy-details.tsx b/src/app/features/stacks-transaction-request/contract-deploy-details/contract-deploy-details.tsx index 0fe9245b596..ee107ef2154 100644 --- a/src/app/features/stacks-transaction-request/contract-deploy-details/contract-deploy-details.tsx +++ b/src/app/features/stacks-transaction-request/contract-deploy-details/contract-deploy-details.tsx @@ -2,6 +2,8 @@ import { useState } from 'react'; import { HStack, HTMLStyledProps, Stack, styled } from 'leather-styles/jsx'; +import { Title } from '@leather.io/ui'; + import { Prism } from '@app/common/clarity-prism'; import { AttachmentRow } from '@app/features/stacks-transaction-request/attachment-row'; import { ContractPreviewLayout } from '@app/features/stacks-transaction-request/contract-preview'; @@ -12,7 +14,6 @@ import { } from '@app/store/accounts/blockchain/stacks/stacks-account.hooks'; import { useTransactionRequestState } from '@app/store/transactions/requests.hooks'; import { CodeBlock } from '@app/ui/components/codeblock'; -import { Title } from '@app/ui/components/typography/title'; function ContractCodeSection() { const transactionRequest = useTransactionRequestState(); diff --git a/src/app/features/stacks-transaction-request/contract-preview.tsx b/src/app/features/stacks-transaction-request/contract-preview.tsx index 67fb7dd4999..f90f3283e99 100644 --- a/src/app/features/stacks-transaction-request/contract-preview.tsx +++ b/src/app/features/stacks-transaction-request/contract-preview.tsx @@ -1,11 +1,9 @@ import { HStack, Stack } from 'leather-styles/jsx'; -import { truncateMiddle } from '@leather-wallet/utils'; +import { Caption, DynamicColorCircle, Title } from '@leather.io/ui'; +import { truncateMiddle } from '@leather.io/utils'; import { formatContractId } from '@app/common/utils'; -import { DynamicColorCircle } from '@app/ui/components/dynamic-color-circle'; -import { Caption } from '@app/ui/components/typography/caption'; -import { Title } from '@app/ui/components/typography/title'; interface ContractPreviewLayoutProps { contractAddress: string; diff --git a/src/app/features/stacks-transaction-request/fee-form.tsx b/src/app/features/stacks-transaction-request/fee-form.tsx index 83fcd50f25e..f03c1230caa 100644 --- a/src/app/features/stacks-transaction-request/fee-form.tsx +++ b/src/app/features/stacks-transaction-request/fee-form.tsx @@ -1,6 +1,6 @@ import { useFormikContext } from 'formik'; -import type { Fees } from '@leather-wallet/models'; +import type { Fees } from '@leather.io/models'; import { StacksTransactionFormValues } from '@shared/models/form.model'; diff --git a/src/app/features/stacks-transaction-request/hooks/use-stacks-broadcast-transaction.tsx b/src/app/features/stacks-transaction-request/hooks/use-stacks-broadcast-transaction.tsx index 2bbc005115c..1fc72d4e6bc 100644 --- a/src/app/features/stacks-transaction-request/hooks/use-stacks-broadcast-transaction.tsx +++ b/src/app/features/stacks-transaction-request/hooks/use-stacks-broadcast-transaction.tsx @@ -3,8 +3,8 @@ import { useNavigate } from 'react-router-dom'; import { AuthType, StacksTransaction } from '@stacks/transactions'; -import type { CryptoCurrencies } from '@leather-wallet/models'; -import { delay, isError, isString } from '@leather-wallet/utils'; +import type { CryptoCurrencies } from '@leather.io/models'; +import { delay, isError, isString } from '@leather.io/utils'; import { finalizeTxSignature } from '@shared/actions/finalize-tx-signature'; import { logger } from '@shared/logger'; diff --git a/src/app/features/stacks-transaction-request/hooks/use-stacks-transaction-summary.ts b/src/app/features/stacks-transaction-request/hooks/use-stacks-transaction-summary.ts index 0ee45f0a5fa..5a5d36e0da1 100644 --- a/src/app/features/stacks-transaction-request/hooks/use-stacks-transaction-summary.ts +++ b/src/app/features/stacks-transaction-request/hooks/use-stacks-transaction-summary.ts @@ -11,11 +11,11 @@ import { } from '@stacks/transactions'; import BigNumber from 'bignumber.js'; -import type { CryptoCurrencies } from '@leather-wallet/models'; +import type { CryptoCurrencies } from '@leather.io/models'; import { useCryptoCurrencyMarketDataMeanAverage, useGetStackNetworkBlockTimeQuery, -} from '@leather-wallet/query'; +} from '@leather.io/query'; import { baseCurrencyAmountInQuote, convertToMoneyTypeWithDefaultOfZero, @@ -24,7 +24,7 @@ import { i18nFormatCurrency, isDefined, microStxToStx, -} from '@leather-wallet/utils'; +} from '@leather.io/utils'; import { getEstimatedConfirmationTime } from '@app/common/transactions/stacks/transaction.utils'; import { removeTrailingNullCharacters } from '@app/common/utils'; diff --git a/src/app/features/stacks-transaction-request/hooks/use-transaction-error.ts b/src/app/features/stacks-transaction-request/hooks/use-transaction-error.ts index 3616a0d73f4..00865304857 100644 --- a/src/app/features/stacks-transaction-request/hooks/use-transaction-error.ts +++ b/src/app/features/stacks-transaction-request/hooks/use-transaction-error.ts @@ -4,8 +4,8 @@ import { ContractCallPayload, TransactionTypes } from '@stacks/connect'; import BigNumber from 'bignumber.js'; import { useFormikContext } from 'formik'; -import { useContractInterface, useStxAvailableUnlockedBalance } from '@leather-wallet/query'; -import { stxToMicroStx } from '@leather-wallet/utils'; +import { useContractInterface, useStxAvailableUnlockedBalance } from '@leather.io/query'; +import { stxToMicroStx } from '@leather.io/utils'; import { StacksTransactionFormValues } from '@shared/models/form.model'; diff --git a/src/app/features/stacks-transaction-request/minimal-error-message.tsx b/src/app/features/stacks-transaction-request/minimal-error-message.tsx index d433825fca6..b7ab39368b7 100644 --- a/src/app/features/stacks-transaction-request/minimal-error-message.tsx +++ b/src/app/features/stacks-transaction-request/minimal-error-message.tsx @@ -3,9 +3,10 @@ import { Suspense, memo } from 'react'; import { TransactionRequestSelectors } from '@tests/selectors/requests.selectors'; import { HStack, HstackProps, styled } from 'leather-styles/jsx'; +import { ErrorIcon } from '@leather.io/ui'; + import { useTransactionError } from '@app/features/stacks-transaction-request/hooks/use-transaction-error'; import { TransactionErrorReason } from '@app/features/stacks-transaction-request/transaction-error/transaction-error'; -import { ErrorIcon } from '@app/ui/icons/error-icon'; function MinimalErrorMessageSuspense(props: HstackProps) { const error = useTransactionError(); diff --git a/src/app/features/stacks-transaction-request/page-top.tsx b/src/app/features/stacks-transaction-request/page-top.tsx index 8b3a8d5fb63..876d13130a2 100644 --- a/src/app/features/stacks-transaction-request/page-top.tsx +++ b/src/app/features/stacks-transaction-request/page-top.tsx @@ -3,13 +3,14 @@ import { memo } from 'react'; import { TransactionRequestSelectors } from '@tests/selectors/requests.selectors'; import { Stack, styled } from 'leather-styles/jsx'; +import { Flag } from '@leather.io/ui'; + import { useDefaultRequestParams } from '@app/common/hooks/use-default-request-search-params'; import { addPortSuffix, getUrlHostname } from '@app/common/utils'; import { Favicon } from '@app/components/favicon'; import { useStacksTxPageTitle } from '@app/features/stacks-transaction-request/hooks/use-stacks-tx-page-title'; import { useCurrentNetworkState } from '@app/store/networks/networks.hooks'; import { useTransactionRequestState } from '@app/store/transactions/requests.hooks'; -import { Flag } from '@app/ui/components/flag/flag'; function PageTopBase() { const transactionRequest = useTransactionRequestState(); diff --git a/src/app/features/stacks-transaction-request/post-condition-mode-warning.tsx b/src/app/features/stacks-transaction-request/post-condition-mode-warning.tsx index 93252b34016..7bcbc5042b6 100644 --- a/src/app/features/stacks-transaction-request/post-condition-mode-warning.tsx +++ b/src/app/features/stacks-transaction-request/post-condition-mode-warning.tsx @@ -1,7 +1,8 @@ import { PostConditionMode } from '@stacks/transactions'; +import { Callout } from '@leather.io/ui'; + import { usePostConditionModeState } from '@app/store/transactions/post-conditions.hooks'; -import { Callout } from '@app/ui/components/callout/callout'; export function PostConditionModeWarning(): React.JSX.Element | null { const mode = usePostConditionModeState(); diff --git a/src/app/features/stacks-transaction-request/post-conditions/fungible-post-condition-item.tsx b/src/app/features/stacks-transaction-request/post-conditions/fungible-post-condition-item.tsx index 7c7513c04f5..c1a104fa779 100644 --- a/src/app/features/stacks-transaction-request/post-conditions/fungible-post-condition-item.tsx +++ b/src/app/features/stacks-transaction-request/post-conditions/fungible-post-condition-item.tsx @@ -3,7 +3,7 @@ import { Suspense } from 'react'; import { TransactionTypes } from '@stacks/connect'; import { FungiblePostCondition, addressToString } from '@stacks/transactions'; -import { truncateMiddle } from '@leather-wallet/utils'; +import { truncateMiddle } from '@leather.io/utils'; import { ftDecimals, getSafeImageCanonicalUri } from '@app/common/stacks-utils'; import { diff --git a/src/app/features/stacks-transaction-request/post-conditions/no-post-conditions.tsx b/src/app/features/stacks-transaction-request/post-conditions/no-post-conditions.tsx index 5ffed6feb56..d623a1f0aff 100644 --- a/src/app/features/stacks-transaction-request/post-conditions/no-post-conditions.tsx +++ b/src/app/features/stacks-transaction-request/post-conditions/no-post-conditions.tsx @@ -1,6 +1,6 @@ import { Box, Circle, HStack, styled } from 'leather-styles/jsx'; -import { LockIcon } from '@app/ui/icons/lock-icon'; +import { LockIcon } from '@leather.io/ui'; export function NoPostConditions(): React.JSX.Element { return ( diff --git a/src/app/features/stacks-transaction-request/post-conditions/post-condition-item.tsx b/src/app/features/stacks-transaction-request/post-conditions/post-condition-item.tsx index 0e2d190cc34..5f5e68c7dac 100644 --- a/src/app/features/stacks-transaction-request/post-conditions/post-condition-item.tsx +++ b/src/app/features/stacks-transaction-request/post-conditions/post-condition-item.tsx @@ -3,7 +3,7 @@ import { Suspense } from 'react'; import { TransactionTypes } from '@stacks/connect'; import { NonFungiblePostCondition, STXPostCondition, addressToString } from '@stacks/transactions'; -import { truncateMiddle } from '@leather-wallet/utils'; +import { truncateMiddle } from '@leather.io/utils'; import { getAmountFromPostCondition, diff --git a/src/app/features/stacks-transaction-request/post-conditions/stx-post-condition.tsx b/src/app/features/stacks-transaction-request/post-conditions/stx-post-condition.tsx index f03d1168ced..5485a8ca947 100644 --- a/src/app/features/stacks-transaction-request/post-conditions/stx-post-condition.tsx +++ b/src/app/features/stacks-transaction-request/post-conditions/stx-post-condition.tsx @@ -1,6 +1,6 @@ import { TransactionTypes } from '@stacks/connect'; -import { truncateMiddle } from '@leather-wallet/utils'; +import { truncateMiddle } from '@leather.io/utils'; import { stacksValue } from '@app/common/stacks-utils'; import { EventCard } from '@app/components/event-card'; diff --git a/src/app/features/stacks-transaction-request/principal-value.tsx b/src/app/features/stacks-transaction-request/principal-value.tsx index 41eadb11987..64e89ed29f1 100644 --- a/src/app/features/stacks-transaction-request/principal-value.tsx +++ b/src/app/features/stacks-transaction-request/principal-value.tsx @@ -1,7 +1,8 @@ +import { Link } from '@leather.io/ui'; + import { makeStacksAddressExplorerLink } from '@app/common/utils'; import { openInNewTab } from '@app/common/utils/open-in-new-tab'; import { useCurrentNetworkState } from '@app/store/networks/networks.hooks'; -import { Link } from '@app/ui/components/link/link'; interface PrincipalValueProps { address: string; diff --git a/src/app/features/stacks-transaction-request/row.tsx b/src/app/features/stacks-transaction-request/row.tsx index 5f8134de0b2..d10901808ec 100644 --- a/src/app/features/stacks-transaction-request/row.tsx +++ b/src/app/features/stacks-transaction-request/row.tsx @@ -1,6 +1,6 @@ import { HStack, Stack, styled } from 'leather-styles/jsx'; -import { Caption } from '@app/ui/components/typography/caption'; +import { Caption } from '@leather.io/ui'; import { PrincipalValue } from './principal-value'; diff --git a/src/app/features/stacks-transaction-request/stacks-transaction-signer.tsx b/src/app/features/stacks-transaction-request/stacks-transaction-signer.tsx index 9f470c46a4b..ce6e5a6b2a1 100644 --- a/src/app/features/stacks-transaction-request/stacks-transaction-signer.tsx +++ b/src/app/features/stacks-transaction-request/stacks-transaction-signer.tsx @@ -1,4 +1,3 @@ -import { useState } from 'react'; import { Outlet, useLocation, useNavigate } from 'react-router-dom'; import { StacksTransaction } from '@stacks/transactions'; @@ -6,24 +5,24 @@ import { Formik, FormikHelpers } from 'formik'; import { Flex } from 'leather-styles/jsx'; import * as yup from 'yup'; -import { HIGH_FEE_WARNING_LEARN_MORE_URL_STX } from '@leather-wallet/constants'; -import { FeeTypes } from '@leather-wallet/models'; +import { HIGH_FEE_WARNING_LEARN_MORE_URL_STX } from '@leather.io/constants'; +import { FeeTypes } from '@leather.io/models'; import { useCalculateStacksTxFees, useNextNonce, useStxAvailableUnlockedBalance, -} from '@leather-wallet/query'; -import { stxToMicroStx } from '@leather-wallet/utils'; +} from '@leather.io/query'; +import { Link } from '@leather.io/ui'; +import { stxToMicroStx } from '@leather.io/utils'; import { StacksTransactionFormValues } from '@shared/models/form.model'; import { RouteUrls } from '@shared/route-urls'; +import { analytics } from '@shared/utils/analytics'; -import { useAnalytics } from '@app/common/hooks/analytics/use-analytics'; import { useOnMount } from '@app/common/hooks/use-on-mount'; import { stxFeeValidator } from '@app/common/validation/forms/fee-validators'; import { nonceValidator } from '@app/common/validation/nonce-validators'; import { NonceSetter } from '@app/components/nonce-setter'; -import { HighFeeDialog } from '@app/features/dialogs/high-fee-dialog/high-fee-dialog'; import { RequestingTabClosedWarningMessage } from '@app/features/errors/requesting-tab-closed-error-msg'; import { ContractCallDetails } from '@app/features/stacks-transaction-request/contract-call-details/contract-call-details'; import { ContractDeployDetails } from '@app/features/stacks-transaction-request/contract-deploy-details/contract-deploy-details'; @@ -34,11 +33,11 @@ import { StxTransferDetails } from '@app/features/stacks-transaction-request/stx import { TransactionError } from '@app/features/stacks-transaction-request/transaction-error/transaction-error'; import { useCurrentStacksAccountAddress } from '@app/store/accounts/blockchain/stacks/stacks-account.hooks'; import { useTransactionRequestState } from '@app/store/transactions/requests.hooks'; -import { Link } from '@app/ui/components/link/link'; +import { HighFeeDialog } from '../stacks-high-fee-warning/stacks-high-fee-dialog'; import { FeeForm } from './fee-form'; import { MinimalErrorMessage } from './minimal-error-message'; -import { SubmitAction } from './submit-action'; +import { StacksTxSubmitAction } from './submit-action'; interface StacksTransactionSignerProps { stacksTransaction: StacksTransaction; @@ -55,10 +54,9 @@ export function StacksTransactionSigner({ onSignStacksTransaction, isMultisig, }: StacksTransactionSignerProps) { - const [isShowingHighFeeConfirmation, setIsShowingHighFeeConfirmation] = useState(false); const transactionRequest = useTransactionRequestState(); const { data: stxFees } = useCalculateStacksTxFees(stacksTransaction); - const analytics = useAnalytics(); + const stxAddress = useCurrentStacksAccountAddress(); const availableUnlockedBalance = useStxAvailableUnlockedBalance(stxAddress); const navigate = useNavigate(); @@ -66,7 +64,7 @@ export function StacksTransactionSigner({ const { search } = useLocation(); useOnMount(() => { - void analytics.track('view_transaction_signing'), [analytics]; + void analytics.track('view_transaction_signing'), []; }); async function onSubmit( @@ -136,13 +134,8 @@ export function StacksTransactionSigner({ )} - setIsShowingHighFeeConfirmation(true)} - /> - + + )} diff --git a/src/app/features/stacks-transaction-request/stx-transfer-details/stx-transfer-details.tsx b/src/app/features/stacks-transaction-request/stx-transfer-details/stx-transfer-details.tsx index de5bd459b24..e495d32b387 100644 --- a/src/app/features/stacks-transaction-request/stx-transfer-details/stx-transfer-details.tsx +++ b/src/app/features/stacks-transaction-request/stx-transfer-details/stx-transfer-details.tsx @@ -1,9 +1,10 @@ import { Stack } from 'leather-styles/jsx'; +import { Title } from '@leather.io/ui'; + import { AttachmentRow } from '@app/features/stacks-transaction-request/attachment-row'; import { Row } from '@app/features/stacks-transaction-request/row'; import { useTransactionRequestState } from '@app/store/transactions/requests.hooks'; -import { Title } from '@app/ui/components/typography/title'; export function StxTransferDetails(): React.JSX.Element | null { const pendingTransaction = useTransactionRequestState(); diff --git a/src/app/features/stacks-transaction-request/submit-action.tsx b/src/app/features/stacks-transaction-request/submit-action.tsx index 9b661460e79..e42728c219a 100644 --- a/src/app/features/stacks-transaction-request/submit-action.tsx +++ b/src/app/features/stacks-transaction-request/submit-action.tsx @@ -1,33 +1,32 @@ import { TransactionRequestSelectors } from '@tests/selectors/requests.selectors'; import { useFormikContext } from 'formik'; -import { HIGH_FEE_AMOUNT_STX } from '@leather-wallet/constants'; -import { isEmpty } from '@leather-wallet/utils'; +import { Button } from '@leather.io/ui'; import { StacksTransactionFormValues } from '@shared/models/form.model'; import { useTransactionError } from '@app/features/stacks-transaction-request/hooks/use-transaction-error'; -import { Button } from '@app/ui/components/button/button'; -interface SubmitActionProps { - setIsShowingHighFeeConfirmation(): void; -} -export function SubmitAction({ setIsShowingHighFeeConfirmation }: SubmitActionProps) { +import { useStacksHighFeeWarningContext } from '../stacks-high-fee-warning/stacks-high-fee-warning-container'; + +export function StacksTxSubmitAction() { const { handleSubmit, values, validateForm, isSubmitting } = useFormikContext(); + const context = useStacksHighFeeWarningContext(); + const error = useTransactionError(); const isDisabled = !!error || Number(values.fee) < 0; - const onConfirmTransaction = async () => { - // Check for errors before showing the high fee confirmation + async function onConfirmTransaction() { const formErrors = await validateForm(); - if (isEmpty(formErrors) && Number(values.fee) > HIGH_FEE_AMOUNT_STX) { - return setIsShowingHighFeeConfirmation(); - } + + if (context.isHighFeeWithNoFormErrors(formErrors, values.fee)) + return context.setShowHighFeeWarningDialog(true); + handleSubmit(); - }; + } return ( - Some Header} - isShowing={isShowing} - onClose={() => setIsShowing(false)} - > -

Some Dialog

-
- - ); -} diff --git a/src/app/ui/components/containers/dialog/dialog.tsx b/src/app/ui/components/containers/dialog/dialog.tsx deleted file mode 100644 index b584c85a105..00000000000 --- a/src/app/ui/components/containers/dialog/dialog.tsx +++ /dev/null @@ -1,99 +0,0 @@ -import { JSXElementConstructor, ReactElement, ReactNode, cloneElement } from 'react'; - -import * as RadixDialog from '@radix-ui/react-dialog'; -import { css } from 'leather-styles/css'; -import { Box } from 'leather-styles/jsx'; -import { token } from 'leather-styles/tokens'; - -import { pxStringToNumber } from '@shared/utils/px-string-to-number'; - -export interface DialogProps { - isShowing: boolean; - onClose?(): void; -} -interface RadixDialogProps extends DialogProps { - children: ReactNode; - footer?: ReactNode; - header?: ReactElement>; - onGoBack?(): void; - wrapChildren?: boolean; -} - -function getHeightOffset(header: ReactNode, footer: ReactNode) { - const headerHeight = header ? pxStringToNumber(token('sizes.headerHeight')) : 0; - const footerHeight = footer ? pxStringToNumber(token('sizes.footerHeight')) : 0; - return headerHeight + footerHeight; -} - -function getContentMaxHeight(maxHeightOffset: number) { - const virtualHeight = window.innerWidth <= pxStringToNumber(token('sizes.popupWidth')) ? 100 : 70; - - return `calc(${virtualHeight}vh - ${maxHeightOffset}px)`; -} - -export function Dialog({ - children, - footer, - header, - onClose, - isShowing, - wrapChildren = true, -}: RadixDialogProps) { - if (!isShowing) return null; - - const maxHeightOffset = getHeightOffset(header, footer); - const contentMaxHeight = getContentMaxHeight(maxHeightOffset); - - return ( - - - - - {header && cloneElement(header, { onClose })} - - {wrapChildren ? ( - - {children} - - ) : ( - children - )} - {footer} - - - - - ); -} diff --git a/src/app/ui/components/containers/footers/available-balance.tsx b/src/app/ui/components/containers/footers/available-balance.tsx index 8d06f60e85e..13e20c508a2 100644 --- a/src/app/ui/components/containers/footers/available-balance.tsx +++ b/src/app/ui/components/containers/footers/available-balance.tsx @@ -1,7 +1,8 @@ import { Box, Flex, HStack, styled } from 'leather-styles/jsx'; +import { InfoCircleIcon } from '@leather.io/ui'; + import { BasicTooltip } from '@app/ui/components/tooltip/basic-tooltip'; -import { InfoCircleIcon } from '@app/ui/icons/info-circle-icon'; interface AvailableBalanceProps { balance: string; diff --git a/src/app/ui/components/containers/footers/footer.stories.tsx b/src/app/ui/components/containers/footers/footer.stories.tsx index 61561d0eec0..655e91a76ec 100644 --- a/src/app/ui/components/containers/footers/footer.stories.tsx +++ b/src/app/ui/components/containers/footers/footer.stories.tsx @@ -1,9 +1,8 @@ import type { Meta } from '@storybook/react'; import { Flex, styled } from 'leather-styles/jsx'; -import { Button } from '@app/ui/components/button/button'; +import { Button, Link } from '@leather.io/ui'; -import { Link } from '../../link/link'; import { Footer as Component } from './footer'; const meta: Meta = { diff --git a/src/app/ui/components/containers/headers/components/big-title-header.tsx b/src/app/ui/components/containers/headers/components/big-title-header.tsx index fd263f671c2..b64910a12b9 100644 --- a/src/app/ui/components/containers/headers/components/big-title-header.tsx +++ b/src/app/ui/components/containers/headers/components/big-title-header.tsx @@ -3,7 +3,7 @@ import { ReactNode } from 'react'; import { SharedComponentsSelectors } from '@tests/selectors/shared-component.selectors'; import { Flex, styled } from 'leather-styles/jsx'; -import { CloseIcon } from '@app/ui/icons'; +import { CloseIcon } from '@leather.io/ui'; import { HeaderActionButton } from './header-action-button'; diff --git a/src/app/ui/components/containers/headers/components/header-action-button.tsx b/src/app/ui/components/containers/headers/components/header-action-button.tsx index 1a86ff8c8c8..1fd39792ad5 100644 --- a/src/app/ui/components/containers/headers/components/header-action-button.tsx +++ b/src/app/ui/components/containers/headers/components/header-action-button.tsx @@ -1,6 +1,6 @@ import { FlexProps } from 'leather-styles/jsx'; -import { IconButton } from '../../../icon-button/icon-button'; +import { IconButton } from '@leather.io/ui'; interface HeaderActionButtonProps extends FlexProps { icon: React.JSX.Element; diff --git a/src/app/ui/components/containers/headers/components/network-mode-badge.tsx b/src/app/ui/components/containers/headers/components/network-mode-badge.tsx deleted file mode 100644 index 539e02b928e..00000000000 --- a/src/app/ui/components/containers/headers/components/network-mode-badge.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import { Flex } from 'leather-styles/jsx'; - -import { Tag } from '@app/ui/components/tag/tag'; - -interface NetworkModeBadge { - isTestnetChain: boolean; - name: string; -} - -export function NetworkModeBadge({ isTestnetChain, name }: NetworkModeBadge) { - if (!isTestnetChain) return null; - - return ( - - - - ); -} diff --git a/src/app/ui/components/containers/headers/dialog-header.tsx b/src/app/ui/components/containers/headers/dialog-header.tsx index 7280da5478b..40d0f58093a 100644 --- a/src/app/ui/components/containers/headers/dialog-header.tsx +++ b/src/app/ui/components/containers/headers/dialog-header.tsx @@ -1,11 +1,8 @@ import { ReactNode } from 'react'; -import { SharedComponentsSelectors } from '@tests/selectors/shared-component.selectors'; import { Flex, styled } from 'leather-styles/jsx'; -import { CloseIcon } from '@app/ui/icons'; - -import { HeaderActionButton } from './components/header-action-button'; +import { CloseIcon, IconButton } from '@leather.io/ui'; interface DialogHeaderProps { onClose?(): void; @@ -28,13 +25,7 @@ export function DialogHeader({ onClose, title }: DialogHeaderProps) { {title} )} - {onClose && ( - } - dataTestId={SharedComponentsSelectors.HeaderCloseBtn} - onAction={onClose} - /> - )} + {onClose && } onClick={onClose} position="absolute" />} ); } diff --git a/src/app/ui/components/containers/headers/header.tsx b/src/app/ui/components/containers/headers/header.tsx index f2852122deb..285d5e58d36 100644 --- a/src/app/ui/components/containers/headers/header.tsx +++ b/src/app/ui/components/containers/headers/header.tsx @@ -3,7 +3,7 @@ import { ReactNode } from 'react'; import { SharedComponentsSelectors } from '@tests/selectors/shared-component.selectors'; import { Flex, Grid, GridItem, HStack, styled } from 'leather-styles/jsx'; -import { ArrowLeftIcon, CloseIcon } from '@app/ui/icons'; +import { ArrowLeftIcon, CloseIcon } from '@leather.io/ui'; import { BigTitleHeader } from './components/big-title-header'; import { HeaderActionButton } from './components/header-action-button'; diff --git a/src/app/ui/components/dropdown-menu/dropdown-menu-item.layout.tsx b/src/app/ui/components/dropdown-menu/dropdown-menu-item.layout.tsx deleted file mode 100644 index 183e6275f65..00000000000 --- a/src/app/ui/components/dropdown-menu/dropdown-menu-item.layout.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import { ReactNode } from 'react'; - -import { Flex } from 'leather-styles/jsx'; - -interface DropdownMenuItemLayoutProps { - contentLeft: ReactNode; - contentRight?: ReactNode; -} -export function DropdownMenuItemLayout({ contentLeft, contentRight }: DropdownMenuItemLayoutProps) { - return ( - - {contentLeft} - {contentRight} - - ); -} diff --git a/src/app/ui/components/dropdown-menu/dropdown-menu.stories.tsx b/src/app/ui/components/dropdown-menu/dropdown-menu.stories.tsx deleted file mode 100644 index 493e456aa0c..00000000000 --- a/src/app/ui/components/dropdown-menu/dropdown-menu.stories.tsx +++ /dev/null @@ -1,46 +0,0 @@ -import type { Meta, StoryObj } from '@storybook/react'; -import { HStack, styled } from 'leather-styles/jsx'; - -import { PlaceholderIcon } from '../../icons/placeholder-icon'; -import { DropdownMenu as Component, DropdownMenuItem } from './dropdown-menu'; -import { DropdownMenuItemLayout } from './dropdown-menu-item.layout'; - -const items: DropdownMenuItem[] = [{ label: 'Label 1' }, { label: 'Label 2' }]; - -const meta: Meta = { - component: Component.Root, - tags: ['autodocs'], - title: 'DropdownMenu', -}; - -export default meta; -type Story = StoryObj; - -export const DropdownMenu: Story = { - render: () => ( - - - Button - - - - - Label - {items.map(item => ( - - - - {item.label} - - } - /> - - ))} - - - - - ), -}; diff --git a/src/app/ui/components/dropdown-menu/dropdown-menu.tsx b/src/app/ui/components/dropdown-menu/dropdown-menu.tsx deleted file mode 100644 index edf39d6a5bf..00000000000 --- a/src/app/ui/components/dropdown-menu/dropdown-menu.tsx +++ /dev/null @@ -1,130 +0,0 @@ -import { ReactNode, forwardRef } from 'react'; - -import * as RadixDropdownMenu from '@radix-ui/react-dropdown-menu'; -import { css } from 'leather-styles/css'; -import { type HTMLStyledProps, styled } from 'leather-styles/jsx'; - -import { ChevronDownIcon } from '@app/ui/icons'; -import { pressableBaseStyles, pressableStyles } from '@app/ui/pressable/pressable'; - -import { Flag } from '../flag/flag'; - -export interface DropdownMenuItem { - iconLeft?: ReactNode; - iconRight?: ReactNode; - label: string; -} -const dropdownButtonStyles = css({ - bg: 'ink.background-primary', - borderRadius: 'xs', - fontWeight: 500, - maxWidth: 'fit-content', - maxHeight: 'fit-content', - px: 'space.04', - py: 'space.03', - textStyle: 'label.02', - userSelect: 'none', - '[data-state=open] &': { bg: 'ink.component-background-pressed' }, -}); - -function Button({ children, ...props }: HTMLStyledProps<'div'>) { - return ( - - }> - {children} - - - ); -} - -const dropdownIconButtonStyles = css({ - _hover: { bg: 'ink.component-background-hover' }, - _focus: { outline: 'none' }, - p: 'space.02', - - '&[data-state=open]': { bg: 'ink.component-background-pressed' }, -}); -const IconButton: typeof RadixDropdownMenu.Trigger = forwardRef((props, ref) => ( - -)); - -const dropdownTriggerStyles = css({ - _focus: { outline: 'none' }, -}); - -const Trigger: typeof RadixDropdownMenu.Trigger = forwardRef((props, ref) => ( - -)); - -const dropdownContentStyles = css({ - alignItems: 'center', - '--base-menu-padding': '0px', - bg: 'ink.background-primary', - borderRadius: 'xs', - boxShadow: - '0px 12px 24px 0px rgba(18, 16, 15, 0.08), 0px 4px 8px 0px rgba(18, 16, 15, 0.08), 0px 0px 2px 0px rgba(18, 16, 15, 0.08)', - p: '0', - willChange: 'transform, opacity', - zIndex: 999, - // _closed: { animation: 'slideDownAndOut 140ms ease-in-out' }, - // _open: { animation: 'slideUpAndFade 140ms ease-in-out' }, -}); -const Content: typeof RadixDropdownMenu.Content = forwardRef(({ className, ...props }, ref) => ( - -)); - -const dropdownMenuLabelStyles = css({ - color: 'ink.text-subdued', - height: 'auto', - px: 'space.03', - py: 'space.02', - textStyle: 'body.02', - width: '100%', -}); -const Label: typeof RadixDropdownMenu.Label = forwardRef((props, ref) => ( - -)); - -const dropdownItemStyles = css({ p: 'space.03' }); -const Item: typeof RadixDropdownMenu.Item = forwardRef((props, ref) => ( - - - -)); - -const dropdownMenuSeparatorStyles = css({ - bg: 'ink.background-primary', - color: 'ink.border-default', - mx: '0px', - my: 'space.03', -}); -const Separator: typeof RadixDropdownMenu.Separator = forwardRef((props, ref) => ( - -)); -const dropdownMenuGroupStyles = css({ - p: 'space.02', -}); -const Group: typeof RadixDropdownMenu.Group = forwardRef((props, ref) => ( - -)); - -export const DropdownMenu = { - Root: RadixDropdownMenu.Root, - Group, - Portal: RadixDropdownMenu.Portal, - Trigger, - Button, - IconButton, - Content, - Label, - Item, - Separator, -}; diff --git a/src/app/ui/components/dynamic-color-circle.tsx b/src/app/ui/components/dynamic-color-circle.tsx deleted file mode 100644 index e0d62e71db4..00000000000 --- a/src/app/ui/components/dynamic-color-circle.tsx +++ /dev/null @@ -1,29 +0,0 @@ -import { Circle, CircleProps, styled } from 'leather-styles/jsx'; - -interface DynamicColorCircleProps extends CircleProps { - sizeParam?: string; - value: string; -} -export function DynamicColorCircle({ - children, - sizeParam = '36', - value, - ...props -}: DynamicColorCircleProps) { - return ( - - - {children} - - ); -} diff --git a/src/app/ui/components/flag/flag.stories.tsx b/src/app/ui/components/flag/flag.stories.tsx deleted file mode 100644 index ecbd492c38f..00000000000 --- a/src/app/ui/components/flag/flag.stories.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import { Meta, StoryObj } from '@storybook/react'; -import { Box, Circle } from 'leather-styles/jsx'; - -import { Flag as Component } from './flag'; - -const meta: Meta = { - component: Component, - tags: ['autodocs'], - title: 'Layout/Flag', - argTypes: { - align: { - options: ['top', 'middle', 'bottom'], - control: { type: 'radio' }, - defaultValue: 'middle', - }, - }, - parameters: { - controls: { include: ['align'] }, - }, - render: ({ children, ...args }) => ( - }> - {children} - - ), -}; - -export default meta; - -type Story = StoryObj; - -export const Flag: Story = { - args: { - children: , - }, -}; diff --git a/src/app/ui/components/flag/flag.tsx b/src/app/ui/components/flag/flag.tsx deleted file mode 100644 index 32c2688bd03..00000000000 --- a/src/app/ui/components/flag/flag.tsx +++ /dev/null @@ -1,56 +0,0 @@ -import { css } from 'leather-styles/css'; -import { Box, Flex, FlexProps } from 'leather-styles/jsx'; -import { SpacingToken } from 'leather-styles/tokens'; - -const flagStyles = css({ - '&[data-align="top"]': { - alignItems: 'start', - }, - '&[data-align="middle"]': { - alignItems: 'center', - }, - '&[data-align="bottom"]': { - alignItems: 'end', - }, -}); - -type FlagAlignment = 'top' | 'middle' | 'bottom'; - -export interface FlagProps extends FlexProps { - spacing?: SpacingToken; - align?: FlagAlignment; - children: React.ReactNode; - img?: React.ReactNode; - reverse?: boolean; -} - -/** - * Implementation of flag object - * https://csswizardry.com/2013/05/the-flag-object/ - * Allows only two children: - * 1st. Image content - * 2nd. Body content - */ -export function Flag({ - spacing = 'space.03', - align = 'middle', - reverse = false, - img, - children, - ...props -}: FlagProps) { - return ( - - - {img} - - {children} - - ); -} diff --git a/src/app/ui/components/hr.tsx b/src/app/ui/components/hr.tsx deleted file mode 100644 index 484770da621..00000000000 --- a/src/app/ui/components/hr.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import { styled } from 'leather-styles/jsx'; -import { HTMLStyledProps } from 'leather-styles/types'; - -export type HrProps = HTMLStyledProps<'hr'>; - -export function Hr(props: HrProps) { - return ; -} - -export function DashedHr(props: HrProps) { - return ; -} diff --git a/src/app/ui/components/icon-button/accessible-icon.tsx b/src/app/ui/components/icon-button/accessible-icon.tsx deleted file mode 100644 index 1c1a6cc5694..00000000000 --- a/src/app/ui/components/icon-button/accessible-icon.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import * as AccessibleIconPrimitive from '@radix-ui/react-accessible-icon'; - -type Props = AccessibleIconPrimitive.AccessibleIconProps; - -export default function AccessibleIcon(props: Props) { - return ; -} diff --git a/src/app/ui/components/icon-button/icon-button.stories.tsx b/src/app/ui/components/icon-button/icon-button.stories.tsx deleted file mode 100644 index e5e1d392420..00000000000 --- a/src/app/ui/components/icon-button/icon-button.stories.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import type { Meta, StoryObj } from '@storybook/react'; - -import { PlaceholderIcon, SendIcon } from '@app/ui/icons'; - -import { IconButton as Component } from './icon-button'; - -const meta: Meta = { - component: Component, - tags: ['autodocs'], - title: 'Icon Button', - parameters: { - controls: { include: [] }, - }, -}; - -export default meta; -type Story = StoryObj; - -export const IconButton: Story = { - args: { - icon: , - }, -}; - -export const WithLabel: Story = { - args: { - icon: , - label: 'Send', - }, -}; diff --git a/src/app/ui/components/icon-button/icon-button.tsx b/src/app/ui/components/icon-button/icon-button.tsx deleted file mode 100644 index 5dadfa9e5eb..00000000000 --- a/src/app/ui/components/icon-button/icon-button.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import { Stack, styled } from 'leather-styles/jsx'; - -import { Button, type ButtonProps } from '@app/ui/components/button/button'; -import AccessibleIcon from '@app/ui/components/icon-button/accessible-icon'; - -interface IconButtonProps extends ButtonProps { - icon: React.JSX.Element; - label?: string; -} -export function IconButton({ icon, label, disabled, ...rest }: IconButtonProps) { - return ( - - ); -} diff --git a/src/app/ui/components/input/input.stories.tsx b/src/app/ui/components/input/input.stories.tsx deleted file mode 100644 index 199aef5db32..00000000000 --- a/src/app/ui/components/input/input.stories.tsx +++ /dev/null @@ -1,72 +0,0 @@ -import type { Meta, StoryObj } from '@storybook/react'; - -import { Input } from './input'; - -const meta: Meta = { - component: Input.Root, - tags: ['autodocs'], - title: 'Input', -}; - -export default meta; -type Story = StoryObj; - -export const Default: Story = { - render: () => ( - - Label - - - ), -}; - -export const Error: Story = { - render: () => ( - - Error field - - - ), -}; - -export const Disabled: Story = { - render: () => ( - - Field is disabled - - - ), -}; - -export const DefaultValue: Story = { - render: () => ( - - Description - - - ), -}; - -/** - * Layout needs to be adjusted in case where there's no label provided - * An example of this is our Secret Key input form - */ -export const InputNoLabel: Story = { - render: () => ( - - - - ), -}; - -/** - * When using a placeholder, the label *must* come after the `Input.Field`. - */ -export const WithPlaceholder: Story = { - render: () => ( - - - Error field - - ), -}; diff --git a/src/app/ui/components/input/input.tsx b/src/app/ui/components/input/input.tsx deleted file mode 100644 index 64c5c217ed8..00000000000 --- a/src/app/ui/components/input/input.tsx +++ /dev/null @@ -1,217 +0,0 @@ -import { - type ComponentProps, - LegacyRef, - createContext, - forwardRef, - useContext, - useImperativeHandle, - useRef, - useState, -} from 'react'; - -import { sva } from 'leather-styles/css'; -import { SystemStyleObject } from 'leather-styles/types'; - -import { useOnMount } from '@app/common/hooks/use-on-mount'; -import { propIfDefined } from '@app/common/utils'; -import { createStyleContext } from '@app/ui/utils/style-context'; - -const hackyDelayOneMs = 1; - -const transformedLabelStyles: SystemStyleObject = { - textStyle: 'label.03', - transform: 'translateY(-12px)', - fontWeight: 500, - pointerEvents: 'all', -}; - -const input = sva({ - slots: ['root', 'label', 'input'], - base: { - root: { - display: 'block', - pos: 'relative', - minHeight: '64px', - p: 'space.04', - ring: 'none', - textStyle: 'body.02', - zIndex: 4, - color: 'ink.text-subdued', - _before: { - content: '""', - rounded: 'xs', - pos: 'absolute', - top: '-1px', - left: '-1px', - right: '-1px', - bottom: '-1px', - border: '3px solid transparent', - zIndex: 9, - pointerEvents: 'none', - }, - _focusWithin: { - '& label': { color: 'ink.text-primary', ...transformedLabelStyles }, - _before: { - border: 'action', - borderWidth: '2px', - }, - }, - '&[data-has-error="true"]': { - color: 'red.action-primary-default', - _before: { - borderColor: 'red.action-primary-default', - borderWidth: '2px', - }, - }, - }, - input: { - background: 'transparent', - appearance: 'none', - rounded: 'xs', - pos: 'absolute', - px: 'space.04', - top: 0, - left: 0, - right: 0, - bottom: 0, - zIndex: 5, - textStyle: 'body.02', - color: 'ink.text-primary', - border: '1px solid', - borderColor: 'ink.border-transparent', - _disabled: { - bg: 'ink.component-background-default', - borderColor: 'ink.text-non-interactive', - cursor: 'not-allowed', - }, - _focus: { ring: 'none' }, - _placeholder: { color: 'ink.text-subdued' }, - '&:placeholder-shown + label': transformedLabelStyles, - '[data-has-label="true"] &': { - pt: '22px', - }, - }, - label: { - pos: 'absolute', - top: '38%', - left: 'space.04', - zIndex: 9, - color: 'inherit', - // In empty state, with no placeholder, click events must be disabled to - // allow the label to be ignored, and the underlying input to be focused - pointerEvents: 'none', - textStyle: 'body.02', - transition: 'font-size 100ms ease-in-out, transform 100ms ease-in-out', - // Move the input's label to the top when the input has a value - '[data-has-value="true"] &': transformedLabelStyles, - '[data-shrink="true"] &': transformedLabelStyles, - }, - }, -}); - -type InputChldren = 'root' | 'label' | 'input'; - -const { withProvider, withContext } = createStyleContext(input); - -interface InputContextProps { - hasValue: boolean; - setHasValue(hasValue: boolean): void; - registerChild(child: string): void; - children: InputChldren[]; -} - -const InputContext = createContext(null); - -function useInputContext() { - const context = useContext(InputContext); - if (!context) throw new Error('useInputContext must be used within an Input.Root'); - return context; -} - -const RootBase = withProvider('div', 'root'); - -interface RootProps extends ComponentProps<'div'> { - hasError?: boolean; - /** - * Display the label in a top fixed position. Often necessary when - * programmatically updating inputs, similar to issues described here - * https://mui.com/material-ui/react-text-field/#limitations - */ - shrink?: boolean; -} -function Root({ hasError, shrink, ...props }: RootProps) { - const [hasValue, setHasValue] = useState(false); - const [children, setChildren] = useState(['root']); - - function registerChild(child: InputChldren) { - setChildren(children => [...children, child]); - } - - const dataAttrs = { - ...propIfDefined('data-has-error', hasError), - ...propIfDefined('data-shrink', shrink), - 'data-has-label': children.includes('label'), - }; - - return ( - - - - ); -} - -const FieldBase = withContext('input', 'input'); - -const Field = forwardRef(({ type, ...props }: ComponentProps<'input'>, ref) => { - const { setHasValue } = useInputContext(); - const innerRef = useRef(null); - - useImperativeHandle(ref, () => innerRef.current); - - // We need to determine whether the input has a value on it's initial - // render. In many places we use Formik to apply default form values. - // Formik sets these values after the initial render, so we need to wait - // before doing this check to see if there's a value. - useOnMount( - () => - void setTimeout(() => { - if (innerRef.current?.value !== '') setHasValue(true); - }, hackyDelayOneMs) - ); - - // `type=number` is bad UX, instead we follow guidance here - // https://mui.com/material-ui/react-text-field/#type-quot-number-quot - // https://technology.blog.gov.uk/2020/02/24/why-the-gov-uk-design-system-team-changed-the-input-type-for-numbers/ - const inputTypeProps = - type === 'number' - ? ({ type: 'text', inputMode: 'numeric', pattern: '[0-9]*' } as const) - : { type }; - - return ( - { - // Note: this logic to determine if the field is empty may have to be - // made dynamic to `input=type`, and potentially made configurable with - // a callback passed to `Input.Root` e.g. - // ``` - // typeof value === 'number' && value <= 0} /> - // ``` - if (e.target instanceof HTMLInputElement) setHasValue(e.target.value !== ''); - props.onInput?.(e); - }} - /> - ); -}); - -const LabelBase = withContext('label', 'label'); - -const Label = forwardRef((props: ComponentProps<'label'>, ref: LegacyRef) => { - const { registerChild } = useInputContext(); - useOnMount(() => registerChild('label')); - return ; -}); - -export const Input = { Root, Field, Label }; diff --git a/src/app/ui/components/item-layout/item-layout-with-buttons.tsx b/src/app/ui/components/item-layout/item-layout-with-buttons.tsx deleted file mode 100644 index c60da287d03..00000000000 --- a/src/app/ui/components/item-layout/item-layout-with-buttons.tsx +++ /dev/null @@ -1,43 +0,0 @@ -import { ReactNode } from 'react'; - -import { Flex, HStack, Stack, styled } from 'leather-styles/jsx'; - -import { pressableCaptionStyles } from '@app/ui/pressable/pressable'; - -import { Flag } from '../flag/flag'; - -interface ItemWithButtonsLayoutProps { - buttons: ReactNode; - caption: string; - flagImg: ReactNode; - title: string; -} -export function ItemLayoutWithButtons({ - buttons, - caption, - flagImg, - title, -}: ItemWithButtonsLayoutProps) { - return ( - - - - {title} - - {caption} - - - - {buttons} - - - - ); -} diff --git a/src/app/ui/components/item-layout/item-layout.stories.tsx b/src/app/ui/components/item-layout/item-layout.stories.tsx deleted file mode 100644 index 7b43d5f8ec3..00000000000 --- a/src/app/ui/components/item-layout/item-layout.stories.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import { Meta, StoryObj } from '@storybook/react'; -import { Box, Circle } from 'leather-styles/jsx'; - -import { ItemLayout as Component } from './item-layout'; - -const meta: Meta = { - component: Component, - tags: ['autodocs'], - title: 'Layout/Item', -}; - -export default meta; -type Story = StoryObj; - -export const Item: Story = { - render: () => ( - } - titleLeft={} - captionLeft={} - titleRight={} - captionRight={} - /> - ), -}; diff --git a/src/app/ui/components/item-layout/item-layout.tsx b/src/app/ui/components/item-layout/item-layout.tsx deleted file mode 100644 index 1822e5381e9..00000000000 --- a/src/app/ui/components/item-layout/item-layout.tsx +++ /dev/null @@ -1,87 +0,0 @@ -import { ReactNode, isValidElement } from 'react'; - -import { Box, Flex, HStack, Stack, styled } from 'leather-styles/jsx'; - -import { pressableCaptionStyles, pressableChevronStyles } from '@app/ui/pressable/pressable'; - -import { CheckmarkIcon } from '../../icons/checkmark-icon'; -import { ChevronUpIcon } from '../../icons/chevron-up-icon'; -import { Flag } from '../flag/flag'; - -interface ItemLayoutProps { - captionLeft: ReactNode; - captionRight?: ReactNode; - flagImg: ReactNode; - isDisabled?: boolean; - isSelected?: boolean; - showChevron?: boolean; - titleLeft: ReactNode; - titleRight: ReactNode; -} -export function ItemLayout({ - captionLeft, - captionRight, - flagImg, - isSelected, - showChevron, - titleLeft, - titleRight, -}: ItemLayoutProps) { - return ( - - - - - {isValidElement(titleLeft) ? ( - titleLeft - ) : ( - {titleLeft} - )} - {isSelected && ( - - - - )} - - {isValidElement(captionLeft) ? ( - captionLeft - ) : ( - - {captionLeft} - - )} - - - - {isValidElement(titleRight) ? ( - titleRight - ) : ( - {titleRight} - )} - {isValidElement(captionRight) ? ( - captionRight - ) : ( - - {captionRight} - - )} - - {showChevron && ( - - )} - - - - ); -} diff --git a/src/app/ui/components/link/link.stories.tsx b/src/app/ui/components/link/link.stories.tsx deleted file mode 100644 index 1baf4cfdf65..00000000000 --- a/src/app/ui/components/link/link.stories.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import type { Meta, StoryObj } from '@storybook/react'; - -import { Link as Component } from './link'; - -const meta: Meta = { - component: Component, - tags: ['autodocs'], - title: 'Link', -}; - -export default meta; -type Story = StoryObj; - -export const Link: Story = { - parameters: { - controls: { include: ['size', 'variant'] }, - }, - args: { - children: 'Link', - size: 'md', - variant: 'underlined', - }, -}; - -export const Disabled: Story = { - parameters: { - controls: { include: ['size', 'variant'] }, - }, - args: { - children: 'Link', - disabled: true, - size: 'md', - variant: 'underlined', - }, -}; diff --git a/src/app/ui/components/link/link.tsx b/src/app/ui/components/link/link.tsx deleted file mode 100644 index bcbbd902449..00000000000 --- a/src/app/ui/components/link/link.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { ForwardedRef, forwardRef } from 'react'; - -import { styled } from 'leather-styles/jsx'; -import { type LinkVariantProps, link as linkRecipe } from 'leather-styles/recipes/link'; - -const StyledLink = styled('a'); - -type LinkProps = Omit, keyof LinkVariantProps> & - LinkVariantProps; - -export const Link = forwardRef((props: LinkProps, ref: ForwardedRef) => { - const { children, disabled, fullWidth, size, invert, variant, ...rest } = props; - - return ( - - {children} - - ); -}); diff --git a/src/app/ui/components/logo.tsx b/src/app/ui/components/logo.tsx deleted file mode 100644 index 486c87c92c7..00000000000 --- a/src/app/ui/components/logo.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import { styled } from 'leather-styles/jsx'; - -import { LogomarkIcon } from '@app/ui/icons/logomark-icon'; - -interface LogoProps { - onClick?(): void; -} -export function Logo({ onClick }: LogoProps) { - return ( - - - - ); -} diff --git a/src/app/ui/components/secret-key/mnemonic-key/mnemonic-word-input.tsx b/src/app/ui/components/secret-key/mnemonic-key/mnemonic-word-input.tsx index 7bb301386cc..7da8289d8b2 100644 --- a/src/app/ui/components/secret-key/mnemonic-key/mnemonic-word-input.tsx +++ b/src/app/ui/components/secret-key/mnemonic-key/mnemonic-word-input.tsx @@ -2,9 +2,10 @@ import { useState } from 'react'; import { useField } from 'formik'; +import { Input } from '@leather.io/ui'; +import { extractPhraseFromString } from '@leather.io/utils'; + import { useIsFieldDirty } from '@app/common/form-utils'; -import { extractPhraseFromString } from '@app/common/utils'; -import { Input } from '@app/ui/components/input/input'; interface MnemonicWordInputProps { fieldNumber: number; diff --git a/src/app/ui/components/secret-key/secret-key.layout.tsx b/src/app/ui/components/secret-key/secret-key.layout.tsx index 651aa81a822..7641e8c40e2 100644 --- a/src/app/ui/components/secret-key/secret-key.layout.tsx +++ b/src/app/ui/components/secret-key/secret-key.layout.tsx @@ -4,10 +4,7 @@ import { OnboardingSelectors } from '@tests/selectors/onboarding.selectors'; import { SettingsSelectors } from '@tests/selectors/settings.selectors'; import { Flex, HStack, Stack, styled } from 'leather-styles/jsx'; -import { Button } from '@app/ui/components/button/button'; -import { CopyIcon } from '@app/ui/icons/copy-icon'; -import { EyeIcon } from '@app/ui/icons/eye-icon'; -import { EyeSlashIcon } from '@app/ui/icons/eye-slash-icon'; +import { Button, CopyIcon, EyeIcon, EyeSlashIcon } from '@leather.io/ui'; import { SecretKeyGrid } from './secret-key-grid'; import { SecretKeyWord } from './secret-key-word'; diff --git a/src/app/ui/components/select/select-item.layout.tsx b/src/app/ui/components/select/select-item.layout.tsx deleted file mode 100644 index 41df5c55245..00000000000 --- a/src/app/ui/components/select/select-item.layout.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import { ReactNode } from 'react'; - -import { Flex } from 'leather-styles/jsx'; - -interface SelectItemLayoutProps { - contentLeft: ReactNode; - contentRight?: ReactNode; -} -export function SelectItemLayout({ contentLeft, contentRight }: SelectItemLayoutProps) { - return ( - - {contentLeft} - {contentRight} - - ); -} diff --git a/src/app/ui/components/select/select.stories.tsx b/src/app/ui/components/select/select.stories.tsx deleted file mode 100644 index ce31ac46c23..00000000000 --- a/src/app/ui/components/select/select.stories.tsx +++ /dev/null @@ -1,60 +0,0 @@ -import type { Meta, StoryObj } from '@storybook/react'; -import { HStack, styled } from 'leather-styles/jsx'; - -import { CheckmarkIcon } from '@app/ui/icons/checkmark-icon'; -import { ChevronDownIcon } from '@app/ui/icons/chevron-down-icon'; -import { PlaceholderIcon } from '@app/ui/icons/placeholder-icon'; - -import { Select as Component, SelectItem } from './select'; -import { SelectItemLayout } from './select-item.layout'; - -const items: SelectItem[] = [{ label: 'Label 1' }, { label: 'Label 2' }]; - -const meta: Meta = { - component: Component.Root, - tags: ['autodocs'], - title: 'Select', -}; - -export default meta; -type Story = StoryObj; - -export const Select: Story = { - render: () => ( - - - - - - - - - - - - Label - {items.map(item => ( - - - - - {item.label} - - - - - - } - contentRight={} - /> - - ))} - - - - - - ), -}; diff --git a/src/app/ui/components/select/select.tsx b/src/app/ui/components/select/select.tsx deleted file mode 100644 index f2dd4297482..00000000000 --- a/src/app/ui/components/select/select.tsx +++ /dev/null @@ -1,109 +0,0 @@ -import { ReactNode, forwardRef } from 'react'; - -import * as RadixSelect from '@radix-ui/react-select'; -import { css } from 'leather-styles/css'; -import { styled } from 'leather-styles/jsx'; - -import { pressableBaseStyles, pressableStyles } from '@app/ui/pressable/pressable'; - -export interface SelectItem { - iconLeft?: ReactNode; - iconRight?: ReactNode; - label: string; -} - -const selectTriggerStyles = css({ - alignItems: 'center', - bg: 'ink.background-primary', - borderRadius: 'xs', - display: 'flex', - fontWeight: 500, - gap: 'space.02', - maxWidth: 'fit-content', - maxHeight: 'fit-content', - px: 'space.04', - py: 'space.03', - textStyle: 'label.02', - - '&[data-state=open]': { - bg: 'ink.component-background-pressed', - }, -}); -const Trigger: typeof RadixSelect.Trigger = forwardRef((props, ref) => ( - -)); - -const selectContentStyles = css({ - alignItems: 'center', - animationDuration: '400ms', - animationTimingFunction: 'cubic-bezier(0.16, 1, 0.3, 1)', - '--base-menu-padding': '0px', - bg: 'ink.background-primary', - borderRadius: 'xs', - boxShadow: - '0px 12px 24px 0px rgba(18, 16, 15, 0.08), 0px 4px 8px 0px rgba(18, 16, 15, 0.08), 0px 0px 2px 0px rgba(18, 16, 15, 0.08)', - minWidth: '256px', - p: 'space.02', - willChange: 'transform, opacity', - zIndex: 999, - - '&[data-side=bottom]': { - animationName: 'slideUpAndFade', - }, -}); -const Content: typeof RadixSelect.Content = forwardRef((props, ref) => ( - -)); - -const selectViewportStyles = css({ - width: '100%', -}); -const Viewport: typeof RadixSelect.Viewport = forwardRef((props, ref) => ( - -)); - -const selectLabelStyles = css({ - color: 'ink.text-subdued', - height: 'auto', - px: 'space.03', - py: 'space.02', - textStyle: 'body.02', - width: '100%', -}); -const Label: typeof RadixSelect.Label = forwardRef((props, ref) => ( - -)); - -const selectItemStyles = css({ p: 'space.03' }); - -const Item: typeof RadixSelect.Item = forwardRef((props, ref) => ( - - - -)); - -const selectSeparatorStyles = css({ - bg: 'ink.background-primary', - color: 'ink.border-default', - mx: '0px', - my: 'space.03', -}); -const Separator: typeof RadixSelect.Separator = forwardRef((props, ref) => ( - -)); - -export const Select = { - Root: RadixSelect.Root, - Value: RadixSelect.Value, - Icon: RadixSelect.Icon, - Portal: RadixSelect.Portal, - Group: RadixSelect.Group, - ItemText: RadixSelect.ItemText, - ItemIndicator: RadixSelect.ItemIndicator, - Trigger, - Content, - Viewport, - Label, - Item, - Separator, -}; diff --git a/src/app/ui/components/skeleton-loader/skeleton-loader.stories.tsx b/src/app/ui/components/skeleton-loader/skeleton-loader.stories.tsx deleted file mode 100644 index 502aca1e7e5..00000000000 --- a/src/app/ui/components/skeleton-loader/skeleton-loader.stories.tsx +++ /dev/null @@ -1,15 +0,0 @@ -import { Meta } from '@storybook/react'; - -import { SkeletonLoader as Component } from '@app/ui/components/skeleton-loader/skeleton-loader'; - -const meta: Meta = { - component: Component, - tags: ['autodocs'], - title: 'Layout/SkeletonLoader', -}; - -export default meta; - -export function SkeletonLoader() { - return ; -} diff --git a/src/app/ui/components/skeleton-loader/skeleton-loader.tsx b/src/app/ui/components/skeleton-loader/skeleton-loader.tsx deleted file mode 100644 index 3d4475d6165..00000000000 --- a/src/app/ui/components/skeleton-loader/skeleton-loader.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import { Box } from 'leather-styles/jsx'; - -import { shimmerStyles } from '@app/ui/shared/shimmer-styles'; - -interface SkeletonLoaderProps { - isLoading: boolean; - children?: React.ReactNode; - width?: string; - height?: string; -} - -export function SkeletonLoader({ - children, - width = '30px', - height = '30px', - isLoading, -}: SkeletonLoaderProps) { - if (isLoading) { - return ( - - ); - } - - return <>{children}; -} diff --git a/src/app/ui/components/spinner.tsx b/src/app/ui/components/spinner.tsx deleted file mode 100644 index aa627af0ac1..00000000000 --- a/src/app/ui/components/spinner.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import { Square, SquareProps, VisuallyHidden } from 'leather-styles/jsx'; - -interface SpinnerProps extends SquareProps { - emptyColor?: string; - label?: string; - speed?: string; - thickness?: string; -} - -export function Spinner({ - emptyColor = 'transparent', - size = 'sm', - label = 'Loading...', - thickness = '2px', - speed = '0.85s', - color = 'ink.text-subdued', - ...props -}: SpinnerProps) { - return ( - - {label && {label}} - - ); -} diff --git a/src/app/ui/components/tabs/tabs.stories.tsx b/src/app/ui/components/tabs/tabs.stories.tsx deleted file mode 100644 index c98cee10e08..00000000000 --- a/src/app/ui/components/tabs/tabs.stories.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import type { Meta, StoryObj } from '@storybook/react'; - -import { Tabs as Component } from './tabs'; - -const meta: Meta = { - component: Component.Root, - tags: ['autodocs'], - title: 'Tabs', -}; - -export default meta; - -type Story = StoryObj; - -export const Tabs: Story = { - render: () => ( - - - Asset - Activity - - - ), -}; diff --git a/src/app/ui/components/tabs/tabs.tsx b/src/app/ui/components/tabs/tabs.tsx deleted file mode 100644 index 8d286c0da71..00000000000 --- a/src/app/ui/components/tabs/tabs.tsx +++ /dev/null @@ -1,61 +0,0 @@ -import { forwardRef } from 'react'; - -import * as RadixTabs from '@radix-ui/react-tabs'; -import { css } from 'leather-styles/css'; - -const tabRootStyles = css({ - display: 'flex', - flexDirection: 'column', -}); -const Root: typeof RadixTabs.Root = forwardRef((props, ref) => ( - -)); - -const tabsTriggerStyles = css({ - position: 'relative', - textStyle: 'label.01', - flex: 1, - display: 'flex', - alignItems: 'center', - justifyContent: 'center', - py: 'space.04', - userSelect: 'none', - color: 'ink.text-subdued', - _hover: { background: 'ink.component-background-hover' }, - '&[data-state="active"]': { - color: 'ink.text-primary', - _before: { - content: '""', - position: 'absolute', - bottom: 0, - height: '2px', - width: '100%', - bg: 'ink.text-subdued', - zIndex: 10, - }, - }, - _focusVisible: { outline: 0, _before: { bg: 'lightModeBlue.500' } }, -}); -const Trigger: typeof RadixTabs.Trigger = forwardRef((props, ref) => ( - -)); - -const tabsListStyles = css({ - flexShrink: 0, - display: 'flex', - position: 'relative', - _before: { - content: '""', - position: 'absolute', - bottom: 0, - height: '2px', - width: '100%', - bg: 'ink.border-default', - zIndex: 9, - }, -}); -const List: typeof RadixTabs.List = forwardRef((props, ref) => ( - -)); - -export const Tabs = { Root, List, Trigger, Content: RadixTabs.Content }; diff --git a/src/app/ui/components/tag/tag-with-tooltip.tsx b/src/app/ui/components/tag/tag-with-tooltip.tsx index 24517a78e71..4a99f2174ac 100644 --- a/src/app/ui/components/tag/tag-with-tooltip.tsx +++ b/src/app/ui/components/tag/tag-with-tooltip.tsx @@ -1,5 +1,6 @@ +import { Tag, type TagProps, type TagVariants } from '@leather.io/ui'; + import { BasicTooltip } from '../tooltip/basic-tooltip'; -import { Tag, type TagProps, type TagVariants } from './tag'; type TooltipSideType = 'bottom' | 'left' | 'right' | 'top'; diff --git a/src/app/ui/components/tag/tag.stories.tsx b/src/app/ui/components/tag/tag.stories.tsx deleted file mode 100644 index 0a4444facc5..00000000000 --- a/src/app/ui/components/tag/tag.stories.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import type { Meta, StoryObj } from '@storybook/react'; - -import { ErrorCircleIcon } from '@app/ui/icons'; - -import { Tag as Component } from './tag'; - -const meta: Meta = { - component: Component, - tags: ['autodocs'], - title: 'Tag', - parameters: { - controls: { include: ['transparent', 'variant'] }, - }, -}; - -export default meta; -type Story = StoryObj; - -export const Tag: Story = { - args: { - label: 'Label', - variant: 'default', - }, -}; - -export const WithIcon: Story = { - args: { - icon: , - label: 'Label', - variant: 'default', - }, -}; diff --git a/src/app/ui/components/tag/tag.tsx b/src/app/ui/components/tag/tag.tsx deleted file mode 100644 index 41c686574c5..00000000000 --- a/src/app/ui/components/tag/tag.tsx +++ /dev/null @@ -1,66 +0,0 @@ -import type { ReactNode } from 'react'; - -import { type RecipeVariantProps, cva } from 'leather-styles/css'; -import { HStack, type HTMLStyledProps, styled } from 'leather-styles/jsx'; - -const tagRecipe = cva({ - base: { - borderRadius: 'xs', - fontWeight: 500, - maxWidth: 'fit-content', - maxHeight: 'fit-content', - p: 'space.01', - textStyle: 'label.03', - }, - variants: { - variant: { - default: { - bg: 'ink.background-secondary', - border: '1px solid {colors.ink.border-transparent}', - color: 'ink.text-subdued', - }, - error: { - bg: 'red.background-primary', - border: '1px solid {colors.red.border}', - color: 'red.action-primary-default', - }, - info: { - bg: 'blue.background-primary', - border: '1px solid {colors.blue.border}', - color: 'blue.action-primary-default', - }, - success: { - bg: 'green.background-primary', - border: '1px solid {colors.green.border}', - color: 'green.action-primary-default', - }, - warning: { - bg: 'yellow.background-primary', - border: '1px solid {colors.yellow.border}', - color: 'yellow.action-primary-default', - }, - }, - - transparent: { true: { bg: 'transparent' } }, - }, - defaultVariants: { - variant: 'default', - }, -}); - -export type TagVariants = RecipeVariantProps; - -export interface TagProps extends HTMLStyledProps<'div'> { - icon?: ReactNode; - label: string; -} -export function Tag({ icon, label, transparent, variant, ...props }: TagProps & TagVariants) { - return ( - - - {icon && icon} - {label} - - - ); -} diff --git a/src/app/ui/components/toast/toast.layout.tsx b/src/app/ui/components/toast/toast.layout.tsx deleted file mode 100644 index a4fd0b7bcf3..00000000000 --- a/src/app/ui/components/toast/toast.layout.tsx +++ /dev/null @@ -1,13 +0,0 @@ -import { Box, HStack, styled } from 'leather-styles/jsx'; - -import { type ToastProps } from './toast'; -import { getIconVariant } from './toast.utils'; - -export function ToastLayout({ message, variant }: ToastProps) { - return ( - - {getIconVariant(variant)} - {message} - - ); -} diff --git a/src/app/ui/components/toast/toast.stories.tsx b/src/app/ui/components/toast/toast.stories.tsx deleted file mode 100644 index 038ff3e8fd9..00000000000 --- a/src/app/ui/components/toast/toast.stories.tsx +++ /dev/null @@ -1,92 +0,0 @@ -import { Meta, StoryObj } from '@storybook/react'; -import { styled } from 'leather-styles/jsx'; - -import { Toast as Component } from './toast'; -import { ToastLayout } from './toast.layout'; - -const meta: Meta = { - component: Component.Root, - tags: ['autodocs'], - title: 'Toast', -}; - -export default meta; -type Story = StoryObj; - -export const Toast: Story = { - render: () => ( - - - - - - - - - - - ), -}; - -export const WithLongMessage: Story = { - render: () => ( - - - - - - - - - - - ), -}; - -export const AnimatedInfo: Story = { - render: () => ( - - - - - - - - - - - ), -}; - -export const AnimatedSuccess: Story = { - render: () => ( - - - - - - - - - - - ), -}; - -export const AnimatedError: Story = { - render: () => ( - - - - - - - - - - - ), -}; diff --git a/src/app/ui/components/toast/toast.tsx b/src/app/ui/components/toast/toast.tsx deleted file mode 100644 index 6cd90a165eb..00000000000 --- a/src/app/ui/components/toast/toast.tsx +++ /dev/null @@ -1,61 +0,0 @@ -import { forwardRef } from 'react'; - -import * as RadixToast from '@radix-ui/react-toast'; -import { css } from 'leather-styles/css'; - -export type ToastVariant = 'info' | 'success' | 'error'; - -export interface ToastProps { - message: string; - variant: ToastVariant; -} - -const toastRootStyles = css({ - bg: 'ink.text-primary', - color: 'ink.background-primary', - boxShadow: - '0px 12px 24px 0px rgba(18, 16, 15, 0.08), 0px 4px 8px 0px rgba(18, 16, 15, 0.08), 0px 0px 2px 0px rgba(18, 16, 15, 0.08)', - maxWidth: { base: '452px', smOnly: '342px' }, - pl: 'space.03', - pr: 'space.04', - py: 'space.03', - rounded: 'xs', - - '&[data-state=open]': { - animation: 'toastAppear 160ms cubic-bezier(0, 0.45, 0.6, 1) forwards', - }, - '&[data-state=closed]': { - animation: 'fadeout', - }, -}); -const Root: typeof RadixToast.Root = forwardRef((props, ref) => ( - -)); - -const toastViewportStyles = css({ - alignItems: 'center', - display: 'flex', - flexDirection: 'column', - gap: 'space.02', - height: 'fit-content', - m: '0 auto', - outline: 'none', - p: 'space.05', - position: 'fixed', - top: 0, - left: '50%', - transform: 'translate(-50%, 0)', - width: '100%', - zIndex: 9999, - pointerEvents: 'none', -}); -const Viewport: typeof RadixToast.Viewport = forwardRef((props, ref) => ( - -)); - -export const Toast = { - Provider: RadixToast.Provider, - Title: RadixToast.Title, - Root, - Viewport, -}; diff --git a/src/app/ui/components/toast/toast.utils.tsx b/src/app/ui/components/toast/toast.utils.tsx deleted file mode 100644 index 6936725e968..00000000000 --- a/src/app/ui/components/toast/toast.utils.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import { CheckmarkCircleIcon, ErrorIcon, InfoCircleIcon } from '@app/ui/icons'; - -import type { ToastVariant } from './toast'; - -export function getIconVariant(variant?: ToastVariant) { - switch (variant) { - case 'info': - return ; - case 'success': - return ; - case 'error': - return ; - default: - return ; - } -} diff --git a/src/app/ui/components/tooltip/tooltip.stories.tsx b/src/app/ui/components/tooltip/tooltip.stories.tsx index bdb279e9f18..ea31d769d74 100644 --- a/src/app/ui/components/tooltip/tooltip.stories.tsx +++ b/src/app/ui/components/tooltip/tooltip.stories.tsx @@ -2,7 +2,8 @@ import * as RadixTooltip from '@radix-ui/react-tooltip'; import type { Meta, StoryObj } from '@storybook/react'; import { Box } from 'leather-styles/jsx'; -import { InfoCircleIcon } from '../../icons/info-circle-icon'; +import { InfoCircleIcon } from '@leather.io/ui'; + import { BasicTooltip as Component } from './basic-tooltip'; const meta: Meta = { diff --git a/src/app/ui/components/typography/caption.tsx b/src/app/ui/components/typography/caption.tsx deleted file mode 100644 index 2598059242a..00000000000 --- a/src/app/ui/components/typography/caption.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import { forwardRef } from 'react'; - -import { HTMLStyledProps, styled } from 'leather-styles/jsx'; - -export const Caption = forwardRef>( - ({ children, ...props }, ref) => ( - - {children} - - ) -); diff --git a/src/app/ui/components/typography/title.tsx b/src/app/ui/components/typography/title.tsx deleted file mode 100644 index b776bf3cd3a..00000000000 --- a/src/app/ui/components/typography/title.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import { forwardRef } from 'react'; - -import { HTMLStyledProps, styled } from 'leather-styles/jsx'; - -export const Title = forwardRef>( - ({ children, ...props }, ref) => ( - - {children} - - ) -); diff --git a/src/app/ui/icons/arrow-down-icon.tsx b/src/app/ui/icons/arrow-down-icon.tsx deleted file mode 100644 index 465190c2763..00000000000 --- a/src/app/ui/icons/arrow-down-icon.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function ArrowDownIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/arrow-left-icon.tsx b/src/app/ui/icons/arrow-left-icon.tsx deleted file mode 100644 index 35371b1713b..00000000000 --- a/src/app/ui/icons/arrow-left-icon.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function ArrowLeftIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/arrow-up-icon.tsx b/src/app/ui/icons/arrow-up-icon.tsx deleted file mode 100644 index 87aedf9271b..00000000000 --- a/src/app/ui/icons/arrow-up-icon.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function ArrowUpIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/bitcoin-contract-icon.tsx b/src/app/ui/icons/bitcoin-contract-icon.tsx deleted file mode 100644 index 97a963b49ae..00000000000 --- a/src/app/ui/icons/bitcoin-contract-icon.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import { Icon, IconProps } from './icon/icon'; - -export function BitcoinContractIcon(props: IconProps) { - return ( - - - - - ); -} diff --git a/src/app/ui/icons/bitcoin-icon.tsx b/src/app/ui/icons/bitcoin-icon.tsx deleted file mode 100644 index 7a0e256c669..00000000000 --- a/src/app/ui/icons/bitcoin-icon.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function BitcoinIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/checkmark-circle-icon.tsx b/src/app/ui/icons/checkmark-circle-icon.tsx deleted file mode 100644 index 330d12bbf19..00000000000 --- a/src/app/ui/icons/checkmark-circle-icon.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function CheckmarkCircleIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/checkmark-icon.tsx b/src/app/ui/icons/checkmark-icon.tsx deleted file mode 100644 index 6f0b82b9abd..00000000000 --- a/src/app/ui/icons/checkmark-icon.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function CheckmarkIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/chevron-down-icon.tsx b/src/app/ui/icons/chevron-down-icon.tsx deleted file mode 100644 index b0342be2da0..00000000000 --- a/src/app/ui/icons/chevron-down-icon.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function ChevronDownIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/chevron-up-icon.tsx b/src/app/ui/icons/chevron-up-icon.tsx deleted file mode 100644 index 25179c0fa3c..00000000000 --- a/src/app/ui/icons/chevron-up-icon.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function ChevronUpIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/chevrons-right-icon.tsx b/src/app/ui/icons/chevrons-right-icon.tsx deleted file mode 100644 index fb3419200e6..00000000000 --- a/src/app/ui/icons/chevrons-right-icon.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function ChevronsRightIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/circle-icon.tsx b/src/app/ui/icons/circle-icon.tsx deleted file mode 100644 index 704adddab4d..00000000000 --- a/src/app/ui/icons/circle-icon.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function CircleIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/close-icon.tsx b/src/app/ui/icons/close-icon.tsx deleted file mode 100644 index 4b23f9407f9..00000000000 --- a/src/app/ui/icons/close-icon.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function CloseIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/cloud-off-icon.tsx b/src/app/ui/icons/cloud-off-icon.tsx deleted file mode 100644 index 5d162933da9..00000000000 --- a/src/app/ui/icons/cloud-off-icon.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function CloudOffIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/code-icon.tsx b/src/app/ui/icons/code-icon.tsx deleted file mode 100644 index 88367fce155..00000000000 --- a/src/app/ui/icons/code-icon.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function CodeIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/copy-icon.tsx b/src/app/ui/icons/copy-icon.tsx deleted file mode 100644 index 0b416dfb90f..00000000000 --- a/src/app/ui/icons/copy-icon.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function CopyIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/credit-card-icon.tsx b/src/app/ui/icons/credit-card-icon.tsx deleted file mode 100644 index aab9b722d4a..00000000000 --- a/src/app/ui/icons/credit-card-icon.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function CreditCardIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/docs/icons-list.ts b/src/app/ui/icons/docs/icons-list.ts deleted file mode 100644 index e3bdb0adda7..00000000000 --- a/src/app/ui/icons/docs/icons-list.ts +++ /dev/null @@ -1,12 +0,0 @@ -import * as Icons from '..'; - -function getIconsListForGallery() { - const icons: string[] = []; - Object.values(Icons).forEach(component => { - icons.push(component.name); - }); - return icons; -} - -const iconsList = getIconsListForGallery(); -export { iconsList }; diff --git a/src/app/ui/icons/docs/icons.mdx b/src/app/ui/icons/docs/icons.mdx deleted file mode 100644 index 0cf54de7f4b..00000000000 --- a/src/app/ui/icons/docs/icons.mdx +++ /dev/null @@ -1,50 +0,0 @@ -import { IconGallery, IconItem, Meta } from '@storybook/blocks'; - -import * as Icon from '..'; -import { iconsList } from './icons-list'; - - - - - -
- -# Icons - -
- -
-

Default 24x24

- - {iconsList.map(item => { - const IconComponent = Icon[item]; - return ( - - - - ); - })} - -
- -
- -
-

Small 16x16

- - {iconsList.map(item => { - const IconComponent = Icon[item]; - return ( - - - - ); - })} - -
diff --git a/src/app/ui/icons/download-icon.tsx b/src/app/ui/icons/download-icon.tsx deleted file mode 100644 index 261dc111813..00000000000 --- a/src/app/ui/icons/download-icon.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function DownloadIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/edit-icon.tsx b/src/app/ui/icons/edit-icon.tsx deleted file mode 100644 index 0fc0e8c262c..00000000000 --- a/src/app/ui/icons/edit-icon.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function EditIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/error-circle-icon.tsx b/src/app/ui/icons/error-circle-icon.tsx deleted file mode 100644 index adf2afe9be7..00000000000 --- a/src/app/ui/icons/error-circle-icon.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function ErrorCircleIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - - ); - - return ( - - - - - ); -} diff --git a/src/app/ui/icons/error-icon.tsx b/src/app/ui/icons/error-icon.tsx deleted file mode 100644 index b541d67fe40..00000000000 --- a/src/app/ui/icons/error-icon.tsx +++ /dev/null @@ -1,29 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function ErrorIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - - ); - - return ( - - - - - ); -} diff --git a/src/app/ui/icons/exit-icon.tsx b/src/app/ui/icons/exit-icon.tsx deleted file mode 100644 index 9a0cd78af27..00000000000 --- a/src/app/ui/icons/exit-icon.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function ExitIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/expand-icon.tsx b/src/app/ui/icons/expand-icon.tsx deleted file mode 100644 index eac407f0560..00000000000 --- a/src/app/ui/icons/expand-icon.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function ExpandIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/external-link-icon.tsx b/src/app/ui/icons/external-link-icon.tsx deleted file mode 100644 index 2186a7ab6f6..00000000000 --- a/src/app/ui/icons/external-link-icon.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function ExternalLinkIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/eye-icon.tsx b/src/app/ui/icons/eye-icon.tsx deleted file mode 100644 index 824c80ac886..00000000000 --- a/src/app/ui/icons/eye-icon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function EyeIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - - ); -} diff --git a/src/app/ui/icons/eye-slash-icon.tsx b/src/app/ui/icons/eye-slash-icon.tsx deleted file mode 100644 index 766e451343c..00000000000 --- a/src/app/ui/icons/eye-slash-icon.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function EyeSlashIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/function-icon.tsx b/src/app/ui/icons/function-icon.tsx deleted file mode 100644 index 2e926669b75..00000000000 --- a/src/app/ui/icons/function-icon.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function FunctionIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/hamburger-icon.tsx b/src/app/ui/icons/hamburger-icon.tsx deleted file mode 100644 index 91cd88dba34..00000000000 --- a/src/app/ui/icons/hamburger-icon.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function HamburgerIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/headset-icon.tsx b/src/app/ui/icons/headset-icon.tsx deleted file mode 100644 index e21e4b5b7ef..00000000000 --- a/src/app/ui/icons/headset-icon.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function HeadsetIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/icon/icon.stories.tsx b/src/app/ui/icons/icon/icon.stories.tsx deleted file mode 100644 index c217886ce0a..00000000000 --- a/src/app/ui/icons/icon/icon.stories.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import type { Meta, StoryObj } from '@storybook/react'; - -import { ArrowDownIcon as Icon } from '../arrow-down-icon'; - -const meta: Meta = { - component: Icon, - title: 'Icons/ExampleIcon', -}; - -export default meta; - -type Story = StoryObj; - -export const ExampleIcon: Story = { - parameters: { - controls: { include: ['variant'] }, - }, - args: { width: 'default' }, -}; diff --git a/src/app/ui/icons/icon/icon.tsx b/src/app/ui/icons/icon/icon.tsx deleted file mode 100644 index 71689d92890..00000000000 --- a/src/app/ui/icons/icon/icon.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import { styled } from 'leather-styles/jsx'; -import type { HTMLStyledProps } from 'leather-styles/types'; - -type IconVariant = 'default' | 'small'; - -export interface IconProps extends HTMLStyledProps<'svg'> { - variant?: IconVariant; -} -export function Icon({ children, opacity = '1', ...props }: IconProps) { - return ( - - {children} - - ); -} - -export function IconSmall({ children, opacity = '1', ...props }: IconProps) { - return ( - - {children} - - ); -} diff --git a/src/app/ui/icons/inbox-icon.tsx b/src/app/ui/icons/inbox-icon.tsx deleted file mode 100644 index 4648a508ac3..00000000000 --- a/src/app/ui/icons/inbox-icon.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function InboxIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/index.ts b/src/app/ui/icons/index.ts deleted file mode 100644 index 4c0ecb53492..00000000000 --- a/src/app/ui/icons/index.ts +++ /dev/null @@ -1,53 +0,0 @@ -export * from './arrow-down-icon'; -export * from './arrow-left-icon'; -export * from './arrow-up-icon'; -export * from './bitcoin-icon'; -export * from './bitcoin-contract-icon'; -export * from './checkmark-circle-icon'; -export * from './checkmark-icon'; -export * from './chevron-down-icon'; -export * from './chevron-up-icon'; -export * from './chevrons-right-icon'; -export * from './circle-icon'; -export * from './close-icon'; -export * from './cloud-off-icon'; -export * from './code-icon'; -export * from './copy-icon'; -export * from './credit-card-icon'; -export * from './download-icon'; -export * from './edit-icon'; -export * from './error-circle-icon'; -export * from './error-icon'; -export * from './exit-icon'; -export * from './expand-icon'; -export * from './external-link-icon'; -export * from './eye-icon'; -export * from './eye-slash-icon'; -export * from './function-icon'; -export * from './hamburger-icon'; -export * from './headset-icon'; -export * from './inbox-icon'; -export * from './info-circle-icon'; -export * from './key-icon'; -export * from './lettermark-icon'; -export * from './ledger-icon'; -export * from './list-icon'; -export * from './lock-icon'; -export * from './megaphone-icon'; -export * from './moon-icon'; -export * from './placeholder-icon'; -export * from './plus-icon'; -export * from './qr-code-icon'; -export * from './question-circle-icon'; -export * from './reload-icon'; -export * from './send-icon'; -export * from './stacks-icon'; -export * from './star-icon'; -export * from './sun-icon'; -export * from './sun-in-cloud-icon'; -export * from './support-icon'; -export * from './swap-icon'; -export * from './trash-icon'; -export * from './unlock-icon'; -export * from './world-icon'; -export * from './zap-icon'; diff --git a/src/app/ui/icons/info-circle-icon.tsx b/src/app/ui/icons/info-circle-icon.tsx deleted file mode 100644 index f246855b61e..00000000000 --- a/src/app/ui/icons/info-circle-icon.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function InfoCircleIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - - ); - - return ( - - - - - ); -} diff --git a/src/app/ui/icons/key-icon.tsx b/src/app/ui/icons/key-icon.tsx deleted file mode 100644 index 89f3f7b3128..00000000000 --- a/src/app/ui/icons/key-icon.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function KeyIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - - ); - - return ( - - - - - ); -} diff --git a/src/app/ui/icons/ledger-icon.tsx b/src/app/ui/icons/ledger-icon.tsx deleted file mode 100644 index e63fd272c9f..00000000000 --- a/src/app/ui/icons/ledger-icon.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function LedgerIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - - - - - ); -} diff --git a/src/app/ui/icons/lettermark-icon.tsx b/src/app/ui/icons/lettermark-icon.tsx deleted file mode 100644 index 7da877d938a..00000000000 --- a/src/app/ui/icons/lettermark-icon.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import { Icon, IconProps } from './icon/icon'; - -export function LettermarkIcon(props: IconProps) { - return ( - - - - ); -} diff --git a/src/app/ui/icons/list-icon.tsx b/src/app/ui/icons/list-icon.tsx deleted file mode 100644 index fa5275c65f4..00000000000 --- a/src/app/ui/icons/list-icon.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function ListIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/lock-icon.tsx b/src/app/ui/icons/lock-icon.tsx deleted file mode 100644 index fc24662f0ad..00000000000 --- a/src/app/ui/icons/lock-icon.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function LockIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/logomark-icon.tsx b/src/app/ui/icons/logomark-icon.tsx deleted file mode 100644 index 89f13152131..00000000000 --- a/src/app/ui/icons/logomark-icon.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import { Icon, IconProps } from './icon/icon'; - -export function LogomarkIcon(props: IconProps) { - return ( - - - - ); -} diff --git a/src/app/ui/icons/megaphone-icon.tsx b/src/app/ui/icons/megaphone-icon.tsx deleted file mode 100644 index 237bc00e253..00000000000 --- a/src/app/ui/icons/megaphone-icon.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function MegaphoneIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/moon-icon.tsx b/src/app/ui/icons/moon-icon.tsx deleted file mode 100644 index c3ceba8e5de..00000000000 --- a/src/app/ui/icons/moon-icon.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function MoonIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - - ); - - return ( - - - - - ); -} diff --git a/src/app/ui/icons/placeholder-icon.tsx b/src/app/ui/icons/placeholder-icon.tsx deleted file mode 100644 index 28ca50eec4a..00000000000 --- a/src/app/ui/icons/placeholder-icon.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function PlaceholderIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/plus-icon.tsx b/src/app/ui/icons/plus-icon.tsx deleted file mode 100644 index 626ec117b5f..00000000000 --- a/src/app/ui/icons/plus-icon.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function PlusIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/qr-code-icon.tsx b/src/app/ui/icons/qr-code-icon.tsx deleted file mode 100644 index 9b97a317aad..00000000000 --- a/src/app/ui/icons/qr-code-icon.tsx +++ /dev/null @@ -1,53 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function QrCodeIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - - - - - - - ); - - return ( - - - - - - - - ); -} diff --git a/src/app/ui/icons/question-circle-icon.tsx b/src/app/ui/icons/question-circle-icon.tsx deleted file mode 100644 index 89ba6619c60..00000000000 --- a/src/app/ui/icons/question-circle-icon.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function QuestionCircleIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/refresh-icon.tsx b/src/app/ui/icons/refresh-icon.tsx deleted file mode 100644 index 479ed95039e..00000000000 --- a/src/app/ui/icons/refresh-icon.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function RefreshIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/reload-icon.tsx b/src/app/ui/icons/reload-icon.tsx deleted file mode 100644 index 287ea1c3dda..00000000000 --- a/src/app/ui/icons/reload-icon.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function ReloadIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/send-icon.tsx b/src/app/ui/icons/send-icon.tsx deleted file mode 100644 index c8a82ffc3bf..00000000000 --- a/src/app/ui/icons/send-icon.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function SendIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/stacks-icon.tsx b/src/app/ui/icons/stacks-icon.tsx deleted file mode 100644 index 7862874041b..00000000000 --- a/src/app/ui/icons/stacks-icon.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function StacksIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/star-icon.tsx b/src/app/ui/icons/star-icon.tsx deleted file mode 100644 index bebbedebb62..00000000000 --- a/src/app/ui/icons/star-icon.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function StarIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/sun-icon.tsx b/src/app/ui/icons/sun-icon.tsx deleted file mode 100644 index 599ceaa64ab..00000000000 --- a/src/app/ui/icons/sun-icon.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function SunIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - - - - - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/sun-in-cloud-icon.tsx b/src/app/ui/icons/sun-in-cloud-icon.tsx deleted file mode 100644 index 2cd674c915b..00000000000 --- a/src/app/ui/icons/sun-in-cloud-icon.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function SunInCloudIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - - - - - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/support-icon.tsx b/src/app/ui/icons/support-icon.tsx deleted file mode 100644 index b34e0773697..00000000000 --- a/src/app/ui/icons/support-icon.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function SupportIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/swap-icon.tsx b/src/app/ui/icons/swap-icon.tsx deleted file mode 100644 index 31644ba3671..00000000000 --- a/src/app/ui/icons/swap-icon.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function SwapIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/trash-icon.tsx b/src/app/ui/icons/trash-icon.tsx deleted file mode 100644 index 0c8f874788f..00000000000 --- a/src/app/ui/icons/trash-icon.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function TrashIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/unlock-icon.tsx b/src/app/ui/icons/unlock-icon.tsx deleted file mode 100644 index 9d705c23bb9..00000000000 --- a/src/app/ui/icons/unlock-icon.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function UnlockIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/world-icon.tsx b/src/app/ui/icons/world-icon.tsx deleted file mode 100644 index cf04e1443e2..00000000000 --- a/src/app/ui/icons/world-icon.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function WorldIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/icons/zap-icon.tsx b/src/app/ui/icons/zap-icon.tsx deleted file mode 100644 index f2a92afe60c..00000000000 --- a/src/app/ui/icons/zap-icon.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import { Icon, IconProps, IconSmall } from './icon/icon'; - -export function ZapIcon({ variant, ...props }: IconProps) { - if (variant === 'small') - return ( - - - - ); - - return ( - - - - ); -} diff --git a/src/app/ui/layout/card/card.stories.tsx b/src/app/ui/layout/card/card.stories.tsx index 026a1da1f56..5778025c161 100644 --- a/src/app/ui/layout/card/card.stories.tsx +++ b/src/app/ui/layout/card/card.stories.tsx @@ -1,7 +1,7 @@ import type { Meta } from '@storybook/react'; import { Box } from 'leather-styles/jsx'; -import { Button } from '@app/ui/components/button/button'; +import { Button } from '@leather.io/ui'; import { Card as Component } from './card'; diff --git a/src/app/ui/pages/home.layout.stories.tsx b/src/app/ui/pages/home.layout.stories.tsx index 54922c8b769..bd972f72553 100644 --- a/src/app/ui/pages/home.layout.stories.tsx +++ b/src/app/ui/pages/home.layout.stories.tsx @@ -1,11 +1,9 @@ import type { Meta } from '@storybook/react'; import { Box, Flex, Stack } from 'leather-styles/jsx'; -import { RouteUrls } from '@shared/route-urls'; +import { ArrowDownIcon, ArrowUpIcon, IconButton, PlusIcon, SwapIcon, Tabs } from '@leather.io/ui'; -import { IconButton } from '@app/ui/components/icon-button/icon-button'; -import { Tabs } from '@app/ui/components/tabs/tabs'; -import { ArrowDownIcon, ArrowUpIcon, PlusIcon, SwapIcon } from '@app/ui/icons'; +import { RouteUrls } from '@shared/route-urls'; import { HomeLayout as Component } from './home.layout'; diff --git a/src/app/ui/pages/welcome.layout.tsx b/src/app/ui/pages/welcome.layout.tsx index 6a2679569f0..f770a026352 100644 --- a/src/app/ui/pages/welcome.layout.tsx +++ b/src/app/ui/pages/welcome.layout.tsx @@ -1,11 +1,9 @@ import { OnboardingSelectors } from '@tests/selectors/onboarding.selectors'; import { Flex, styled } from 'leather-styles/jsx'; +import { Button, LettermarkIcon, Link, LogomarkIcon } from '@leather.io/ui'; + import { useThemeSwitcher } from '@app/common/theme-provider'; -import { Button } from '@app/ui/components/button/button'; -import { Link } from '@app/ui/components/link/link'; -import { LettermarkIcon } from '@app/ui/icons/lettermark-icon'; -import { LogomarkIcon } from '@app/ui/icons/logomark-icon'; interface WelcomeLayoutProps { isGeneratingWallet: boolean; diff --git a/src/app/ui/pressable/pressable.stories.tsx b/src/app/ui/pressable/pressable.stories.tsx deleted file mode 100644 index 5648364486c..00000000000 --- a/src/app/ui/pressable/pressable.stories.tsx +++ /dev/null @@ -1,132 +0,0 @@ -import { Meta, StoryObj } from '@storybook/react'; -import { styled } from 'leather-styles/jsx'; - -import { BtcAvatarIcon } from '@app/ui/components/avatar/btc-avatar-icon'; -import { CopyIcon } from '@app/ui/icons/copy-icon'; -import { QrCodeIcon } from '@app/ui/icons/qr-code-icon'; -import { Pressable as Component } from '@app/ui/pressable/pressable'; - -import { Button } from '../components/button/button'; -import { ItemLayout } from '../components/item-layout/item-layout'; -import { ItemLayoutWithButtons } from '../components/item-layout/item-layout-with-buttons'; - -const meta: Meta = { - component: Component, - tags: ['autodocs'], - title: 'Pressable', - parameters: { - controls: { include: [] }, - }, -}; - -export default meta; -type Story = StoryObj; - -function ExamplePressableContent() { - return ( - } - titleLeft="Label" - captionLeft="Caption" - titleRight="1,000.00 ABC" - captionRight="$1,000.00" - /> - ); -} - -export const Pressable: Story = { - parameters: { - docs: { - description: { - story: - '`Pressable` has its hover state applied with a before pseudo element, so the content aligns independently from its hover state background.', - }, - }, - }, - args: { - onClick: () => {}, - children: , - }, -}; - -export const Disabled: Story = { - args: { - disabled: true, - onClick: () => {}, - children: ( - } - titleLeft="Label" - captionLeft="Caption" - titleRight="1,000.00 ABC" - captionRight="$1,000.00" - /> - ), - }, -}; - -export const WithButtons: Story = { - args: { - children: ( - } - title="Label" - caption="Caption" - buttons={ - <> - - - - } - /> - ), - }, -}; - -export const AlignmentExample: Story = { - parameters: { - docs: { - description: { - story: 'Demonstrates the component alignment in combination with its hover state', - }, - }, - }, - decorators: [ - Story => ( - - - Left aligned header - - - - ), - ], - args: { - onClick: () => {}, - children: , - }, -}; - -export const WithPadding: Story = { - parameters: { - docs: { - description: { - story: - "In some layouts, it's necessary to contain the bounds of the element's pseudo element hover background. Wrap the component in a div with padding `space.03` to achieve this", - }, - }, - }, - decorators: [ - Story => ( - - - - ), - ], - args: { - onClick: () => {}, - children: , - }, -}; diff --git a/src/app/ui/pressable/pressable.tsx b/src/app/ui/pressable/pressable.tsx deleted file mode 100644 index 984f9fe313b..00000000000 --- a/src/app/ui/pressable/pressable.tsx +++ /dev/null @@ -1,106 +0,0 @@ -import { forwardRef } from 'react'; - -import { type RecipeVariantProps, css, cva } from 'leather-styles/css'; -import { type HTMLStyledProps, styled } from 'leather-styles/jsx'; - -import { isDefined } from '@leather-wallet/utils'; - -const basePseudoOutlineProps = { - content: '""', - rounded: 'xs', - position: 'absolute', - top: '-space.03', - left: '-space.03', - bottom: '-space.03', - right: '-space.03', -}; - -const focusVisibleStyles = { - _before: { - ...basePseudoOutlineProps, - border: '2px solid', - borderColor: 'lightModeBlue.500', - }, - _focusWithin: { outline: 'none' }, -}; - -export const pressableBaseStyles = css.raw({ - position: 'relative', - bg: 'ink.background-primary', - color: 'ink.text-primary', - cursor: 'default', - display: 'flex', - height: 'auto', - outline: 'none', - rounded: 'xs', - userSelect: 'none', - width: '100%', -}); - -export const pressableStyles = css.raw({ - cursor: 'pointer', - position: 'relative', - _before: basePseudoOutlineProps, - - '&:is(:active)': { - _before: { - bg: 'ink.component-background-pressed', - }, - }, - '&:is(:focus-visible)': { - ...focusVisibleStyles, - }, - '&:is(:disabled, [data-disabled])': { - _active: { bg: 'unset' }, - _focus: { border: 'unset' }, - _hover: { bg: 'unset' }, - color: 'ink.text-non-interactive', - cursor: 'not-allowed', - }, - - '&:is(:hover, [data-highlighted])': { - _before: { - bg: 'ink.component-background-hover', - borderColor: 'transparent', - }, - }, -}); - -const pressableRecipe = cva({ - base: pressableBaseStyles, - variants: { - disabled: { true: {} }, - pressable: { - true: pressableStyles, - }, - }, -}); - -export const pressableCaptionStyles = css({ - _groupDisabled: { color: 'ink.text-non-interactive' }, - color: 'ink.text-subdued', -}); - -export const pressableChevronStyles = css({ - _groupDisabled: { color: 'ink.text-non-interactive' }, - color: 'ink.action-primary-default', -}); - -type PressableVariantProps = RecipeVariantProps; - -export const Pressable = forwardRef< - HTMLButtonElement, - HTMLStyledProps<'button'> & PressableVariantProps ->((props, ref) => { - const { disabled, onClick, ...rest } = props; - const isPressable = isDefined(onClick); - return ( - - ); -}); diff --git a/src/app/ui/shared/shimmer-styles.ts b/src/app/ui/shared/shimmer-styles.ts deleted file mode 100644 index f89a620d385..00000000000 --- a/src/app/ui/shared/shimmer-styles.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { css } from 'leather-styles/css'; - -export const shimmerStyles = css({ - '&[data-state=loading]': { - display: 'inline-block', - WebkitMask: 'linear-gradient(-60deg, #000 30%, #0005, #000 70%) right/300% 100%', - backgroundRepeat: 'no-repeat', - animation: 'shimmer 1.5s infinite', - color: 'ink.text-subdued', - }, -}); diff --git a/src/app/ui/utils/style-context.tsx b/src/app/ui/utils/style-context.tsx deleted file mode 100644 index 8cba84f2665..00000000000 --- a/src/app/ui/utils/style-context.tsx +++ /dev/null @@ -1,70 +0,0 @@ -import { - ComponentProps, - ElementType, - JSX, - createContext, - createElement, - forwardRef, - useContext, -} from 'react'; - -// Copied from Panda docs. This logic is needed when composing together sva -// components, so they can share style state between slots. -// https://panda-css.com/docs/concepts/slot-recipes#styling-jsx-compound-components -type GenericProps = Record; -interface StyleRecipe { - (props?: GenericProps): Record; - splitVariantProps(props: GenericProps): any; -} -type StyleSlot = keyof ReturnType; -type StyleSlotRecipe = Record, string>; -type StyleVariantProps = Parameters[0]; -type CombineProps = Omit & U; - -const cx = (...args: (string | undefined)[]) => args.filter(Boolean).join(' '); - -interface ComponentVariants { - (props: CombineProps, StyleVariantProps>): JSX.Element; -} - -export const createStyleContext = (recipe: R) => { - const StyleContext = createContext | null>(null); - - const withProvider = ( - Component: T, - slot?: StyleSlot - ): ComponentVariants => { - const StyledComponent = forwardRef((props: ComponentProps, ref) => { - const [variantProps, otherProps] = recipe.splitVariantProps(props); - const slotStyles = recipe(variantProps) as StyleSlotRecipe; - return ( - - - - ); - }); - return StyledComponent as unknown as ComponentVariants; - }; - - const withContext = (Component: T, slot?: StyleSlot): T => { - if (!slot) return Component; - const StyledComponent = forwardRef((props: ComponentProps, ref) => { - const slotStyles = useContext(StyleContext); - return createElement(Component, { - ...props, - className: cx(slotStyles?.[slot ?? ''], props.className), - ref, - }); - }); - return StyledComponent as unknown as T; - }; - - return { - withProvider, - withContext, - }; -}; diff --git a/src/background/messaging/rpc-methods/send-transfer.ts b/src/background/messaging/rpc-methods/send-transfer.ts index affdb96acb1..ad48b3fd787 100644 --- a/src/background/messaging/rpc-methods/send-transfer.ts +++ b/src/background/messaging/rpc-methods/send-transfer.ts @@ -1,6 +1,6 @@ import { RpcErrorCode, type RpcRequest, type SendTransferRequestParams } from '@btckit/types'; -import { isUndefined } from '@leather-wallet/utils'; +import { isUndefined } from '@leather.io/utils'; import { RouteUrls } from '@shared/route-urls'; import { diff --git a/src/background/messaging/rpc-methods/sign-message.ts b/src/background/messaging/rpc-methods/sign-message.ts index 27a8321641c..b475c62a8cf 100644 --- a/src/background/messaging/rpc-methods/sign-message.ts +++ b/src/background/messaging/rpc-methods/sign-message.ts @@ -1,8 +1,8 @@ import { PaymentTypes, RpcErrorCode } from '@btckit/types'; import { SignMessageRequest } from '@btckit/types/dist/types/methods/sign-message'; -import { isSupportedMessageSigningPaymentType } from '@leather-wallet/bitcoin'; -import { isDefined, isUndefined } from '@leather-wallet/utils'; +import { isSupportedMessageSigningPaymentType } from '@leather.io/bitcoin'; +import { isDefined, isUndefined } from '@leather.io/utils'; import { RouteUrls } from '@shared/route-urls'; import { diff --git a/src/background/messaging/rpc-methods/sign-psbt.ts b/src/background/messaging/rpc-methods/sign-psbt.ts index 1252b6a73a7..4b57dc92cfc 100644 --- a/src/background/messaging/rpc-methods/sign-psbt.ts +++ b/src/background/messaging/rpc-methods/sign-psbt.ts @@ -2,7 +2,7 @@ import { RpcErrorCode } from '@btckit/types'; import * as btc from '@scure/btc-signer'; import { hexToBytes } from '@stacks/common'; -import { ensureArray, isDefined, isUndefined } from '@leather-wallet/utils'; +import { ensureArray, isDefined, isUndefined } from '@leather.io/utils'; import { RouteUrls } from '@shared/route-urls'; import { diff --git a/src/background/messaging/rpc-methods/sign-stacks-message.ts b/src/background/messaging/rpc-methods/sign-stacks-message.ts index 862d482152e..ba01a3779de 100644 --- a/src/background/messaging/rpc-methods/sign-stacks-message.ts +++ b/src/background/messaging/rpc-methods/sign-stacks-message.ts @@ -1,6 +1,6 @@ import { RpcErrorCode } from '@btckit/types'; -import { isDefined, isUndefined } from '@leather-wallet/utils'; +import { isDefined, isUndefined } from '@leather.io/utils'; import { RouteUrls } from '@shared/route-urls'; import { diff --git a/src/background/messaging/rpc-methods/sign-stacks-transaction.ts b/src/background/messaging/rpc-methods/sign-stacks-transaction.ts index 1cf4fdcad9d..bdc66e1552d 100644 --- a/src/background/messaging/rpc-methods/sign-stacks-transaction.ts +++ b/src/background/messaging/rpc-methods/sign-stacks-transaction.ts @@ -18,8 +18,8 @@ import { import BigNumber from 'bignumber.js'; import { createUnsecuredToken } from 'jsontokens'; -import { STX_DECIMALS } from '@leather-wallet/constants'; -import { isDefined, isUndefined } from '@leather-wallet/utils'; +import { STX_DECIMALS } from '@leather.io/constants'; +import { isDefined, isUndefined } from '@leather.io/utils'; import { RouteUrls } from '@shared/route-urls'; import { diff --git a/src/background/popup.ts b/src/background/popup.ts index 65b0dcf2b5f..7dd57833bfb 100644 --- a/src/background/popup.ts +++ b/src/background/popup.ts @@ -5,8 +5,8 @@ interface PopupOptions { title?: string; skipPopupFallback?: boolean; } -// FIXME import popupTokens from '@leather-wallet/tokens' when bundling working -// https://github.com/leather-wallet/mono/pull/76 +// FIXME import popupTokens from '@leather.io/tokens' when bundling working +// https://github.com/leather-io/mono/pull/76 const popupTokens = { popupWidth: { value: '390px' }, popupHeight: { value: '756px' }, diff --git a/src/shared/crypto/bitcoin/bitcoin.utils.ts b/src/shared/crypto/bitcoin/bitcoin.utils.ts index 1cdd52e79bf..93f497affec 100644 --- a/src/shared/crypto/bitcoin/bitcoin.utils.ts +++ b/src/shared/crypto/bitcoin/bitcoin.utils.ts @@ -1,6 +1,6 @@ import type { TransactionInput } from '@scure/btc-signer/psbt'; -import { isDefined } from '@leather-wallet/utils'; +import { isDefined } from '@leather.io/utils'; import { logger } from '@shared/logger'; diff --git a/src/shared/crypto/bitcoin/signer-config.spec.ts b/src/shared/crypto/bitcoin/signer-config.spec.ts index 24aed7e3f4e..4e130a89a52 100644 --- a/src/shared/crypto/bitcoin/signer-config.spec.ts +++ b/src/shared/crypto/bitcoin/signer-config.spec.ts @@ -8,8 +8,8 @@ import { ecdsaPublicKeyToSchnorr, getNativeSegwitAccountDerivationPath, getTaprootAccountDerivationPath, -} from '@leather-wallet/bitcoin'; -import { makeNumberRange } from '@leather-wallet/utils'; +} from '@leather.io/bitcoin'; +import { makeNumberRange } from '@leather.io/utils'; import { getAssumedZeroIndexSigningConfig } from './signer-config'; diff --git a/src/shared/crypto/bitcoin/signer-config.ts b/src/shared/crypto/bitcoin/signer-config.ts index 046c0d57e3c..58728b4c53c 100644 --- a/src/shared/crypto/bitcoin/signer-config.ts +++ b/src/shared/crypto/bitcoin/signer-config.ts @@ -4,9 +4,9 @@ import { getInputPaymentType, getNativeSegwitAddressIndexDerivationPath, getTaprootAddressIndexDerivationPath, -} from '@leather-wallet/bitcoin'; -import type { BitcoinNetworkModes } from '@leather-wallet/models'; -import { isUndefined, makeNumberRange } from '@leather-wallet/utils'; +} from '@leather.io/bitcoin'; +import type { BitcoinNetworkModes } from '@leather.io/models'; +import { isUndefined, makeNumberRange } from '@leather.io/utils'; import { logger } from '@shared/logger'; diff --git a/src/shared/crypto/stacks/stacks.utils.ts b/src/shared/crypto/stacks/stacks.utils.ts index edc6cc32ada..2e8c5281021 100644 --- a/src/shared/crypto/stacks/stacks.utils.ts +++ b/src/shared/crypto/stacks/stacks.utils.ts @@ -1,6 +1,6 @@ import { ChainID } from '@stacks/transactions'; -import type { NetworkModes } from '@leather-wallet/models'; +import type { NetworkModes } from '@leather.io/models'; export const stxDerivationWithAccount = `m/44'/5757'/0'/0/{account}`; const stxIdentityDerivationWithAccount = `m/888'/0'/{account}'`; diff --git a/src/shared/forms/bitcoin-address-validators.ts b/src/shared/forms/bitcoin-address-validators.ts index 1e415fa0761..68c361c87e8 100644 --- a/src/shared/forms/bitcoin-address-validators.ts +++ b/src/shared/forms/bitcoin-address-validators.ts @@ -1,8 +1,8 @@ import { AddressType, Network, getAddressInfo, validate } from 'bitcoin-address-validation'; import * as yup from 'yup'; -import type { BitcoinNetworkModes } from '@leather-wallet/models'; -import { isString } from '@leather-wallet/utils'; +import type { BitcoinNetworkModes } from '@leather.io/models'; +import { isString } from '@leather.io/utils'; import { FormErrorMessages } from '@shared/error-messages'; diff --git a/src/shared/models/form.model.ts b/src/shared/models/form.model.ts index f1dea13ff90..b48e1f8f68e 100644 --- a/src/shared/models/form.model.ts +++ b/src/shared/models/form.model.ts @@ -1,4 +1,4 @@ -import type { Inscription, Money } from '@leather-wallet/models'; +import type { Inscription, Money } from '@leather.io/models'; export interface BitcoinSendFormValues { amount: number | string; diff --git a/src/shared/rpc/methods/accept-bitcoin-contract.ts b/src/shared/rpc/methods/accept-bitcoin-contract.ts index 8b6cb27d1cf..9739dd33d98 100644 --- a/src/shared/rpc/methods/accept-bitcoin-contract.ts +++ b/src/shared/rpc/methods/accept-bitcoin-contract.ts @@ -1,7 +1,7 @@ import { DefineRpcMethod, RpcRequest, RpcResponse } from '@btckit/types'; import { AllowAdditionalProperties } from '@btckit/types/dist/types/utils'; -import type { BitcoinNetworkModes } from '@leather-wallet/models'; +import type { BitcoinNetworkModes } from '@leather.io/models'; interface BitcoinContractResponseParams extends AllowAdditionalProperties { bitcoinContractOffer: string; diff --git a/src/shared/rpc/methods/send-transfer.ts b/src/shared/rpc/methods/send-transfer.ts index 16d9b5a4b19..8e6d0f35e0b 100644 --- a/src/shared/rpc/methods/send-transfer.ts +++ b/src/shared/rpc/methods/send-transfer.ts @@ -1,10 +1,7 @@ import type { SendTransferRequestParams } from '@btckit/types'; import * as yup from 'yup'; -import { - type BitcoinNetworkModes, - WalletDefaultNetworkConfigurationIds, -} from '@leather-wallet/models'; +import { type BitcoinNetworkModes, WalletDefaultNetworkConfigurationIds } from '@leather.io/models'; import { FormErrorMessages } from '@shared/error-messages'; import { checkIfDigitsOnly } from '@shared/forms/amount-validators'; diff --git a/src/shared/rpc/methods/sign-message.ts b/src/shared/rpc/methods/sign-message.ts index 914597cd981..728a6736e1a 100644 --- a/src/shared/rpc/methods/sign-message.ts +++ b/src/shared/rpc/methods/sign-message.ts @@ -1,7 +1,7 @@ import { PaymentTypes } from '@btckit/types'; import * as yup from 'yup'; -import { WalletDefaultNetworkConfigurationIds } from '@leather-wallet/models'; +import { WalletDefaultNetworkConfigurationIds } from '@leather.io/models'; import { accountSchema, diff --git a/src/shared/rpc/methods/sign-psbt.ts b/src/shared/rpc/methods/sign-psbt.ts index 3217a1f530b..71085f8cc07 100644 --- a/src/shared/rpc/methods/sign-psbt.ts +++ b/src/shared/rpc/methods/sign-psbt.ts @@ -1,13 +1,13 @@ import { SigHash } from '@scure/btc-signer/transaction'; import * as yup from 'yup'; -import { WalletDefaultNetworkConfigurationIds } from '@leather-wallet/models'; +import { WalletDefaultNetworkConfigurationIds } from '@leather.io/models'; import { SignatureHash as BtcKitSignatureHash, DefineRpcMethod, RpcRequest, RpcResponse, -} from '@leather-wallet/rpc'; +} from '@leather.io/rpc'; import { accountSchema, diff --git a/src/shared/rpc/methods/validation.utils.ts b/src/shared/rpc/methods/validation.utils.ts index 1b81efdbf41..2db10aae1d0 100644 --- a/src/shared/rpc/methods/validation.utils.ts +++ b/src/shared/rpc/methods/validation.utils.ts @@ -1,6 +1,6 @@ import * as yup from 'yup'; -import { isNumber, isUndefined } from '@leather-wallet/utils'; +import { isNumber, isUndefined } from '@leather.io/utils'; export const accountSchema = yup.number().integer(); diff --git a/src/shared/rpc/rpc-methods.ts b/src/shared/rpc/rpc-methods.ts index 9efa30ae9c6..76e0513eaef 100644 --- a/src/shared/rpc/rpc-methods.ts +++ b/src/shared/rpc/rpc-methods.ts @@ -1,6 +1,6 @@ import { BtcKitMethodMap, ExtractErrorResponse, ExtractSuccessResponse } from '@btckit/types'; -import type { ValueOf } from '@leather-wallet/models'; +import type { ValueOf } from '@leather.io/models'; import { SignStacksTransaction } from '@shared/rpc/methods/sign-stacks-transaction'; diff --git a/src/shared/utils.ts b/src/shared/utils.ts index 036ff3bddd6..e00f268e196 100644 --- a/src/shared/utils.ts +++ b/src/shared/utils.ts @@ -1,4 +1,4 @@ -import { delay } from '@leather-wallet/utils'; +import { delay } from '@leather.io/utils'; import { logger } from './logger'; diff --git a/src/shared/utils/analytics.ts b/src/shared/utils/analytics.ts index 0b7f924d7a4..c13655bc93c 100644 --- a/src/shared/utils/analytics.ts +++ b/src/shared/utils/analytics.ts @@ -22,6 +22,21 @@ import { export const analytics = new AnalyticsBrowser(); +export function decorateAnalyticsEventsWithContext( + getEventContextProperties: () => Record +) { + void analytics.ready( + () => + void analytics.addSourceMiddleware(({ payload, next }) => { + Object.entries(getEventContextProperties()).forEach(([key, value]) => { + payload.obj.context = payload.obj.context || {}; + payload.obj.context[key] = value; + }); + next(payload); + }) + ); +} + export function initAnalytics() { return analytics.load( { writeKey: SEGMENT_WRITE_KEY }, diff --git a/tests/mocks/index.ts b/tests/mocks/index.ts index 8a27ed4373a..34432247dce 100644 --- a/tests/mocks/index.ts +++ b/tests/mocks/index.ts @@ -1,4 +1,4 @@ -import { HIRO_API_BASE_URL_MAINNET, HIRO_API_BASE_URL_TESTNET } from '@leather-wallet/models'; +import { HIRO_API_BASE_URL_MAINNET, HIRO_API_BASE_URL_TESTNET } from '@leather.io/models'; export const SECRET_KEY = 'invite helmet save lion indicate chuckle world pride afford hard broom draft'; diff --git a/tests/mocks/mock-btc-txs.ts b/tests/mocks/mock-btc-txs.ts index 9bcd6d37af8..7a58dc30cac 100644 --- a/tests/mocks/mock-btc-txs.ts +++ b/tests/mocks/mock-btc-txs.ts @@ -1,4 +1,4 @@ -import type { BitcoinTx } from '@leather-wallet/models'; +import type { BitcoinTx } from '@leather.io/models'; export const mockBitcoinTestnetAddress = 'tb1qxy5r9rlmpcxgwp92x2594q3gg026y4kdv2rsl8'; diff --git a/tests/mocks/mock-inscriptions.ts b/tests/mocks/mock-inscriptions.ts index 3bdd23dd2bc..066728accfc 100644 --- a/tests/mocks/mock-inscriptions.ts +++ b/tests/mocks/mock-inscriptions.ts @@ -1,4 +1,4 @@ -import { type InscriptionResponseHiro, createInscriptionHiro } from '@leather-wallet/query'; +import { type InscriptionResponseHiro, createInscriptionHiro } from '@leather.io/query'; export const mockInscriptionResponse1: InscriptionResponseHiro = { address: 'bc1pwrmewwprc8k8l2k63x4advg0nx0jk50xzqnee996lm87mcuza7kq6drg2k', diff --git a/tests/page-object-models/home.page.ts b/tests/page-object-models/home.page.ts index f06d7625cc0..ba01c62c47f 100644 --- a/tests/page-object-models/home.page.ts +++ b/tests/page-object-models/home.page.ts @@ -5,7 +5,7 @@ import { SettingsSelectors } from '@tests/selectors/settings.selectors'; import { SharedComponentsSelectors } from '@tests/selectors/shared-component.selectors'; import { createTestSelector } from '@tests/utils'; -import { WalletDefaultNetworkConfigurationIds } from '@leather-wallet/models'; +import { WalletDefaultNetworkConfigurationIds } from '@leather.io/models'; export class HomePage { readonly page: Page; diff --git a/tests/page-object-models/onboarding.page.ts b/tests/page-object-models/onboarding.page.ts index b188dbc1a98..39eb7a5afb6 100644 --- a/tests/page-object-models/onboarding.page.ts +++ b/tests/page-object-models/onboarding.page.ts @@ -3,8 +3,8 @@ import { TEST_PASSWORD } from '@tests/mocks/constants'; import { HomePageSelectors } from '@tests/selectors/home.selectors'; import { OnboardingSelectors } from '@tests/selectors/onboarding.selectors'; -import type { SupportedBlockchains } from '@leather-wallet/models'; -import { createCounter } from '@leather-wallet/utils'; +import type { SupportedBlockchains } from '@leather.io/models'; +import { createCounter } from '@leather.io/utils'; import { RouteUrls } from '@shared/route-urls'; diff --git a/tests/selectors/network.selectors.ts b/tests/selectors/network.selectors.ts index ac5ff3652a9..466b6ee0e4f 100644 --- a/tests/selectors/network.selectors.ts +++ b/tests/selectors/network.selectors.ts @@ -5,7 +5,6 @@ export enum NetworkSelectors { NetworkStacksAddress = 'network-stacks-address', NetworkBitcoinAddress = 'network-bitcoin-address', NetworkKey = 'network-key', - AddNetworkBtn = 'add-network-btn', ErrorText = 'error-text', EmptyNameError = 'Enter a name', EmptyStacksAddressError = 'Enter a valid Stacks API URL', @@ -13,4 +12,9 @@ export enum NetworkSelectors { EmptyKeyError = 'Enter a unique key', NoStacksNodeFetch = 'Unable to fetch info from stacks node', NoBitcoinNodeFetch = 'Unable to fetch mempool from bitcoin node', + + // add network form + AddNetworkBtn = 'add-network-btn', + AddNetworkBitcoinAPISelector = 'add-network-bitcoin-api-selector', + BitcoinAPIOptionTestnet = 'bitcoin-api-option-testnet', } diff --git a/tests/selectors/send.selectors.ts b/tests/selectors/send.selectors.ts index 86b14011e58..e1e27f2d9fe 100644 --- a/tests/selectors/send.selectors.ts +++ b/tests/selectors/send.selectors.ts @@ -23,4 +23,8 @@ export enum SendCryptoAssetSelectors { SendMaxBtn = 'send-max-btn', SendPageReady = 'send-page-ready', + + // stx high fee warning dialog + HighFeeWarningDialog = 'high-fee-warning-dialog', + HighFeeWarningDialogSubmit = 'high-fee-warning-dialog-submit', } diff --git a/tests/specs/compliance-checks/compliance-checks.spec.ts b/tests/specs/compliance-checks/compliance-checks.spec.ts index 6bd58ae3f66..eae3faf0996 100644 --- a/tests/specs/compliance-checks/compliance-checks.spec.ts +++ b/tests/specs/compliance-checks/compliance-checks.spec.ts @@ -1,6 +1,6 @@ import type { BrowserContext, Page, Route } from '@playwright/test'; -import { delay } from '@leather-wallet/utils'; +import { delay } from '@leather.io/utils'; import { test } from '../../fixtures/fixtures'; diff --git a/tests/specs/ledger/ledger.spec.ts b/tests/specs/ledger/ledger.spec.ts index 2425516714c..b3ad04bd0f8 100644 --- a/tests/specs/ledger/ledger.spec.ts +++ b/tests/specs/ledger/ledger.spec.ts @@ -1,5 +1,7 @@ import { TEST_ACCOUNT_1_STX_ADDRESS } from '@tests/mocks/constants'; +import type { HomePage } from '@tests/page-object-models/home.page'; import { makeLedgerTestAccountWalletState } from '@tests/page-object-models/onboarding.page'; +import { SettingsSelectors } from '@tests/selectors/settings.selectors'; import { test } from '../../fixtures/fixtures'; @@ -9,6 +11,13 @@ const specs = { withBitcoinKeysOnly: makeLedgerTestAccountWalletState(['bitcoin']), }; +async function interceptBitcoinRequests(homePage: HomePage) { + const requestPromise = homePage.page.waitForRequest(/bestinslot|blockstream|inscriptions/, { + timeout: 1000, + }); + return requestPromise; +} + test.describe('App with Ledger', () => { for (const [testName, state] of Object.entries(specs)) { test.describe(testName, () => { @@ -33,6 +42,17 @@ test.describe('App with Ledger', () => { const stacksAddress = await homePage.getReceiveStxAddress(); test.expect(stacksAddress).toEqual(TEST_ACCOUNT_1_STX_ADDRESS); }); + + test('there are no bitcoin requests', async ({ homePage }) => { + const requestPromise = interceptBitcoinRequests(homePage); + + await homePage.page.getByTestId(SettingsSelectors.CurrentAccountDisplayName).click(); + + await test + .expect(async () => await test.expect(requestPromise).rejects.toThrowError()) + .toPass() + .catch(); + }); } test('that you can navigate to activity page', async ({ homePage }) => { diff --git a/tests/specs/network/add-network.spec.ts b/tests/specs/network/add-network.spec.ts index 837955e68d2..37bb07902f5 100644 --- a/tests/specs/network/add-network.spec.ts +++ b/tests/specs/network/add-network.spec.ts @@ -15,6 +15,15 @@ test.describe('Networks tests', () => { } ); + test('that bitcoin api url changes on selecting different network', async ({ page }) => { + await page.getByTestId(NetworkSelectors.AddNetworkBitcoinAPISelector).click(); + await page.getByTestId(NetworkSelectors.BitcoinAPIOptionTestnet).click(); + + const bitcoinUrl = await page.getByTestId(NetworkSelectors.NetworkBitcoinAddress); + + test.expect(await bitcoinUrl.inputValue()).toEqual('https://blockstream.info/testnet/api'); + }); + test('validation error when stacks api url is empty', async ({ networkPage }) => { await networkPage.inputNetworkNameField('Test network'); await networkPage.inputNetworkStacksAddressField(''); diff --git a/tests/specs/rpc-get-addresses/get-addresses.spec.ts b/tests/specs/rpc-get-addresses/get-addresses.spec.ts index 17c56419820..99ad082b87e 100644 --- a/tests/specs/rpc-get-addresses/get-addresses.spec.ts +++ b/tests/specs/rpc-get-addresses/get-addresses.spec.ts @@ -2,7 +2,7 @@ import type { BrowserContext, Page } from '@playwright/test'; import { TEST_PASSWORD } from '@tests/mocks/constants'; import { makeLedgerTestAccountWalletState } from '@tests/page-object-models/onboarding.page'; -import type { SupportedBlockchains } from '@leather-wallet/models'; +import type { SupportedBlockchains } from '@leather.io/models'; import { test } from '../../fixtures/fixtures'; diff --git a/tests/specs/rpc-sign-psbt/sign-psbt.spec.ts b/tests/specs/rpc-sign-psbt/sign-psbt.spec.ts index f2f32f273ab..306ec601320 100644 --- a/tests/specs/rpc-sign-psbt/sign-psbt.spec.ts +++ b/tests/specs/rpc-sign-psbt/sign-psbt.spec.ts @@ -1,7 +1,7 @@ import { SignPsbtRequestParams } from '@btckit/types'; import { BrowserContext, Page } from '@playwright/test'; -import { WalletDefaultNetworkConfigurationIds } from '@leather-wallet/models'; +import { WalletDefaultNetworkConfigurationIds } from '@leather.io/models'; import { test } from '../../fixtures/fixtures'; diff --git a/tests/specs/send/send-btc.spec.ts b/tests/specs/send/send-btc.spec.ts index 998c78e6173..3d1cc3a9311 100644 --- a/tests/specs/send/send-btc.spec.ts +++ b/tests/specs/send/send-btc.spec.ts @@ -4,7 +4,7 @@ import { SendCryptoAssetSelectors } from '@tests/selectors/send.selectors'; import { SharedComponentsSelectors } from '@tests/selectors/shared-component.selectors'; import { getDisplayerAddress } from '@tests/utils'; -import { BtcFeeType } from '@leather-wallet/models'; +import { BtcFeeType } from '@leather.io/models'; import { test } from '../../fixtures/fixtures'; diff --git a/tests/specs/send/send-stx.spec.ts b/tests/specs/send/send-stx.spec.ts index f41bba06a29..79cb1911fcd 100644 --- a/tests/specs/send/send-stx.spec.ts +++ b/tests/specs/send/send-stx.spec.ts @@ -4,10 +4,11 @@ import { TEST_BNS_RESOLVED_ADDRESS, TEST_TESTNET_ACCOUNT_2_STX_ADDRESS, } from '@tests/mocks/constants'; +import { SendCryptoAssetSelectors } from '@tests/selectors/send.selectors'; import { SharedComponentsSelectors } from '@tests/selectors/shared-component.selectors'; import { getDisplayerAddress } from '@tests/utils'; -import { STX_DECIMALS } from '@leather-wallet/constants'; +import { HIGH_FEE_AMOUNT_STX, STX_DECIMALS } from '@leather.io/constants'; import { FormErrorMessages } from '@shared/error-messages'; @@ -25,6 +26,28 @@ test.describe('send stx: tests on testnet', () => { await sendPage.selectStxAndGoToSendForm(); }); + test('that we show high fee warning in case of high custom fee', async ({ sendPage, page }) => { + const highFeeAmount = HIGH_FEE_AMOUNT_STX + 1; + await sendPage.amountInput.fill(amount); + await sendPage.amountInput.blur(); + await sendPage.recipientInput.fill(TEST_TESTNET_ACCOUNT_2_STX_ADDRESS); + await sendPage.recipientInput.blur(); + + await page.getByTestId(SharedComponentsSelectors.MiddleFeeEstimateItem).click(); + await page.getByTestId(SharedComponentsSelectors.CustomFeeSelectItem).click(); + await page + .getByTestId(SharedComponentsSelectors.CustomFeeFieldInput) + .fill(highFeeAmount.toString()); + + await sendPage.previewSendTxButton.click(); + + await page.getByTestId(SendCryptoAssetSelectors.HighFeeWarningDialog).isVisible(); + await page.getByTestId(SendCryptoAssetSelectors.HighFeeWarningDialogSubmit).click(); + + const details = await sendPage.confirmationDetails.allInnerTexts(); + test.expect(details).toBeTruthy(); + }); + test('that send max button sets available balance minus fee', async ({ sendPage }) => { await sendPage.amountInput.fill('.0001'); await sendPage.amountInput.clear(); diff --git a/tests/specs/transactions/transactions.spec.ts b/tests/specs/transactions/transactions.spec.ts index 1fe0f940657..39f01206453 100644 --- a/tests/specs/transactions/transactions.spec.ts +++ b/tests/specs/transactions/transactions.spec.ts @@ -3,7 +3,7 @@ import { TestAppPage } from '@tests/page-object-models/test-app.page'; import { TransactionRequestPage } from '@tests/page-object-models/transaction-request.page'; import { OnboardingSelectors } from '@tests/selectors/onboarding.selectors'; -import { stxToMicroStx } from '@leather-wallet/utils'; +import { stxToMicroStx } from '@leather.io/utils'; import { test } from '../../fixtures/fixtures'; diff --git a/theme/global/global.ts b/theme/global/global.ts index f9d64d5fe72..b6a07b06e57 100644 --- a/theme/global/global.ts +++ b/theme/global/global.ts @@ -1,4 +1,4 @@ -import { tokens } from '@leather-wallet/tokens'; +import { tokens } from '@leather.io/tokens'; import { defineGlobalStyles } from '@pandacss/dev'; // ts-unused-exports:disable-next-line diff --git a/webpack/webpack.config.base.js b/webpack/webpack.config.base.js index 62803dfb1cf..f1bbbe21b98 100755 --- a/webpack/webpack.config.base.js +++ b/webpack/webpack.config.base.js @@ -86,6 +86,8 @@ const aliases = { '@stacks/transactions': '@stacks/transactions/dist/esm', '@stacks/wallet-sdk': '@stacks/wallet-sdk/dist/esm', 'leather-styles': path.resolve('leather-styles'), + 'react': path.resolve('./node_modules/react'), + 'react-dom': path.resolve('./node_modules/react-dom') }; export const config = { @@ -161,6 +163,12 @@ export const config = { loader: 'esbuild-loader', options: { tsconfig: './tsconfig.json', target: 'es2020' }, }, + { + test: /\.(js)$/, + include: [/node_modules\/@leather.io\/ui/], + loader: 'esbuild-loader', + options: { tsconfig: './tsconfig.json', loader: 'jsx',target: 'es2020' }, + }, { test: /\.mdx?$/, use: [