diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000000..c2c9d09944 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,4 @@ +node_modules +dist +*.js +scripts \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000000..4c850713de --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,142 @@ +{ + "env": { + "browser": true, + "es2021": true + }, + "parser": "@typescript-eslint/parser", + "plugins": [ + "@typescript-eslint", + "import", + "react", + "react-hooks", + "destructuring" + ], + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/eslint-recommended", + "plugin:@typescript-eslint/recommended", + "plugin:prettier/recommended", + "plugin:react/recommended" + ], + "parserOptions": { + "ecmaVersion": "latest", + "sourceType": "module", + // "project": ["tsconfig.base.json"] + "project": true + }, + "rules": { + "no-extra-boolean-cast": "off", + "multiline-comment-style": "error", + "arrow-spacing": "error", + "curly": ["error", "all"], + "no-else-return": "error", + "no-multiple-empty-lines": "error", + "sort-imports": [ + "error", + { + "ignoreCase": true, + "ignoreDeclarationSort": true + } + ], + "import/order": [ + "error", + { + "newlines-between": "always", + "groups": [ + "type", + "builtin", + "external", + "internal", + "parent", + "sibling", + "object", + "index" + ], + "alphabetize": { + "order": "asc", + "caseInsensitive": true + } + } + ], + "import/first": "error", + "import/no-duplicates": "error", + "import/newline-after-import": [ + "error", + { + "count": 1 + } + ], + "react-hooks/rules-of-hooks": "error", + "react/no-array-index-key": "error", + "react/jsx-no-constructed-context-values": "error", + "react/jsx-key": "error", + "react/no-unescaped-entities": "off", + "destructuring/in-params": "error", + "destructuring/in-methods-params": "error", + // These rules will be override by @typescript-eslint + "no-unused-vars": "off", + "no-throw-literal": "off", + "no-magic-numbers": "off", + "camelcase": "off", + "@typescript-eslint/no-unused-vars": [ + "error", + { + "varsIgnorePattern": "^_", + "argsIgnorePattern": "^_", + "ignoreRestSiblings": true + } + ], + "@typescript-eslint/no-throw-literal": "error", + "@typescript-eslint/no-magic-numbers": [ + "error", + { + "ignore": [-1, 0, 1, 2] + } + ], + "@typescript-eslint/consistent-type-exports": "error", + "@typescript-eslint/consistent-type-imports": "error", + "@typescript-eslint/member-ordering": "error", + "@typescript-eslint/no-floating-promises": "error", + "@typescript-eslint/no-misused-promises": [ + "error", + { + "checksVoidReturn": false + } + ], + "@typescript-eslint/no-mixed-enums": "error", + "@typescript-eslint/no-unnecessary-type-assertion": "error", + "@typescript-eslint/prefer-enum-initializers": "error", + "@typescript-eslint/promise-function-async": "error", + "@typescript-eslint/switch-exhaustiveness-check": "error" + // "@typescript-eslint/explicit-function-return-type": "error", + // "@typescript-eslint/naming-convention": [ + // "error", + // { + // "selector": "default", + // "format": ["camelCase"] + // }, + + // { + // "selector": "variable", + // "format": ["camelCase", "UPPER_CASE"] + // }, + // { + // "selector": "parameter", + // "format": ["camelCase"], + // "leadingUnderscore": "allow" + // }, + + // { + // "selector": "memberLike", + // "modifiers": ["private"], + // "format": ["camelCase"], + // "leadingUnderscore": "require" + // }, + + // { + // "selector": "typeLike", + // "format": ["PascalCase"] + // } + // ] + } +} diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000000..dd84ea7824 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,38 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: '' +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Desktop (please complete the following information):** + - OS: [e.g. iOS] + - Browser [e.g. chrome, safari] + - Version [e.g. 22] + +**Smartphone (please complete the following information):** + - Device: [e.g. iPhone6] + - OS: [e.g. iOS8.1] + - Browser [e.g. stock browser, safari] + - Version [e.g. 22] + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000000..bbcbbe7d61 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: '' +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000000..53f5242601 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,22 @@ +# Summary + +Please include a summary of the changes and the related issue. Please also include relevant motivation and context. List any dependencies that are required for this change. + +Fixes # (issue) + + +# How did you test this change? + +Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration + +- [ ] Test A +- [ ] Test B + + +# Checklist: + +- [ ] I have performed a self-review of my code +- [ ] I have commented my code, particularly in hard-to-understand areas +- [ ] I have made corresponding changes to the documentation +- [ ] I have added tests that prove my fix is effective or that my feature works +- [ ] Implemented a user interface (UI) change, referencing our Figma design to ensure pixel-perfect precision. diff --git a/.github/actions/prepare/action.yml b/.github/actions/prepare/action.yml new file mode 100644 index 0000000000..4c7d2aa2da --- /dev/null +++ b/.github/actions/prepare/action.yml @@ -0,0 +1,40 @@ +name: Setup Environments +description: 'Setting up Git, NodeJS and authenticate.' +inputs: + NPM_TOKEN: + description: 'Put your NPM_TOKEN' + required: false + +runs: + using: 'composite' + steps: + - name: Setup NodeJS + uses: actions/setup-node@v3 + with: + node-version: '18' + cache: 'yarn' + + - name: Git + run: | + git config --global user.name 'github-actions[bot]' + git config --global user.email 'github-actions[bot]@users.noreply.github.com' + shell: 'bash' + + - name: Auth + if: ${{ inputs.NPM_TOKEN != 0 }} + run: | + echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> .npmrc + npm whoami + env: + NPM_TOKEN: ${{ inputs.NPM_TOKEN }} + shell: 'bash' + + - name: Restore cache + uses: actions/cache@v3 + with: + path: '**/node_modules' + key: ${{ runner.os }}-${{ hashFiles('**/yarn.lock') }} + + - name: Install packages + run: yarn install --frozen-lockfile + shell: 'bash' diff --git a/.github/workflows/checks.yaml b/.github/workflows/checks.yaml new file mode 100644 index 0000000000..21621bfda9 --- /dev/null +++ b/.github/workflows/checks.yaml @@ -0,0 +1,21 @@ +name: Conventional Commits Check +on: + pull_request: + types: [opened, reopened, synchronize, labeled] + +jobs: + check: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Prepare + uses: ./.github/actions/prepare + + - name: Checking Conventional Commits + run: node ./scripts/check-conventional-commits/command.mjs + env: + REF: ${{ github.ref }} + BASE_REF: ${{ github.event.pull_request.base.ref }} diff --git a/.github/workflows/crowdin.yml b/.github/workflows/crowdin.yml new file mode 100644 index 0000000000..7f51a28d28 --- /dev/null +++ b/.github/workflows/crowdin.yml @@ -0,0 +1,62 @@ +name: Sync translations using Crowdin + +on: + workflow_dispatch: + inputs: + branch: + description: 'to trigger the workflow manually' + required: false + type: string + workflow_call: + secrets: + CROWDIN_PROJECT_ID: + description: 'You need a crowdin project id to be set.' + required: true + CROWDIN_PERSONAL_TOKEN: + description: 'You need a crowdin token to be set.' + required: true + PAT: + description: 'Add a PAT to secrets.' + required: true + +jobs: + crowdin: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + token: ${{ secrets.PAT }} + + - name: Prepare + uses: ./.github/actions/prepare + + - name: Extract new source + run: yarn run i18n:extract + + - name: Crowdin push & pull translations + uses: crowdin/github-action@v1 + id: crowdin-download + with: + upload_sources: true + upload_translations: false + download_translations: true + source: translations/en.po + translation: translations/%two_letters_code%.po + project_id: ${{ secrets.CROWDIN_PROJECT_ID }} + token: ${{ secrets.CROWDIN_PERSONAL_TOKEN }} + commit_message: 'chore(translation): update translations' + + localization_branch_name: l10n_crowdin_translations + create_pull_request: true + pull_request_title: '🤖chore(translation): update translations' + pull_request_body: 'New Crowdin pull request with translations' + pull_request_base_branch_name: 'next' + env: + GITHUB_TOKEN: ${{ secrets.PAT }} + + - name: Enable auto-merge for the PR + if: steps.crowdin-download.outputs.pull_request_url + run: gh pr --repo $GITHUB_REPOSITORY merge ${{ steps.crowdin-download.outputs.pull_request_url }} --admin --merge + env: + GITHUB_TOKEN: ${{secrets.PAT}} diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000000..d02f9325a8 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,29 @@ +name: Deploy +on: + workflow_dispatch: + +jobs: + deploy-it: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + token: ${{ secrets.PAT }} + + - name: Prepare + uses: ./.github/actions/prepare + + - name: Deploy packages + run: yarn run deploy + env: + REF: ${{ github.ref }} + BASE_REF: ${{ github.event.pull_request.base.ref }} + GH_TOKEN: ${{ github.token }} + VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} + VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} + VERCEL_PROJECT_WALLETS: ${{ secrets.VERCEL_PROJECT_WALLETS }} + VERCEL_PROJECT_Q: ${{ secrets.VERCEL_PROJECT_Q }} + VERCEL_PROJECT_WALLET_ADAPTER: ${{ secrets.VERCEL_PROJECT_WALLET_ADAPTER }} + VERCEL_PROJECT_WIDGET_CONFIG: ${{ secrets.VERCEL_PROJECT_WIDGET_CONFIG }} + VERCEL_PROJECT_WIDGET_APP: ${{ secrets.VERCEL_PROJECT_WIDGET_APP }} diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml deleted file mode 100644 index cf135065fe..0000000000 --- a/.github/workflows/publish.yaml +++ /dev/null @@ -1,47 +0,0 @@ -name: Publish -on: - push: - branches: - - 'main' - - 'next' - -jobs: - publish: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Setup NodeJS - uses: actions/setup-node@v3 - with: - node-version: '14' - cache: 'yarn' - - - name: Git - run: | - git config --global user.name 'github-actions[bot]' - git config --global user.email 'github-actions[bot]@users.noreply.github.com' - - - name: Auth - run: | - echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> .npmrc - npm whoami - env: - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - - - name: Install packages - run: yarn install --frozen-lockfile - - - name: Build, Version & Publish packages - run: yarn run publish - env: - REF: ${{ github.ref }} - BASE_REF: ${{ github.event.pull_request.base.ref }} - VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }} - VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} - VERCEL_PROJECT_WALLETS: ${{ secrets.VERCEL_PROJECT_WALLETS }} - VERCEL_PROJECT_Q: ${{ secrets.VERCEL_PROJECT_Q }} - VERCEL_PROJECT_WALLET_ADAPTER: ${{ secrets.VERCEL_PROJECT_WALLET_ADAPTER }} - VERCEL_PROJECT_WIDGET_CONFIG: ${{ secrets.VERCEL_PROJECT_WIDGET_CONFIG }} diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000000..ab5eccaaef --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,45 @@ +name: Publish +on: + push: + branches: + - main + tags: + - '!*' + pull_request_target: + types: + - closed + branches: + - 'next' + +jobs: + localization: + if: ${{ github.ref == 'refs/heads/next' }} + uses: ./.github/workflows/crowdin.yml + secrets: + CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} + CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }} + PAT: ${{ secrets.PAT }} + + publish: + if: ${{ always() }} + runs-on: ubuntu-latest + needs: + - localization + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + token: ${{ secrets.PAT }} + - run: git pull + + - name: Prepare + uses: ./.github/actions/prepare + with: + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + + - name: Build, Version & Publish packages + run: yarn run publish + env: + REF: ${{ github.ref }} + BASE_REF: ${{ github.event.pull_request.base.ref }} + GH_TOKEN: ${{ github.token }} diff --git a/.gitignore b/.gitignore index 56e0ae3039..077207dfe5 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,9 @@ lerna-debug.log .vercel .npmrc +# i18n +translations/**/*.ts + # dependencies node_modules .pnp diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 0000000000..25d2235737 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/usr/bin/env sh +. "$(dirname "$0")/_/husky.sh" + +npx lint-staged \ No newline at end of file diff --git a/.prettierrc b/.prettierrc.json similarity index 64% rename from .prettierrc rename to .prettierrc.json index 66a9ff35f9..9908b8bb2a 100644 --- a/.prettierrc +++ b/.prettierrc.json @@ -1,8 +1,6 @@ { "semi": true, "tabWidth": 2, - "printWidth": 100, "singleQuote": true, - "trailingComma": "all", "jsxBracketSameLine": true -} \ No newline at end of file +} diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000000..0dabfda416 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,19 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "type": "node", + "request": "launch", + "name": "Debug Current Test File", + "autoAttachChildProcesses": true, + "skipFiles": ["/**", "**/node_modules/**"], + "program": "${workspaceRoot}/node_modules/vitest/vitest.mjs", + "args": ["run", "${relativeFile}"], + "smartStep": true, + "console": "integratedTerminal" + } + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000000..59f51dbc0a --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,11 @@ +{ + "editor.codeActionsOnSave": { + "source.fixAll.eslint": "explicit" + }, + "eslint.validate": [ + "javascript", + "javascriptreact", + "typescript", + "typescriptreact" + ] +} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 21976fc633..ac5c520928 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,28 +1,133 @@ +## Overview + +### Queue Manager + +The Queue Manager is a library that facilitates efficient management of swaps by creating a queue structure similar to a linked list. It provides various APIs to create and manage queues, such as blocking a queue. The Queue Manager supports the execution of multiple queues simultaneously in parallel. + +The folder structure is as follows: + +- `/queue-manager/core`: This directory contains the JavaScript implementation of the queue. +- `/queue-manager/react`: This directory integrates the core functionality with React, unlocking features like automatic re-renders. It makes the queue available to the entire React app using context. +- `/queue-manager/rango-preset`: This directory houses a comprehensive decentralized exchange (DEX) queue with advanced features such as parallel execution and multi-chain support. It is also integrated with Rango, enabling full-cycle swap functionality, including obtaining quotes, creating transactions, and signing them using wallets + +### Wallets + +We have developed a unified interface for most Web3 wallets, including Bitcoin, EVM, Cosmos, Solana, TON, and more. The library provides a core module that acts as a state manager and provider for the final wallet interface. Each wallet is referred to as a provider and contains the implementation specific to that wallet. + +To add all our providers at once, simply pass the `provider-all`. If you only require specific providers, you can add them individually to your project by passing an array of `provider` objects. + +For more information about the wallets, refer to the `/wallets/` directory. + +### Widget + +The Widget comprises high-level packages that include a user interface (UI) and different versions of our widget, which serves as a decentralized application (dApp). + +Here is the structure: +`/widget/ui`: This directory contains our UI components and Storybook for visual development and testing. +`/widget/embedded`: Our react implementation of the widget. They are publishing as NPM packages. +`/widget/app`: This directory houses a dApp that imports the embedded widget. +`/widget/playground`: This directory offers a playground environment where you can test and obtain configurations for our widget. +`/widget/iframe`: This directory contains a JavaScript class that simplifies the process of adding our iframe-based widget to dApps. + + ## Release workflow -A release can be a lib or an app/client release. We are publishing our libs to `npm` and our apps to `vercel`. +A release can be a lib or an app/client release. We are publishing our libs to `npm` and deploying our apps (client) on `vercel`. + +If a package is app, you need to add the package name to `scripts/deploy/config.mjs` and then after getting a `PROJECT_ID` from Vercel, you need to set it as enviroment variable as well. + +There are main commands: -If a package is app, you need to add the package name to `scripts/publish.config.mjs` and then after getting a `PROJECT_ID` from Vercel, you need to set it as enviroment variable as well. +`yarn run publish` for publishing our NPM packages. +`yarn run deploy` to deploy apps on Vercel. -### Prerelase +### Publish + +#### Prerelase Our publish script will do these steps: 1. Get the last release (by using git tags) and calculate changes since then. -2. Bump the version and create an prerelase tag for the changed packages -3. Determine the target deplyement by using `publish.config.mjs` -4. Publish libs to `npm` and apps to `Vercel` +2. Bump the version for changed packages. +3. Create changelog, git tags and github release, and publish them to NPM. +4. Make a publish commit and push the updated packages (version) and tags to origin. Note: Libs will be published under `next` tag on npm, which means you need to use `yarn add @rango/test-package@next` to install the published version whenever you need. -And also all the apps published by `prerelase` workflow will be published under the Vercel's `preview` enviroment. -### Production relase +#### Production relase Release should be triggered manually and then it will automatically published. You only need to run this command on you local machine to release the production: -`yarn run release` +`yarn run release-prod` After release (Green pipleline), make sure you will merge `main` into `next` as well. -`git pull && git checkout next && git pull && git merge main && git push` \ No newline at end of file +`yarn run post-release-prod` + +### Deploy + +You should manually trigger the `deploy` workflow. + +By running `yarn run deploy`, it will build all the apps/clients then will try to deploy them on vercel. + +If the workflow is running on `next` branch, it will be deployed as Vercel's `preview`. If not, it's production release. + +All the apps published by `prerelase` workflow will be published under the Vercel's `preview` enviroment. + +## Translation + +First we need to extract the message from our source code using `yarn i18n:extract` and then we should run `yarn i18n:compile` to make a wrapper arround the translation file `.po` to be used inside our app. + +### Adding a new language + +1. Add to `locales: ['en']` in `lingui.config.ts` +2. Import and add to `messages` in `widget/ui/src/components/I18nManager/I18nManager.tsx` + + +## Crowdin + +Our project uses Crowdin for managing translations. You need access to two secret keys: + +- `CROWDIN_PROJECT_ID`: This secret key represents the project ID. +- `CROWDIN_PERSONAL_TOKEN`: Use this secret key for your Crowdin account. + + + **Source and Translation Files:** + + - The source file is located at: `translations/en.po` + - Translation files are located at: `translations/%two_letters_code%.po` + + **Workflow Execution:** + + - After each pull request merge into the `main` or `next` branch, the workflow is triggered. + - The command `i18n:extract` is executed, capturing all new changes and uploading them to Crowdin. + - The workflow then interacts with Crowdin, pushing new source content and pulling updated translations. + - A pull request titled 'New Crowdin translations' is automatically created, incorporating the latest changes. + - If the Crowdin pull request is successful, an automatic merge to the base branch is performed. + +The language code standard used is ISO 639-1. For more details and a list of codes, please refer to the https://www.loc.gov/standards/iso639-2/php/code_list.php. + +Additionally, there is the option to manually trigger the crowdin workflow if needed. + + +## Technical Notes + +### How we handle urls in embedded? + +`embedded` is importing in different enviroments (iframe, import as react component and a separate `app`). When it's being used as a react component we let the dApp to use it inside its router and they can load the widget in a separate route (not root `/`, e.g. `/swaps`). In this context we can not use absolute paths because we don't know the basename set by user, so we need to always use relative paths. Relative paths has been defined in [URL spec](https://url.spec.whatwg.org/#urls) so we can be sure it's a long term solution and will work in future or by changing our router librart (e.g. `react-router`). + +### HMR + +We are using Parcel for our client developments, to HMR working properly, we need to point to source code (instead of dist) for Parcel to be able to detect changes on development. One approach was using `module` field, it's not standard but has meaning for some compiler/building tools, so we decided to use `source` which is a Parcel thing only. + +You can check the details on #437 PR. + +### Styles + +We use CSS-in-JS for handling styles. To avoid potential issues with conflicting styles, we don't directly write specific class names. Instead, we prefer using custom tags. If we must use HTML tags with class names, we follow this pattern: + +````html + +```` + This helps keep our styles organized, reduces the chance of conflicts, and makes it easier to manage our code. diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000000..d645695673 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/examples/queue-manager-demo/CHANGELOG.md b/examples/queue-manager-demo/CHANGELOG.md new file mode 100644 index 0000000000..c7c32cd409 --- /dev/null +++ b/examples/queue-manager-demo/CHANGELOG.md @@ -0,0 +1,67 @@ +# [0.11.0](https://github.com/rango-exchange/rango-client/compare/queue-manager-demo@0.10.0...queue-manager-demo@0.11.0) (2023-08-03) + + + +# [0.10.0](https://github.com/rango-exchange/rango-client/compare/queue-manager-demo@0.9.0...queue-manager-demo@0.10.0) (2023-08-01) + + + +# [0.8.0](https://github.com/rango-exchange/rango-client/compare/queue-manager-demo@0.7.0...queue-manager-demo@0.8.0) (2023-07-31) + + +### Features + +* add project id as a external value ([0c80404](https://github.com/rango-exchange/rango-client/commit/0c80404a8cacb6c5b0338dea1e416b0b11db254b)) +* Get Wallet Connect project id from config ([9fb30b4](https://github.com/rango-exchange/rango-client/commit/9fb30b4b1a83e2005bbf42553298f24b1e278e1c)) +* Support for WalletConnect 2 ([faedef0](https://github.com/rango-exchange/rango-client/commit/faedef0b5e6fc3c5ef881cbbe4ec05334cc1c910)) + + + +# [0.7.0](https://github.com/rango-exchange/rango-client/compare/queue-manager-demo@0.6.0...queue-manager-demo@0.7.0) (2023-07-11) + + + +# [0.6.0](https://github.com/rango-exchange/rango-client/compare/queue-manager-demo@0.5.0...queue-manager-demo@0.6.0) (2023-07-11) + + +### Bug Fixes + +* network type ([cd5e489](https://github.com/rango-exchange/rango-client/commit/cd5e489a8cdee72be6a697a346b42bbd9ce6bab0)) +* update widget affiliate config ([0655dc1](https://github.com/rango-exchange/rango-client/commit/0655dc1949e6e8a9b1efacb71e3f66ac3d1e30fb)) + + +### Features + +* add widget events and refactor swap execution events ([0d76806](https://github.com/rango-exchange/rango-client/commit/0d7680693dd77439de38cd0b20f263f6ae8cceb0)) + + + +# [0.5.0](https://github.com/rango-exchange/rango-client/compare/queue-manager-demo@0.4.0...queue-manager-demo@0.5.0) (2023-05-31) + + + +# [0.4.0](https://github.com/rango-exchange/rango-client/compare/queue-manager-demo@0.3.0...queue-manager-demo@0.4.0) (2023-05-31) + + + +# [0.3.0](https://github.com/rango-exchange/rango-client/compare/queue-manager-demo@0.2.0...queue-manager-demo@0.3.0) (2023-05-30) + + + +# [0.2.0](https://github.com/rango-exchange/rango-client/compare/queue-manager-demo@0.1.17...queue-manager-demo@0.2.0) (2023-05-30) + + + +## [0.1.17](https://github.com/rango-exchange/rango-client/compare/queue-manager-demo@0.1.16...queue-manager-demo@0.1.17) (2023-05-15) + + + +## [0.1.16](https://github.com/rango-exchange/rango-client/compare/queue-manager-demo@0.1.15...queue-manager-demo@0.1.16) (2023-05-15) + + +### Bug Fixes + +* update rango-types and fix notification bugs ([993f185](https://github.com/rango-exchange/rango-client/commit/993f185e0b8c5e5e15a2c65ba2d85d1f9c8daa90)) + + + diff --git a/examples/queue-manager-demo/package.json b/examples/queue-manager-demo/package.json new file mode 100644 index 0000000000..4379382d9b --- /dev/null +++ b/examples/queue-manager-demo/package.json @@ -0,0 +1,28 @@ +{ + "name": "@rango-dev/queue-manager-demo", + "version": "0.13.1-next.14", + "license": "MIT", + "private": true, + "source": "public/index.html", + "browserslist": "> 0.5%, last 2 versions, not dead", + "scripts": { + "dev": "parcel -p 3000 --cache-dir=.parcel-cache", + "build": "parcel build --cache-dir=.parcel-cache", + "clean": "rimraf .parcel-cache && rimraf dist" + }, + "devDependencies": { + "process": "^0.11.10", + "rango-sdk": "^0.1.44" + }, + "dependencies": { + "@rango-dev/provider-all": "^0.25.1-next.2", + "@rango-dev/queue-manager-rango-preset": "^0.25.1-next.1", + "@rango-dev/queue-manager-react": "^0.24.0", + "@rango-dev/wallets-react": "^0.11.1-next.1", + "@rango-dev/wallets-shared": "^0.25.1-next.1", + "bignumber.js": "^9.1.1", + "ethers": "^5.7.2", + "rango-sdk-basic": "^0.1.44", + "rango-types": "^0.1.57" + } +} diff --git a/queue-manager/demo/public/index.html b/examples/queue-manager-demo/public/index.html similarity index 100% rename from queue-manager/demo/public/index.html rename to examples/queue-manager-demo/public/index.html diff --git a/examples/queue-manager-demo/readme.md b/examples/queue-manager-demo/readme.md new file mode 100644 index 0000000000..82ed657cea --- /dev/null +++ b/examples/queue-manager-demo/readme.md @@ -0,0 +1 @@ +# @rango-dev/queue-manager-demo diff --git a/queue-manager/demo/src/App.tsx b/examples/queue-manager-demo/src/App.tsx similarity index 76% rename from queue-manager/demo/src/App.tsx rename to examples/queue-manager-demo/src/App.tsx index d55ae944c7..1eca52fc1d 100644 --- a/queue-manager/demo/src/App.tsx +++ b/examples/queue-manager-demo/src/App.tsx @@ -2,14 +2,16 @@ import React, { useMemo } from 'react'; import { Provider as ManagerProvider } from '@rango-dev/queue-manager-react'; import { FlowsList } from './components/FlowsList'; import { meta } from './flows/rango/mock'; -import { useWallets } from '@rango-dev/wallets-core'; +import { useWallets } from '@rango-dev/wallets-react'; import { metamaskWallet } from './flows/rango/mock'; import { Wallet } from './flows/rango/types'; import { Network, WalletType } from '@rango-dev/wallets-shared'; import { Wallets } from './components/Wallets'; import { History } from './components/History'; -import { notifier } from './flows/swap/helpers'; -import { SwapQueueContext, makeQueueDefinition } from '@rango-dev/queue-manager-rango-preset'; +import { + SwapQueueContext, + makeQueueDefinition, +} from '@rango-dev/queue-manager-rango-preset'; import { getConfig } from './configs'; const wallet: Wallet = metamaskWallet; @@ -18,7 +20,14 @@ interface PropTypes { } export function App(props: PropTypes) { - const { providers, getSigners, state, canSwitchNetworkTo, connect } = useWallets(); + const { + providers, + getSigners, + state, + canSwitchNetworkTo, + connect, + getWalletInfo, + } = useWallets(); const switchNetwork = (wallet: WalletType, network: Network) => { if (!canSwitchNetworkTo(wallet, network)) { @@ -27,6 +36,9 @@ export function App(props: PropTypes) { return connect(wallet, network); }; + const isMobileWallet = (walletType: WalletType): boolean => + !!getWalletInfo(walletType).mobileWallet; + const allProviders = providers(); const queueContext: SwapQueueContext = { meta, @@ -36,7 +48,8 @@ export function App(props: PropTypes) { switchNetwork, connect, state, - notifier, + isMobileWallet, + canSwitchNetworkTo, }; const swapQueueDef = useMemo(() => { @@ -46,7 +59,6 @@ export function App(props: PropTypes) { }, []); return ( - // @ts-ignore

Flows

diff --git a/queue-manager/demo/src/components/FlowRunner/index.tsx b/examples/queue-manager-demo/src/components/FlowRunner/index.tsx similarity index 100% rename from queue-manager/demo/src/components/FlowRunner/index.tsx rename to examples/queue-manager-demo/src/components/FlowRunner/index.tsx diff --git a/queue-manager/demo/src/components/FlowsList/index.tsx b/examples/queue-manager-demo/src/components/FlowsList/index.tsx similarity index 55% rename from queue-manager/demo/src/components/FlowsList/index.tsx rename to examples/queue-manager-demo/src/components/FlowsList/index.tsx index a4293634d2..6a7d691151 100644 --- a/queue-manager/demo/src/components/FlowsList/index.tsx +++ b/examples/queue-manager-demo/src/components/FlowsList/index.tsx @@ -1,11 +1,8 @@ -import { useManager } from "@rango-dev/queue-manager-react"; -import React, { useEffect, useState } from "react"; -import { - requestSwap, - urlToToken, -} from "../../flows/rango/helpers"; -import { FlowRunner } from "../FlowRunner"; -import { WalletType } from "@rango-dev/wallets-shared"; +import { useManager } from '@rango-dev/queue-manager-react'; +import React, { useEffect, useState } from 'react'; +import { requestSwap, urlToToken } from '../../flows/rango/helpers'; +import { FlowRunner } from '../FlowRunner'; +import { WalletType } from '@rango-dev/wallets-shared'; interface PropTypes { connectedWallets: WalletType[]; @@ -14,10 +11,10 @@ interface PropTypes { function FlowsList(props: PropTypes) { const { manager } = useManager(); const [fromToken, setFrom] = useState( - "FANTOM.USDC--0x04068da6c83afcfa0e13ba15a6696662335d5b75" + 'FANTOM.USDC--0x04068da6c83afcfa0e13ba15a6696662335d5b75' ); - const [toToken, setTo] = useState("COSMOS.ATOM"); - const [input, setInput] = useState("10"); + const [toToken, setTo] = useState('COSMOS.ATOM'); + const [input, setInput] = useState('10'); useEffect(() => { manager?.run(); @@ -25,44 +22,44 @@ function FlowsList(props: PropTypes) { useEffect(() => { if (props.connectedWallets.length) { - console.log("[React] run retry on `props.connectedWallets`"); + console.log('[React] run retry on `props.connectedWallets`'); manager?.retry(); } }, [props.connectedWallets]); const flows = [ { - title: "Single Wallet", - description: "Run a simple swap by metamask", - requirements: ["Use metamsk", "Change your network to ethereum."], + title: 'Single Wallet', + description: 'Run a simple swap by metamask', + requirements: ['Use metamsk', 'Change your network to ethereum.'], onRun: () => { - const qId = manager?.create("simpleSwap", {}); + const qId = manager?.create('simpleSwap', {}); console.debug(`[Queue] created. ID: ${qId}`, manager); }, }, { - title: "Rango Swap (On-chain)", - description: "Run a swap using Rango flow.", - requirements: ["Please use Metamask & Keplr", "USDC -> USDT"], + title: 'Rango Swap (On-chain)', + description: 'Run a swap using Rango flow.', + requirements: ['Please use Metamask & Keplr', 'USDC -> USDT'], onRun: async () => { const from = urlToToken( - "POLYGON.USDC--0x2791bca1f2de4661ed88a30c99a7a9449aa84174" + 'POLYGON.USDC--0x2791bca1f2de4661ed88a30c99a7a9449aa84174' )!; const to = urlToToken( - "POLYGON.USDT--0xc2132d05d31c914a87c6611c10748aeb04b58e8f" + 'POLYGON.USDT--0xc2132d05d31c914a87c6611c10748aeb04b58e8f' )!; - const swap = await requestSwap("2", from, to); + const swap = await requestSwap('2', from, to); // toast({ eventType: 'swap_started', swap: newSwap, step: newSwap.steps[0] }); - const qId = manager?.create("rango-swap", { + const qId = manager?.create('rango-swap', { swapDetails: swap, }); console.debug(`[Queue] Swap created. ID: ${qId}`, manager); }, }, { - title: "Rango Swap (Cross-chain)", - description: "Run a swap using Rango flow.", - requirements: ["Please use Metamask & Keplr (cosmos) for now."], + title: 'Rango Swap (Cross-chain)', + description: 'Run a swap using Rango flow.', + requirements: ['Please use Metamask & Keplr (cosmos) for now.'], children: (
@@ -102,36 +99,36 @@ function FlowsList(props: PropTypes) { const to = urlToToken(toToken)!; const swap = await requestSwap(input, from, to); // toast({ eventType: 'swap_started', swap: newSwap, step: newSwap.steps[0] }); - const qId = manager?.create("rango-swap", { + const qId = manager?.create('rango-swap', { swapDetails: swap, }); console.debug(`[Queue] Swap created. ID: ${qId}`, manager); }, }, { - title: "Rango Parallel Swaps", - description: "Run multiple swaps at the same time using Rango flow.", + title: 'Rango Parallel Swaps', + description: 'Run multiple swaps at the same time using Rango flow.', requirements: [ - "Please use Metamask & Keplr (cosmos) for now.", - "FTM -> ATOM and USDC -> USDT on polygon", + 'Please use Metamask & Keplr (cosmos) for now.', + 'FTM -> ATOM and USDC -> USDT on polygon', ], onRun: async () => { const from1 = urlToToken( - "POLYGON.USDC--0x2791bca1f2de4661ed88a30c99a7a9449aa84174" + 'POLYGON.USDC--0x2791bca1f2de4661ed88a30c99a7a9449aa84174' )!; const to1 = urlToToken( - "POLYGON.USDT--0xc2132d05d31c914a87c6611c10748aeb04b58e8f" + 'POLYGON.USDT--0xc2132d05d31c914a87c6611c10748aeb04b58e8f' )!; const from2 = urlToToken( - "FANTOM.USDC--0x04068da6c83afcfa0e13ba15a6696662335d5b75" + 'FANTOM.USDC--0x04068da6c83afcfa0e13ba15a6696662335d5b75' )!; - const to2 = urlToToken("COSMOS.ATOM")!; - const swap1 = await requestSwap("2", from1, to1); - const swap2 = await requestSwap("10", from2, to2); + const to2 = urlToToken('COSMOS.ATOM')!; + const swap1 = await requestSwap('2', from1, to1); + const swap2 = await requestSwap('10', from2, to2); // toast({ eventType: 'swap_started', swap: newSwap, step: newSwap.steps[0] }); - const qId = manager?.create("rango-swap", { swapDetails: swap1 }); - const q2Id = manager?.create("rango-swap", { swapDetails: swap2 }); + const qId = manager?.create('rango-swap', { swapDetails: swap1 }); + const q2Id = manager?.create('rango-swap', { swapDetails: swap2 }); console.debug(`[Queue] Swap created. ID: ${qId}`); console.debug(`[Queue] Swap created. ID: ${q2Id}`); }, diff --git a/queue-manager/demo/src/components/History/index.tsx b/examples/queue-manager-demo/src/components/History/index.tsx similarity index 100% rename from queue-manager/demo/src/components/History/index.tsx rename to examples/queue-manager-demo/src/components/History/index.tsx diff --git a/queue-manager/demo/src/components/Wallets/index.tsx b/examples/queue-manager-demo/src/components/Wallets/index.tsx similarity index 66% rename from queue-manager/demo/src/components/Wallets/index.tsx rename to examples/queue-manager-demo/src/components/Wallets/index.tsx index 02f212aca6..aaa6e6b4ce 100644 --- a/queue-manager/demo/src/components/Wallets/index.tsx +++ b/examples/queue-manager-demo/src/components/Wallets/index.tsx @@ -1,22 +1,20 @@ -import React from "react"; -import { useWallets } from "@rango-dev/wallets-core"; -import { WalletType } from "@rango-dev/wallets-shared"; +import React from 'react'; +import { useWallets } from '@rango-dev/wallets-react'; function Wallets() { const { connect, providers, state, disconnect } = useWallets(); - // @ts-ignore const list = Object.keys(providers()); return (

Available Wallets

{list.map((type) => { - const wallet_type = type as WalletType; + const wallet_type = type; const wallet_state = state(wallet_type); return (
{wallet_type}
-

Address: {wallet_state.accounts?.join(",")}

+

Address: {wallet_state.accounts?.join(',')}

); diff --git a/queue-manager/demo/src/configs.ts b/examples/queue-manager-demo/src/configs.ts similarity index 89% rename from queue-manager/demo/src/configs.ts rename to examples/queue-manager-demo/src/configs.ts index 6b86455f81..dde6cfd230 100644 --- a/queue-manager/demo/src/configs.ts +++ b/examples/queue-manager-demo/src/configs.ts @@ -5,6 +5,7 @@ export interface Configs { // this API key is limited and // it is only for test purpose const RANGO_PUBLIC_API_KEY = 'c6381a79-2817-4602-83bf-6a641a409e32'; +export const WC_PROJECT_ID = 'e24844c5deb5193c1c14840a7af6a40b'; let configs: Configs = { API_KEY: RANGO_PUBLIC_API_KEY, diff --git a/queue-manager/demo/src/flows/rango/helpers.ts b/examples/queue-manager-demo/src/flows/rango/helpers.ts similarity index 68% rename from queue-manager/demo/src/flows/rango/helpers.ts rename to examples/queue-manager-demo/src/flows/rango/helpers.ts index b3a10187bf..3d8e23cc7a 100644 --- a/queue-manager/demo/src/flows/rango/helpers.ts +++ b/examples/queue-manager-demo/src/flows/rango/helpers.ts @@ -1,60 +1,70 @@ -import { - AllBlockchains, - Meta, - Network, - WalletType, - XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS, -} from '@rango-dev/wallets-shared'; - -import { SUPPORTED_ETH_CHAINS as XDEFI_WALLET_SUPPORTED_EVM_CHAINS } from '@rango-dev/provider-xdefi/src/constants'; -import { +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/no-throw-literal */ +/* eslint-disable @typescript-eslint/member-ordering */ +/* eslint-disable @typescript-eslint/no-magic-numbers */ +import type { APIErrorCode, - ApiMethodName, BestRoute, - BestRouteRequest, - BINANCE_CHAIN_WALLET_SUPPORTED_CHAINS, Blockchain, CheckTxStatusRequest, CreateTransactionRequest, CreateTransactionResponse, ErrorDetail, - EXODUS_WALLET_SUPPORTED_CHAINS, - NETWORKS_FOR_1INCH, - NETWORK_TO_NATIVE_SYMBOL_MAP_FOR_1INCH, - OKX_WALLET_SUPPORTED_CHAINS, - PendingSwap, - PendingSwapNetworkStatus, - PendingSwapStep, RawAccounts, SwapperStatusResponse, - SWAPPER_ONE_INCH_LIST, SwapSavedSettings, TokenMeta, TransactionName, UserWalletBlockchain, - Wallet, WalletTypeAndAddress, } from './types'; +import type { + AllBlockchains, + Network, + WalletType, +} from '@rango-dev/wallets-shared'; +import type { BestRouteRequest } from 'rango-sdk'; +import type { CheckApprovalResponse } from 'rango-sdk-basic'; +import type { + EvmBlockchainMeta, + PendingSwap, + PendingSwapStep, +} from 'rango-types'; + +import { SUPPORTED_ETH_CHAINS as XDEFI_WALLET_SUPPORTED_EVM_CHAINS } from '@rango-dev/provider-xdefi/src/constants'; +import { readAccountAddress } from '@rango-dev/wallets-react'; +import { + Networks, + WalletTypes, + XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS, +} from '@rango-dev/wallets-shared'; import { BigNumber } from 'bignumber.js'; -import { CheckApprovalResponse } from 'rango-sdk-basic'; -import { readAccountAddress } from '@rango-dev/wallets-core'; import { ethers } from 'ethers'; -import { sampleRawAccounts } from './mock'; import { - EvmBlockchainMeta, - SignerError, isCosmosBlockchain, isEvmBlockchain, isSolanaBlockchain, + SignerError, } from 'rango-types'; +import { sampleRawAccounts } from './mock'; +import { + ApiMethodName, + EXODUS_WALLET_SUPPORTED_CHAINS, + NETWORK_TO_NATIVE_SYMBOL_MAP_FOR_1INCH, + NETWORKS_FOR_1INCH, + OKX_WALLET_SUPPORTED_CHAINS, + SWAPPER_ONE_INCH_LIST, +} from './types'; + const UNKNOWN_COIN_IMAGE = '/coins/unknown.png'; const BRAVE_USER_AGENT_HEADER = 'X-Brave'; const url = 'https://api.rango.exchange'; export const BASE_URL = url; export const RANGO_COOKIE_HEADER = 'X-Rango-Id'; -export const RANGO_DAPP_ID_QUERY = 'apiKey=4a624ab5-16ff-4f96-90b7-ab00ddfc342c'; +export const RANGO_DAPP_ID_QUERY = + 'apiKey=4a624ab5-16ff-4f96-90b7-ab00ddfc342c'; // eslint-disable-next-line @typescript-eslint/no-explicit-any declare const navigator: any; @@ -64,10 +74,12 @@ export function calculatePendingSwap( bestRoute: BestRoute, wallets: { [p: string]: WalletTypeAndAddress }, settings: SwapSavedSettings, - validateBalanceOrFee: boolean, + validateBalanceOrFee: boolean ): PendingSwap { const simulationResult = bestRoute.result; - if (!simulationResult) throw Error('Simulation result should not be null'); + if (!simulationResult) { + throw Error('Simulation result should not be null'); + } return { creationTime: new Date().getTime().toString(), @@ -93,7 +105,7 @@ export function calculatePendingSwap( fromBlockchain: s.from.blockchain, fromSymbol: s.from.symbol, fromSymbolAddress: - NETWORKS_FOR_1INCH.includes(s.from.blockchain) && + NETWORKS_FOR_1INCH.includes(s.from.blockchain as Networks) && SWAPPER_ONE_INCH_LIST.includes(s.swapperId) && (!s.from.address || s.from.address.length === 0) ? null @@ -106,9 +118,11 @@ export function calculatePendingSwap( fromLogo: s.from.logo, toSymbol: s.to.symbol, toSymbolAddress: - NETWORKS_FOR_1INCH.includes(s.to.blockchain) && + NETWORKS_FOR_1INCH.includes(s.to.blockchain as Networks) && SWAPPER_ONE_INCH_LIST.includes(s.swapperId) && - NETWORK_TO_NATIVE_SYMBOL_MAP_FOR_1INCH.get(s.to.blockchain) === s.to.symbol && + NETWORK_TO_NATIVE_SYMBOL_MAP_FOR_1INCH.get( + s.to.blockchain as Networks + ) === s.to.symbol && (!s.to.address || s.to.address.length === 0) ? null : s.to.address, @@ -142,7 +156,8 @@ export function getCookieId(): string { return cookieId; } const value = - Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15); + Math.random().toString(36).substring(2, 15) + + Math.random().toString(36).substring(2, 15); window.localStorage.setItem(key, value); return value; } @@ -156,9 +171,11 @@ export const getBestRoute = async ( signal: AbortSignal | undefined, selectedWallets?: { [p: string]: string }, swappersGroupsBlackList?: string[], - blockchainsWhiteList?: Network[], + blockchainsWhiteList?: Network[] ): Promise => { - const connectedWallets: UserWalletBlockchain[] = (rawAccounts?.blockchains || []).map((b) => ({ + const connectedWallets: UserWalletBlockchain[] = ( + rawAccounts?.blockchains || [] + ).map((b) => ({ blockchain: b.name, addresses: Array.from(new Set(b.accounts.map((a) => a.address))), })); @@ -174,7 +191,7 @@ export const getBestRoute = async ( connectedWallets, selectedWallets: selectedWallets || {}, checkPrerequisites: checkPrerequisites, - affiliateRef: localStorage.getItem('affiliateRef') || null, + affiliateRef: localStorage.getItem('affiliateRef'), swapperGroups: swappersGroupsBlackList, ...(!!swappersGroupsBlackList && { swappersGroupsExclude: true }), blockchains: blockchainsWhiteList, @@ -206,7 +223,9 @@ export const getBestRoute = async ( }; export const urlToToken = (s: string | null): TokenMeta | null => { - if (!s) return null; + if (!s) { + return null; + } const ps1 = s.split('--'); const ps2 = ps1[0].split('.'); @@ -215,7 +234,7 @@ export const urlToToken = (s: string | null): TokenMeta | null => { // symbol: ps2[1], // this doesnt work for USDT.E (on avax) AVAX.WETH.E--0x49d5c2bdffac6ce2bfdb6640f4f80f226bc10bab symbol: ps2.slice(1).join('.'), image: UNKNOWN_COIN_IMAGE, - blockchain: ps2[0] as Network, + blockchain: ps2[0] as Networks, address: ps1.length === 2 ? decodeURIComponent(ps1[1]) : null, usdPrice: null, isSecondaryCoin: false, @@ -226,7 +245,9 @@ export const urlToToken = (s: string | null): TokenMeta | null => { }; }; -export async function checkApproved(requestId: string): Promise { +export async function checkApproved( + requestId: string +): Promise { const url = `${BASE_URL}/tx/${requestId}/check-approval?${RANGO_DAPP_ID_QUERY}`; const response = await fetch(url, { method: 'GET', @@ -236,7 +257,10 @@ export async function checkApproved(requestId: string): Promise= 400)) || !response.ok) { + if ( + (!!response.status && (response.status < 200 || response.status >= 400)) || + !response.ok + ) { const apiError = ERROR_COMMUNICATING_WITH_API(ApiMethodName.CheckApproval); throw PrettyError.BadStatusCode(apiError, response.status); } @@ -247,7 +271,7 @@ export async function checkApproved(requestId: string): Promise { const url = `${BASE_URL}/tx/check-status?${RANGO_DAPP_ID_QUERY}`; const body: CheckTxStatusRequest = { step, txId, requestId }; @@ -261,8 +285,13 @@ export async function checkSwapStatus( body: JSON.stringify(body), }); - if ((!!response.status && (response.status < 200 || response.status >= 400)) || !response.ok) { - const apiError = ERROR_COMMUNICATING_WITH_API(ApiMethodName.CheckingTransactionStatus); + if ( + (!!response.status && (response.status < 200 || response.status >= 400)) || + !response.ok + ) { + const apiError = ERROR_COMMUNICATING_WITH_API( + ApiMethodName.CheckingTransactionStatus + ); throw PrettyError.BadStatusCode(apiError, response.status); } @@ -278,14 +307,17 @@ export const ERROR_ASSERTION_FAILED = 'Assertion failed (Unexpected behaviour)'; export const ERROR_COMMUNICATING_WITH_API = (apiMethodName: ApiMethodName) => `Unexpected response from API (${apiMethodName})`; -export const ERROR_DESCRIPTION_UNSUPPORTED_TRANSACTION = (method: string, walletType: WalletType) => - `method: ${method} call is unsupported for wallet ${walletType}`; +export const ERROR_DESCRIPTION_UNSUPPORTED_TRANSACTION = ( + method: string, + walletType: WalletType +) => `method: ${method} call is unsupported for wallet ${walletType}`; export const ERROR_SIGNING_TRANSACTION = (transactionName: TransactionName) => `Error sending ${transactionName}`; export const ERROR_REJECTING_TRANSACTION = 'User rejected the message signing'; -export const ERROR_CREATE_TRANSACTION = 'Create transaction failed in Rango Server'; +export const ERROR_CREATE_TRANSACTION = + 'Create transaction failed in Rango Server'; export const ERROR_INPUT_WALLET_NOT_FOUND = 'Input wallet not found'; export const DEFAULT_WALLET_INJECTION_ERROR = @@ -323,15 +355,32 @@ export class PrettyError extends Error { } static AssertionFailed(m: string): PrettyError { - return new PrettyError('CLIENT_UNEXPECTED_BEHAVIOUR', ERROR_ASSERTION_FAILED, m); + return new PrettyError( + 'CLIENT_UNEXPECTED_BEHAVIOUR', + ERROR_ASSERTION_FAILED, + m + ); } - static BadStatusCode(message: string, statusCode: number | string): PrettyError { - return new PrettyError('TX_FAIL', message, null, `status code = ${statusCode}`); + static BadStatusCode( + message: string, + statusCode: number | string + ): PrettyError { + return new PrettyError( + 'TX_FAIL', + message, + null, + `status code = ${statusCode}` + ); } static CreateTransaction(detail: string): PrettyError { - return new PrettyError('FETCH_TX_FAILED', ERROR_CREATE_TRANSACTION, null, detail); + return new PrettyError( + 'FETCH_TX_FAILED', + ERROR_CREATE_TRANSACTION, + null, + detail + ); } static WalletMissing(): PrettyError { @@ -339,7 +388,7 @@ export class PrettyError extends Error { 'CLIENT_UNEXPECTED_BEHAVIOUR', ERROR_INPUT_WALLET_NOT_FOUND, null, - 'Server requested for a blockchain or address not selected by user', + 'Server requested for a blockchain or address not selected by user' ); } @@ -348,24 +397,27 @@ export class PrettyError extends Error { 'CLIENT_UNEXPECTED_BEHAVIOUR', ERROR_INPUT_WALLET_NOT_FOUND, null, - 'Server requested for a blockchain or address not selected by user', + 'Server requested for a blockchain or address not selected by user' ); } } export function getNextStep( swap: PendingSwap, - currentStep: PendingSwapStep, + currentStep: PendingSwapStep ): PendingSwapStep | null { return ( swap.steps.find( - (step) => step.status !== 'failed' && step.status !== 'success' && step.id !== currentStep.id, + (step) => + step.status !== 'failed' && + step.status !== 'success' && + step.id !== currentStep.id ) || null ); } export async function createTransaction( - request: CreateTransactionRequest, + request: CreateTransactionRequest ): Promise { const url = `${BASE_URL}/tx/create?${RANGO_DAPP_ID_QUERY}`; try { @@ -378,15 +430,22 @@ export async function createTransaction( body: JSON.stringify(request), }); - if ((!!response.status && (response.status < 200 || response.status >= 400)) || !response.ok) { + if ( + (!!response.status && + (response.status < 200 || response.status >= 400)) || + !response.ok + ) { throw PrettyError.CreateTransaction( - `Error creating the transaction, status code: ${response.status}`, + `Error creating the transaction, status code: ${response.status}` ); } const result: CreateTransactionResponse = await response.json(); - if (!result.ok || !result.transaction) - throw PrettyError.CreateTransaction(result.error || 'bad response from create tx endpoint'); + if (!result.ok || !result.transaction) { + throw PrettyError.CreateTransaction( + result.error || 'bad response from create tx endpoint' + ); + } return result; } catch (error: any) { @@ -395,8 +454,12 @@ export async function createTransaction( } export const prettifyErrorMessage = (obj: unknown): ErrorDetail => { - if (!obj) return { extraMessage: '', extraMessageErrorCode: null }; - if (obj instanceof PrettyError) return obj.getErrorDetail(); + if (!obj) { + return { extraMessage: '', extraMessageErrorCode: null }; + } + if (obj instanceof PrettyError) { + return obj.getErrorDetail(); + } if (obj instanceof SignerError) { const t = obj.getErrorDetail(); return { @@ -405,39 +468,47 @@ export const prettifyErrorMessage = (obj: unknown): ErrorDetail => { extraMessageErrorCode: t.code, }; } - if (obj instanceof Error) + if (obj instanceof Error) { return { extraMessage: obj.toString(), extraMessageErrorCode: null, }; - if (typeof obj !== 'string') + } + if (typeof obj !== 'string') { return { extraMessage: JSON.stringify(obj), extraMessageErrorCode: null, }; + } return { extraMessage: obj, extraMessageErrorCode: null }; }; export const getEvmApproveUrl = ( tx: string, network: Network, - evmBasedBlockchains: EvmBlockchainMeta[], + evmBasedBlockchains: EvmBlockchainMeta[] ): string => { - const evmBlochain = evmBasedBlockchains.find((blockchain) => blockchain.name === network); + const evmBlochain = evmBasedBlockchains.find( + (blockchain) => blockchain.name === network + ); if (!evmBlochain) { throw Error(`unsupported network: ${network} for getting approve url.`); } - if (evmBlochain.info.transactionUrl) - return evmBlochain.info.transactionUrl.replace('{txHash}', tx.toLowerCase()); + if (evmBlochain.info.transactionUrl) { + return evmBlochain.info.transactionUrl.replace( + '{txHash}', + tx.toLowerCase() + ); + } throw Error(`Explorer url for ${network} is not implemented`); }; export const getCurrentBlockchainOfOrNull = ( swap: PendingSwap, - step: PendingSwapStep, + step: PendingSwapStep ): Network | null => { try { return getCurrentBlockchainOf(swap, step); @@ -446,23 +517,34 @@ export const getCurrentBlockchainOfOrNull = ( } }; -export const getCurrentBlockchainOf = (swap: PendingSwap, step: PendingSwapStep): Network => { +export const getCurrentBlockchainOf = ( + swap: PendingSwap, + step: PendingSwapStep +): Network => { const b1 = step.evmTransaction?.blockChain || step.evmApprovalTransaction?.blockChain || step.cosmosTransaction?.blockChain || step.solanaTransaction?.blockChain; - if (!!b1) return b1 as Network; + if (b1) { + return b1; + } const transferAddress = step.transferTransaction?.fromWalletAddress; - if (!transferAddress) throw PrettyError.BlockchainMissing(); + if (!transferAddress) { + throw PrettyError.BlockchainMissing(); + } const blockchain = - Object.keys(swap.wallets).find((b) => swap.wallets[b]?.address === transferAddress) || null; - if (blockchain == null) throw PrettyError.BlockchainMissing(); + Object.keys(swap.wallets).find( + (b) => swap.wallets[b]?.address === transferAddress + ) || null; + if (blockchain == null) { + throw PrettyError.BlockchainMissing(); + } // TODO: check why it returns string - return blockchain as Network; + return blockchain; }; export interface ConvertToFullAccountInfo { @@ -473,9 +555,10 @@ export function convertRawAccountToFullAccount( wallet: WalletType, accounts: string[], connectedNetwork: Network | null, - info: ConvertToFullAccountInfo, + info: ConvertToFullAccountInfo ): Blockchain[] { - const { evmBasedChainsNames: evmBasedChains, supportedChainsByWallets } = info; + const { evmBasedChainsNames: evmBasedChains, supportedChainsByWallets } = + info; const result = {} as { [type in Network]: Blockchain }; function addAccount(network: Network, address: string) { @@ -490,7 +573,7 @@ export function convertRawAccountToFullAccount( explorerUrl: null, }; - if (!!result[network]) { + if (result[network]) { result[network].accounts.push(newAccount); } else { result[network] = { @@ -507,33 +590,47 @@ export function convertRawAccountToFullAccount( const hasLimitation = supportedChains.length > 0; const isSupported = supportedChains.includes(network); - const isUnknown = network === Network.Unknown; - const notSupportedNetworkByWallet = hasLimitation && !isSupported && !isUnknown; - - // Here we check given `network` is not supported by wallet - // And also the network is known. - if (notSupportedNetworkByWallet) return; + const isUnknown = network === Networks.Unknown; + const notSupportedNetworkByWallet = + hasLimitation && !isSupported && !isUnknown; + + /* + * Here we check given `network` is not supported by wallet + * And also the network is known. + */ + if (notSupportedNetworkByWallet) { + return; + } - // In some cases we can handle unknown network by checking its address - // pattern and act on it. - // Example: showing our evm compatible netwrok when the uknown network is evem. - // Otherwise, we stop executing this function. - const isUknownAndEvmBased = network === Network.Unknown && ethers.utils.isAddress(address); - if (isUnknown && !isUknownAndEvmBased) return; + /* + * In some cases we can handle unknown network by checking its address + * pattern and act on it. + * Example: showing our evm compatible netwrok when the uknown network is evem. + * Otherwise, we stop executing this function. + */ + const isUknownAndEvmBased = + network === Networks.Unknown && ethers.utils.isAddress(address); + if (isUnknown && !isUknownAndEvmBased) { + return; + } const isEvmBasedChain = evmBasedChains.includes(network); // If it's an evm network, we will add the address to all the evm chains. if (isEvmBasedChain || isUknownAndEvmBased) { - // all evm chains are not supported in wallets, so we are adding - // only to those that are supported by wallet. + /* + * all evm chains are not supported in wallets, so we are adding + * only to those that are supported by wallet. + */ const evmChainsSupportedByWallet = supportedChains.filter((chain) => - evmBasedChains.includes(chain), + evmBasedChains.includes(chain) ); evmChainsSupportedByWallet.forEach((network) => { - // EVM addresses are not case sensetive. - // Some wallets like Binance-chain return some letters in uppercase which produces bugs in our wallet state. + /* + * EVM addresses are not case sensetive. + * Some wallets like Binance-chain return some letters in uppercase which produces bugs in our wallet state. + */ addAccount(network, address.toLowerCase()); }); } else { @@ -550,73 +647,87 @@ export const evmBasedChainsNamesSelector = (blockchains: AllBlockchains) => .filter(isEvmBlockchain) .map((blockchainMeta) => blockchainMeta.name); -export const walletsAndSupportedChainsMetaSelector = (blockchains: AllBlockchains): any | null => { +export const walletsAndSupportedChainsMetaSelector = ( + blockchains: AllBlockchains +): any | null => { // TODO WalletsAndSupportedChains can't find model for return type - if (Object.entries(blockchains).length === 0) return null; - const blockchainsArray = Object.entries(blockchains).map(([, blockchainMeta]) => blockchainMeta); + if (Object.entries(blockchains).length === 0) { + return null; + } + const blockchainsArray = Object.entries(blockchains).map( + ([, blockchainMeta]) => blockchainMeta + ); const evmBlockchains = blockchainsArray.filter(isEvmBlockchain); const solanaBlockchain = blockchainsArray.filter(isSolanaBlockchain); const cosmosBlockchains = blockchainsArray.filter(isCosmosBlockchain); return { - [WalletType.BINANCE_CHAIN]: blockchainsArray.filter((blockchainMeta) => - BINANCE_CHAIN_WALLET_SUPPORTED_CHAINS.includes(blockchainMeta.name as Network), + [WalletTypes.META_MASK]: evmBlockchains, + [WalletTypes.COINBASE]: [...evmBlockchains, ...solanaBlockchain], + [WalletTypes.KEPLR]: cosmosBlockchains.filter( + (blockchainMeta) => !!blockchainMeta.info ), - [WalletType.META_MASK]: evmBlockchains, - [WalletType.COINBASE]: [...evmBlockchains, ...solanaBlockchain], - [WalletType.KEPLR]: cosmosBlockchains.filter((blockchainMeta) => !!blockchainMeta.info), - [WalletType.PHANTOM]: solanaBlockchain, - [WalletType.XDEFI]: blockchainsArray.filter((blockchainMeta) => + [WalletTypes.PHANTOM]: solanaBlockchain, + [WalletTypes.XDEFI]: blockchainsArray.filter((blockchainMeta) => [ ...XDEFI_WALLET_SUPPORTED_EVM_CHAINS, ...XDEFI_WALLET_SUPPORTED_NATIVE_CHAINS, - Network.SOLANA, - ].includes(blockchainMeta.name as Network), + Networks.SOLANA, + ].includes(blockchainMeta.name as Networks) ), - [WalletType.WALLET_CONNECT]: evmBlockchains, - [WalletType.TRUST_WALLET]: evmBlockchains, - [WalletType.COIN98]: [...evmBlockchains, ...solanaBlockchain], - [WalletType.OKX]: blockchainsArray.filter((blockchainMeta) => - OKX_WALLET_SUPPORTED_CHAINS.includes(blockchainMeta.name as Network), + [WalletTypes.TRUST_WALLET]: evmBlockchains, + [WalletTypes.COIN98]: [...evmBlockchains, ...solanaBlockchain], + [WalletTypes.OKX]: blockchainsArray.filter((blockchainMeta) => + OKX_WALLET_SUPPORTED_CHAINS.includes(blockchainMeta.name as Networks) ), - [WalletType.EXODUS]: blockchainsArray.filter((blockchainMeta) => - EXODUS_WALLET_SUPPORTED_CHAINS.includes(blockchainMeta.name as Network), + [WalletTypes.EXODUS]: blockchainsArray.filter((blockchainMeta) => + EXODUS_WALLET_SUPPORTED_CHAINS.includes(blockchainMeta.name as Networks) ), - [WalletType.TOKEN_POCKET]: evmBlockchains, - [WalletType.TERRA_STATION]: [], - [WalletType.LEAP]: [], - [WalletType.MATH]: [...evmBlockchains, ...solanaBlockchain], - [WalletType.SAFEPAL]: [ + [WalletTypes.TOKEN_POCKET]: evmBlockchains, + [WalletTypes.STATION]: [], + [WalletTypes.LEAP]: [], + [WalletTypes.MATH]: [...evmBlockchains, ...solanaBlockchain], + [WalletTypes.SAFEPAL]: [ ...evmBlockchains, ...solanaBlockchain, - // ...blockchainsArray.filter((blockchainMeta) => - // SAFEPAL_SUPPORTED_NATIVE_CHAINS.includes(blockchainMeta.name), - // ), + /* + * ...blockchainsArray.filter((blockchainMeta) => + * SAFEPAL_SUPPORTED_NATIVE_CHAINS.includes(blockchainMeta.name), + * ), + */ ], - [WalletType.CLOVER]: [...evmBlockchains, ...solanaBlockchain], - [WalletType.COSMOSTATION]: [ + [WalletTypes.CLOVER]: [...evmBlockchains, ...solanaBlockchain], + [WalletTypes.COSMOSTATION]: [ ...evmBlockchains, ...cosmosBlockchains.filter((blockchainMeta) => !!blockchainMeta.info), ], - [WalletType.BRAVE]: [...evmBlockchains, ...solanaBlockchain], - [WalletType.UNKNOWN]: [], + [WalletTypes.BRAVE]: [...evmBlockchains, ...solanaBlockchain], }; }; -export const walletsAndSupportedChainsNamesSelector = (blockchains) => { - const walletsAndSupportedChainsMeta = walletsAndSupportedChainsMetaSelector(blockchains); - if (!walletsAndSupportedChainsMeta) return null; - const walletsAndSupportedChainsNames: { [type in WalletType]?: Network[] } = {}; +export const walletsAndSupportedChainsNamesSelector = (blockchains: any) => { + const walletsAndSupportedChainsMeta = + walletsAndSupportedChainsMetaSelector(blockchains); + if (!walletsAndSupportedChainsMeta) { + return null; + } + const walletsAndSupportedChainsNames: { + [type: WalletType]: Network[] | undefined; + } = {}; for (const key in walletsAndSupportedChainsMeta) { - walletsAndSupportedChainsNames[key as WalletType] = walletsAndSupportedChainsMeta[ - key as WalletType - ].map((blockchainMeta) => blockchainMeta.name); + walletsAndSupportedChainsNames[key] = walletsAndSupportedChainsMeta[ + key + ].map((blockchainMeta: { name: any }) => blockchainMeta.name); } return walletsAndSupportedChainsNames; }; -export async function requestSwap(input: string, from: TokenMeta, to: TokenMeta) { +export async function requestSwap( + input: string, + from: TokenMeta, + to: TokenMeta +) { const inputAmount = input; const amount = new BigNumber(inputAmount); const rawAccounts = sampleRawAccounts; @@ -629,8 +740,8 @@ export async function requestSwap(input: string, from: TokenMeta, to: TokenMeta) AVAX_CCHAIN: '0x2702d89c1c8658b49c45dd460deebcc45faec03c', COSMOS: 'cosmos1unf2rcytjxfpz8x8ar63h4qeftadptg5r5qswd', }; - const swappersGroupsBlackList = []; - const blockchainsWhiteList = []; + const swappersGroupsBlackList: string[] | undefined = []; + const blockchainsWhiteList: string[] | undefined = []; const bestRoute = await getBestRoute( from, @@ -641,7 +752,7 @@ export async function requestSwap(input: string, from: TokenMeta, to: TokenMeta) signal, selectedWallets, swappersGroupsBlackList, - blockchainsWhiteList, + blockchainsWhiteList ); if (!bestRoute) { @@ -654,7 +765,7 @@ export async function requestSwap(input: string, from: TokenMeta, to: TokenMeta) disabledSwappersGroups: [], }; const wallets: { [p: string]: WalletTypeAndAddress } = {}; - if (!!rawAccounts) { + if (rawAccounts) { rawAccounts.blockchains.forEach((item) => { // We know there is only one account. wallets[item.name] = item.accounts[0]; @@ -666,7 +777,7 @@ export async function requestSwap(input: string, from: TokenMeta, to: TokenMeta) bestRoute, wallets, settings, - false, + false ); return newSwap; @@ -676,7 +787,7 @@ export function logRPCError( error: unknown, swap: PendingSwap, currentStep: PendingSwapStep | undefined, - walletType: WalletType | undefined, + walletType: WalletType | undefined ) { try { // Sending to sentry diff --git a/examples/queue-manager-demo/src/flows/rango/mock.ts b/examples/queue-manager-demo/src/flows/rango/mock.ts new file mode 100644 index 0000000000..d137402e9d --- /dev/null +++ b/examples/queue-manager-demo/src/flows/rango/mock.ts @@ -0,0 +1,6325 @@ +import { Meta, Networks, WalletTypes } from '@rango-dev/wallets-shared'; +import { RawAccounts, Wallet } from './types'; + +const evmAddress = '0x2702d89c1c8658b49c45dd460deebcc45faec03c'; +const cosmosAddress = 'cosmos1unf2rcytjxfpz8x8ar63h4qeftadptg5r5qswd'; + +export const sampleRawAccounts: RawAccounts = (() => { + const evm = [ + 'BSC', + 'POLYGON', + 'ETH', + 'AVAX_CCHAIN', + 'ARBITRUM', + 'FANTOM', + 'OPTIMISM', + 'OKC', + 'CRONOS', + 'MOONRIVER', + 'MOONBEAM', + 'HECO', + 'AURORA', + 'HARMONY', + 'EVMOS', + 'GNOSIS', + 'FUSE', + 'BOBA', + ].map((network) => { + return { + name: network, + accounts: [ + { + address: evmAddress, + walletType: WalletTypes.META_MASK, + }, + ], + }; + }); + const cosmos = [ + { + name: Networks.COSMOS, + accounts: [ + { + address: cosmosAddress, + walletType: WalletTypes.KEPLR, + }, + ], + }, + ]; + return { + blockchains: [...evm, ...cosmos], + }; +})(); + +export const metamaskWallet = { + blockchains: [ + { + name: 'BSC', + accounts: [ + { + address: '0x2702d89c1c8658b49c45dd460deebcc45faec03c', + balances: [ + { + chain: 'BSC', + symbol: 'SWAP8.IO', + ticker: 'SWAP8.IO', + address: '0xcaee79616cffeb53fdda5792742a5c084f879dec', + rawAmount: '980000000000000000000000', + decimal: 18, + amount: '980000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'PDOT.IO', + ticker: 'PDOT.IO', + address: '0x8bd0e87273364ebbe3482efc166f7e0d34d82c25', + rawAmount: '95641000000000000000000', + decimal: 18, + amount: '95641', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'ZEPE.IO', + ticker: 'ZEPE.IO', + address: '0x119e2ad8f0c85c6f61afdf0df69693028cdc10be', + rawAmount: '750000000000000000000000', + decimal: 18, + amount: '750000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: '0GAS.IO', + ticker: '0GAS.IO', + address: '0x2231e1c01056aebab3113d684b034b50a99a56c7', + rawAmount: '16000000000000', + decimal: 9, + amount: '16000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'LUNA', + ticker: 'LUNA', + address: '0x030612e22610219733f3e942bb67004d6cbd796b', + rawAmount: '350000000000000000000', + decimal: 18, + amount: '350', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'FTM', + ticker: 'FTM', + address: '0xad29abb318791d579433d831ed122afeaf29dcfe', + rawAmount: '60035619283908361569', + decimal: 18, + amount: '60.035619283908361569', + logo: 'https://api.rango.exchange/i/mZqhCJ', + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'GGBOXS.COM', + ticker: 'GGBOXS.COM', + address: '0x2248ba304d2045cdc144866ce37d1435a30b29f3', + rawAmount: '60000000000000000000000', + decimal: 18, + amount: '60000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'AGP', + ticker: 'AGP', + address: '0x1c749d5f5630cf365673bf6c0b6b0570c48da112', + rawAmount: '6300000', + decimal: 6, + amount: '6.3', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'UST', + ticker: 'UST', + address: '0x3d4350cd54aef9f9b2c29435e0fa809957b3f30a', + rawAmount: '5015300', + decimal: 6, + amount: '5.0153', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'ALPACA', + ticker: 'ALPACA', + address: '0xb926beb62d7a680406e06327c87307c1ffc4ab09', + rawAmount: '50', + decimal: 18, + amount: '0.00000000000000005', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'NUSD', + ticker: 'NUSD', + address: '0x23b891e5c62e0955ae2bd185990103928ab817b3', + rawAmount: '25863658894004353627', + decimal: 18, + amount: '25.863658894004353627', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'RENUSDT', + ticker: 'RENUSDT', + address: '0xf55941e971302c634c586416c43469f3ead5ad3e', + rawAmount: '4997500', + decimal: 6, + amount: '4.9975', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'MMDEX.IO', + ticker: 'MMDEX.IO', + address: '0xdc4cb4c3587532409a4545aa79a15d967bed1c08', + rawAmount: '250000000000000000000000', + decimal: 18, + amount: '250000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'BOWDAO.NET', + ticker: 'BOWDAO.NET', + address: '0x3bab61ad5d103bb5b203c9092eb3a5e11677a5d0', + rawAmount: '660000000000000000000000', + decimal: 18, + amount: '660000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'APC', + ticker: 'APC', + address: '0xda2d21872999e700a715a1bda3153eb9079770bb', + rawAmount: '124889000', + decimal: 6, + amount: '124.889', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'LINK', + ticker: 'LINK', + address: '0xf8a0bf9cf54bb92f17374d9e9a321e6a111a51bd', + rawAmount: '7095490344', + decimal: 18, + amount: '0.000000007095490344', + logo: 'https://api.rango.exchange/i/hWjRK2', + usdPrice: 5.947, + }, + { + chain: 'BSC', + symbol: 'LUNA2.APP', + ticker: 'LUNA2.APP', + address: '0x9171c79f543b298fbd39642dc29e1454e2878665', + rawAmount: '188888', + decimal: 0, + amount: '188888', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'EOS', + ticker: 'EOS', + address: '0x56b6fb708fc5732dec1afc8d8556423a2edccbd6', + rawAmount: '6521653134', + decimal: 18, + amount: '0.000000006521653134', + logo: 'https://api.rango.exchange/i/KeunI3', + usdPrice: 0.874, + }, + { + chain: 'BSC', + symbol: 'ANGELDUST', + ticker: 'ANGELDUST', + address: '0x32d3499feca3f881d779f0183d7b41d32b2498df', + rawAmount: '741825180000', + decimal: 6, + amount: '741825.18', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'ORBIT', + ticker: 'ORBIT', + address: '0xdfb8603d947ab42fb76eb3bb14d9dde4334130d2', + rawAmount: '58397000000000000000000', + decimal: 18, + amount: '58397', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'WAVAX', + ticker: 'WAVAX', + address: '0x96412902aa9aff61e13f085e70d3152c6ef2a817', + rawAmount: '8087494716', + decimal: 18, + amount: '0.000000008087494716', + logo: 'https://api.rango.exchange/i/7QDOTz', + usdPrice: 11.745, + }, + { + chain: 'BSC', + symbol: 'GASDAO.CC', + ticker: 'GASDAO.CC', + address: '0x1c0294b8a8ae3d64d8629de723cb9e44f5f12c63', + rawAmount: '9500000000000', + decimal: 8, + amount: '95000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'MINIDOGE', + ticker: 'MINIDOGE', + address: '0x50fa1d465b2a4a13d64e9fa428ccc98ec873ae64', + rawAmount: '500000000000000000000000000000', + decimal: 18, + amount: '500000000000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'VELO', + ticker: 'VELO', + address: '0x17d1285bc68d9085f8e4b86fc565e452b29dc48f', + rawAmount: '150000000000000000000000', + decimal: 18, + amount: '150000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'ARTQ.ME', + ticker: 'ARTQ.ME', + address: '0xf0ef30735455d5315873cc2e2966cb20047bdb29', + rawAmount: '6000000000000000000000', + decimal: 18, + amount: '6000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'USDCSWAP.ORG', + ticker: 'USDCSWAP.ORG', + address: '0x43217359af5f01cf82c12a7a058ba221acdaef38', + rawAmount: '500', + decimal: 0, + amount: '500', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: '1INCH', + ticker: '1INCH', + address: '0x111111111117dc0aa78b770fa6a738034120c302', + rawAmount: '271002710027100234', + decimal: 18, + amount: '0.271002710027100234', + logo: 'https://api.rango.exchange/i/9D6oXE', + usdPrice: 0.397, + }, + { + chain: 'BSC', + symbol: 'MAI', + ticker: 'MAI', + address: '0x3f56e0c36d275367b8c502090edf38289b3dea0d', + rawAmount: '19277503723092914708', + decimal: 18, + amount: '19.277503723092914708', + logo: 'https://api.rango.exchange/i/rcaHva', + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'ATOM', + ticker: 'ATOM', + address: '0x0eb3a705fc54725037cc9e008bdede697f62f335', + rawAmount: '28750711363627413', + decimal: 18, + amount: '0.028750711363627413', + logo: 'https://api.rango.exchange/i/UT9ERo', + usdPrice: 8.94, + }, + { + chain: 'BSC', + symbol: '1GAS.ORG', + ticker: '1GAS.ORG', + address: '0xd35f9ab96d04adb02fd549ef6a576ce4e2c1d935', + rawAmount: '92280000000000000000000', + decimal: 18, + amount: '92280', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'BOHM', + ticker: 'BOHM', + address: '0xbe2bac22b5f4d1126c705cb21335960531bae847', + rawAmount: '100000000000000000000', + decimal: 18, + amount: '100', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'BTCB', + ticker: 'BTCB', + address: '0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c', + rawAmount: '71529099712895', + decimal: 18, + amount: '0.000071529099712895', + logo: 'https://api.rango.exchange/i/MHEGHG', + usdPrice: 16863.776, + }, + { + chain: 'BSC', + symbol: 'EDG', + ticker: 'EDG', + address: '0xa2e26f5f663e18fa942db6edf3269449d75d6d85', + rawAmount: '10000000000', + decimal: 25, + amount: '0.000000000000001', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'SUSHI', + ticker: 'SUSHI', + address: '0x947950bcc74888a40ffa2593c5798f11fc9124c4', + rawAmount: '836519539228464427', + decimal: 18, + amount: '0.836519539228464427', + logo: 'https://api.rango.exchange/i/NgIT7y', + usdPrice: 0.941, + }, + { + chain: 'BSC', + symbol: 'PGAME', + ticker: 'PGAME', + address: '0x4dc90e30015af10e64a2f1ac390754cfb0454373', + rawAmount: '10952400', + decimal: 6, + amount: '10.9524', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'MATIC', + ticker: 'MATIC', + address: '0xcc42724c6683b7e57334c4e856f4c9965ed682bd', + rawAmount: '1000000008755996216', + decimal: 18, + amount: '1.000000008755996216', + logo: 'https://api.rango.exchange/i/vTlTjv', + usdPrice: 0.791, + }, + { + chain: 'BSC', + symbol: 'FISTDAO', + ticker: 'FISTDAO', + address: '0x41791dab02a1f9b2430cd46f2c6a2b33aa7fd25d', + rawAmount: '880000000000', + decimal: 9, + amount: '880', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'FF18.IO', + ticker: 'FF18.IO', + address: '0x491b25000d386cd31307580171a510d32d7e64ee', + rawAmount: '800000000000000000000000', + decimal: 18, + amount: '800000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'RAY', + ticker: 'RAY', + address: '0x13b6a55662f6591f8b8408af1c73b017e32eedb8', + rawAmount: '4793579', + decimal: 6, + amount: '4.793579', + logo: 'https://api.rango.exchange/i/kNjVdm', + usdPrice: 0.15, + }, + { + chain: 'BSC', + symbol: 'AGEUR', + ticker: 'AGEUR', + address: '0x38c84d5bbad726d465cf6a5349e41d6d7095faf7', + rawAmount: '8242220000000000', + decimal: 18, + amount: '0.00824222', + logo: 'https://api.rango.exchange/i/d5IrO0', + usdPrice: 1.059, + }, + { + chain: 'BSC', + symbol: 'KK', + ticker: 'KK', + address: '0x482794a6efb37e3fbd51f537c7102e9ab188b818', + rawAmount: '53000000000000000000', + decimal: 18, + amount: '53', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'O3', + ticker: 'O3', + address: '0xee9801669c6138e84bd50deb500827b776777d28', + rawAmount: '1256000000000000000', + decimal: 18, + amount: '1.256', + logo: 'https://api.rango.exchange/i/lfPJOy', + usdPrice: 0.0443, + }, + { + chain: 'BSC', + symbol: 'AIR', + ticker: 'AIR', + address: '0xbc6675de91e3da8eac51293ecb87c359019621cf', + rawAmount: '1921604000000000000000000', + decimal: 18, + amount: '1921604', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'DOGGY', + ticker: 'DOGGY', + address: '0x74926b3d118a63f6958922d3dc05eb9c6e6e00c6', + rawAmount: '283511485676805491', + decimal: 18, + amount: '0.283511485676805491', + logo: 'https://api.rango.exchange/i/1lJ2Z3', + usdPrice: 0.00031, + }, + { + chain: 'BSC', + symbol: 'SEG', + ticker: 'SEG', + address: '0x2eeff21c71ae38f9c34496cd9250c0d186dcd988', + rawAmount: '100000000000000', + decimal: 18, + amount: '0.0001', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'MIM', + ticker: 'MIM', + address: '0xfe19f0b51438fd612f6fd59c1dbb3ea319f433ba', + rawAmount: '15022048536804216097', + decimal: 18, + amount: '15.022048536804216097', + logo: 'https://api.rango.exchange/i/L5wafC', + usdPrice: 0.993, + }, + { + chain: 'BSC', + symbol: 'USDSWAP.IO', + ticker: 'USDSWAP.IO', + address: '0xb2ad5142b8ccb380731866bc42b3619759f3f7b3', + rawAmount: '1286698', + decimal: 0, + amount: '1286698', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'PSG', + ticker: 'PSG', + address: '0xbc5609612b7c44bef426de600b5fd1379db2ecf1', + rawAmount: '14', + decimal: 2, + amount: '0.14', + logo: 'https://api.rango.exchange/i/OiA2jQ', + usdPrice: 5.685, + }, + { + chain: 'BSC', + symbol: 'ETH', + ticker: 'ETH', + address: '0x2170ed0880ac9a755fd29b2688956bd959f933f8', + rawAmount: '14825954098793468', + decimal: 18, + amount: '0.014825954098793468', + logo: 'https://api.rango.exchange/i/qr4L6S', + usdPrice: 1209.693, + }, + { + chain: 'BSC', + symbol: 'SAFEMOON', + ticker: 'SAFEMOON', + address: '0x2df0b14ee90671021b016dab59f2300fb08681fa', + rawAmount: '255', + decimal: 18, + amount: '0.000000000000000255', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'POODL', + ticker: 'POODL', + address: '0x4a68c250486a116dc8d6a0c5b0677de07cc09c5d', + rawAmount: '6184580930', + decimal: 9, + amount: '6.18458093', + logo: 'https://api.rango.exchange/i/ehIL4M', + usdPrice: 7.1e-9, + }, + { + chain: 'BSC', + symbol: 'AVAX', + ticker: 'AVAX', + address: '0x1ce0c2827e2ef14d5c4f29a091d735a204794041', + rawAmount: '4705457968658479', + decimal: 18, + amount: '0.004705457968658479', + logo: 'https://api.rango.exchange/i/kX4edQ', + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'MGRT', + ticker: 'MGRT', + address: '0xd08f7b01fdd26928dcdc956610a5332f17b3ea11', + rawAmount: '1119800000000000000', + decimal: 18, + amount: '1.1198', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'WBNB', + ticker: 'WBNB', + address: '0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c', + rawAmount: '23374035802351054', + decimal: 18, + amount: '0.023374035802351054', + logo: 'https://api.rango.exchange/i/lRTcZT', + usdPrice: 248.431, + }, + { + chain: 'BSC', + symbol: 'ANYFUSE', + ticker: 'ANYFUSE', + address: '0x43242138833e8d360e84920462a483eb9e35c8b4', + rawAmount: '32000000000000000000', + decimal: 18, + amount: '32', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'AGILESWAP.IO', + ticker: 'AGILESWAP.IO', + address: '0xcf8b4e69707e22dc5062f80576d9f069275ed1b5', + rawAmount: '12000000000000', + decimal: 9, + amount: '12000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'BNBM', + ticker: 'BNBM', + address: '0xe8d6eccf4df7067a52d43495c11b69deeedb965e', + rawAmount: '207961000000000000000000', + decimal: 18, + amount: '207961', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'PAYOU', + ticker: 'PAYOU', + address: '0x1e8f7bfdcf6d95eea81e039234624fa6b78bd389', + rawAmount: '923000000000000000000', + decimal: 18, + amount: '923', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'AABEK', + ticker: 'AABEK', + address: '0x68d1569d1a6968f194b4d93f8d0b416c123a599f', + rawAmount: '20819314000000000', + decimal: 9, + amount: '20819314', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'TRX', + ticker: 'TRX', + address: '0x85eac5ac2f758618dfa09bdbe0cf174e7d574d5b', + rawAmount: '2425322528', + decimal: 18, + amount: '0.000000002425322528', + logo: 'https://api.rango.exchange/i/sJnSkq', + usdPrice: 0.055, + }, + { + chain: 'BSC', + symbol: 'RIFTDAO.NET', + ticker: 'RIFTDAO.NET', + address: '0x4f6a82bb5fd0996158c9ac6bd3605489cad82d8d', + rawAmount: '738097000000000000000000', + decimal: 18, + amount: '738097', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'ETH-1INCH.IO', + ticker: 'ETH-1INCH.IO', + address: '0xa83b6a470771da2d979480b2e742962088608ced', + rawAmount: '870000000000000000', + decimal: 18, + amount: '0.87', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'ODDZ', + ticker: 'ODDZ', + address: '0xcd40f2670cf58720b694968698a5514e924f742d', + rawAmount: '77970995683712403', + decimal: 18, + amount: '0.077970995683712403', + logo: 'https://api.rango.exchange/i/s6bU0A', + usdPrice: 0.0121, + }, + { + chain: 'BSC', + symbol: 'TBBT.ORG', + ticker: 'TBBT.ORG', + address: '0xbf7183b8c8e5bb2d10f63678abb5d52df72712b2', + rawAmount: '50000000000000000000000', + decimal: 18, + amount: '50000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'DASH', + ticker: 'DASH', + address: '0x3291a9352e553740bf78ce94fad611924b640d0f', + rawAmount: '100000000000000000000', + decimal: 18, + amount: '100', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'BAKE', + ticker: 'BAKE', + address: '0xe02df9e3e622debdd69fb838bb799e3f168902c5', + rawAmount: '2896167082922666', + decimal: 18, + amount: '0.002896167082922666', + logo: 'https://api.rango.exchange/i/dQuv0N', + usdPrice: 0.141, + }, + { + chain: 'BSC', + symbol: 'USDC', + ticker: 'USDC', + address: '0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d', + rawAmount: '15641472731959171181', + decimal: 18, + amount: '15.641472731959171181', + logo: 'https://api.rango.exchange/i/toXKGV', + usdPrice: 1.005, + }, + { + chain: 'BSC', + symbol: 'LTC', + ticker: 'LTC', + address: '0x4338665cbb7b2485a8855a139b75d5e34ab0db94', + rawAmount: '6918750157', + decimal: 18, + amount: '0.000000006918750157', + logo: 'https://api.rango.exchange/i/Rw2jCX', + usdPrice: 65.204, + }, + { + chain: 'BSC', + symbol: 'NEAR', + ticker: 'NEAR', + address: '0x1fa4a73a3f0133f0025378af00236f3abdee5d63', + rawAmount: '508963275751495577', + decimal: 18, + amount: '0.508963275751495577', + logo: 'https://api.rango.exchange/i/kL2qwj', + usdPrice: 1.298, + }, + { + chain: 'BSC', + symbol: 'BTG', + ticker: 'BTG', + address: '0x1385e68e3b5ea66fc50a221f8dcbabbfd3ee282b', + rawAmount: '11000000000', + decimal: 6, + amount: '11000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'YTS', + ticker: 'YTS', + address: '0x3b4deb27a46e746776a661ecf523c42ed0400d54', + rawAmount: '9000000000000000000000000', + decimal: 18, + amount: '9000000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'FLOKI', + ticker: 'FLOKI', + address: '0x2b3f34e9d4b127797ce6244ea341a83733ddd6e4', + rawAmount: '62088935293887', + decimal: 9, + amount: '62088.935293887', + logo: 'https://api.rango.exchange/i/UhBFxd', + usdPrice: 1.89e-7, + }, + { + chain: 'BSC', + symbol: 'SXP', + ticker: 'SXP', + address: '0x47bead2563dcbf3bf2c9407fea4dc236faba485a', + rawAmount: '7193114712', + decimal: 18, + amount: '0.000000007193114712', + logo: 'https://api.rango.exchange/i/3njEos', + usdPrice: 0.207, + }, + { + chain: 'BSC', + symbol: 'COSMICMINE', + ticker: 'COSMICMINE', + address: '0xde1e01b3ab6aa67909e41330067be7a46ec16c38', + rawAmount: '300000000000000000', + decimal: 18, + amount: '0.3', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'SPACEPI', + ticker: 'SPACEPI', + address: '0x69b14e8d3cebfdd8196bfe530954a0c226e5008e', + rawAmount: '5500000000000000', + decimal: 9, + amount: '5500000', + logo: 'https://api.rango.exchange/i/01weSc', + usdPrice: 1.02e-9, + }, + { + chain: 'BSC', + symbol: 'ALPACA', + ticker: 'ALPACA', + address: '0x373233a38ae21cf0c4f9de11570e7d5aa6824a1e', + rawAmount: '28102000000000000000000000', + decimal: 18, + amount: '28102000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'MNEB', + ticker: 'MNEB', + address: '0xd22202d23fe7de9e3dbe11a2a88f42f4cb9507cf', + rawAmount: '15000000000000', + decimal: 8, + amount: '150000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'DAO', + ticker: 'DAO', + address: '0x037b202ca88d2028d82936d5615ee5088cb9fd78', + rawAmount: '9970000000000000', + decimal: 18, + amount: '0.00997', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'BRISE', + ticker: 'BRISE', + address: '0x8fff93e810a2edaafc326edee51071da9d398e83', + rawAmount: '10', + decimal: 9, + amount: '0.00000001', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: '3WORLDS.IO', + ticker: '3WORLDS.IO', + address: '0xc3238c3b7b8e32588a49c751aed808368e85122d', + rawAmount: '12000000000000', + decimal: 9, + amount: '12000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'ARKR.ORG', + ticker: 'ARKR.ORG', + address: '0x04645027122c9f152011f128c7085449b27cb6d7', + rawAmount: '800000000000000000000000', + decimal: 18, + amount: '800000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'WADAX', + ticker: 'WADAX', + address: '0x35122d1fe8001296f61290b8ba42ef597af31fb7', + rawAmount: '1000000000000', + decimal: 6, + amount: '1000000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'BNBW', + ticker: 'BNBW', + address: '0x5558447b06867ffebd87dd63426d61c868c45904', + rawAmount: '23752199000000000', + decimal: 9, + amount: '23752199', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'QI', + ticker: 'QI', + address: '0x8729438eb15e2c8b576fcc6aecda6a148776c0f5', + rawAmount: '208452535759624275628', + decimal: 18, + amount: '208.452535759624275628', + logo: 'https://api.rango.exchange/i/PwbKO2', + usdPrice: 0.00664, + }, + { + chain: 'BSC', + symbol: 'CAKE', + ticker: 'CAKE', + address: '0x0e09fabb73bd3ade0a17ecc321fd13a19e81ce82', + rawAmount: '132130918185825847', + decimal: 18, + amount: '0.132130918185825847', + logo: 'https://api.rango.exchange/i/UA0myt', + usdPrice: 3.433, + }, + { + chain: 'BSC', + symbol: 'LINKP.IO', + ticker: 'LINKP.IO', + address: '0xd5e3bf9045cfb1e6ded4b35d1b9c34be16d6eec3', + rawAmount: '800000000000000000000000', + decimal: 18, + amount: '800000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'BSCTOKEN', + ticker: 'BSCTOKEN', + address: '0x569b2cf0b745ef7fad04e8ae226251814b3395f9', + rawAmount: '23752199000000000', + decimal: 9, + amount: '23752199', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'VERSE', + ticker: 'VERSE', + address: '0xbb92b9d18db99c3695bc820bf2c876d4b1527fa5', + rawAmount: '3000000000000000', + decimal: 9, + amount: '3000000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'VERA', + ticker: 'VERA', + address: '0x0df62d2cd80591798721ddc93001afe868c367ff', + rawAmount: '800000000000000000000000', + decimal: 18, + amount: '800000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'SQUIDV2', + ticker: 'SQUIDV2', + address: '0xd85842708252c7752f9e503f90561068433d0044', + rawAmount: '1000000000000000000', + decimal: 18, + amount: '1', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'WETH', + ticker: 'WETH', + address: '0x4db5a66e937a9f4473fa95b1caf1d1e1d62e29ea', + rawAmount: '9430724572', + decimal: 18, + amount: '0.000000009430724572', + logo: 'https://api.rango.exchange/i/wNnplE', + usdPrice: 1396.147, + }, + { + chain: 'BSC', + symbol: 'ATOM', + ticker: 'ATOM', + address: '0x725e02c7f9168f45b3699cfb7c262fb6dd355e84', + rawAmount: '99561480', + decimal: 6, + amount: '99.56148', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'FLOKI', + ticker: 'FLOKI', + address: '0xfb5b838b6cfeedc2873ab27866079ac55363d37e', + rawAmount: '62088935293887', + decimal: 9, + amount: '62088.935293887', + logo: 'https://api.rango.exchange/i/fIrbfa', + usdPrice: 0.00000913, + }, + { + chain: 'BSC', + symbol: 'AZSWAP.IO', + ticker: 'AZSWAP.IO', + address: '0xfd4c532a8c17bd326c2dc63b88d49306ce27f80b', + rawAmount: '18000000000000', + decimal: 9, + amount: '18000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'TU7.ORG', + ticker: 'TU7.ORG', + address: '0x442b656f5a5c3dd09790951810c5a15ea5295b51', + rawAmount: '7127850000000000', + decimal: 9, + amount: '7127850', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'FLUX', + ticker: 'FLUX', + address: '0xb16600c510b0f323dee2cb212924d90e58864421', + rawAmount: '950000000000000000000000', + decimal: 18, + amount: '950000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'XRP', + ticker: 'XRP', + address: '0x1d2f0da169ceb9fc7b3144628db156f3f6c60dbe', + rawAmount: '5688021754', + decimal: 18, + amount: '0.000000005688021754', + logo: 'https://api.rango.exchange/i/zTYnq2', + usdPrice: 0.34, + }, + { + chain: 'BSC', + symbol: 'BITTT.IO', + ticker: 'BITTT.IO', + address: '0x9603a3d3dcccf5ef1a2060a3da796ac084cc66eb', + rawAmount: '268551000000000000000000', + decimal: 18, + amount: '268551', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'AXLUSDC', + ticker: 'AXLUSDC', + address: '0x4268b8f0b87b6eae5d897996e6b845ddbd99adf3', + rawAmount: '5978049', + decimal: 6, + amount: '5.978049', + logo: 'https://api.rango.exchange/tokens/COSMOS/AXLUSDC.png', + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'SDJT', + ticker: 'SDJT', + address: '0xbb368656efa67361b0063fe0f11cb08bd460246d', + rawAmount: '100000000', + decimal: 9, + amount: '0.1', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'ONE', + ticker: 'ONE', + address: '0x03ff0ff224f904be3118461335064bb48df47938', + rawAmount: '4789152388', + decimal: 18, + amount: '0.000000004789152388', + logo: 'https://api.rango.exchange/i/5MOMsg', + usdPrice: 0.0115, + }, + { + chain: 'BSC', + symbol: 'STI', + ticker: 'STI', + address: '0x4f5f7a7dca8ba0a7983381d23dfc5eaf4be9c79a', + rawAmount: '1000', + decimal: 10, + amount: '0.0000001', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'APE', + ticker: 'APE', + address: '0xa1b99485d58d70d86e455ab8823492090c3f43c0', + rawAmount: '350000000000000000000', + decimal: 18, + amount: '350', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'COOK', + ticker: 'COOK', + address: '0x965b0df5bda0e7a0649324d78f03d5f7f2de086a', + rawAmount: '35733206194802111275189', + decimal: 18, + amount: '35733.206194802111275189', + logo: 'https://api.rango.exchange/i/owq1WS', + usdPrice: 0.000247, + }, + { + chain: 'BSC', + symbol: 'FUSE', + ticker: 'FUSE', + address: '0x5857c96dae9cf8511b08cb07f85753c472d36ea3', + rawAmount: '102000000000000000000', + decimal: 18, + amount: '102', + logo: 'https://api.rango.exchange/i/3hWqus', + usdPrice: 0.0603, + }, + { + chain: 'BSC', + symbol: 'CGB', + ticker: 'CGB', + address: '0x7e6202903275772044198d07b8a536cc064f8480', + rawAmount: '211000000', + decimal: 6, + amount: '211', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'DEF8.IO', + ticker: 'DEF8.IO', + address: '0x556798dd55db12562a6950ea8339a273539b0495', + rawAmount: '82445000000000000000000', + decimal: 18, + amount: '82445', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'WMATIC', + ticker: 'WMATIC', + address: '0xc836d8dc361e44dbe64c4862d55ba041f88ddd39', + rawAmount: '1887651939', + decimal: 18, + amount: '0.000000001887651939', + logo: 'https://api.rango.exchange/i/QpOgNr', + usdPrice: 0.791, + }, + { + chain: 'BSC', + symbol: 'BSTAKE.NET', + ticker: 'BSTAKE.NET', + address: '0x1f040f15ab15b7e0dfac935873fadbe43d015535', + rawAmount: '480000000000000000000000', + decimal: 18, + amount: '480000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'XCH5.IO', + ticker: 'XCH5.IO', + address: '0xb3ec4e17c1c0079d977354875ab924c088325306', + rawAmount: '821112000000000', + decimal: 9, + amount: '821112', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'FS', + ticker: 'FS', + address: '0xe3a41e4dacc892ecaedfa009be5baa2d3ab4844d', + rawAmount: '1003947318555099196', + decimal: 18, + amount: '1.003947318555099196', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'BSC-COIN', + ticker: 'BSC-COIN', + address: '0xe3e1147acd39687a25ca7716227c604500f5c31a', + rawAmount: '5000000000000', + decimal: 6, + amount: '5000000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'APEFESTPOAP.COM', + ticker: 'APEFESTPOAP.COM', + address: '0x57dac6482784a0f093483e6313804812fa177437', + rawAmount: '5555000000000000000000', + decimal: 18, + amount: '5555', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'SAFEMOON-DIVIDEND.COM', + ticker: 'SAFEMOON-DIVIDEND.COM', + address: '0xdbe3e700ab26cbf3523d850b5d892fd17e0ce343', + rawAmount: '31820000000000000000000', + decimal: 18, + amount: '31820', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'AXAX.IO', + ticker: 'AXAX.IO', + address: '0x58b5c4697dc70f3d889225260944cdd9c270c132', + rawAmount: '77000000000000', + decimal: 9, + amount: '77000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'RRDAO.NET', + ticker: 'RRDAO.NET', + address: '0xa47b34ff31e22ef03f6054af19542bcde260cdc7', + rawAmount: '738097000000000000000000', + decimal: 18, + amount: '738097', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'ETP', + ticker: 'ETP', + address: '0x89679307c3d2e4e289da2ccd4d3c44ff39292189', + rawAmount: '100000000000000', + decimal: 18, + amount: '0.0001', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'DOT', + ticker: 'DOT', + address: '0x7083609fce4d1d8dc0c979aab8c869ea2c873402', + rawAmount: '7180274458', + decimal: 18, + amount: '0.000000007180274458', + logo: 'https://api.rango.exchange/i/suQRJx', + usdPrice: 4.528, + }, + { + chain: 'BSC', + symbol: 'AGMC.IO', + ticker: 'AGMC.IO', + address: '0xef27b9cb67aa93ec3494a60f1ea9380e86175b26', + rawAmount: '800000000000000000000000', + decimal: 18, + amount: '800000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'RDRIP', + ticker: 'RDRIP', + address: '0xa02a0b2d67d4fa48677a79cadc483e114049916d', + rawAmount: '40214587120000', + decimal: 6, + amount: '40214587.12', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'BUSD', + ticker: 'BUSD', + address: '0xe9e7cea3dedca5984780bafc599bd69add087d56', + rawAmount: '2925825323281948117', + decimal: 18, + amount: '2.925825323281948117', + logo: 'https://api.rango.exchange/i/tY13sD', + usdPrice: 1.001, + }, + { + chain: 'BSC', + symbol: 'MKS', + ticker: 'MKS', + address: '0x64f2c2aa04755507a2ecd22ceb8c475b7a750a3a', + rawAmount: '6500000000000000000000000', + decimal: 18, + amount: '6500000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'BITMARTEX.COM', + ticker: 'BITMARTEX.COM', + address: '0xdac0bb03158048b70abcfeb3be2607b625526f20', + rawAmount: '400000000000000000000', + decimal: 18, + amount: '400', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'APT', + ticker: 'APT', + address: '0xec811fbcd12f67874891cdbbbc95d9f73db3fbb0', + rawAmount: '40000000', + decimal: 6, + amount: '40', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'MELLO', + ticker: 'MELLO', + address: '0x0198be93b7cae38da7e2fd966946412cc36447bf', + rawAmount: '17777000000000000000000', + decimal: 18, + amount: '17777', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'ICE', + ticker: 'ICE', + address: '0xf16e81dce15b08f326220742020379b855b87df9', + rawAmount: '3071447531', + decimal: 18, + amount: '0.000000003071447531', + logo: 'https://api.rango.exchange/i/my1npH', + usdPrice: 0.121, + }, + { + chain: 'BSC', + symbol: 'ADDBNB.COM', + ticker: 'ADDBNB.COM', + address: '0x617bf230a6886accec5952385eed8bc85d1a09b2', + rawAmount: '29998899999900', + decimal: 8, + amount: '299988.999999', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'POWNFT.NET', + ticker: 'POWNFT.NET', + address: '0x893c25c46bfaa9b66cd557837d32af3fe264a07b', + rawAmount: '96816550000000000000000', + decimal: 18, + amount: '96816.55', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'MINIDOGE', + ticker: 'MINIDOGE', + address: '0x9b1ba20ae9335197c72be094d4fa300d4ef95351', + rawAmount: '500000000000000000000000000000', + decimal: 18, + amount: '500000000000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'FIFA', + ticker: 'FIFA', + address: '0xe19417837d8e61f17dfae2e6a11b1e4810dae2a5', + rawAmount: '99000000000000', + decimal: 18, + amount: '0.000099', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'MDT', + ticker: 'MDT', + address: '0x668db7aa38eac6b40c9d13dbe61361dc4c4611d1', + rawAmount: '4965562423', + decimal: 18, + amount: '0.000000004965562423', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'ZIL', + ticker: 'ZIL', + address: '0xb86abcb37c3a4b64f74f59301aff131a1becc787', + rawAmount: '5995', + decimal: 12, + amount: '0.000000005995', + logo: 'https://api.rango.exchange/i/aiPfMq', + usdPrice: 0.0176, + }, + { + chain: 'BSC', + symbol: ' "995$ VISIT USDTREWARD.COM TO CLAIM', + ticker: ' "995$ VISIT USDTREWARD.COM TO CLAIM', + address: '0x67c4a6da86da4f45030904b143d6b00d25e366e9', + rawAmount: '6', + decimal: 0, + amount: '6', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'ADA', + ticker: 'ADA', + address: '0x3ee2200efb3400fabb9aacf31297cbdd1d435d47', + rawAmount: '6081419213', + decimal: 18, + amount: '0.000000006081419213', + logo: 'https://api.rango.exchange/i/ne4pEv', + usdPrice: 0.25, + }, + { + chain: 'BSC', + symbol: 'ZEPE.IO', + ticker: 'ZEPE.IO', + address: '0xb0557906c617f0048a700758606f64b33d0c41a6', + rawAmount: '750000000000000000000000', + decimal: 18, + amount: '750000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'MN', + ticker: 'MN', + address: '0x1a09f518a8293d519de20700076ad9cd2125d224', + rawAmount: '454000000000000', + decimal: 18, + amount: '0.000454', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'EVER', + ticker: 'EVER', + address: '0x5190b01965b6e3d786706fd4a999978626c19880', + rawAmount: '800000000000000000000000', + decimal: 18, + amount: '800000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'SGC', + ticker: 'SGC', + address: '0x7aa3a53360541283ffa9192972223b47a902dc0c', + rawAmount: '1450000000000', + decimal: 6, + amount: '1450000', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'BCH', + ticker: 'BCH', + address: '0x8ff795a6f4d97e7887c79bea79aba5cc76444adf', + rawAmount: '208175286', + decimal: 18, + amount: '0.000000000208175286', + logo: 'https://api.rango.exchange/i/TPdCZV', + usdPrice: 101.758, + }, + { + chain: 'BSC', + symbol: 'KK8.IO', + ticker: 'KK8.IO', + address: '0x2ba6204c23fbd5698ed90abc911de263e5f41266', + rawAmount: '166574000000000000000000', + decimal: 18, + amount: '166574', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'BCNFT', + ticker: 'BCNFT', + address: '0xe5677103191711bad85cf99e0dfc9b35449b790b', + rawAmount: '99800000000000000000', + decimal: 18, + amount: '99.8', + logo: null, + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'MNFLX', + ticker: 'MNFLX', + address: '0xa04f060077d90fe2647b61e4da4ad1f97d6649dc', + rawAmount: '18298000000000000', + decimal: 18, + amount: '0.018298', + logo: 'https://api.rango.exchange/i/66c2BP', + usdPrice: null, + }, + { + chain: 'BSC', + symbol: 'FIL', + ticker: 'FIL', + address: '0x0d8ce2a99bb6e3b7db580ed848240e4a0f9ae153', + rawAmount: '166801647873165921', + decimal: 18, + amount: '0.166801647873165921', + logo: 'https://api.rango.exchange/i/diq2au', + usdPrice: 2.925, + }, + { + chain: 'BSC', + symbol: 'DAI', + ticker: 'DAI', + address: '0x1af3f329e8be154074d8769d1ffa4ee058b1dbc3', + rawAmount: '7308178549281467169', + decimal: 18, + amount: '7.308178549281467169', + logo: 'https://api.rango.exchange/i/EcBuF8', + usdPrice: 1.002, + }, + { + chain: 'BSC', + symbol: 'BNB', + ticker: 'BNB', + address: null, + rawAmount: '64638855809280692', + decimal: 18, + amount: '0.064638855809280692', + logo: 'https://api.rango.exchange/i/Y3v1KW', + usdPrice: null, + }, + ], + loading: false, + walletType: 'metamask', + isConnected: false, + error: false, + explorerUrl: + 'https://bscscan.com/address/0x2702d89c1c8658b49c45dd460deebcc45faec03c', + }, + ], + }, + { + name: 'POLYGON', + accounts: [ + { + address: '0x2702d89c1c8658b49c45dd460deebcc45faec03c', + balances: [], + loading: false, + walletType: 'metamask', + isConnected: true, + error: true, + explorerUrl: + 'https://polygonscan.com/address/0x2702d89c1c8658b49c45dd460deebcc45faec03c', + }, + ], + }, + { + name: 'ETH', + accounts: [ + { + address: '0x2702d89c1c8658b49c45dd460deebcc45faec03c', + balances: [ + { + chain: 'ETH', + symbol: 'BAT', + ticker: 'BAT', + address: '0x0d8775f648430679a709e98d2b0cb6250d2887ef', + rawAmount: '4000000000000000000', + decimal: 18, + amount: '4', + logo: 'https://api.rango.exchange/i/fRlt4J', + usdPrice: 0.187, + }, + { + chain: 'ETH', + symbol: 'WBTC', + ticker: 'WBTC', + address: '0x2260fac5e5542a773aa44fbcfedf7c193bc2c599', + rawAmount: '4777', + decimal: 8, + amount: '0.00004777', + logo: 'https://api.rango.exchange/i/LZSo9D', + usdPrice: 16748.345, + }, + { + chain: 'ETH', + symbol: 'BUSD', + ticker: 'BUSD', + address: '0x4fabb145d64652a948d72533023f6e7a623c7c53', + rawAmount: '44533649981450616971', + decimal: 18, + amount: '44.533649981450616971', + logo: 'https://api.rango.exchange/i/sQLw6p', + usdPrice: 0.996, + }, + { + chain: 'ETH', + symbol: 'USDC', + ticker: 'USDC', + address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', + rawAmount: '68026943', + decimal: 6, + amount: '68.026943', + logo: 'https://api.rango.exchange/i/ns0AMf', + usdPrice: 0.998, + }, + { + chain: 'ETH', + symbol: 'WETH', + ticker: 'WETH', + address: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', + rawAmount: '69476760000000000', + decimal: 18, + amount: '0.06947676', + logo: 'https://api.rango.exchange/i/yZ9N1N', + usdPrice: 1207.06, + }, + { + chain: 'ETH', + symbol: 'USDT', + ticker: 'USDT', + address: '0xdac17f958d2ee523a2206206994597c13d831ec7', + rawAmount: '458820363', + decimal: 6, + amount: '458.820363', + logo: 'https://api.rango.exchange/i/aR1yFx', + usdPrice: 0.999, + }, + { + chain: 'ETH', + symbol: 'RENBTC', + ticker: 'RENBTC', + address: '0xeb4c2781e4eba804ce9a9803c67d0893436bb27d', + rawAmount: '92825', + decimal: 8, + amount: '0.00092825', + logo: 'https://api.rango.exchange/i/kwXCDn', + usdPrice: 17122.537, + }, + { + chain: 'ETH', + symbol: 'ETH', + ticker: 'ETH', + address: null, + rawAmount: '216333389734077345', + decimal: 18, + amount: '0.216333389734077345', + logo: 'https://api.rango.exchange/i/MTyH5i', + usdPrice: null, + }, + { + chain: 'ETH', + symbol: 'MATIC', + ticker: 'MATIC', + address: '0x7d1afa7b718fb893db30a3abc0cfc608aacfebb0', + rawAmount: '31663446408882142552', + decimal: 18, + amount: '31.663446408882142552', + logo: 'https://api.rango.exchange/i/xt6ATN', + usdPrice: 0.79, + }, + { + chain: 'ETH', + symbol: 'DAI', + ticker: 'DAI', + address: '0x6b175474e89094c44da98b954eedeac495271d0f', + rawAmount: '1987151466068153485', + decimal: 18, + amount: '1.987151466068153485', + logo: 'https://api.rango.exchange/i/yJvJre', + usdPrice: 0.999, + }, + { + chain: 'ETH', + symbol: 'TUSD', + ticker: 'TUSD', + address: '0x0000000000085d4780b73119b644ae5ecd22b376', + rawAmount: '16993200000000000000', + decimal: 18, + amount: '16.9932', + logo: 'https://api.rango.exchange/i/af3mkt', + usdPrice: 0.994, + }, + { + chain: 'ETH', + symbol: 'SUSHI', + ticker: 'SUSHI', + address: '0x6b3595068778dd592e39a122f4f5a5cf09c90fe2', + rawAmount: '3943357318101926305', + decimal: 18, + amount: '3.943357318101926305', + logo: 'https://api.rango.exchange/i/2GXZEZ', + usdPrice: 0.951, + }, + { + chain: 'ETH', + symbol: 'AAVE', + ticker: 'AAVE', + address: '0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9', + rawAmount: '25162269244382386', + decimal: 18, + amount: '0.025162269244382386', + logo: 'https://api.rango.exchange/i/ZizYhl', + usdPrice: 55.363, + }, + { + chain: 'ETH', + symbol: 'PERP', + ticker: 'PERP', + address: '0xbc396689893d065f41bc2c6ecbee5e0085233447', + rawAmount: '6774928920', + decimal: 18, + amount: '0.00000000677492892', + logo: 'https://api.rango.exchange/i/VrMbR6', + usdPrice: 0.39, + }, + { + chain: 'ETH', + symbol: 'STETH', + ticker: 'STETH', + address: '0xae7ab96520de3a18e5e111b5eaab095312d7fe84', + rawAmount: '39341623', + decimal: 18, + amount: '0.000000000039341623', + logo: null, + usdPrice: null, + }, + { + chain: 'ETH', + symbol: 'SHIB', + ticker: 'SHIB', + address: '0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce', + rawAmount: '414477447646226736858871', + decimal: 18, + amount: '414477.447646226736858871', + logo: 'https://api.rango.exchange/i/cbCyuY', + usdPrice: 0.00000824, + }, + { + chain: 'ETH', + symbol: 'EROWAN', + ticker: 'EROWAN', + address: '0x07bac35846e5ed502aa91adf6a9e7aa210f2dcbe', + rawAmount: '17095432307032160581', + decimal: 18, + amount: '17.095432307032160581', + logo: 'https://api.rango.exchange/i/X97ibo', + usdPrice: 0.000317, + }, + { + chain: 'ETH', + symbol: 'UST', + ticker: 'UST', + address: '0xa693b19d2931d498c5b318df961919bb4aee87a5', + rawAmount: '1000000', + decimal: 6, + amount: '1', + logo: 'https://api.rango.exchange/i/IvLUkp', + usdPrice: 0.02, + }, + { + chain: 'ETH', + symbol: 'XDATA', + ticker: 'XDATA', + address: '0x0cf0ee63788a0849fe5297f3407f701e122cc023', + rawAmount: '230414265395638755692', + decimal: 18, + amount: '230.414265395638755692', + logo: null, + usdPrice: null, + }, + { + chain: 'ETH', + symbol: 'bETH', + ticker: 'bETH', + address: '0x707f9118e33a9b8998bea41dd0d46f38bb963fc8', + rawAmount: '184000000000000', + decimal: 18, + amount: '0.000184', + logo: 'https://api.rango.exchange/tokens/TERRA/BETH.png', + usdPrice: null, + }, + { + chain: 'ETH', + symbol: 'AKSWAP.IO', + ticker: 'AKSWAP.IO', + address: '0x82dfdb2ec1aa6003ed4acba663403d7c2127ff67', + rawAmount: '250000000000000000000000', + decimal: 18, + amount: '250000', + logo: null, + usdPrice: null, + }, + { + chain: 'ETH', + symbol: 'WBNB', + ticker: 'WBNB', + address: '0x418d75f65a02b3d53b2418fb8e1fe493759c7605', + rawAmount: '10000000000000000', + decimal: 18, + amount: '0.01', + logo: 'https://api.rango.exchange/i/Xzflek', + usdPrice: 248.36, + }, + { + chain: 'ETH', + symbol: 'RANGO', + ticker: 'RANGO', + address: '0x5846d81d8e4a3b9cc53ce1dcdc12b6619ae3507d', + rawAmount: '40000000', + decimal: 6, + amount: '40', + logo: null, + usdPrice: null, + }, + { + chain: 'ETH', + symbol: 'LUNAV2.IO (LUNA TOKEN)', + ticker: 'LUNAV2.IO (LUNA TOKEN)', + address: '0xaf0b2fbedd5d1fda457580fb3dabad1f5c8bbc36', + rawAmount: '258542000000000000000000', + decimal: 18, + amount: '258542', + logo: null, + usdPrice: null, + }, + { + chain: 'ETH', + symbol: 'LUNA 2.0 (LUNAV2.IO)', + ticker: 'LUNA 2.0 (LUNAV2.IO)', + address: '0x471c3a7f132bc94938516cb2bf6f02c7521d2797', + rawAmount: '250457000000000000000000', + decimal: 18, + amount: '250457', + logo: null, + usdPrice: null, + }, + { + chain: 'ETH', + symbol: 'LIDOLP.COM', + ticker: 'LIDOLP.COM', + address: '0x0332d00ae8e9baa609edc48844f48fdd94ca9547', + rawAmount: '6000', + decimal: 0, + amount: '6000', + logo: null, + usdPrice: null, + }, + { + chain: 'ETH', + symbol: 'HBOT', + ticker: 'HBOT', + address: '0xe5097d9baeafb89f9bcb78c9290d545db5f9e9cb', + rawAmount: '155042558533708582423', + decimal: 18, + amount: '155.042558533708582423', + logo: null, + usdPrice: null, + }, + { + chain: 'ETH', + symbol: '1650811245.077F', + ticker: '1650811245.077F', + address: '0xba8d75baccc4d5c4bd814fde69267213052ea663', + rawAmount: '1000000000000000000', + decimal: 18, + amount: '1', + logo: null, + usdPrice: null, + }, + { + chain: 'ETH', + symbol: 'PWING', + ticker: 'PWING', + address: '0xdb0f18081b505a7de20b18ac41856bcb4ba86a1a', + rawAmount: '498133925', + decimal: 9, + amount: '0.498133925', + logo: 'https://api.rango.exchange/i/Ba5IQF', + usdPrice: null, + }, + { + chain: 'ETH', + symbol: 'VISIT [AAVE-SR.XYZ] AND CLAIM SPECIAL REWARDS', + ticker: 'VISIT [AAVE-SR.XYZ] AND CLAIM SPECIAL REWARDS', + address: '0xd1e61fcb6e26d4deffa77f21cc5b581c3afa95e2', + rawAmount: '920816400', + decimal: 6, + amount: '920.8164', + logo: null, + usdPrice: null, + }, + { + chain: 'ETH', + symbol: 'VISIT [AUSD.SHOP] AND SUPPLY OR BORROW USDT', + ticker: 'VISIT [AUSD.SHOP] AND SUPPLY OR BORROW USDT', + address: '0x38715ab4b9d4e00890773d7338d94778b0dfc0a8', + rawAmount: '2294101815', + decimal: 6, + amount: '2294.101815', + logo: null, + usdPrice: null, + }, + { + chain: 'ETH', + symbol: '[LIDOSR.XYZ] CLAIM YOUR SPECIAL REWARDS.', + ticker: '[LIDOSR.XYZ] CLAIM YOUR SPECIAL REWARDS.', + address: '0x511b5f248269c0b90b60e33ef9df744048c84a83', + rawAmount: '149260000', + decimal: 6, + amount: '149.26', + logo: null, + usdPrice: null, + }, + { + chain: 'ETH', + symbol: 'ENJOY [HTTPS://SPINGAME.ME]', + ticker: 'ENJOY [HTTPS://SPINGAME.ME]', + address: '0xcdc94877e4164d2e915fc5e8310155d661a995f1', + rawAmount: '2294101815', + decimal: 6, + amount: '2294.101815', + logo: null, + usdPrice: null, + }, + { + chain: 'ETH', + symbol: 'WMATIC', + ticker: 'WMATIC', + address: '0x7c9f4c87d911613fe9ca58b579f737911aad2d43', + rawAmount: '100000000000000000', + decimal: 18, + amount: '0.1', + logo: 'https://api.rango.exchange/i/QpOgNr', + usdPrice: null, + }, + { + chain: 'ETH', + symbol: '$ VISIT NFTGIFTX.COM TO CLAIM', + ticker: '$ VISIT NFTGIFTX.COM TO CLAIM', + address: '0x0d3716e3e411af431a6e87e715d4b05bbcd67000', + rawAmount: '4000', + decimal: 0, + amount: '4000', + logo: null, + usdPrice: null, + }, + ], + loading: false, + walletType: 'metamask', + isConnected: false, + error: false, + explorerUrl: + 'https://etherscan.io/address/0x2702d89c1c8658b49c45dd460deebcc45faec03c', + }, + ], + }, + { + name: 'AVAX_CCHAIN', + accounts: [ + { + address: '0x2702d89c1c8658b49c45dd460deebcc45faec03c', + balances: [ + { + chain: 'AVAX_CCHAIN', + symbol: 'BNB', + ticker: 'BNB', + address: '0x264c1383ea520f73dd837f915ef3a732e204a493', + rawAmount: '7107381667', + decimal: 18, + amount: '0.000000007107381667', + logo: 'https://api.rango.exchange/i/BtRUoA', + usdPrice: 247.386, + }, + { + chain: 'AVAX_CCHAIN', + symbol: 'TUSD', + ticker: 'TUSD', + address: '0x1c20e891bab6b1727d14da358fae2984ed9b59eb', + rawAmount: '2819919094', + decimal: 18, + amount: '0.000000002819919094', + logo: 'https://api.rango.exchange/i/UBghmk', + usdPrice: 1, + }, + { + chain: 'AVAX_CCHAIN', + symbol: 'SOL', + ticker: 'SOL', + address: '0xfe6b19286885a4f7f55adad09c3cd1f906d2478f', + rawAmount: '110', + decimal: 9, + amount: '0.00000011', + logo: 'https://api.rango.exchange/i/YhJ1nK', + usdPrice: null, + }, + { + chain: 'AVAX_CCHAIN', + symbol: 'OPENDAO.IS', + ticker: 'OPENDAO.IS', + address: '0xc03f94e49c944c4f118c3f97af7cce8f01df9430', + rawAmount: '10000000000000000000', + decimal: 18, + amount: '10', + logo: null, + usdPrice: null, + }, + { + chain: 'AVAX_CCHAIN', + symbol: 'IMX.A', + ticker: 'IMX.A', + address: '0xea6887e4a9cda1b77e70129e5fba830cdb5cddef', + rawAmount: '7119477388984802736', + decimal: 18, + amount: '7.119477388984802736', + logo: 'https://api.rango.exchange/i/qhi6I3', + usdPrice: 0.000139, + }, + { + chain: 'AVAX_CCHAIN', + symbol: 'AVAXCLASSIC.COM', + ticker: 'AVAXCLASSIC.COM', + address: '0x4c4f4f4122c3a80d30c1ad6ad2828953015bd52c', + rawAmount: '74041750000000000000', + decimal: 18, + amount: '74.04175', + logo: null, + usdPrice: null, + }, + { + chain: 'AVAX_CCHAIN', + symbol: 'ORBS', + ticker: 'ORBS', + address: '0x340fe1d898eccaad394e2ba0fc1f93d27c7b717a', + rawAmount: '7336115152', + decimal: 18, + amount: '0.000000007336115152', + logo: 'https://api.rango.exchange/i/hktmCG', + usdPrice: 0.0228, + }, + { + chain: 'AVAX_CCHAIN', + symbol: 'PENDLE', + ticker: 'PENDLE', + address: '0xfb98b335551a418cd0737375a2ea0ded62ea213b', + rawAmount: '43168168325557885527', + decimal: 18, + amount: '43.168168325557885527', + logo: 'https://api.rango.exchange/i/p4dkte', + usdPrice: 0.046, + }, + { + chain: 'AVAX_CCHAIN', + symbol: 'WMATIC', + ticker: 'WMATIC', + address: '0xf2f13f0b7008ab2fa4a2418f4ccc3684e49d20eb', + rawAmount: '45499998000000000000', + decimal: 18, + amount: '45.499998', + logo: 'https://api.rango.exchange/i/QpOgNr', + usdPrice: null, + }, + { + chain: 'AVAX_CCHAIN', + symbol: 'avaxUSDC', + ticker: 'avaxUSDC', + address: '0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e', + rawAmount: '15844946', + decimal: 6, + amount: '15.844946', + logo: 'https://api.rango.exchange/i/FHj2LZ', + usdPrice: null, + }, + { + chain: 'AVAX_CCHAIN', + symbol: 'SPELL', + ticker: 'SPELL', + address: '0xce1bffbd5374dac86a2893119683f4911a2f7814', + rawAmount: '144687727088072773130', + decimal: 18, + amount: '144.68772708807277313', + logo: 'https://api.rango.exchange/i/zW5ZK2', + usdPrice: 0.000535, + }, + { + chain: 'AVAX_CCHAIN', + symbol: 'WBNB', + ticker: 'WBNB', + address: '0x442f7f22b1ee2c842beaff52880d4573e9201158', + rawAmount: '57933890000000000', + decimal: 18, + amount: '0.05793389', + logo: 'https://api.rango.exchange/i/Xzflek', + usdPrice: null, + }, + { + chain: 'AVAX_CCHAIN', + symbol: 'GMX', + ticker: 'GMX', + address: '0x62edc0692bd897d2295872a9ffcac5425011c661', + rawAmount: '379543333707025854', + decimal: 18, + amount: '0.379543333707025854', + logo: 'https://api.rango.exchange/i/0aQTDd', + usdPrice: null, + }, + { + chain: 'AVAX_CCHAIN', + symbol: 'JOE', + ticker: 'JOE', + address: '0x6e84a6216ea6dacc71ee8e6b0a5b7322eebc0fdd', + rawAmount: '35980183723492368253', + decimal: 18, + amount: '35.980183723492368253', + logo: 'https://api.rango.exchange/i/Vw0Fv2', + usdPrice: 0.141, + }, + { + chain: 'AVAX_CCHAIN', + symbol: 'WETH.E', + ticker: 'WETH.E', + address: '0x49d5c2bdffac6ce2bfdb6640f4f80f226bc10bab', + rawAmount: '17684493183273648', + decimal: 18, + amount: '0.017684493183273648', + logo: 'https://api.rango.exchange/i/j9xgdC', + usdPrice: 1210.2, + }, + { + chain: 'AVAX_CCHAIN', + symbol: 'UST', + ticker: 'UST', + address: '0xb599c3590f42f8f995ecfa0f85d2980b76862fc1', + rawAmount: '3993', + decimal: 6, + amount: '0.003993', + logo: 'https://api.rango.exchange/i/0lk6id', + usdPrice: 0.02, + }, + { + chain: 'AVAX_CCHAIN', + symbol: 'USDT', + ticker: 'USDT', + address: '0xde3a24028580884448a5397872046a019649b084', + rawAmount: '35748023', + decimal: 6, + amount: '35.748023', + logo: null, + usdPrice: null, + }, + { + chain: 'AVAX_CCHAIN', + symbol: '24DROP.NET', + ticker: '24DROP.NET', + address: '0x2be494c06316c0d7371250419a9c659a0752ecb3', + rawAmount: '200000000000', + decimal: 8, + amount: '2000', + logo: null, + usdPrice: null, + }, + { + chain: 'AVAX_CCHAIN', + symbol: 'WETH', + ticker: 'WETH', + address: '0x8b82a291f83ca07af22120aba21632088fc92931', + rawAmount: '5200000000000000', + decimal: 18, + amount: '0.0052', + logo: 'https://api.rango.exchange/i/wNnplE', + usdPrice: null, + }, + { + chain: 'AVAX_CCHAIN', + symbol: '0006648936.E9CB', + ticker: '0006648936.E9CB', + address: '0x38dcf0532699b880e6a125f7d918380524cd60a6', + rawAmount: '10000000000000000000', + decimal: 18, + amount: '10', + logo: null, + usdPrice: null, + }, + { + chain: 'AVAX_CCHAIN', + symbol: '$ FREE CLAIM AND PLAY', + ticker: '$ FREE CLAIM AND PLAY', + address: '0xd23345e0e6340616b1cf7200762d0289547ccf87', + rawAmount: '50000000000', + decimal: 8, + amount: '500', + logo: null, + usdPrice: null, + }, + { + chain: 'AVAX_CCHAIN', + symbol: 'AMPL', + ticker: 'AMPL', + address: '0x027dbca046ca156de9622cd1e2d907d375e53aa7', + rawAmount: '8302538186', + decimal: 9, + amount: '8.302538186', + logo: 'https://api.rango.exchange/i/AiXtEj', + usdPrice: 1.078, + }, + { + chain: 'AVAX_CCHAIN', + symbol: 'USDT', + ticker: 'USDT', + address: '0x9702230a8ea53601f5cd2dc00fdbc13d4df4a8c7', + rawAmount: '35280647', + decimal: 6, + amount: '35.280647', + logo: 'https://api.rango.exchange/i/9e1hH8', + usdPrice: 1.005, + }, + { + chain: 'AVAX_CCHAIN', + symbol: 'MNEAV', + ticker: 'MNEAV', + address: '0xf9d922c055a3f1759299467dafafdf43be844f7a', + rawAmount: '30000000000000', + decimal: 8, + amount: '300000', + logo: null, + usdPrice: null, + }, + { + chain: 'AVAX_CCHAIN', + symbol: 'USDC.E', + ticker: 'USDC.E', + address: '0xa7d7079b0fead91f3e65f86e8915cb59c1a4c664', + rawAmount: '92749613', + decimal: 6, + amount: '92.749613', + logo: 'https://api.rango.exchange/i/j9eYAa', + usdPrice: 1, + }, + { + chain: 'AVAX_CCHAIN', + symbol: 'BLIZZ', + ticker: 'BLIZZ', + address: '0xb147656604217a03fe2c73c4838770df8d9d21b8', + rawAmount: '135470487277154696313', + decimal: 18, + amount: '135.470487277154696313', + logo: null, + usdPrice: null, + }, + { + chain: 'AVAX_CCHAIN', + symbol: 'USDT', + ticker: 'USDT', + address: '0xc7198437980c041c805a1edcba50c1ce5db95118', + rawAmount: '36943578', + decimal: 6, + amount: '36.943578', + logo: 'https://api.rango.exchange/i/niIihm', + usdPrice: null, + }, + { + chain: 'AVAX_CCHAIN', + symbol: 'MIM', + ticker: 'MIM', + address: '0x130966628846bfd36ff31a822705796e8cb8c18d', + rawAmount: '13661627814282704200', + decimal: 18, + amount: '13.6616278142827042', + logo: 'https://api.rango.exchange/i/RmsZZl', + usdPrice: 0.998, + }, + { + chain: 'AVAX_CCHAIN', + symbol: 'WAVAX', + ticker: 'WAVAX', + address: '0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7', + rawAmount: '553221840010000000', + decimal: 18, + amount: '0.55322184001', + logo: 'https://api.rango.exchange/i/9bwFaG', + usdPrice: 11.97, + }, + { + chain: 'AVAX_CCHAIN', + symbol: 'AVAX', + ticker: 'AVAX', + address: null, + rawAmount: '3293457782165450159', + decimal: 18, + amount: '3.293457782165450159', + logo: 'https://api.rango.exchange/i/kX4edQ', + usdPrice: 11.77, + }, + ], + loading: false, + walletType: 'metamask', + isConnected: false, + error: false, + explorerUrl: + 'https://snowtrace.io/address/0x2702d89c1c8658b49c45dd460deebcc45faec03c', + }, + ], + }, + { + name: 'ARBITRUM', + accounts: [ + { + address: '0x2702d89c1c8658b49c45dd460deebcc45faec03c', + balances: [ + { + chain: 'ARBITRUM', + symbol: 'JONES', + ticker: 'JONES', + address: '0x10393c20975cf177a3513071bc110f7962cd67da', + rawAmount: '1933131668197791405', + decimal: 18, + amount: '1.933131668197791405', + logo: 'https://api.rango.exchange/i/FUexNn', + usdPrice: null, + }, + { + chain: 'ARBITRUM', + symbol: 'DAI', + ticker: 'DAI', + address: '0xda10009cbd5d07dd0cecc66161fc93d7c9000da1', + rawAmount: '19526880162738340394', + decimal: 18, + amount: '19.526880162738340394', + logo: 'https://api.rango.exchange/i/yJvJre', + usdPrice: 1, + }, + { + chain: 'ARBITRUM', + symbol: 'MAGIC', + ticker: 'MAGIC', + address: '0x539bde0d7dbd336b79148aa742883198bbf60342', + rawAmount: '9059590242', + decimal: 18, + amount: '0.000000009059590242', + logo: 'https://api.rango.exchange/i/tazAGH', + usdPrice: null, + }, + { + chain: 'ARBITRUM', + symbol: 'UNI', + ticker: 'UNI', + address: '0xfa7f8980b0f1e64a2062791cc3b0871572f1f7f0', + rawAmount: '2392264468', + decimal: 18, + amount: '0.000000002392264468', + logo: 'https://api.rango.exchange/i/n8RX8F', + usdPrice: 5.246, + }, + { + chain: 'ARBITRUM', + symbol: 'HND', + ticker: 'HND', + address: '0x10010078a54396f62c96df8532dc2b4847d47ed3', + rawAmount: '150921229948215461100', + decimal: 18, + amount: '150.9212299482154611', + logo: 'https://api.rango.exchange/i/2SsRdS', + usdPrice: null, + }, + { + chain: 'ARBITRUM', + symbol: 'GMX', + ticker: 'GMX', + address: '0xfc5a1a6eb076a2c7ad06ed22c90d7e710e35ad0a', + rawAmount: '128216748136770842', + decimal: 18, + amount: '0.128216748136770842', + logo: 'https://api.rango.exchange/i/vCEMKq', + usdPrice: 46.259, + }, + { + chain: 'ARBITRUM', + symbol: 'RIFTDAO.NET', + ticker: 'RIFTDAO.NET', + address: '0xe1cc7371f2c2b7ebb1af2b0c053ec86596e3f6d0', + rawAmount: '738097000000000000000000', + decimal: 18, + amount: '738097', + logo: null, + usdPrice: null, + }, + { + chain: 'ARBITRUM', + symbol: 'USDT', + ticker: 'USDT', + address: '0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9', + rawAmount: '40064700', + decimal: 6, + amount: '40.0647', + logo: 'https://api.rango.exchange/i/aR1yFx', + usdPrice: 1, + }, + { + chain: 'ARBITRUM', + symbol: 'BADGER', + ticker: 'BADGER', + address: '0xbfa641051ba0a0ad1b0acf549a89536a0d76472e', + rawAmount: '2089136975803812618', + decimal: 18, + amount: '2.089136975803812618', + logo: 'https://api.rango.exchange/i/aaEEDq', + usdPrice: 2.26, + }, + { + chain: 'ARBITRUM', + symbol: 'USDC', + ticker: 'USDC', + address: '0xff970a61a04b1ca14834a43f5de4533ebddb5cc8', + rawAmount: '55298622', + decimal: 6, + amount: '55.298622', + logo: 'https://api.rango.exchange/i/ns0AMf', + usdPrice: 1, + }, + { + chain: 'ARBITRUM', + symbol: 'MIM', + ticker: 'MIM', + address: '0xfea7a6a0b346362bf88a9e4a88416b77a57d6c2a', + rawAmount: '10100000000000000000', + decimal: 18, + amount: '10.1', + logo: 'https://api.rango.exchange/i/JKT05f', + usdPrice: 0.998, + }, + { + chain: 'ARBITRUM', + symbol: 'AXLUSDC', + ticker: 'AXLUSDC', + address: '0xeb466342c4d449bc9f53a865d5cb90586f405215', + rawAmount: '5500000', + decimal: 6, + amount: '5.5', + logo: null, + usdPrice: null, + }, + { + chain: 'ARBITRUM', + symbol: 'ETH', + ticker: 'ETH', + address: null, + rawAmount: '82905399282605538', + decimal: 18, + amount: '0.082905399282605538', + logo: 'https://api.rango.exchange/i/MTyH5i', + usdPrice: null, + }, + ], + loading: false, + walletType: 'metamask', + isConnected: false, + error: false, + explorerUrl: + 'https://arbiscan.io/address/0x2702d89c1c8658b49c45dd460deebcc45faec03c', + }, + ], + }, + { + name: 'FANTOM', + accounts: [ + { + address: '0x2702d89c1c8658b49c45dd460deebcc45faec03c', + balances: [ + { + chain: 'FANTOM', + symbol: 'FBNB', + ticker: 'FBNB', + address: '0x27f26f00e1605903645bbabc0a73e35027dccd45', + rawAmount: '15851797577951', + decimal: 18, + amount: '0.000015851797577951', + logo: 'https://api.rango.exchange/tokens/FANTOM/FBNB.png', + usdPrice: null, + }, + { + chain: 'FANTOM', + symbol: 'WETH', + ticker: 'WETH', + address: '0x74b23882a30290451a17c44f4f05243b6b58c76d', + rawAmount: '2171678666801825', + decimal: 18, + amount: '0.002171678666801825', + logo: 'https://api.rango.exchange/tokens/FANTOM/WETH.png', + usdPrice: null, + }, + { + chain: 'FANTOM', + symbol: 'FXS', + ticker: 'FXS', + address: '0x7d016eec9c25232b01f23ef992d98ca97fc2af5a', + rawAmount: '8129029359551099', + decimal: 18, + amount: '0.008129029359551099', + logo: 'https://api.rango.exchange/i/TVDwaE', + usdPrice: null, + }, + { + chain: 'FANTOM', + symbol: 'WAVAX', + ticker: 'WAVAX', + address: '0x511d35c52a3c244e7b8bd92c0c297755fbd89212', + rawAmount: '103423419794091413', + decimal: 18, + amount: '0.103423419794091413', + logo: 'https://api.rango.exchange/tokens/FANTOM/WAVAX.png', + usdPrice: null, + }, + { + chain: 'FANTOM', + symbol: 'WOO', + ticker: 'WOO', + address: '0x6626c47c00f1d87902fc13eecfac3ed06d5e8d8a', + rawAmount: '3069453396', + decimal: 18, + amount: '0.000000003069453396', + logo: 'https://api.rango.exchange/i/UuEujP', + usdPrice: null, + }, + { + chain: 'FANTOM', + symbol: 'SWAPFTM.COM', + ticker: 'SWAPFTM.COM', + address: '0x87e377820010d818aa316f8c3f1c2b9d025eb5ee', + rawAmount: '100000000000000000000', + decimal: 18, + amount: '100', + logo: null, + usdPrice: null, + }, + { + chain: 'FANTOM', + symbol: 'BIFI', + ticker: 'BIFI', + address: '0xd6070ae98b8069de6b494332d1a1a81b6179d960', + rawAmount: '5427265333', + decimal: 18, + amount: '0.000000005427265333', + logo: 'https://api.rango.exchange/i/euTXdM', + usdPrice: null, + }, + { + chain: 'FANTOM', + symbol: 'BNB', + ticker: 'BNB', + address: '0xd67de0e0a0fd7b15dc8348bb9be742f3c5850454', + rawAmount: '4343993985', + decimal: 18, + amount: '0.000000004343993985', + logo: 'https://api.rango.exchange/i/Yj2w83', + usdPrice: null, + }, + { + chain: 'FANTOM', + symbol: 'NUSD', + ticker: 'NUSD', + address: '0xed2a7edd7413021d440b09d654f3b87712abab66', + rawAmount: '1993985245375892955', + decimal: 18, + amount: '1.993985245375892955', + logo: null, + usdPrice: null, + }, + { + chain: 'FANTOM', + symbol: 'MIM', + ticker: 'MIM', + address: '0x82f0b8b456c1a451378467398982d4834b6829c1', + rawAmount: '38400000001430563305', + decimal: 18, + amount: '38.400000001430563305', + logo: 'https://api.rango.exchange/i/ceBRSU', + usdPrice: null, + }, + { + chain: 'FANTOM', + symbol: '888CRYPTO.PRO', + ticker: '888CRYPTO.PRO', + address: '0x7082ca5058c358997063400ad78306b16a5c30d9', + rawAmount: '150000000000000', + decimal: 8, + amount: '1500000', + logo: null, + usdPrice: null, + }, + { + chain: 'FANTOM', + symbol: '2XCO', + ticker: '2XCO', + address: '0xcaef42682040a19e09eb8a6773f17da81b0604c1', + rawAmount: '9500000000000', + decimal: 8, + amount: '95000', + logo: null, + usdPrice: null, + }, + { + chain: 'FANTOM', + symbol: '$ AIRDROP IN CAKE (MULTICHAIN)', + ticker: '$ AIRDROP IN CAKE (MULTICHAIN)', + address: '0xb502b79c9ec490c4eee130a03370d490b069e59b', + rawAmount: '50000000000', + decimal: 8, + amount: '500', + logo: null, + usdPrice: null, + }, + { + chain: 'FANTOM', + symbol: 'USDC', + ticker: 'USDC', + address: '0x04068da6c83afcfa0e13ba15a6696662335d5b75', + rawAmount: '268477851', + decimal: 6, + amount: '268.477851', + logo: 'https://api.rango.exchange/i/pva3ih', + usdPrice: null, + }, + { + chain: 'FANTOM', + symbol: '0CASINO.IO', + ticker: '0CASINO.IO', + address: '0x383c5e5a05ba830579adc2fccd6403894e1caa59', + rawAmount: '150000000000000', + decimal: 8, + amount: '1500000', + logo: null, + usdPrice: null, + }, + { + chain: 'FANTOM', + symbol: 'WFTM', + ticker: 'WFTM', + address: '0x21be370d5312f44cb42ce377bc9b8a0cef1a4c83', + rawAmount: '262664414658966373114', + decimal: 18, + amount: '262.664414658966373114', + logo: 'https://api.rango.exchange/i/auYSf8', + usdPrice: null, + }, + { + chain: 'FANTOM', + symbol: 'ETH-1INCH.IO', + ticker: 'ETH-1INCH.IO', + address: '0x5a7aad61871a39a972c11aa9cd48e8df1e10311d', + rawAmount: '870000000000000000', + decimal: 18, + amount: '0.87', + logo: null, + usdPrice: null, + }, + { + chain: 'FANTOM', + symbol: 'BUSD', + ticker: 'BUSD', + address: '0xc931f61b1534eb21d8c11b24f3f5ab2471d4ab50', + rawAmount: '996216277676653329', + decimal: 18, + amount: '0.996216277676653329', + logo: 'https://api.rango.exchange/i/zOV927', + usdPrice: null, + }, + { + chain: 'FANTOM', + symbol: 'DAI', + ticker: 'DAI', + address: '0x8d11ec38a3eb5e956b052f67da8bdc9bef8abf3e', + rawAmount: '6907579712', + decimal: 18, + amount: '0.000000006907579712', + logo: 'https://api.rango.exchange/i/iIxCAk', + usdPrice: null, + }, + { + chain: 'FANTOM', + symbol: 'RBNB', + ticker: 'RBNB', + address: '0xc3394bb9b118b3c9b5b8da297e20c08878edbed4', + rawAmount: '100000000000000', + decimal: 18, + amount: '0.0001', + logo: null, + usdPrice: null, + }, + { + chain: 'FANTOM', + symbol: 'IMX', + ticker: 'IMX', + address: '0xea38f1ccf77bf43f352636241b05dd8f6f5f52b2', + rawAmount: '116509710', + decimal: 18, + amount: '0.00000000011650971', + logo: 'https://api.rango.exchange/i/3nnwQN', + usdPrice: null, + }, + { + chain: 'FANTOM', + symbol: '24DROP.NET', + ticker: '24DROP.NET', + address: '0x67a58a20f087a600aec491d5cd329ba597b71aa7', + rawAmount: '200000000000', + decimal: 8, + amount: '2000', + logo: null, + usdPrice: null, + }, + { + chain: 'FANTOM', + symbol: 'MNEF', + ticker: 'MNEF', + address: '0xf9d922c055a3f1759299467dafafdf43be844f7a', + rawAmount: '30000000000000', + decimal: 8, + amount: '300000', + logo: null, + usdPrice: null, + }, + { + chain: 'FANTOM', + symbol: ' 0VISIT [003ERRORNOTICE.COM] TO SECURE YOUR FUNDS.', + ticker: ' 0VISIT [003ERRORNOTICE.COM] TO SECURE YOUR FUNDS.', + address: '0x98e4b3866602fc72ff766616e15146c9153b473b', + rawAmount: '2200000000000000000000', + decimal: 18, + amount: '2200', + logo: null, + usdPrice: null, + }, + { + chain: 'FANTOM', + symbol: '0CASINO.IO', + ticker: '0CASINO.IO', + address: '0xbe1b23d652580052dd8e774e0e7e92cf5cc31bb3', + rawAmount: '150000000000000', + decimal: 8, + amount: '1500000', + logo: null, + usdPrice: null, + }, + { + chain: 'FANTOM', + symbol: 'CRV', + ticker: 'CRV', + address: '0x1e4f97b9f9f913c46f1632781732927b9019c68b', + rawAmount: '2433604212107615486', + decimal: 18, + amount: '2.433604212107615486', + logo: 'https://api.rango.exchange/i/60avSg', + usdPrice: null, + }, + { + chain: 'FANTOM', + symbol: '4GAMBLING.IO', + ticker: '4GAMBLING.IO', + address: '0xe4517100ae62cbeefc363e59d0f8df5754dc7e40', + rawAmount: '300000000000000', + decimal: 8, + amount: '3000000', + logo: null, + usdPrice: null, + }, + { + chain: 'FANTOM', + symbol: 'USDT', + ticker: 'USDT', + address: '0x049d68029688eabf473097a2fc38ef61633a3c7a', + rawAmount: '63082358', + decimal: 6, + amount: '63.082358', + logo: 'https://api.rango.exchange/i/niIihm', + usdPrice: null, + }, + { + chain: 'FANTOM', + symbol: 'FTM', + ticker: 'FTM', + address: null, + rawAmount: '1346689531144440162650', + decimal: 18, + amount: '1346.68953114444016265', + logo: 'https://api.rango.exchange/i/JC2fWD', + usdPrice: null, + }, + ], + loading: false, + walletType: 'metamask', + isConnected: false, + error: false, + explorerUrl: + 'https://ftmscan.com/address/0x2702d89c1c8658b49c45dd460deebcc45faec03c', + }, + ], + }, + { + name: 'OPTIMISM', + accounts: [ + { + address: '0x2702d89c1c8658b49c45dd460deebcc45faec03c', + balances: [ + { + chain: 'OPTIMISM', + symbol: 'USDT', + ticker: 'USDT', + address: '0x94b008aa00579c1307b0ef2c499ad98a8ce58e58', + rawAmount: '22874529', + decimal: 6, + amount: '22.874529', + logo: 'https://api.rango.exchange/i/K6j5VN', + usdPrice: 1, + }, + { + chain: 'OPTIMISM', + symbol: 'USDC', + ticker: 'USDC', + address: '0x7f5c764cbc14f9669b88837ca1490cca17c31607', + rawAmount: '39610548', + decimal: 6, + amount: '39.610548', + logo: 'https://api.rango.exchange/i/e4x0s8', + usdPrice: 0.999, + }, + { + chain: 'OPTIMISM', + symbol: 'WETH', + ticker: 'WETH', + address: '0x4200000000000000000000000000000000000006', + rawAmount: '30671676019131723', + decimal: 18, + amount: '0.030671676019131723', + logo: 'https://api.rango.exchange/i/yZ9N1N', + usdPrice: 1207.06, + }, + { + chain: 'OPTIMISM', + symbol: 'DAI', + ticker: 'DAI', + address: '0xda10009cbd5d07dd0cecc66161fc93d7c9000da1', + rawAmount: '1535439265', + decimal: 18, + amount: '0.000000001535439265', + logo: 'https://api.rango.exchange/i/zyZx0X', + usdPrice: 1, + }, + { + chain: 'OPTIMISM', + symbol: 'ETH', + ticker: 'ETH', + address: null, + rawAmount: '3809903995186154', + decimal: 18, + amount: '0.003809903995186154', + logo: 'https://api.rango.exchange/i/MTyH5i', + usdPrice: null, + }, + ], + loading: false, + walletType: 'metamask', + isConnected: false, + error: false, + explorerUrl: + 'https://optimistic.etherscan.io/address/0x2702d89c1c8658b49c45dd460deebcc45faec03c', + }, + ], + }, + { + name: 'OKC', + accounts: [ + { + address: '0x2702d89c1c8658b49c45dd460deebcc45faec03c', + balances: [], + loading: false, + walletType: 'metamask', + isConnected: false, + error: true, + explorerUrl: + 'https://www.oklink.com/en/okc/address/0x2702d89c1c8658b49c45dd460deebcc45faec03c', + }, + ], + }, + { + name: 'CRONOS', + accounts: [ + { + address: '0x2702d89c1c8658b49c45dd460deebcc45faec03c', + balances: [ + { + chain: 'CRONOS', + symbol: 'WETH', + ticker: 'WETH', + address: '0xe44fd7fcb2b1581822d0c862b68222998a0c299a', + rawAmount: '4788770370', + decimal: 18, + amount: '0.00000000478877037', + logo: 'https://api.rango.exchange/i/j9xgdC', + usdPrice: 1210.2, + }, + { + chain: 'CRONOS', + symbol: 'AUTO', + ticker: 'AUTO', + address: '0x0dcb0cb0120d355cde1ce56040be57add0185baa', + rawAmount: '43013763072696143', + decimal: 18, + amount: '0.043013763072696143', + logo: 'https://api.rango.exchange/i/YxjmF0', + usdPrice: 222.98, + }, + { + chain: 'CRONOS', + symbol: 'CRONOSCLASSIC.COM', + ticker: 'CRONOSCLASSIC.COM', + address: '0x772c96ed2f99d84c2a83e67fbada9a1db4303be1', + rawAmount: '9000000000000000000000', + decimal: 18, + amount: '9000', + logo: null, + usdPrice: null, + }, + { + chain: 'CRONOS', + symbol: 'BNB', + ticker: 'BNB', + address: '0xfa9343c3897324496a05fc75abed6bac29f8a40f', + rawAmount: '86000000000000000', + decimal: 18, + amount: '0.086', + logo: 'https://api.rango.exchange/i/B4ULZJ', + usdPrice: 248.28, + }, + { + chain: 'CRONOS', + symbol: 'USDT', + ticker: 'USDT', + address: '0x66e428c3f67a68878562e79a0234c1f83c208770', + rawAmount: '1287808', + decimal: 6, + amount: '1.287808', + logo: 'https://api.rango.exchange/i/GJxbOP', + usdPrice: 1, + }, + { + chain: 'CRONOS', + symbol: 'CRONOSCLASSIC.COM', + ticker: 'CRONOSCLASSIC.COM', + address: '0x75f920403641ddbd66f8ce3ddd3a648ddb496c89', + rawAmount: '9000000000000000000000', + decimal: 18, + amount: '9000', + logo: null, + usdPrice: null, + }, + { + chain: 'CRONOS', + symbol: 'CRO', + ticker: 'CRO', + address: null, + rawAmount: '218462428966917726855', + decimal: 18, + amount: '218.462428966917726855', + logo: 'https://api.rango.exchange/i/S3tFKF', + usdPrice: 0.0579, + }, + ], + loading: false, + walletType: 'metamask', + isConnected: false, + error: false, + explorerUrl: + 'https://cronoscan.com/address/0x2702d89c1c8658b49c45dd460deebcc45faec03c', + }, + ], + }, + { + name: 'MOONRIVER', + accounts: [ + { + address: '0x2702d89c1c8658b49c45dd460deebcc45faec03c', + balances: [ + { + chain: 'MOONRIVER', + symbol: 'MOVR', + ticker: 'MOVR', + address: null, + rawAmount: '1409467396930959879', + decimal: 18, + amount: '1.409467396930959879', + logo: 'https://api.rango.exchange/i/AKXDjV', + usdPrice: null, + }, + ], + loading: false, + walletType: 'metamask', + isConnected: false, + error: false, + explorerUrl: + 'https://moonriver.moonscan.io/address/0x2702d89c1c8658b49c45dd460deebcc45faec03c', + }, + ], + }, + { + name: 'MOONBEAM', + accounts: [ + { + address: '0x2702d89c1c8658b49c45dd460deebcc45faec03c', + balances: [ + { + chain: 'MOONBEAM', + symbol: 'GLMR', + ticker: 'GLMR', + address: null, + rawAmount: '7637316155712999392', + decimal: 18, + amount: '7.637316155712999392', + logo: 'https://api.rango.exchange/i/Ra0xKh', + usdPrice: 0.343, + }, + ], + loading: false, + walletType: 'metamask', + isConnected: false, + error: false, + explorerUrl: + 'https://moonbeam.moonscan.io/address/0x2702d89c1c8658b49c45dd460deebcc45faec03c', + }, + ], + }, + { + name: 'HECO', + accounts: [ + { + address: '0x2702d89c1c8658b49c45dd460deebcc45faec03c', + balances: [ + { + chain: 'HECO', + symbol: 'HT', + ticker: 'HT', + address: null, + rawAmount: '8900958749249974840', + decimal: 18, + amount: '8.90095874924997484', + logo: 'https://api.rango.exchange/i/9uAYzf', + usdPrice: 5.361, + }, + ], + loading: false, + walletType: 'metamask', + isConnected: false, + error: false, + explorerUrl: + 'https://hecoinfo.com/address/0x2702d89c1c8658b49c45dd460deebcc45faec03c', + }, + ], + }, + { + name: 'AURORA', + accounts: [ + { + address: '0x2702d89c1c8658b49c45dd460deebcc45faec03c', + balances: [ + { + chain: 'AURORA', + symbol: 'MATIC', + ticker: 'MATIC', + address: '0x6ab6d61428fde76768d7b45d8bfeec19c6ef91a8', + rawAmount: '4963601767', + decimal: 18, + amount: '0.000000004963601767', + logo: 'https://api.rango.exchange/i/yVbC8U', + usdPrice: 0.793, + }, + { + chain: 'AURORA', + symbol: 'AVAX', + ticker: 'AVAX', + address: '0x80a16016cc4a2e6a2caca8a4a498b1699ff0f844', + rawAmount: '2088345237', + decimal: 18, + amount: '0.000000002088345237', + logo: 'https://api.rango.exchange/i/kX4edQ', + usdPrice: 11.77, + }, + { + chain: 'AURORA', + symbol: 'WETH', + ticker: 'WETH', + address: '0xc9bdeed33cd01541e1eed10f90519d2c06fe3feb', + rawAmount: '1000000328916822', + decimal: 18, + amount: '0.001000000328916822', + logo: 'https://api.rango.exchange/i/3h0NwB', + usdPrice: 1272.743, + }, + { + chain: 'AURORA', + symbol: 'USDC', + ticker: 'USDC', + address: '0xb12bfca5a55806aaf64e99521918a4bf0fc40802', + rawAmount: '25059116', + decimal: 6, + amount: '25.059116', + logo: 'https://api.rango.exchange/i/UfM0ap', + usdPrice: 0.998, + }, + { + chain: 'AURORA', + symbol: 'USDT', + ticker: 'USDT', + address: '0x4988a896b1227218e4a686fde5eabdcabd91571f', + rawAmount: '9373920', + decimal: 6, + amount: '9.37392', + logo: 'https://api.rango.exchange/i/sq7c5G', + usdPrice: 1.005, + }, + { + chain: 'AURORA', + symbol: 'ATLUNA', + ticker: 'ATLUNA', + address: '0xc4bdd27c33ec7daa6fcfd8532ddb524bf4038096', + rawAmount: '7269857397', + decimal: 18, + amount: '0.000000007269857397', + logo: 'https://api.rango.exchange/i/kIZ1fy', + usdPrice: null, + }, + { + chain: 'AURORA', + symbol: 'PICKLE', + ticker: 'PICKLE', + address: '0x291c8fceaca3342b29cc36171deb98106f712c66', + rawAmount: '3462515627985423594', + decimal: 18, + amount: '3.462515627985423594', + logo: 'https://api.rango.exchange/i/LPaa2J', + usdPrice: null, + }, + { + chain: 'AURORA', + symbol: 'PAPR', + ticker: 'PAPR', + address: '0xa5c09de3aa1cdb5cb190be66c77e033be1ca594a', + rawAmount: '163912004957041283', + decimal: 18, + amount: '0.163912004957041283', + logo: 'https://api.rango.exchange/i/sXsnQu', + usdPrice: 0.452, + }, + { + chain: 'AURORA', + symbol: 'PRNTR', + ticker: 'PRNTR', + address: '0x29daeb6a2a87b159f5fee1f19ec6ccaf4ef2acca', + rawAmount: '307884579855694445', + decimal: 18, + amount: '0.307884579855694445', + logo: 'https://api.rango.exchange/i/Uf33Cw', + usdPrice: 0.602, + }, + ], + loading: false, + walletType: 'metamask', + isConnected: false, + error: false, + explorerUrl: + 'https://explorer.mainnet.aurora.dev/address/0x2702d89c1c8658b49c45dd460deebcc45faec03c', + }, + ], + }, + { + name: 'HARMONY', + accounts: [ + { + address: '0x2702d89c1c8658b49c45dd460deebcc45faec03c', + balances: [ + { + chain: 'HARMONY', + symbol: 'ONE', + ticker: 'ONE', + address: null, + rawAmount: '48801440860746527271', + decimal: 18, + amount: '48.801440860746527271', + logo: 'https://api.rango.exchange/i/gpMxOP', + usdPrice: 0.109, + }, + { + chain: 'HARMONY', + symbol: '1DAI', + ticker: '1DAI', + address: '0xef977d2f931c1978db5f6747666fa1eacb0d0339', + rawAmount: '3951799808', + decimal: 18, + amount: '0.000000003951799808', + logo: 'https://api.rango.exchange/i/7UdDll', + usdPrice: 0.961, + }, + { + chain: 'HARMONY', + symbol: '1USDC', + ticker: '1USDC', + address: '0x985458e523db3d53125813ed68c274899e9dfab4', + rawAmount: '4480342', + decimal: 6, + amount: '4.480342', + logo: 'https://api.rango.exchange/i/4eEvKA', + usdPrice: 1.006, + }, + { + chain: 'HARMONY', + symbol: 'bscBUSD', + ticker: 'bscBUSD', + address: '0x0ab43550a6915f9f67d0c454c2e90385e6497eaa', + rawAmount: '12000000009249314069', + decimal: 18, + amount: '12.000000009249314069', + logo: 'https://api.rango.exchange/i/uZMcKl', + usdPrice: 0.946, + }, + { + chain: 'HARMONY', + symbol: 'BUSD', + ticker: 'BUSD', + address: '0xe176ebe47d621b984a73036b9da5d834411ef734', + rawAmount: '6201993388439322612', + decimal: 18, + amount: '6.201993388439322612', + logo: 'https://api.rango.exchange/i/qWxf4I', + usdPrice: 0.84, + }, + { + chain: 'HARMONY', + symbol: 'UST', + ticker: 'UST', + address: '0x224e64ec1bdce3870a6a6c777edd450454068fec', + rawAmount: '5449588252', + decimal: 18, + amount: '0.000000005449588252', + logo: 'https://api.rango.exchange/i/wmyHK9', + usdPrice: 0.194, + }, + { + chain: 'HARMONY', + symbol: 'WONE', + ticker: 'WONE', + address: '0xcf664087a5bb0237a0bad6742852ec6c8d69a27a', + rawAmount: '2000000000624440839', + decimal: 18, + amount: '2.000000000624440839', + logo: 'https://api.rango.exchange/i/u283bK', + usdPrice: 0.109, + }, + { + chain: 'HARMONY', + symbol: 'BIFI', + ticker: 'BIFI', + address: '0x6ab6d61428fde76768d7b45d8bfeec19c6ef91a8', + rawAmount: '6500000000000000', + decimal: 18, + amount: '0.0065', + logo: 'https://api.rango.exchange/i/EuFqit', + usdPrice: 325.37, + }, + { + chain: 'HARMONY', + symbol: 'JENN', + ticker: 'JENN', + address: '0x2f459dd7cbcc9d8323621f6fb430cd0555411e7b', + rawAmount: '82666600666715773', + decimal: 18, + amount: '0.082666600666715773', + logo: 'https://api.rango.exchange/i/5CYmzQ', + usdPrice: 0.00429, + }, + { + chain: 'HARMONY', + symbol: 'LMA', + ticker: 'LMA', + address: '0x7d0546dbb1dca8108d99aa389a8e9ce0c40b2370', + rawAmount: '2335555755', + decimal: 18, + amount: '0.000000002335555755', + logo: 'https://api.rango.exchange/i/A8Kw4L', + usdPrice: 33.26, + }, + ], + loading: false, + walletType: 'metamask', + isConnected: false, + error: false, + explorerUrl: + 'https://explorer.harmony.one/address/0x2702d89c1c8658b49c45dd460deebcc45faec03c', + }, + ], + }, + { + name: 'EVMOS', + accounts: [ + { + address: '0x2702d89c1c8658b49c45dd460deebcc45faec03c', + balances: [], + loading: false, + walletType: 'metamask', + isConnected: false, + error: true, + explorerUrl: + 'https://evm.evmos.org/address/0x2702d89c1c8658b49c45dd460deebcc45faec03c', + }, + ], + }, + { + name: 'GNOSIS', + accounts: [ + { + address: '0x2702d89c1c8658b49c45dd460deebcc45faec03c', + balances: [], + loading: false, + walletType: 'metamask', + isConnected: false, + error: true, + explorerUrl: + 'https://blockscout.com/xdai/mainnet/address/0x2702d89c1c8658b49c45dd460deebcc45faec03c', + }, + ], + }, + { + name: 'FUSE', + accounts: [ + { + address: '0x2702d89c1c8658b49c45dd460deebcc45faec03c', + balances: [], + loading: false, + walletType: 'metamask', + isConnected: false, + error: true, + explorerUrl: + 'https://explorer.fuse.io/address/0x2702d89c1c8658b49c45dd460deebcc45faec03c', + }, + ], + }, + { + name: 'BOBA', + accounts: [ + { + address: '0x2702d89c1c8658b49c45dd460deebcc45faec03c', + balances: [ + { + chain: 'BOBA', + symbol: 'MIM', + ticker: 'MIM', + address: '0x218c3c3d49d0e7b37aff0d8bb079de36ae61a4c0', + rawAmount: '105604450000000000', + decimal: 18, + amount: '0.10560445', + logo: 'https://api.rango.exchange/i/RmsZZl', + usdPrice: 0.998, + }, + { + chain: 'BOBA', + symbol: 'BUSD', + ticker: 'BUSD', + address: '0x461d52769884ca6235b685ef2040f47d30c94eb5', + rawAmount: '5431734874', + decimal: 18, + amount: '0.000000005431734874', + logo: 'https://api.rango.exchange/i/PsiPay', + usdPrice: 0.999, + }, + { + chain: 'BOBA', + symbol: 'UNIDX', + ticker: 'UNIDX', + address: '0x375488f097176507e39b9653b88fdc52cde736bf', + rawAmount: '23224657182604680757', + decimal: 18, + amount: '23.224657182604680757', + logo: 'https://api.rango.exchange/i/TZv5rn', + usdPrice: 2.3, + }, + { + chain: 'BOBA', + symbol: 'BANA', + ticker: 'BANA', + address: '0xc67b9b1b0557aeafa10aa1ffa1d7c87087a6149e', + rawAmount: '9067814698', + decimal: 18, + amount: '0.000000009067814698', + logo: 'https://api.rango.exchange/i/gyHe7C', + usdPrice: null, + }, + { + chain: 'BOBA', + symbol: 'BDOGE', + ticker: 'BDOGE', + address: '0x121636c43e96d97ab00b6c6994cddebef27de1c7', + rawAmount: '723068225237233960', + decimal: 18, + amount: '0.72306822523723396', + logo: 'https://api.rango.exchange/i/U6UPsb', + usdPrice: 1.64e-9, + }, + { + chain: 'BOBA', + symbol: 'SHIBUI', + ticker: 'SHIBUI', + address: '0xf08ad7c3f6b1c6843ba027ad54ed8ddb6d71169b', + rawAmount: '1827087060', + decimal: 18, + amount: '0.00000000182708706', + logo: 'https://api.rango.exchange/i/Mwv1h9', + usdPrice: 0.00631, + }, + { + chain: 'BOBA', + symbol: 'USDC', + ticker: 'USDC', + address: '0x66a2a913e447d6b4bf33efbec43aaef87890fbbc', + rawAmount: '11210692', + decimal: 6, + amount: '11.210692', + logo: 'https://api.rango.exchange/i/ahp7BS', + usdPrice: 0.993, + }, + { + chain: 'BOBA', + symbol: 'BOBA', + ticker: 'BOBA', + address: '0xa18bf3994c0cc6e3b63ac420308e5383f53120d7', + rawAmount: '1093312869', + decimal: 18, + amount: '0.000000001093312869', + logo: 'https://api.rango.exchange/i/vWYKUH', + usdPrice: 0.181, + }, + { + chain: 'BOBA', + symbol: 'WETH', + ticker: 'WETH', + address: '0xdeaddeaddeaddeaddeaddeaddeaddeaddead0000', + rawAmount: '2606189668', + decimal: 18, + amount: '0.000000002606189668', + logo: 'https://api.rango.exchange/i/fEyllw', + usdPrice: 1197.276, + }, + { + chain: 'BOBA', + symbol: 'DAI', + ticker: 'DAI', + address: '0xf74195bb8a5cf652411867c5c2c5b8c2a402be35', + rawAmount: '2131602501374765414', + decimal: 18, + amount: '2.131602501374765414', + logo: 'https://api.rango.exchange/i/U8PEdb', + usdPrice: null, + }, + { + chain: 'BOBA', + symbol: 'ETH', + ticker: 'ETH', + address: null, + rawAmount: '884271636924027', + decimal: 18, + amount: '0.000884271636924027', + logo: 'https://api.rango.exchange/i/MTyH5i', + usdPrice: 1197.276, + }, + ], + loading: false, + walletType: 'metamask', + isConnected: false, + error: false, + explorerUrl: + 'https://bobascan.com//address/0x2702d89c1c8658b49c45dd460deebcc45faec03c', + }, + ], + }, + ], +} as Wallet; + +export const meta = { + blockchains: { + BSC: { + name: 'BSC', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'BSC', symbol: 'BNB', address: null }], + logo: 'https://api.rango.exchange/blockchains/binance.svg', + displayName: 'BSC', + shortName: 'BSC', + sort: 1, + color: '#F3BA2F', + enabled: true, + type: 'EVM', + chainId: '0x38', + info: { + chainName: 'Binance Smart Chain Mainnet', + nativeCurrency: { name: 'BNB', symbol: 'BNB', decimals: 18 }, + rpcUrls: ['https://bsc-dataseed1.ninicoin.io'], + blockExplorerUrls: ['https://bscscan.com'], + addressUrl: 'https://bscscan.com/address/{wallet}', + transactionUrl: 'https://bscscan.com/tx/{txHash}', + }, + }, + POLYGON: { + name: 'POLYGON', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'POLYGON', symbol: 'MATIC', address: null }], + logo: 'https://api.rango.exchange/blockchains/polygon.svg', + displayName: 'Polygon', + shortName: 'Polygon', + sort: 2, + color: '#8247E5', + enabled: true, + type: 'EVM', + chainId: '0x89', + info: { + chainName: 'Polygon Mainnet', + nativeCurrency: { name: 'MATIC', symbol: 'MATIC', decimals: 18 }, + rpcUrls: ['https://polygon-rpc.com'], + blockExplorerUrls: ['https://polygonscan.com'], + addressUrl: 'https://polygonscan.com/address/{wallet}', + transactionUrl: 'https://polygonscan.com/tx/{txHash}', + }, + }, + ETH: { + name: 'ETH', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'ETH', symbol: 'ETH', address: null }], + logo: 'https://api.rango.exchange/blockchains/ethereum.svg', + displayName: 'Ethereum', + shortName: 'ETH', + sort: 3, + color: '#ecf0f1', + enabled: true, + type: 'EVM', + chainId: '0x1', + info: { + chainName: 'Ethereum Mainnet', + nativeCurrency: { name: 'ETH', symbol: 'ETH', decimals: 18 }, + rpcUrls: ['https://rpc.ankr.com/eth'], + blockExplorerUrls: ['https://etherscan.io'], + addressUrl: 'https://etherscan.io/address/{wallet}', + transactionUrl: 'https://etherscan.io/tx/{txHash}', + }, + }, + OSMOSIS: { + name: 'OSMOSIS', + defaultDecimals: 6, + addressPatterns: ['^(osmo1)[0-9a-z]{38}$'], + feeAssets: [{ blockchain: 'OSMOSIS', symbol: 'OSMO', address: null }], + logo: 'https://api.rango.exchange/blockchains/osmosis.svg', + displayName: 'Osmosis', + shortName: 'Osmosis', + sort: 4, + color: '#7901B4', + enabled: true, + type: 'COSMOS', + chainId: 'osmosis-1', + info: { + experimental: false, + rpc: 'https://rpc-osmosis.keplr.app', + rest: 'https://lcd-osmosis.keplr.app', + cosmostationLcdUrl: 'https://lcd-osmosis.cosmostation.io', + cosmostationApiUrl: 'https://api-osmosis.cosmostation.io', + cosmostationDenomTracePath: '/ibc/apps/transfer/v1/denom_traces/', + mintScanName: 'osmosis', + chainName: 'Osmosis', + stakeCurrency: { + coinDenom: 'OSMO', + coinMinimalDenom: 'uosmo', + coinDecimals: 6, + coinGeckoId: 'pool:uosmo', + coinImageUrl: '/tokens/blockchain/osmosis.svg', + }, + bip44: { coinType: 118 }, + bech32Config: { + bech32PrefixAccAddr: 'osmo', + bech32PrefixAccPub: 'osmopub', + bech32PrefixValAddr: 'osmovaloper', + bech32PrefixValPub: 'osmovaloperpub', + bech32PrefixConsAddr: 'osmovalcons', + bech32PrefixConsPub: 'osmovalconspub', + }, + currencies: [ + { + coinDenom: 'OSMO', + coinMinimalDenom: 'uosmo', + coinDecimals: 6, + coinGeckoId: 'pool:uosmo', + coinImageUrl: '/tokens/blockchain/osmosis.svg', + }, + { + coinDenom: 'ION', + coinMinimalDenom: 'uion', + coinDecimals: 6, + coinGeckoId: 'pool:uion', + coinImageUrl: '/tokens/blockchain/ion.png', + }, + ], + feeCurrencies: [ + { + coinDenom: 'OSMO', + coinMinimalDenom: 'uosmo', + coinDecimals: 6, + coinGeckoId: 'pool:uosmo', + coinImageUrl: '/tokens/blockchain/osmosis.svg', + }, + ], + features: ['stargate', 'ibc-transfer'], + explorerUrlToTx: 'https://www.mintscan.io/osmosis/txs/{txHash}', + gasPriceStep: { low: 0, average: 0.025, high: 0.04 }, + }, + }, + JUNO: { + name: 'JUNO', + defaultDecimals: 6, + addressPatterns: ['^(juno1)[0-9a-z]{38}$'], + feeAssets: [{ blockchain: 'JUNO', symbol: 'JUNO', address: null }], + logo: 'https://api.rango.exchange/blockchains/juno.svg', + displayName: 'Juno', + shortName: 'Juno', + sort: 5, + color: '#f0827d', + enabled: true, + type: 'COSMOS', + chainId: 'juno-1', + info: { + experimental: false, + rpc: 'https://rpc-juno.itastakers.com:443/', + rest: 'https://lcd-juno.keplr.app', + cosmostationLcdUrl: 'https://lcd-juno.cosmostation.io', + cosmostationApiUrl: 'https://api-juno.cosmostation.io', + cosmostationDenomTracePath: '/ibc/apps/transfer/v1/denom_traces/', + mintScanName: 'juno', + chainName: 'Juno', + stakeCurrency: { + coinDenom: 'JUNO', + coinMinimalDenom: 'ujuno', + coinDecimals: 6, + coinGeckoId: 'juno-network', + coinImageUrl: '/tokens/blockchain/JUNO.png', + }, + bip44: { coinType: 118 }, + bech32Config: { + bech32PrefixAccAddr: 'juno', + bech32PrefixAccPub: 'junopub', + bech32PrefixValAddr: 'junovaloper', + bech32PrefixValPub: 'junovaloperpub', + bech32PrefixConsAddr: 'junovalcons', + bech32PrefixConsPub: 'junovalconspub', + }, + currencies: [ + { + coinDenom: 'JUNO', + coinMinimalDenom: 'ujuno', + coinDecimals: 6, + coinGeckoId: 'juno-network', + coinImageUrl: '/tokens/blockchain/JUNO.png', + }, + ], + feeCurrencies: [ + { + coinDenom: 'JUNO', + coinMinimalDenom: 'ujuno', + coinDecimals: 6, + coinGeckoId: 'juno-network', + coinImageUrl: '/tokens/blockchain/JUNO.png', + }, + ], + features: ['stargate', 'ibc-transfer'], + explorerUrlToTx: 'https://www.mintscan.io/juno/txs/{txHash}', + gasPriceStep: { low: 0.001, average: 0.0025, high: 0.004 }, + }, + }, + AVAX_CCHAIN: { + name: 'AVAX_CCHAIN', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'AVAX_CCHAIN', symbol: 'AVAX', address: null }], + logo: 'https://api.rango.exchange/blockchains/avax_cchain.svg', + displayName: 'Avalanche', + shortName: 'Avax', + sort: 6, + color: '#e84142', + enabled: true, + type: 'EVM', + chainId: '0xa86a', + info: { + chainName: 'Avalanche C-Chain', + nativeCurrency: { name: 'AVAX', symbol: 'AVAX', decimals: 18 }, + rpcUrls: ['https://api.avax.network/ext/bc/C/rpc'], + blockExplorerUrls: ['https://snowtrace.io'], + addressUrl: 'https://snowtrace.io/address/{wallet}', + transactionUrl: 'https://snowtrace.io/tx/{txHash}', + }, + }, + ARBITRUM: { + name: 'ARBITRUM', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'ARBITRUM', symbol: 'ETH', address: null }], + logo: 'https://api.rango.exchange/blockchains/arbitrum.svg', + displayName: 'Arbitrum', + shortName: 'Arbitrum', + sort: 7, + color: '#28a0f0', + enabled: true, + type: 'EVM', + chainId: '0xa4b1', + info: { + chainName: 'Arbitrum One', + nativeCurrency: { name: 'ETH', symbol: 'ETH', decimals: 18 }, + rpcUrls: ['https://arb1.arbitrum.io/rpc'], + blockExplorerUrls: ['https://arbiscan.io'], + addressUrl: 'https://arbiscan.io/address/{wallet}', + transactionUrl: 'https://arbiscan.io/tx/{txHash}', + }, + }, + COSMOS: { + name: 'COSMOS', + defaultDecimals: 6, + addressPatterns: ['^(cosmos1)[0-9a-z]{38}$'], + feeAssets: [{ blockchain: 'COSMOS', symbol: 'ATOM', address: null }], + logo: 'https://api.rango.exchange/blockchains/cosmos.svg', + displayName: 'Cosmos', + shortName: 'Cosmos', + sort: 8, + color: '#2E3148', + enabled: true, + type: 'COSMOS', + chainId: 'cosmoshub-4', + info: { + experimental: false, + rpc: 'https://cosmos-rpc.polkachu.com', + rest: 'https://lcd-cosmoshub.keplr.app', + cosmostationLcdUrl: 'https://lcd-cosmos.cosmostation.io', + cosmostationApiUrl: 'https://api-cosmos.cosmostation.io', + cosmostationDenomTracePath: '/ibc/apps/transfer/v1/denom_traces/', + mintScanName: 'cosmos', + chainName: 'Cosmos', + stakeCurrency: { + coinDenom: 'ATOM', + coinMinimalDenom: 'uatom', + coinDecimals: 6, + coinGeckoId: 'cosmos', + coinImageUrl: '/tokens/blockchain/cosmos.svg', + }, + bip44: { coinType: 118 }, + bech32Config: { + bech32PrefixAccAddr: 'cosmos', + bech32PrefixAccPub: 'cosmospub', + bech32PrefixValAddr: 'cosmosvaloper', + bech32PrefixValPub: 'cosmosvaloperpub', + bech32PrefixConsAddr: 'cosmosvalcons', + bech32PrefixConsPub: 'cosmosvalconspub', + }, + currencies: [ + { + coinDenom: 'ATOM', + coinMinimalDenom: 'uatom', + coinDecimals: 6, + coinGeckoId: 'cosmos', + coinImageUrl: '/tokens/blockchain/cosmos.svg', + }, + ], + feeCurrencies: [ + { + coinDenom: 'ATOM', + coinMinimalDenom: 'uatom', + coinDecimals: 6, + coinGeckoId: 'cosmos', + coinImageUrl: '/tokens/blockchain/cosmos.svg', + }, + ], + features: ['stargate', 'ibc-transfer'], + explorerUrlToTx: 'https://www.mintscan.io/cosmos/txs/{txHash}', + gasPriceStep: { low: 0.01, average: 0.025, high: 0.04 }, + }, + }, + STARKNET: { + name: 'STARKNET', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{64}$'], + feeAssets: [ + { + blockchain: 'STARKNET', + symbol: 'ETH', + address: + '0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7', + }, + ], + logo: 'https://api.rango.exchange/blockchains/starknet.svg', + displayName: 'StarkNet', + shortName: 'StarkNet', + sort: 8, + color: '#28286E', + enabled: true, + type: 'ZK_ROLLUP', + chainId: 'SN_MAIN', + info: null, + }, + FANTOM: { + name: 'FANTOM', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'FANTOM', symbol: 'FTM', address: null }], + logo: 'https://api.rango.exchange/blockchains/fantom.png', + displayName: 'Fantom', + shortName: 'Fantom', + sort: 9, + color: '#337afe', + enabled: true, + type: 'EVM', + chainId: '0xfa', + info: { + chainName: 'Fantom Opera', + nativeCurrency: { name: 'FTM', symbol: 'FTM', decimals: 18 }, + rpcUrls: ['https://rpc.ftm.tools'], + blockExplorerUrls: ['https://ftmscan.com'], + addressUrl: 'https://ftmscan.com/address/{wallet}', + transactionUrl: 'https://ftmscan.com/tx/{txHash}', + }, + }, + OPTIMISM: { + name: 'OPTIMISM', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'OPTIMISM', symbol: 'ETH', address: null }], + logo: 'https://api.rango.exchange/blockchains/optimism.svg', + displayName: 'Optimism', + shortName: 'Optimism', + sort: 10, + color: '#FF0420', + enabled: true, + type: 'EVM', + chainId: '0xa', + info: { + chainName: 'Optimism', + nativeCurrency: { name: 'ETH', symbol: 'ETH', decimals: 18 }, + rpcUrls: ['https://mainnet.optimism.io'], + blockExplorerUrls: ['https://optimistic.etherscan.io'], + addressUrl: 'https://optimistic.etherscan.io/address/{wallet}', + transactionUrl: 'https://optimistic.etherscan.io/tx/{txHash}', + }, + }, + SOLANA: { + name: 'SOLANA', + defaultDecimals: 9, + addressPatterns: ['^[1-9A-HJ-NP-Za-km-z]{32,44}$'], + feeAssets: [{ blockchain: 'SOLANA', symbol: 'SOL', address: null }], + logo: 'https://api.rango.exchange/blockchains/solana.svg', + displayName: 'Solana', + shortName: 'Solana', + sort: 11, + color: '#708DD2', + enabled: true, + type: 'SOLANA', + chainId: 'mainnet-beta', + info: null, + }, + OKC: { + name: 'OKC', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'OKC', symbol: 'OKT', address: null }], + logo: 'https://api.rango.exchange/blockchains/okx.png', + displayName: 'OKX Chain (OKC)', + shortName: 'Okx', + sort: 11, + color: '#29a0f0', + enabled: true, + type: 'EVM', + chainId: '0x42', + info: { + chainName: 'OKX Chain', + nativeCurrency: { name: 'OKT', symbol: 'OKT', decimals: 18 }, + rpcUrls: ['https://exchainrpc.okex.org'], + blockExplorerUrls: ['https://www.oklink.com/en/okc'], + addressUrl: 'https://www.oklink.com/en/okc/address/{wallet}', + transactionUrl: 'https://www.oklink.com/en/okc/tx/{txHash}', + }, + }, + CRONOS: { + name: 'CRONOS', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'CRONOS', symbol: 'CRO', address: null }], + logo: 'https://api.rango.exchange/blockchains/cronos.svg', + displayName: 'Cronos', + shortName: 'Cronos', + sort: 12, + color: '#1a90ff', + enabled: true, + type: 'EVM', + chainId: '0x19', + info: { + chainName: 'Cronos Mainnet Beta', + nativeCurrency: { name: 'CRO', symbol: 'CRO', decimals: 18 }, + rpcUrls: ['https://cronosrpc-1.xstaking.sg'], + blockExplorerUrls: ['https://cronoscan.com'], + addressUrl: 'https://cronoscan.com/address/{wallet}', + transactionUrl: 'https://cronoscan.com/tx/{txHash}', + }, + }, + MOONRIVER: { + name: 'MOONRIVER', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'MOONRIVER', symbol: 'MOVR', address: null }], + logo: 'https://api.rango.exchange/blockchains/moonriver.svg', + displayName: 'MoonRiver', + shortName: 'MoonRiver', + sort: 13, + color: '#F3B404', + enabled: true, + type: 'EVM', + chainId: '0x505', + info: { + chainName: 'MoonRiver', + nativeCurrency: { name: 'MOVR', symbol: 'MOVR', decimals: 18 }, + rpcUrls: ['https://rpc.moonriver.moonbeam.network'], + blockExplorerUrls: ['https://moonriver.moonscan.io'], + addressUrl: 'https://moonriver.moonscan.io/address/{wallet}', + transactionUrl: 'https://moonriver.moonscan.io/tx/{txHash}', + }, + }, + MOONBEAM: { + name: 'MOONBEAM', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'MOONBEAM', symbol: 'GLMR', address: null }], + logo: 'https://api.rango.exchange/blockchains/moonbeam.png', + displayName: 'MoonBeam', + shortName: 'MoonBeam', + sort: 14, + color: '#B3206B', + enabled: true, + type: 'EVM', + chainId: '0x504', + info: { + chainName: 'MoonBeam', + nativeCurrency: { name: 'GLMR', symbol: 'GLMR', decimals: 18 }, + rpcUrls: ['https://rpc.api.moonbeam.network'], + blockExplorerUrls: ['https://moonbeam.moonscan.io'], + addressUrl: 'https://moonbeam.moonscan.io/address/{wallet}', + transactionUrl: 'https://moonbeam.moonscan.io/tx/{txHash}', + }, + }, + HECO: { + name: 'HECO', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'HECO', symbol: 'HT', address: null }], + logo: 'https://api.rango.exchange/blockchains/heco.png', + displayName: 'Heco', + shortName: 'Heco', + sort: 15, + color: '#4CA852', + enabled: true, + type: 'EVM', + chainId: '0x80', + info: { + chainName: 'Huobi ECO Chain Mainnet', + nativeCurrency: { name: 'HT', symbol: 'HT', decimals: 18 }, + rpcUrls: ['https://http-mainnet.hecochain.com'], + blockExplorerUrls: ['https://hecoinfo.com'], + addressUrl: 'https://hecoinfo.com/address/{wallet}', + transactionUrl: 'https://hecoinfo.com/tx/{txHash}', + }, + }, + AURORA: { + name: 'AURORA', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'AURORA', symbol: 'ETH', address: null }], + logo: 'https://api.rango.exchange/blockchains/aurora.svg', + displayName: 'Aurora', + shortName: 'Aurora', + sort: 15, + color: '#78d64b', + enabled: true, + type: 'EVM', + chainId: '0x4e454152', + info: { + chainName: 'Aurora Mainnet', + nativeCurrency: { name: 'ETH', symbol: 'ETH', decimals: 18 }, + rpcUrls: ['https://mainnet.aurora.dev'], + blockExplorerUrls: ['https://explorer.mainnet.aurora.dev'], + addressUrl: 'https://explorer.mainnet.aurora.dev/address/{wallet}', + transactionUrl: 'https://explorer.mainnet.aurora.dev/tx/{txHash}', + }, + }, + HARMONY: { + name: 'HARMONY', + defaultDecimals: 18, + addressPatterns: ['^(one1)[0-9a-z]{38}$', '^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'HARMONY', symbol: 'ONE', address: null }], + logo: 'https://api.rango.exchange/blockchains/harmony.svg', + displayName: 'Harmony', + shortName: 'Harmony', + sort: 15, + color: '#50AEE9', + enabled: true, + type: 'EVM', + chainId: '0x63564c40', + info: { + chainName: 'Harmony Mainnet', + nativeCurrency: { name: 'ONE', symbol: 'ONE', decimals: 18 }, + rpcUrls: ['https://api.s0.t.hmny.io'], + blockExplorerUrls: ['https://explorer.harmony.one'], + addressUrl: 'https://explorer.harmony.one/address/{wallet}', + transactionUrl: 'https://explorer.harmony.one/tx/{txHash}', + }, + }, + EVMOS: { + name: 'EVMOS', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'EVMOS', symbol: 'EVMOS', address: null }], + logo: 'https://api.rango.exchange/blockchains/evmos.png', + displayName: 'Evmos', + shortName: 'Evmos', + sort: 15, + color: '#2D2925', + enabled: true, + type: 'EVM', + chainId: '0x2329', + info: { + chainName: 'Evmos', + nativeCurrency: { name: 'EVMOS', symbol: 'EVMOS', decimals: 18 }, + rpcUrls: ['https://eth.bd.evmos.org:8545'], + blockExplorerUrls: ['https://evm.evmos.org'], + addressUrl: 'https://evm.evmos.org/address/{wallet}', + transactionUrl: 'https://evm.evmos.org/tx/{txHash}', + }, + }, + SIF: { + name: 'SIF', + defaultDecimals: 18, + addressPatterns: ['^(sif1)[0-9a-z]{38}$'], + feeAssets: [{ blockchain: 'SIF', symbol: 'ROWAN', address: null }], + logo: 'https://api.rango.exchange/blockchains/sif.png', + displayName: 'Sifchain', + shortName: 'Sifchain', + sort: 16, + color: '#CAAA3A', + enabled: true, + type: 'COSMOS', + chainId: 'sifchain-1', + info: { + experimental: false, + rpc: 'https://rpc.sifchain.finance', + rest: 'https://api-int.sifchain.finance', + cosmostationLcdUrl: 'https://lcd-sifchain.cosmostation.io', + cosmostationApiUrl: 'https://api-sifchain.cosmostation.io', + cosmostationDenomTracePath: '/ibc/apps/transfer/v1/denom_traces/', + mintScanName: 'sifchain', + chainName: 'Sifchain', + stakeCurrency: { + coinDenom: 'ROWAN', + coinMinimalDenom: 'rowan', + coinDecimals: 18, + coinGeckoId: '', + coinImageUrl: '', + }, + bip44: { coinType: 118 }, + bech32Config: { + bech32PrefixAccAddr: 'sif', + bech32PrefixAccPub: 'sifpub', + bech32PrefixValAddr: 'sifvaloper', + bech32PrefixValPub: 'sifvaloperpub', + bech32PrefixConsAddr: 'sifvalcons', + bech32PrefixConsPub: 'sifvalconspub', + }, + currencies: [ + { + coinDenom: 'ROWAN', + coinMinimalDenom: 'rowan', + coinDecimals: 18, + coinGeckoId: '', + coinImageUrl: '', + }, + ], + feeCurrencies: [ + { + coinDenom: 'ROWAN', + coinMinimalDenom: 'rowan', + coinDecimals: 18, + coinGeckoId: '', + coinImageUrl: '', + }, + ], + features: ['stargate', 'ibc-transfer'], + explorerUrlToTx: 'https://www.mintscan.io/sifchain/txs/{txHash}', + gasPriceStep: { + low: 1000000000000, + average: 1500000000000, + high: 2000000000000, + }, + }, + }, + THOR: { + name: 'THOR', + defaultDecimals: 8, + addressPatterns: ['^(thor1)[0-9a-z]{38}$'], + feeAssets: [{ blockchain: 'THOR', symbol: 'RUNE', address: null }], + logo: 'https://api.rango.exchange/blockchains/thorchain.svg', + displayName: 'Thorchain', + shortName: 'Thorchain', + sort: 17, + color: '#1AE6CB', + enabled: true, + type: 'TRANSFER', + chainId: null, + info: null, + }, + BNB: { + name: 'BNB', + defaultDecimals: 8, + addressPatterns: ['^(bnb1)[0-9a-z]{38}$'], + feeAssets: [{ blockchain: 'BNB', symbol: 'BNB', address: null }], + logo: 'https://api.rango.exchange/blockchains/bnb.svg', + displayName: 'Binance Chain', + shortName: 'BNB', + sort: 18, + color: '#F3BA2F', + enabled: true, + type: 'COSMOS', + chainId: null, + info: null, + }, + STARGAZE: { + name: 'STARGAZE', + defaultDecimals: 6, + addressPatterns: ['^(stars1)[0-9a-z]{38}$'], + feeAssets: [{ blockchain: 'STARGAZE', symbol: 'STARS', address: null }], + logo: 'https://api.rango.exchange/blockchains/stargaze.png', + displayName: 'Stargaze', + shortName: 'Stargaze', + sort: 19, + color: '#231B60', + enabled: true, + type: 'COSMOS', + chainId: 'stargaze-1', + info: { + experimental: false, + rpc: 'https://rpc.stargaze-apis.com', + rest: 'https://rest.stargaze-apis.com', + cosmostationLcdUrl: 'https://lcd-stargaze.cosmostation.io', + cosmostationApiUrl: 'https://api-stargaze.cosmostation.io', + cosmostationDenomTracePath: '/ibc/apps/transfer/v1/denom_traces/', + mintScanName: 'stargaze', + chainName: 'Stargaze', + stakeCurrency: { + coinDenom: 'STARS', + coinMinimalDenom: 'ustars', + coinDecimals: 6, + coinGeckoId: 'pool:ustars', + coinImageUrl: '/tokens/blockchain/STARS.png', + }, + bip44: { coinType: 118 }, + bech32Config: { + bech32PrefixAccAddr: 'stars', + bech32PrefixAccPub: 'starspub', + bech32PrefixValAddr: 'starsvaloper', + bech32PrefixValPub: 'starsvaloperpub', + bech32PrefixConsAddr: 'starsvalcons', + bech32PrefixConsPub: 'starsvalconspub', + }, + currencies: [ + { + coinDenom: 'STARS', + coinMinimalDenom: 'ustars', + coinDecimals: 6, + coinGeckoId: 'pool:ustars', + coinImageUrl: '/tokens/blockchain/STARS.png', + }, + ], + feeCurrencies: [ + { + coinDenom: 'STARS', + coinMinimalDenom: 'ustars', + coinDecimals: 6, + coinGeckoId: 'pool:ustars', + coinImageUrl: '/tokens/blockchain/STARS.png', + }, + ], + features: ['stargate', 'ibc-transfer', 'no-legacy-stdTx'], + explorerUrlToTx: 'https://www.mintscan.io/stargaze/txs/{txHash}', + gasPriceStep: { low: 1, average: 1, high: 1 }, + }, + }, + BTC: { + name: 'BTC', + defaultDecimals: 8, + addressPatterns: [ + '^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$|^(bc1)[0-9A-Za-z]{39,59}$', + ], + feeAssets: [{ blockchain: 'BTC', symbol: 'BTC', address: null }], + logo: 'https://api.rango.exchange/blockchains/btc.svg', + displayName: 'Bitcoin', + shortName: 'BTC', + sort: 20, + color: '#F7931A', + enabled: true, + type: 'TRANSFER', + chainId: null, + info: null, + }, + CRYPTO_ORG: { + name: 'CRYPTO_ORG', + defaultDecimals: 8, + addressPatterns: ['^(cro1)[0-9a-z]{38}$'], + feeAssets: [{ blockchain: 'CRYPTO_ORG', symbol: 'CRO', address: null }], + logo: 'https://api.rango.exchange/blockchains/crypto_org.png', + displayName: 'Crypto.org', + shortName: 'Crypto.org', + sort: 21, + color: '#103F68', + enabled: true, + type: 'COSMOS', + chainId: 'crypto-org-chain-mainnet-1', + info: { + experimental: false, + rpc: 'https://rpc-crypto-org.keplr.app', + rest: 'https://lcd-crypto-org.keplr.app', + cosmostationLcdUrl: 'https://lcd-cryptocom.cosmostation.io', + cosmostationApiUrl: 'https://api-cryptocom.cosmostation.io', + cosmostationDenomTracePath: '/ibc/apps/transfer/v1/denom_traces/', + mintScanName: 'crypto-org', + chainName: 'Crypto.org', + stakeCurrency: { + coinDenom: 'CRO', + coinMinimalDenom: 'basecro', + coinDecimals: 8, + coinGeckoId: 'crypto-com-chain', + coinImageUrl: '/tokens/blockchain/cro.png', + }, + bip44: { coinType: 394 }, + bech32Config: { + bech32PrefixAccAddr: 'cro', + bech32PrefixAccPub: 'cropub', + bech32PrefixValAddr: 'crovaloper', + bech32PrefixValPub: 'crovaloperpub', + bech32PrefixConsAddr: 'crovalcons', + bech32PrefixConsPub: 'crovalconspub', + }, + currencies: [ + { + coinDenom: 'CRO', + coinMinimalDenom: 'basecro', + coinDecimals: 8, + coinGeckoId: 'crypto-com-chain', + coinImageUrl: '/tokens/blockchain/cro.png', + }, + ], + feeCurrencies: [ + { + coinDenom: 'CRO', + coinMinimalDenom: 'basecro', + coinDecimals: 8, + coinGeckoId: 'crypto-com-chain', + coinImageUrl: '/tokens/blockchain/cro.png', + }, + ], + features: ['stargate', 'ibc-transfer'], + explorerUrlToTx: 'https://www.mintscan.io/crypto-org/txs/{txHash}', + gasPriceStep: { low: 0.025, average: 0.03, high: 0.04 }, + }, + }, + CHIHUAHUA: { + name: 'CHIHUAHUA', + defaultDecimals: 6, + addressPatterns: ['^(chihuahua1)[0-9a-z]{38}$'], + feeAssets: [{ blockchain: 'CHIHUAHUA', symbol: 'HUAHUA', address: null }], + logo: 'https://api.rango.exchange/blockchains/chihuahua.png', + displayName: 'Chihuahua', + shortName: 'Chihuahua', + sort: 22, + color: '#EFC92B', + enabled: true, + type: 'COSMOS', + chainId: 'chihuahua-1', + info: { + experimental: true, + rpc: 'https://rpc.chihuahua.wtf/', + rest: 'https://api.chihuahua.wtf/', + cosmostationLcdUrl: 'https://lcd-chihuahua.cosmostation.io', + cosmostationApiUrl: 'https://api-chihuahua.cosmostation.io', + cosmostationDenomTracePath: '/ibc/apps/transfer/v1/denom_traces/', + mintScanName: 'chihuahua', + chainName: 'Chihuahua', + stakeCurrency: { + coinDenom: 'HUAHUA', + coinMinimalDenom: 'uhuahua', + coinDecimals: 6, + coinGeckoId: 'pool:uhuahua', + coinImageUrl: '/tokens/blockchain/HUAHUA.svg', + }, + bip44: { coinType: 118 }, + bech32Config: { + bech32PrefixAccAddr: 'chihuahua', + bech32PrefixAccPub: 'chihuahuapub', + bech32PrefixValAddr: 'chihuahuavaloper', + bech32PrefixValPub: 'chihuahuavaloperpub', + bech32PrefixConsAddr: 'chihuahuavalcons', + bech32PrefixConsPub: 'chihuahuavalconspub', + }, + currencies: [ + { + coinDenom: 'HUAHUA', + coinMinimalDenom: 'uhuahua', + coinDecimals: 6, + coinGeckoId: 'pool:uhuahua', + coinImageUrl: '/tokens/blockchain/HUAHUA.svg', + }, + ], + feeCurrencies: [ + { + coinDenom: 'HUAHUA', + coinMinimalDenom: 'uhuahua', + coinDecimals: 6, + coinGeckoId: 'pool:uhuahua', + coinImageUrl: '/tokens/blockchain/HUAHUA.svg', + }, + ], + features: ['stargate', 'ibc-transfer', 'no-legacy-stdTx'], + explorerUrlToTx: 'https://ping.pub/chihuahua/tx/{txHash}', + gasPriceStep: { low: 0.025, average: 0.03, high: 0.035 }, + }, + }, + BANDCHAIN: { + name: 'BANDCHAIN', + defaultDecimals: 6, + addressPatterns: ['^(band1)[0-9a-z]{38}$'], + feeAssets: [{ blockchain: 'BANDCHAIN', symbol: 'BAND', address: null }], + logo: 'https://api.rango.exchange/blockchains/bandchain.svg', + displayName: 'BandChain', + shortName: 'BandChain', + sort: 23, + color: '#4520E6', + enabled: true, + type: 'COSMOS', + chainId: 'laozi-mainnet', + info: { + experimental: true, + rpc: 'https://rpc.laozi3.bandchain.org/', + rest: 'https://lcd-band.cosmostation.io', + cosmostationLcdUrl: 'https://lcd-band.cosmostation.io', + cosmostationApiUrl: 'https://api-band.cosmostation.io', + cosmostationDenomTracePath: '/ibc/apps/transfer/v1/denom_traces/', + mintScanName: 'band', + chainName: 'BandChain', + stakeCurrency: { + coinDenom: 'BAND', + coinMinimalDenom: 'uband', + coinDecimals: 6, + coinGeckoId: 'band-protocol', + coinImageUrl: '/tokens/blockchain/BAND.svg', + }, + bip44: { coinType: 494 }, + bech32Config: { + bech32PrefixAccAddr: 'band', + bech32PrefixAccPub: 'bandpub', + bech32PrefixValAddr: 'bandvaloper', + bech32PrefixValPub: 'bandvaloperpub', + bech32PrefixConsAddr: 'bandvalcons', + bech32PrefixConsPub: 'bandvalconspub', + }, + currencies: [ + { + coinDenom: 'BAND', + coinMinimalDenom: 'uband', + coinDecimals: 6, + coinGeckoId: 'band-protocol', + coinImageUrl: '/tokens/blockchain/BAND.svg', + }, + ], + feeCurrencies: [ + { + coinDenom: 'BAND', + coinMinimalDenom: 'uband', + coinDecimals: 6, + coinGeckoId: 'band-protocol', + coinImageUrl: '/tokens/blockchain/BAND.svg', + }, + ], + features: ['stargate', 'ibc-transfer', 'no-legacy-stdTx'], + explorerUrlToTx: 'https://cosmoscan.io/tx/{txHash}', + gasPriceStep: null, + }, + }, + COMDEX: { + name: 'COMDEX', + defaultDecimals: 6, + addressPatterns: ['^(comdex1)[0-9a-z]{38}$'], + feeAssets: [{ blockchain: 'COMDEX', symbol: 'CMDX', address: null }], + logo: 'https://api.rango.exchange/blockchains/comdex.svg', + displayName: 'Comdex', + shortName: 'Comdex', + sort: 23, + color: '#FE4350', + enabled: true, + type: 'COSMOS', + chainId: 'comdex-1', + info: { + experimental: true, + rpc: 'https://rpc.comdex.one', + rest: 'https://rest.comdex.one', + cosmostationLcdUrl: 'https://lcd-comdex.cosmostation.io', + cosmostationApiUrl: 'https://api-comdex.cosmostation.io', + cosmostationDenomTracePath: '/ibc/apps/transfer/v1/denom_traces/', + mintScanName: 'comdex', + chainName: 'Comdex', + stakeCurrency: { + coinDenom: 'CMDX', + coinMinimalDenom: 'ucmdx', + coinDecimals: 6, + coinGeckoId: 'comdex', + coinImageUrl: '/tokens/blockchain/CMDX.png', + }, + bip44: { coinType: 118 }, + bech32Config: { + bech32PrefixAccAddr: 'comdex', + bech32PrefixAccPub: 'comdexpub', + bech32PrefixValAddr: 'comdexvaloper', + bech32PrefixValPub: 'comdexvaloperpub', + bech32PrefixConsAddr: 'comdexvalcons', + bech32PrefixConsPub: 'comdexvalconspub', + }, + currencies: [ + { + coinDenom: 'CMDX', + coinMinimalDenom: 'ucmdx', + coinDecimals: 6, + coinGeckoId: 'comdex', + coinImageUrl: '/tokens/blockchain/CMDX.png', + }, + ], + feeCurrencies: [ + { + coinDenom: 'CMDX', + coinMinimalDenom: 'ucmdx', + coinDecimals: 6, + coinGeckoId: 'comdex', + coinImageUrl: '/tokens/blockchain/CMDX.png', + }, + ], + features: ['stargate', 'ibc-transfer', 'no-legacy-stdTx'], + explorerUrlToTx: 'https://www.mintscan.io/comdex/txs/{txHash}', + gasPriceStep: null, + }, + }, + REGEN: { + name: 'REGEN', + defaultDecimals: 6, + addressPatterns: ['^(regen1)[0-9a-z]{38}$'], + feeAssets: [{ blockchain: 'REGEN', symbol: 'REGEN', address: null }], + logo: 'https://api.rango.exchange/blockchains/regen.png', + displayName: 'Regen Network', + shortName: 'Regen Network', + sort: 24, + color: '#4FB573', + enabled: true, + type: 'COSMOS', + chainId: 'regen-1', + info: { + experimental: false, + rpc: 'https://rpc-regen.keplr.app', + rest: 'https://lcd-regen.keplr.app', + cosmostationLcdUrl: 'https://lcd-regen.keplr.app', + cosmostationApiUrl: 'https://api-regen.cosmostation.io/', + cosmostationDenomTracePath: '/ibc/apps/transfer/v1/denom_traces/', + mintScanName: 'regen', + chainName: 'Regen Network', + stakeCurrency: { + coinDenom: 'REGEN', + coinMinimalDenom: 'uregen', + coinDecimals: 6, + coinGeckoId: 'pool:uregen', + coinImageUrl: '/tokens/blockchain/regen.png', + }, + bip44: { coinType: 118 }, + bech32Config: { + bech32PrefixAccAddr: 'regen', + bech32PrefixAccPub: 'regenpub', + bech32PrefixValAddr: 'regenvaloper', + bech32PrefixValPub: 'regenvaloperpub', + bech32PrefixConsAddr: 'regenvalcons', + bech32PrefixConsPub: 'regenvalconspub', + }, + currencies: [ + { + coinDenom: 'REGEN', + coinMinimalDenom: 'uregen', + coinDecimals: 6, + coinGeckoId: 'pool:uregen', + coinImageUrl: '/tokens/blockchain/regen.png', + }, + ], + feeCurrencies: [ + { + coinDenom: 'REGEN', + coinMinimalDenom: 'uregen', + coinDecimals: 6, + coinGeckoId: 'pool:uregen', + coinImageUrl: '/tokens/blockchain/regen.png', + }, + ], + features: ['stargate', 'ibc-transfer'], + explorerUrlToTx: 'https://regen.aneka.io/txs/{txHash}', + gasPriceStep: { low: 0.015, average: 0.025, high: 0.04 }, + }, + }, + IRIS: { + name: 'IRIS', + defaultDecimals: 6, + addressPatterns: ['^(iaa1)[0-9a-z]{38}$'], + feeAssets: [{ blockchain: 'IRIS', symbol: 'IRIS', address: null }], + logo: 'https://api.rango.exchange/blockchains/iris.png', + displayName: 'IRISnet', + shortName: 'IRISnet', + sort: 25, + color: '#8A4A8E', + enabled: true, + type: 'COSMOS', + chainId: 'irishub-1', + info: { + experimental: false, + rpc: 'https://rpc-iris.keplr.app', + rest: 'https://lcd-iris.keplr.app', + cosmostationLcdUrl: 'https://lcd-iris.cosmostation.io', + cosmostationApiUrl: 'https://api-iris.cosmostation.io', + cosmostationDenomTracePath: '/ibc/apps/transfer/v1/denom_traces/', + mintScanName: 'iris', + chainName: 'IRISnet', + stakeCurrency: { + coinDenom: 'IRIS', + coinMinimalDenom: 'uiris', + coinDecimals: 6, + coinGeckoId: 'iris-network', + coinImageUrl: '/tokens/blockchain/iris.svg', + }, + bip44: { coinType: 118 }, + bech32Config: { + bech32PrefixAccAddr: 'iaa', + bech32PrefixAccPub: 'iaapub', + bech32PrefixValAddr: 'iaavaloper', + bech32PrefixValPub: 'iaavaloperpub', + bech32PrefixConsAddr: 'iaavalcons', + bech32PrefixConsPub: 'iaavalconspub', + }, + currencies: [ + { + coinDenom: 'IRIS', + coinMinimalDenom: 'uiris', + coinDecimals: 6, + coinGeckoId: 'iris-network', + coinImageUrl: '/tokens/blockchain/iris.svg', + }, + ], + feeCurrencies: [ + { + coinDenom: 'IRIS', + coinMinimalDenom: 'uiris', + coinDecimals: 6, + coinGeckoId: 'iris-network', + coinImageUrl: '/tokens/blockchain/iris.svg', + }, + ], + features: ['stargate', 'ibc-transfer'], + explorerUrlToTx: 'https://www.mintscan.io/iris/txs/{txHash}', + gasPriceStep: { low: 0.2, average: 0.3, high: 0.4 }, + }, + }, + EMONEY: { + name: 'EMONEY', + defaultDecimals: 6, + addressPatterns: ['^(emoney1)[0-9a-z]{38}$'], + feeAssets: [{ blockchain: 'EMONEY', symbol: 'NGM', address: null }], + logo: 'https://api.rango.exchange/blockchains/emoney.svg', + displayName: 'e-Money', + shortName: 'e-Money', + sort: 25, + color: '#DFF5EF', + enabled: true, + type: 'COSMOS', + chainId: 'emoney-3', + info: { + experimental: true, + rpc: 'https://rpc-emoney.keplr.app', + rest: 'https://lcd-emoney.keplr.app', + cosmostationLcdUrl: 'https://lcd-emoney.cosmostation.io', + cosmostationApiUrl: 'https://api-emoney.cosmostation.io', + cosmostationDenomTracePath: + '/ibc/applications/transfer/v1beta1/denom_traces/', + mintScanName: 'emoney', + chainName: 'e-Money', + stakeCurrency: { + coinDenom: 'NGM', + coinMinimalDenom: 'ungm', + coinDecimals: 6, + coinGeckoId: 'e-money', + coinImageUrl: '/tokens/blockchain/NGM.png', + }, + bip44: { coinType: 118 }, + bech32Config: { + bech32PrefixAccAddr: 'emoney', + bech32PrefixAccPub: 'emoneypub', + bech32PrefixValAddr: 'emoneyvaloper', + bech32PrefixValPub: 'emoneyvaloperpub', + bech32PrefixConsAddr: 'emoneyvalcons', + bech32PrefixConsPub: 'emoneyvalconspub', + }, + currencies: [ + { + coinDenom: 'NGM', + coinMinimalDenom: 'ungm', + coinDecimals: 6, + coinGeckoId: 'e-money', + coinImageUrl: '/tokens/blockchain/NGM.png', + }, + { + coinDenom: 'EEUR', + coinMinimalDenom: 'eeur', + coinDecimals: 6, + coinGeckoId: 'e-money-eur', + coinImageUrl: '/tokens/blockchain/EEUR.png', + }, + ], + feeCurrencies: [ + { + coinDenom: 'NGM', + coinMinimalDenom: 'ungm', + coinDecimals: 6, + coinGeckoId: 'e-money', + coinImageUrl: '/tokens/blockchain/NGM.png', + }, + ], + features: ['stargate', 'ibc-transfer'], + explorerUrlToTx: 'https://emoney.bigdipper.live/transactions/{txHash}', + gasPriceStep: { low: 1, average: 1, high: 1 }, + }, + }, + GNOSIS: { + name: 'GNOSIS', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'GNOSIS', symbol: 'XDAI', address: null }], + logo: 'https://api.rango.exchange/blockchains/gnosis.svg', + displayName: 'Gnosis', + shortName: 'Gnosis', + sort: 26, + color: '#3E6957', + enabled: true, + type: 'EVM', + chainId: '0x64', + info: { + chainName: 'Gnosis Chain', + nativeCurrency: { name: 'XDAI', symbol: 'XDAI', decimals: 18 }, + rpcUrls: ['https://rpc.gnosischain.com'], + blockExplorerUrls: ['https://blockscout.com/xdai/mainnet'], + addressUrl: 'https://blockscout.com/xdai/mainnet/address/{wallet}', + transactionUrl: 'https://blockscout.com/xdai/mainnet/tx/{txHash}', + }, + }, + LTC: { + name: 'LTC', + defaultDecimals: 8, + addressPatterns: ['^(L|M|3)[A-Za-z0-9]{33}$|^(ltc1)[0-9A-Za-z]{39}$'], + feeAssets: [{ blockchain: 'LTC', symbol: 'LTC', address: null }], + logo: 'https://api.rango.exchange/blockchains/ltc.svg', + displayName: 'LiteCoin', + shortName: 'LTC', + sort: 27, + color: '#345D9D', + enabled: true, + type: 'TRANSFER', + chainId: null, + info: null, + }, + BCH: { + name: 'BCH', + defaultDecimals: 8, + addressPatterns: [ + '^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$|^[0-9A-Za-z]{42,42}$', + ], + feeAssets: [{ blockchain: 'BCH', symbol: 'BCH', address: null }], + logo: 'https://api.rango.exchange/blockchains/bch.svg', + displayName: 'Bitcoin Cash', + shortName: 'BCH', + sort: 28, + color: '#0AC18E', + enabled: true, + type: 'TRANSFER', + chainId: null, + info: null, + }, + FUSE: { + name: 'FUSE', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'FUSE', symbol: 'FUSE', address: null }], + logo: 'https://api.rango.exchange/blockchains/fuse.png', + displayName: 'Fuse', + shortName: 'Fuse', + sort: 29, + color: '#C5F9AD', + enabled: true, + type: 'EVM', + chainId: '0x7a', + info: { + chainName: 'Fuse Mainnet', + nativeCurrency: { name: 'FUSE', symbol: 'FUSE', decimals: 18 }, + rpcUrls: ['https://rpc.fuse.io'], + blockExplorerUrls: ['https://explorer.fuse.io'], + addressUrl: 'https://explorer.fuse.io/address/{wallet}', + transactionUrl: 'https://explorer.fuse.io/tx/{txHash}', + }, + }, + AKASH: { + name: 'AKASH', + defaultDecimals: 6, + addressPatterns: ['^(akash1)[0-9a-z]{38}$'], + feeAssets: [{ blockchain: 'AKASH', symbol: 'AKT', address: null }], + logo: 'https://api.rango.exchange/blockchains/akash.svg', + displayName: 'Akash', + shortName: 'Akash', + sort: 30, + color: '#ED3524', + enabled: true, + type: 'COSMOS', + chainId: 'akashnet-2', + info: { + experimental: false, + rpc: 'https://rpc-akash.keplr.app', + rest: 'https://lcd-akash.keplr.app', + cosmostationLcdUrl: 'https://lcd-akash.cosmostation.io', + cosmostationApiUrl: 'https://api-akash.cosmostation.io', + cosmostationDenomTracePath: '/ibc/apps/transfer/v1/denom_traces/', + mintScanName: 'akash', + chainName: 'Akash', + stakeCurrency: { + coinDenom: 'AKT', + coinMinimalDenom: 'uakt', + coinDecimals: 6, + coinGeckoId: 'akash-network', + coinImageUrl: '/tokens/blockchain/akt.svg', + }, + bip44: { coinType: 118 }, + bech32Config: { + bech32PrefixAccAddr: 'akash', + bech32PrefixAccPub: 'akashpub', + bech32PrefixValAddr: 'akashvaloper', + bech32PrefixValPub: 'akashvaloperpub', + bech32PrefixConsAddr: 'akashvalcons', + bech32PrefixConsPub: 'akashvalconspub', + }, + currencies: [ + { + coinDenom: 'AKT', + coinMinimalDenom: 'uakt', + coinDecimals: 6, + coinGeckoId: 'akash-network', + coinImageUrl: '/tokens/blockchain/akt.svg', + }, + ], + feeCurrencies: [ + { + coinDenom: 'AKT', + coinMinimalDenom: 'uakt', + coinDecimals: 6, + coinGeckoId: 'akash-network', + coinImageUrl: '/tokens/blockchain/akt.svg', + }, + ], + features: ['stargate', 'ibc-transfer'], + explorerUrlToTx: 'https://www.mintscan.io/akash/txs/{txHash}', + gasPriceStep: { low: 0.001, average: 0.0025, high: 0.004 }, + }, + }, + KI: { + name: 'KI', + defaultDecimals: 6, + addressPatterns: ['^(ki1)[0-9a-z]{38}$'], + feeAssets: [{ blockchain: 'KI', symbol: 'XKI', address: null }], + logo: 'https://api.rango.exchange/blockchains/ki.png', + displayName: 'Ki', + shortName: 'Ki', + sort: 30, + color: '#0F2B3D', + enabled: true, + type: 'COSMOS', + chainId: 'kichain-2', + info: { + experimental: true, + rpc: 'https://rpc-mainnet.blockchain.ki', + rest: 'https://api-mainnet.blockchain.ki', + cosmostationLcdUrl: 'https://lcd-kichain.cosmostation.io', + cosmostationApiUrl: 'https://api-kichain.cosmostation.io', + cosmostationDenomTracePath: '/ibc/apps/transfer/v1/denom_traces/', + mintScanName: 'ki-chain', + chainName: 'Ki', + stakeCurrency: { + coinDenom: 'XKI', + coinMinimalDenom: 'uxki', + coinDecimals: 6, + coinGeckoId: 'pool:uxki', + coinImageUrl: '/tokens/blockchain/XKI.png', + }, + bip44: { coinType: 118 }, + bech32Config: { + bech32PrefixAccAddr: 'ki', + bech32PrefixAccPub: 'kipub', + bech32PrefixValAddr: 'kivaloper', + bech32PrefixValPub: 'kivaloperpub', + bech32PrefixConsAddr: 'kivalcons', + bech32PrefixConsPub: 'kivalconspub', + }, + currencies: [ + { + coinDenom: 'XKI', + coinMinimalDenom: 'uxki', + coinDecimals: 6, + coinGeckoId: 'pool:uxki', + coinImageUrl: '/tokens/blockchain/XKI.png', + }, + ], + feeCurrencies: [ + { + coinDenom: 'XKI', + coinMinimalDenom: 'uxki', + coinDecimals: 6, + coinGeckoId: 'pool:uxki', + coinImageUrl: '/tokens/blockchain/XKI.png', + }, + ], + features: ['stargate', 'ibc-transfer'], + explorerUrlToTx: 'https://www.mintscan.io/ki-chain/txs/{txHash}', + gasPriceStep: null, + }, + }, + KUJIRA: { + name: 'KUJIRA', + defaultDecimals: 6, + addressPatterns: ['^(kujira1)[0-9a-z]{38}$'], + feeAssets: [{ blockchain: 'KUJIRA', symbol: 'KUJI', address: null }], + logo: 'https://api.rango.exchange/blockchains/kuji.svg', + displayName: 'Kujira', + shortName: 'Kujira', + sort: 31, + color: '#DF3935', + enabled: true, + type: 'COSMOS', + chainId: 'kaiyo-1', + info: { + experimental: true, + rpc: 'https://rpc.kaiyo.kujira.setten.io', + rest: 'https://lcd.kaiyo.kujira.setten.io', + cosmostationLcdUrl: 'https://lcd-kujira.cosmostation.io', + cosmostationApiUrl: 'https://api-kujira.cosmostation.io', + cosmostationDenomTracePath: '/ibc/apps/transfer/v1/denom_traces/', + mintScanName: 'kujira', + chainName: 'Kujira', + stakeCurrency: { + coinDenom: 'KUJI', + coinMinimalDenom: 'ukuji', + coinDecimals: 6, + coinGeckoId: 'kujira', + coinImageUrl: '/tokens/blockchain/kuji.svg', + }, + bip44: { coinType: 118 }, + bech32Config: { + bech32PrefixAccAddr: 'kujira', + bech32PrefixAccPub: 'kujirapub', + bech32PrefixValAddr: 'kujiravaloper', + bech32PrefixValPub: 'kujiravaloperpub', + bech32PrefixConsAddr: 'kujiravalcons', + bech32PrefixConsPub: 'kujiravalconspub', + }, + currencies: [ + { + coinDenom: 'KUJI', + coinMinimalDenom: 'ukuji', + coinDecimals: 6, + coinGeckoId: 'kujira', + coinImageUrl: '/tokens/blockchain/kuji.png', + }, + ], + feeCurrencies: [ + { + coinDenom: 'KUJI', + coinMinimalDenom: 'ukuji', + coinDecimals: 6, + coinGeckoId: 'kujira', + coinImageUrl: '/tokens/blockchain/kuji.png', + }, + ], + features: ['stargate', 'ibc-transfer'], + explorerUrlToTx: 'https://finder.kujira.app/kaiyo-1/tx/{txHash}', + gasPriceStep: { low: 0.01, average: 0.025, high: 0.03 }, + }, + }, + PERSISTENCE: { + name: 'PERSISTENCE', + defaultDecimals: 6, + addressPatterns: ['^(persistence1)[0-9a-z]{38}$'], + feeAssets: [{ blockchain: 'PERSISTENCE', symbol: 'XPRT', address: null }], + logo: 'https://api.rango.exchange/blockchains/persistence.png', + displayName: 'Persistence', + shortName: 'Persistence', + sort: 31, + color: '#383838', + enabled: true, + type: 'COSMOS', + chainId: 'core-1', + info: { + experimental: false, + rpc: 'https://rpc-persistence.keplr.app', + rest: 'https://lcd-persistence.keplr.app', + cosmostationLcdUrl: 'https://lcd-persistence.cosmostation.io', + cosmostationApiUrl: 'https://api-persistence.cosmostation.io', + cosmostationDenomTracePath: '/ibc/apps/transfer/v1/denom_traces/', + mintScanName: 'persistence', + chainName: 'Persistence', + stakeCurrency: { + coinDenom: 'XPRT', + coinMinimalDenom: 'uxprt', + coinDecimals: 6, + coinGeckoId: 'persistence', + coinImageUrl: '/tokens/blockchain/xprt.png', + }, + bip44: { coinType: 750 }, + bech32Config: { + bech32PrefixAccAddr: 'persistence', + bech32PrefixAccPub: 'persistencepub', + bech32PrefixValAddr: 'persistencevaloper', + bech32PrefixValPub: 'persistencevaloperpub', + bech32PrefixConsAddr: 'persistencevalcons', + bech32PrefixConsPub: 'persistencevalconspub', + }, + currencies: [ + { + coinDenom: 'XPRT', + coinMinimalDenom: 'uxprt', + coinDecimals: 6, + coinGeckoId: 'persistence', + coinImageUrl: '/tokens/blockchain/xprt.png', + }, + ], + feeCurrencies: [ + { + coinDenom: 'XPRT', + coinMinimalDenom: 'uxprt', + coinDecimals: 6, + coinGeckoId: 'persistence', + coinImageUrl: '/tokens/blockchain/xprt.png', + }, + ], + features: ['stargate', 'ibc-transfer'], + explorerUrlToTx: 'https://www.mintscan.io/persistence/txs/{txHash}', + gasPriceStep: { low: 0, average: 0.025, high: 0.04 }, + }, + }, + SENTINEL: { + name: 'SENTINEL', + defaultDecimals: 6, + addressPatterns: ['^(sent1)[0-9a-z]{38}$'], + feeAssets: [{ blockchain: 'SENTINEL', symbol: 'DVPN', address: null }], + logo: 'https://api.rango.exchange/blockchains/sentinel.png', + displayName: 'Sentinel', + shortName: 'Sentinel', + sort: 32, + color: '#142E51', + enabled: true, + type: 'COSMOS', + chainId: 'sentinelhub-2', + info: { + experimental: false, + rpc: 'https://rpc-sentinel.keplr.app', + rest: 'https://lcd-sentinel.keplr.app', + cosmostationLcdUrl: 'https://lcd-sentinel.cosmostation.io', + cosmostationApiUrl: 'https://api-sentinel.cosmostation.io', + cosmostationDenomTracePath: '/ibc/apps/transfer/v1/denom_traces/', + mintScanName: 'sentinel', + chainName: 'Sentinel', + stakeCurrency: { + coinDenom: 'DVPN', + coinMinimalDenom: 'udvpn', + coinDecimals: 6, + coinGeckoId: 'sentinel', + coinImageUrl: '/tokens/blockchain/dvpn.png', + }, + bip44: { coinType: 118 }, + bech32Config: { + bech32PrefixAccAddr: 'sent', + bech32PrefixAccPub: 'sentpub', + bech32PrefixValAddr: 'sentvaloper', + bech32PrefixValPub: 'sentvaloperpub', + bech32PrefixConsAddr: 'sentvalcons', + bech32PrefixConsPub: 'sentvalconspub', + }, + currencies: [ + { + coinDenom: 'DVPN', + coinMinimalDenom: 'udvpn', + coinDecimals: 6, + coinGeckoId: 'sentinel', + coinImageUrl: '/tokens/blockchain/dvpn.png', + }, + ], + feeCurrencies: [ + { + coinDenom: 'DVPN', + coinMinimalDenom: 'udvpn', + coinDecimals: 6, + coinGeckoId: 'sentinel', + coinImageUrl: '/tokens/blockchain/dvpn.png', + }, + ], + features: ['stargate', 'ibc-transfer'], + explorerUrlToTx: 'https://www.mintscan.io/sentinel/txs/{txHash}', + gasPriceStep: { low: 0.1, average: 0.25, high: 0.4 }, + }, + }, + STARNAME: { + name: 'STARNAME', + defaultDecimals: 6, + addressPatterns: ['^(star1)[0-9a-z]{38}$'], + feeAssets: [{ blockchain: 'STARNAME', symbol: 'IOV', address: null }], + logo: 'https://api.rango.exchange/blockchains/starname.png', + displayName: 'Starname', + shortName: 'Starname', + sort: 35, + color: '#BC64BB', + enabled: true, + type: 'COSMOS', + chainId: 'iov-mainnet-ibc', + info: { + experimental: false, + rpc: 'https://rpc-iov.keplr.app', + rest: 'https://lcd-iov.keplr.app', + cosmostationLcdUrl: 'https://lcd-iov.cosmostation.io', + cosmostationApiUrl: 'https://api-iov.cosmostation.io', + cosmostationDenomTracePath: + '/ibc/applications/transfer/v1beta1/denom_traces/', + mintScanName: 'starname', + chainName: 'Starname', + stakeCurrency: { + coinDenom: 'IOV', + coinMinimalDenom: 'uiov', + coinDecimals: 6, + coinGeckoId: 'starname', + coinImageUrl: '/tokens/blockchain/IOV.png', + }, + bip44: { coinType: 494 }, + bech32Config: { + bech32PrefixAccAddr: 'star', + bech32PrefixAccPub: 'starpub', + bech32PrefixValAddr: 'starvaloper', + bech32PrefixValPub: 'starvaloperpub', + bech32PrefixConsAddr: 'starvalcons', + bech32PrefixConsPub: 'starvalconspub', + }, + currencies: [ + { + coinDenom: 'IOV', + coinMinimalDenom: 'uiov', + coinDecimals: 6, + coinGeckoId: 'starname', + coinImageUrl: '/tokens/blockchain/IOV.png', + }, + ], + feeCurrencies: [ + { + coinDenom: 'IOV', + coinMinimalDenom: 'uiov', + coinDecimals: 6, + coinGeckoId: 'starname', + coinImageUrl: '/tokens/blockchain/IOV.png', + }, + ], + features: ['stargate', 'ibc-transfer'], + explorerUrlToTx: 'https://www.mintscan.io/starname/txs/{txHash}', + gasPriceStep: { low: 1, average: 2, high: 3 }, + }, + }, + UMEE: { + name: 'UMEE', + defaultDecimals: 6, + addressPatterns: ['^(umee1)[0-9a-z]{38}$'], + feeAssets: [{ blockchain: 'UMEE', symbol: 'UMEE', address: null }], + logo: 'https://api.rango.exchange/blockchains/umee.svg', + displayName: 'Umee', + shortName: 'Umee', + sort: 36, + color: '#D2B6FF', + enabled: true, + type: 'COSMOS', + chainId: 'umee-1', + info: { + experimental: false, + rpc: 'https://api.barnacle.mainnet.network.umee.cc', + rest: 'https://lcd-umee.cosmostation.io', + cosmostationLcdUrl: 'https://lcd-umee.cosmostation.io', + cosmostationApiUrl: 'https://api-umee.cosmostation.io', + cosmostationDenomTracePath: '/ibc/apps/transfer/v1/denom_traces/', + mintScanName: 'umee', + chainName: 'Umee', + stakeCurrency: { + coinDenom: 'UMEE', + coinMinimalDenom: 'uumee', + coinDecimals: 6, + coinGeckoId: 'pool:uumee', + coinImageUrl: '/tokens/blockchain/UMEE.png', + }, + bip44: { coinType: 118 }, + bech32Config: { + bech32PrefixAccAddr: 'umee', + bech32PrefixAccPub: 'umeepub', + bech32PrefixValAddr: 'umeevaloper', + bech32PrefixValPub: 'umeevaloperpub', + bech32PrefixConsAddr: 'umeevalcons', + bech32PrefixConsPub: 'umeevalconspub', + }, + currencies: [ + { + coinDenom: 'UMEE', + coinMinimalDenom: 'uumee', + coinDecimals: 6, + coinGeckoId: 'pool:uumee', + coinImageUrl: '/tokens/blockchain/UMEE.png', + }, + ], + feeCurrencies: [ + { + coinDenom: 'UMEE', + coinMinimalDenom: 'uumee', + coinDecimals: 6, + coinGeckoId: 'pool:uumee', + coinImageUrl: '/tokens/blockchain/UMEE.png', + }, + ], + features: ['stargate', 'ibc-transfer', 'no-legacy-stdTx'], + explorerUrlToTx: 'https://www.mintscan.io/umee/txs/{txHash}', + gasPriceStep: { low: 0.05, average: 0.06, high: 0.1 }, + }, + }, + BITCANNA: { + name: 'BITCANNA', + defaultDecimals: 6, + addressPatterns: ['^(bcna1)[0-9a-z]{38}$'], + feeAssets: [{ blockchain: 'BITCANNA', symbol: 'BCNA', address: null }], + logo: 'https://api.rango.exchange/blockchains/bitcanna.svg', + displayName: 'BitCanna', + shortName: 'BitCanna', + sort: 36, + color: '#3CC194', + enabled: true, + type: 'COSMOS', + chainId: 'bitcanna-1', + info: { + experimental: true, + rpc: 'https://rpc.bitcanna.io', + rest: 'https://lcd.bitcanna.io', + cosmostationLcdUrl: 'https://lcd-bitcanna.cosmostation.io', + cosmostationApiUrl: 'https://api-bitcanna.cosmostation.io', + cosmostationDenomTracePath: '/ibc/apps/transfer/v1/denom_traces/', + mintScanName: 'bitcanna', + chainName: 'BitCanna', + stakeCurrency: { + coinDenom: 'BCNA', + coinMinimalDenom: 'ubcna', + coinDecimals: 6, + coinGeckoId: 'bitcanna', + coinImageUrl: '/tokens/blockchain/BCNA.png', + }, + bip44: { coinType: 118 }, + bech32Config: { + bech32PrefixAccAddr: 'bcna', + bech32PrefixAccPub: 'bcnapub', + bech32PrefixValAddr: 'bcnavaloper', + bech32PrefixValPub: 'bcnavaloperpub', + bech32PrefixConsAddr: 'bcnavalcons', + bech32PrefixConsPub: 'bcnavalconspub', + }, + currencies: [ + { + coinDenom: 'BCNA', + coinMinimalDenom: 'ubcna', + coinDecimals: 6, + coinGeckoId: 'bitcanna', + coinImageUrl: '/tokens/blockchain/BCNA.png', + }, + ], + feeCurrencies: [ + { + coinDenom: 'BCNA', + coinMinimalDenom: 'ubcna', + coinDecimals: 6, + coinGeckoId: 'bitcanna', + coinImageUrl: '/tokens/blockchain/BCNA.png', + }, + ], + features: ['stargate', 'ibc-transfer', 'no-legacy-stdTx'], + explorerUrlToTx: 'https://www.mintscan.io/bitcanna/txs/{txHash}', + gasPriceStep: null, + }, + }, + DESMOS: { + name: 'DESMOS', + defaultDecimals: 6, + addressPatterns: ['^(desmos1)[0-9a-z]{38}$'], + feeAssets: [{ blockchain: 'DESMOS', symbol: 'DSM', address: null }], + logo: 'https://api.rango.exchange/blockchains/desmos.svg', + displayName: 'Desmos', + shortName: 'Desmos', + sort: 37, + color: '#DF6952', + enabled: true, + type: 'COSMOS', + chainId: 'desmos-mainnet', + info: { + experimental: true, + rpc: 'https://rpc.mainnet.desmos.network', + rest: 'https://api.mainnet.desmos.network', + cosmostationLcdUrl: 'https://lcd-desmos.cosmostation.io', + cosmostationApiUrl: 'https://api-desmos.cosmostation.io', + cosmostationDenomTracePath: '/ibc/apps/transfer/v1/denom_traces/', + mintScanName: 'desmos', + chainName: 'Desmos', + stakeCurrency: { + coinDenom: 'DSM', + coinMinimalDenom: 'udsm', + coinDecimals: 6, + coinGeckoId: 'pool:udsm', + coinImageUrl: '/tokens/blockchain/DSM.png', + }, + bip44: { coinType: 852 }, + bech32Config: { + bech32PrefixAccAddr: 'desmos', + bech32PrefixAccPub: 'desmospub', + bech32PrefixValAddr: 'desmosvaloper', + bech32PrefixValPub: 'desmosvaloperpub', + bech32PrefixConsAddr: 'desmosvalcons', + bech32PrefixConsPub: 'desmosvalconspub', + }, + currencies: [ + { + coinDenom: 'DSM', + coinMinimalDenom: 'udsm', + coinDecimals: 6, + coinGeckoId: 'pool:udsm', + coinImageUrl: '/tokens/blockchain/DSM.png', + }, + ], + feeCurrencies: [ + { + coinDenom: 'DSM', + coinMinimalDenom: 'udsm', + coinDecimals: 6, + coinGeckoId: 'pool:udsm', + coinImageUrl: '/tokens/blockchain/DSM.png', + }, + ], + features: ['stargate', 'ibc-transfer', 'no-legacy-stdTx', 'ibc-go'], + explorerUrlToTx: + 'https://explorer.desmos.network/transactions/{txHash}', + gasPriceStep: null, + }, + }, + LUMNETWORK: { + name: 'LUMNETWORK', + defaultDecimals: 6, + addressPatterns: ['^(lum1)[0-9a-z]{38}$'], + feeAssets: [{ blockchain: 'LUMNETWORK', symbol: 'LUM', address: null }], + logo: 'https://api.rango.exchange/blockchains/lumnetwork.svg', + displayName: 'Lum Network', + shortName: 'Lum Network', + sort: 38, + color: '#1B42B4', + enabled: true, + type: 'COSMOS', + chainId: 'lum-network-1', + info: { + experimental: true, + rpc: 'https://node0.mainnet.lum.network/rpc', + rest: 'https://node0.mainnet.lum.network/rest', + cosmostationLcdUrl: 'https://lcd-lum.cosmostation.io', + cosmostationApiUrl: 'https://api-lum.cosmostation.io', + cosmostationDenomTracePath: '/ibc/apps/transfer/v1/denom_traces/', + mintScanName: 'lum', + chainName: 'Lum Network', + stakeCurrency: { + coinDenom: 'LUM', + coinMinimalDenom: 'ulum', + coinDecimals: 6, + coinGeckoId: 'pool:ulum', + coinImageUrl: '/tokens/blockchain/LUM.png', + }, + bip44: { coinType: 118 }, + bech32Config: { + bech32PrefixAccAddr: 'lum', + bech32PrefixAccPub: 'lumpub', + bech32PrefixValAddr: 'lumvaloper', + bech32PrefixValPub: 'lumvaloperpub', + bech32PrefixConsAddr: 'lumvalcons', + bech32PrefixConsPub: 'lumvalconspub', + }, + currencies: [ + { + coinDenom: 'LUM', + coinMinimalDenom: 'ulum', + coinDecimals: 6, + coinGeckoId: 'pool:ulum', + coinImageUrl: '/tokens/blockchain/LUM.png', + }, + ], + feeCurrencies: [ + { + coinDenom: 'LUM', + coinMinimalDenom: 'ulum', + coinDecimals: 6, + coinGeckoId: 'pool:ulum', + coinImageUrl: '/tokens/blockchain/LUM.png', + }, + ], + features: ['stargate', 'ibc-transfer', 'no-legacy-stdTx', 'ibc-go'], + explorerUrlToTx: 'https://www.mintscan.io/lum/txs/{txHash}', + gasPriceStep: null, + }, + }, + BOBA: { + name: 'BOBA', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'BOBA', symbol: 'ETH', address: null }], + logo: 'https://api.rango.exchange/blockchains/boba.png', + displayName: 'Boba', + shortName: 'Boba', + sort: 39, + color: '#ccff00', + enabled: true, + type: 'EVM', + chainId: '0x120', + info: { + chainName: 'Boba Network', + nativeCurrency: { name: 'ETH', symbol: 'ETH', decimals: 18 }, + rpcUrls: ['https://mainnet.boba.network'], + blockExplorerUrls: ['https://bobascan.com/'], + addressUrl: 'https://bobascan.com//address/{wallet}', + transactionUrl: 'https://bobascan.com//tx/{txHash}', + }, + }, + }, + evmNetworkChainInfo: { + BSC: { + chainName: 'Binance Smart Chain Mainnet', + chainId: '0x38', + nativeCurrency: { name: 'BNB', symbol: 'BNB', decimals: 18 }, + rpcUrls: ['https://bsc-dataseed1.ninicoin.io'], + blockExplorerUrls: ['https://bscscan.com'], + }, + POLYGON: { + chainName: 'Polygon Mainnet', + chainId: '0x89', + nativeCurrency: { name: 'MATIC', symbol: 'MATIC', decimals: 18 }, + rpcUrls: ['https://polygon-rpc.com'], + blockExplorerUrls: ['https://polygonscan.com'], + }, + ETH: { + chainName: 'Ethereum Mainnet', + chainId: '0x1', + nativeCurrency: { name: 'ETH', symbol: 'ETH', decimals: 18 }, + rpcUrls: ['https://rpc.ankr.com/eth'], + blockExplorerUrls: ['https://etherscan.io'], + }, + AVAX_CCHAIN: { + chainName: 'Avalanche C-Chain', + chainId: '0xa86a', + nativeCurrency: { name: 'AVAX', symbol: 'AVAX', decimals: 18 }, + rpcUrls: ['https://api.avax.network/ext/bc/C/rpc'], + blockExplorerUrls: ['https://snowtrace.io'], + }, + ARBITRUM: { + chainName: 'Arbitrum One', + chainId: '0xa4b1', + nativeCurrency: { name: 'ETH', symbol: 'ETH', decimals: 18 }, + rpcUrls: ['https://arb1.arbitrum.io/rpc'], + blockExplorerUrls: ['https://arbiscan.io'], + }, + FANTOM: { + chainName: 'Fantom Opera', + chainId: '0xfa', + nativeCurrency: { name: 'FTM', symbol: 'FTM', decimals: 18 }, + rpcUrls: ['https://rpc.ftm.tools'], + blockExplorerUrls: ['https://ftmscan.com'], + }, + OPTIMISM: { + chainName: 'Optimism', + chainId: '0xa', + nativeCurrency: { name: 'ETH', symbol: 'ETH', decimals: 18 }, + rpcUrls: ['https://mainnet.optimism.io'], + blockExplorerUrls: ['https://optimistic.etherscan.io'], + }, + OKC: { + chainName: 'OKX Chain', + chainId: '0x42', + nativeCurrency: { name: 'OKT', symbol: 'OKT', decimals: 18 }, + rpcUrls: ['https://exchainrpc.okex.org'], + blockExplorerUrls: ['https://www.oklink.com/en/okc'], + }, + CRONOS: { + chainName: 'Cronos Mainnet Beta', + chainId: '0x19', + nativeCurrency: { name: 'CRO', symbol: 'CRO', decimals: 18 }, + rpcUrls: ['https://cronosrpc-1.xstaking.sg'], + blockExplorerUrls: ['https://cronoscan.com'], + }, + MOONRIVER: { + chainName: 'MoonRiver', + chainId: '0x505', + nativeCurrency: { name: 'MOVR', symbol: 'MOVR', decimals: 18 }, + rpcUrls: ['https://rpc.moonriver.moonbeam.network'], + blockExplorerUrls: ['https://moonriver.moonscan.io'], + }, + MOONBEAM: { + chainName: 'MoonBeam', + chainId: '0x504', + nativeCurrency: { name: 'GLMR', symbol: 'GLMR', decimals: 18 }, + rpcUrls: ['https://rpc.api.moonbeam.network'], + blockExplorerUrls: ['https://moonbeam.moonscan.io'], + }, + HECO: { + chainName: 'Huobi ECO Chain Mainnet', + chainId: '0x80', + nativeCurrency: { name: 'HT', symbol: 'HT', decimals: 18 }, + rpcUrls: ['https://http-mainnet.hecochain.com'], + blockExplorerUrls: ['https://hecoinfo.com'], + }, + AURORA: { + chainName: 'Aurora Mainnet', + chainId: '0x4e454152', + nativeCurrency: { name: 'ETH', symbol: 'ETH', decimals: 18 }, + rpcUrls: ['https://mainnet.aurora.dev'], + blockExplorerUrls: ['https://explorer.mainnet.aurora.dev'], + }, + HARMONY: { + chainName: 'Harmony Mainnet', + chainId: '0x63564c40', + nativeCurrency: { name: 'ONE', symbol: 'ONE', decimals: 18 }, + rpcUrls: ['https://api.s0.t.hmny.io'], + blockExplorerUrls: ['https://explorer.harmony.one'], + }, + EVMOS: { + chainName: 'Evmos', + chainId: '0x2329', + nativeCurrency: { name: 'EVMOS', symbol: 'EVMOS', decimals: 18 }, + rpcUrls: ['https://eth.bd.evmos.org:8545'], + blockExplorerUrls: ['https://evm.evmos.org'], + }, + GNOSIS: { + chainName: 'Gnosis Chain', + chainId: '0x64', + nativeCurrency: { name: 'XDAI', symbol: 'XDAI', decimals: 18 }, + rpcUrls: ['https://rpc.gnosischain.com'], + blockExplorerUrls: ['https://blockscout.com/xdai/mainnet'], + }, + FUSE: { + chainName: 'Fuse Mainnet', + chainId: '0x7a', + nativeCurrency: { name: 'FUSE', symbol: 'FUSE', decimals: 18 }, + rpcUrls: ['https://rpc.fuse.io'], + blockExplorerUrls: ['https://explorer.fuse.io'], + }, + BOBA: { + chainName: 'Boba Network', + chainId: '0x120', + nativeCurrency: { name: 'ETH', symbol: 'ETH', decimals: 18 }, + rpcUrls: ['https://mainnet.boba.network'], + blockExplorerUrls: ['https://bobascan.com/'], + }, + }, + walletsAndSupportedChainsNames: { + 'binance-chain': ['BSC', 'ETH', 'BNB'], + metamask: [ + 'BSC', + 'POLYGON', + 'ETH', + 'AVAX_CCHAIN', + 'ARBITRUM', + 'FANTOM', + 'OPTIMISM', + 'OKC', + 'CRONOS', + 'MOONRIVER', + 'MOONBEAM', + 'HECO', + 'AURORA', + 'HARMONY', + 'EVMOS', + 'GNOSIS', + 'FUSE', + 'BOBA', + ], + coinbase: [ + 'BSC', + 'POLYGON', + 'ETH', + 'AVAX_CCHAIN', + 'ARBITRUM', + 'FANTOM', + 'OPTIMISM', + 'OKC', + 'CRONOS', + 'MOONRIVER', + 'MOONBEAM', + 'HECO', + 'AURORA', + 'HARMONY', + 'EVMOS', + 'GNOSIS', + 'FUSE', + 'BOBA', + 'SOLANA', + ], + keplr: [ + 'OSMOSIS', + 'JUNO', + 'COSMOS', + 'SIF', + 'STARGAZE', + 'CRYPTO_ORG', + 'CHIHUAHUA', + 'BANDCHAIN', + 'COMDEX', + 'REGEN', + 'IRIS', + 'EMONEY', + 'AKASH', + 'KI', + 'KUJIRA', + 'PERSISTENCE', + 'SENTINEL', + 'STARNAME', + 'UMEE', + 'BITCANNA', + 'DESMOS', + 'LUMNETWORK', + ], + phantom: ['SOLANA'], + xdefi: [ + 'BSC', + 'POLYGON', + 'ETH', + 'AVAX_CCHAIN', + 'ARBITRUM', + 'FANTOM', + 'SOLANA', + 'THOR', + 'BNB', + 'BTC', + 'LTC', + 'BCH', + ], + 'wallet-connect-2': [ + 'BSC', + 'POLYGON', + 'ETH', + 'AVAX_CCHAIN', + 'ARBITRUM', + 'FANTOM', + 'OPTIMISM', + 'OKC', + 'CRONOS', + 'MOONRIVER', + 'MOONBEAM', + 'HECO', + 'AURORA', + 'HARMONY', + 'EVMOS', + 'GNOSIS', + 'FUSE', + 'BOBA', + ], + 'trust-wallet': [ + 'BSC', + 'POLYGON', + 'ETH', + 'AVAX_CCHAIN', + 'ARBITRUM', + 'FANTOM', + 'OPTIMISM', + 'OKC', + 'CRONOS', + 'MOONRIVER', + 'MOONBEAM', + 'HECO', + 'AURORA', + 'HARMONY', + 'EVMOS', + 'GNOSIS', + 'FUSE', + 'BOBA', + ], + coin98: [ + 'BSC', + 'POLYGON', + 'ETH', + 'AVAX_CCHAIN', + 'ARBITRUM', + 'FANTOM', + 'OPTIMISM', + 'OKC', + 'CRONOS', + 'MOONRIVER', + 'MOONBEAM', + 'HECO', + 'AURORA', + 'HARMONY', + 'EVMOS', + 'GNOSIS', + 'FUSE', + 'BOBA', + 'SOLANA', + ], + okx: [ + 'BSC', + 'POLYGON', + 'ETH', + 'AVAX_CCHAIN', + 'ARBITRUM', + 'FANTOM', + 'OPTIMISM', + 'SOLANA', + 'CRONOS', + 'MOONRIVER', + 'MOONBEAM', + 'HARMONY', + 'BTC', + 'GNOSIS', + 'LTC', + 'BOBA', + ], + exodus: ['BSC', 'POLYGON', 'ETH', 'AVAX_CCHAIN', 'SOLANA', 'BNB'], + 'token-pocket': [ + 'BSC', + 'POLYGON', + 'ETH', + 'AVAX_CCHAIN', + 'ARBITRUM', + 'FANTOM', + 'OPTIMISM', + 'OKC', + 'CRONOS', + 'MOONRIVER', + 'MOONBEAM', + 'HECO', + 'AURORA', + 'HARMONY', + 'EVMOS', + 'GNOSIS', + 'FUSE', + 'BOBA', + ], + 'terra-station': [], + leap: [], + math: [ + 'BSC', + 'POLYGON', + 'ETH', + 'AVAX_CCHAIN', + 'ARBITRUM', + 'FANTOM', + 'OPTIMISM', + 'OKC', + 'CRONOS', + 'MOONRIVER', + 'MOONBEAM', + 'HECO', + 'AURORA', + 'HARMONY', + 'EVMOS', + 'GNOSIS', + 'FUSE', + 'BOBA', + 'SOLANA', + ], + safepal: [ + 'BSC', + 'POLYGON', + 'ETH', + 'AVAX_CCHAIN', + 'ARBITRUM', + 'FANTOM', + 'OPTIMISM', + 'OKC', + 'CRONOS', + 'MOONRIVER', + 'MOONBEAM', + 'HECO', + 'AURORA', + 'HARMONY', + 'EVMOS', + 'GNOSIS', + 'FUSE', + 'BOBA', + 'SOLANA', + ], + clover: [ + 'BSC', + 'POLYGON', + 'ETH', + 'AVAX_CCHAIN', + 'ARBITRUM', + 'FANTOM', + 'OPTIMISM', + 'OKC', + 'CRONOS', + 'MOONRIVER', + 'MOONBEAM', + 'HECO', + 'AURORA', + 'HARMONY', + 'EVMOS', + 'GNOSIS', + 'FUSE', + 'BOBA', + 'SOLANA', + ], + cosmostation: [ + 'BSC', + 'POLYGON', + 'ETH', + 'AVAX_CCHAIN', + 'ARBITRUM', + 'FANTOM', + 'OPTIMISM', + 'OKC', + 'CRONOS', + 'MOONRIVER', + 'MOONBEAM', + 'HECO', + 'AURORA', + 'HARMONY', + 'EVMOS', + 'GNOSIS', + 'FUSE', + 'BOBA', + 'OSMOSIS', + 'JUNO', + 'COSMOS', + 'SIF', + 'STARGAZE', + 'CRYPTO_ORG', + 'CHIHUAHUA', + 'BANDCHAIN', + 'COMDEX', + 'REGEN', + 'IRIS', + 'EMONEY', + 'AKASH', + 'KI', + 'KUJIRA', + 'PERSISTENCE', + 'SENTINEL', + 'STARNAME', + 'UMEE', + 'BITCANNA', + 'DESMOS', + 'LUMNETWORK', + ], + brave: [ + 'BSC', + 'POLYGON', + 'ETH', + 'AVAX_CCHAIN', + 'ARBITRUM', + 'FANTOM', + 'OPTIMISM', + 'OKC', + 'CRONOS', + 'MOONRIVER', + 'MOONBEAM', + 'HECO', + 'AURORA', + 'HARMONY', + 'EVMOS', + 'GNOSIS', + 'FUSE', + 'BOBA', + 'SOLANA', + ], + unknown: [], + }, + evmBasedChains: [ + { + name: 'BSC', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'BSC', symbol: 'BNB', address: null }], + logo: 'https://api.rango.exchange/blockchains/binance.svg', + displayName: 'BSC', + shortName: 'BSC', + sort: 1, + color: '#F3BA2F', + enabled: true, + type: 'EVM', + chainId: '0x38', + info: { + chainName: 'Binance Smart Chain Mainnet', + nativeCurrency: { name: 'BNB', symbol: 'BNB', decimals: 18 }, + rpcUrls: ['https://bsc-dataseed1.ninicoin.io'], + blockExplorerUrls: ['https://bscscan.com'], + addressUrl: 'https://bscscan.com/address/{wallet}', + transactionUrl: 'https://bscscan.com/tx/{txHash}', + }, + }, + { + name: 'POLYGON', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'POLYGON', symbol: 'MATIC', address: null }], + logo: 'https://api.rango.exchange/blockchains/polygon.svg', + displayName: 'Polygon', + shortName: 'Polygon', + sort: 2, + color: '#8247E5', + enabled: true, + type: 'EVM', + chainId: '0x89', + info: { + chainName: 'Polygon Mainnet', + nativeCurrency: { name: 'MATIC', symbol: 'MATIC', decimals: 18 }, + rpcUrls: ['https://polygon-rpc.com'], + blockExplorerUrls: ['https://polygonscan.com'], + addressUrl: 'https://polygonscan.com/address/{wallet}', + transactionUrl: 'https://polygonscan.com/tx/{txHash}', + }, + }, + { + name: 'ETH', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'ETH', symbol: 'ETH', address: null }], + logo: 'https://api.rango.exchange/blockchains/ethereum.svg', + displayName: 'Ethereum', + shortName: 'ETH', + sort: 3, + color: '#ecf0f1', + enabled: true, + type: 'EVM', + chainId: '0x1', + info: { + chainName: 'Ethereum Mainnet', + nativeCurrency: { name: 'ETH', symbol: 'ETH', decimals: 18 }, + rpcUrls: ['https://rpc.ankr.com/eth'], + blockExplorerUrls: ['https://etherscan.io'], + addressUrl: 'https://etherscan.io/address/{wallet}', + transactionUrl: 'https://etherscan.io/tx/{txHash}', + }, + }, + { + name: 'AVAX_CCHAIN', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'AVAX_CCHAIN', symbol: 'AVAX', address: null }], + logo: 'https://api.rango.exchange/blockchains/avax_cchain.svg', + displayName: 'Avalanche', + shortName: 'Avax', + sort: 6, + color: '#e84142', + enabled: true, + type: 'EVM', + chainId: '0xa86a', + info: { + chainName: 'Avalanche C-Chain', + nativeCurrency: { name: 'AVAX', symbol: 'AVAX', decimals: 18 }, + rpcUrls: ['https://api.avax.network/ext/bc/C/rpc'], + blockExplorerUrls: ['https://snowtrace.io'], + addressUrl: 'https://snowtrace.io/address/{wallet}', + transactionUrl: 'https://snowtrace.io/tx/{txHash}', + }, + }, + { + name: 'ARBITRUM', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'ARBITRUM', symbol: 'ETH', address: null }], + logo: 'https://api.rango.exchange/blockchains/arbitrum.svg', + displayName: 'Arbitrum', + shortName: 'Arbitrum', + sort: 7, + color: '#28a0f0', + enabled: true, + type: 'EVM', + chainId: '0xa4b1', + info: { + chainName: 'Arbitrum One', + nativeCurrency: { name: 'ETH', symbol: 'ETH', decimals: 18 }, + rpcUrls: ['https://arb1.arbitrum.io/rpc'], + blockExplorerUrls: ['https://arbiscan.io'], + addressUrl: 'https://arbiscan.io/address/{wallet}', + transactionUrl: 'https://arbiscan.io/tx/{txHash}', + }, + }, + { + name: 'FANTOM', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'FANTOM', symbol: 'FTM', address: null }], + logo: 'https://api.rango.exchange/blockchains/fantom.png', + displayName: 'Fantom', + shortName: 'Fantom', + sort: 9, + color: '#337afe', + enabled: true, + type: 'EVM', + chainId: '0xfa', + info: { + chainName: 'Fantom Opera', + nativeCurrency: { name: 'FTM', symbol: 'FTM', decimals: 18 }, + rpcUrls: ['https://rpc.ftm.tools'], + blockExplorerUrls: ['https://ftmscan.com'], + addressUrl: 'https://ftmscan.com/address/{wallet}', + transactionUrl: 'https://ftmscan.com/tx/{txHash}', + }, + }, + { + name: 'OPTIMISM', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'OPTIMISM', symbol: 'ETH', address: null }], + logo: 'https://api.rango.exchange/blockchains/optimism.svg', + displayName: 'Optimism', + shortName: 'Optimism', + sort: 10, + color: '#FF0420', + enabled: true, + type: 'EVM', + chainId: '0xa', + info: { + chainName: 'Optimism', + nativeCurrency: { name: 'ETH', symbol: 'ETH', decimals: 18 }, + rpcUrls: ['https://mainnet.optimism.io'], + blockExplorerUrls: ['https://optimistic.etherscan.io'], + addressUrl: 'https://optimistic.etherscan.io/address/{wallet}', + transactionUrl: 'https://optimistic.etherscan.io/tx/{txHash}', + }, + }, + { + name: 'OKC', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'OKC', symbol: 'OKT', address: null }], + logo: 'https://api.rango.exchange/blockchains/okx.png', + displayName: 'OKX Chain (OKC)', + shortName: 'Okx', + sort: 11, + color: '#29a0f0', + enabled: true, + type: 'EVM', + chainId: '0x42', + info: { + chainName: 'OKX Chain', + nativeCurrency: { name: 'OKT', symbol: 'OKT', decimals: 18 }, + rpcUrls: ['https://exchainrpc.okex.org'], + blockExplorerUrls: ['https://www.oklink.com/en/okc'], + addressUrl: 'https://www.oklink.com/en/okc/address/{wallet}', + transactionUrl: 'https://www.oklink.com/en/okc/tx/{txHash}', + }, + }, + { + name: 'CRONOS', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'CRONOS', symbol: 'CRO', address: null }], + logo: 'https://api.rango.exchange/blockchains/cronos.svg', + displayName: 'Cronos', + shortName: 'Cronos', + sort: 12, + color: '#1a90ff', + enabled: true, + type: 'EVM', + chainId: '0x19', + info: { + chainName: 'Cronos Mainnet Beta', + nativeCurrency: { name: 'CRO', symbol: 'CRO', decimals: 18 }, + rpcUrls: ['https://cronosrpc-1.xstaking.sg'], + blockExplorerUrls: ['https://cronoscan.com'], + addressUrl: 'https://cronoscan.com/address/{wallet}', + transactionUrl: 'https://cronoscan.com/tx/{txHash}', + }, + }, + { + name: 'MOONRIVER', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'MOONRIVER', symbol: 'MOVR', address: null }], + logo: 'https://api.rango.exchange/blockchains/moonriver.svg', + displayName: 'MoonRiver', + shortName: 'MoonRiver', + sort: 13, + color: '#F3B404', + enabled: true, + type: 'EVM', + chainId: '0x505', + info: { + chainName: 'MoonRiver', + nativeCurrency: { name: 'MOVR', symbol: 'MOVR', decimals: 18 }, + rpcUrls: ['https://rpc.moonriver.moonbeam.network'], + blockExplorerUrls: ['https://moonriver.moonscan.io'], + addressUrl: 'https://moonriver.moonscan.io/address/{wallet}', + transactionUrl: 'https://moonriver.moonscan.io/tx/{txHash}', + }, + }, + { + name: 'MOONBEAM', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'MOONBEAM', symbol: 'GLMR', address: null }], + logo: 'https://api.rango.exchange/blockchains/moonbeam.png', + displayName: 'MoonBeam', + shortName: 'MoonBeam', + sort: 14, + color: '#B3206B', + enabled: true, + type: 'EVM', + chainId: '0x504', + info: { + chainName: 'MoonBeam', + nativeCurrency: { name: 'GLMR', symbol: 'GLMR', decimals: 18 }, + rpcUrls: ['https://rpc.api.moonbeam.network'], + blockExplorerUrls: ['https://moonbeam.moonscan.io'], + addressUrl: 'https://moonbeam.moonscan.io/address/{wallet}', + transactionUrl: 'https://moonbeam.moonscan.io/tx/{txHash}', + }, + }, + { + name: 'HECO', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'HECO', symbol: 'HT', address: null }], + logo: 'https://api.rango.exchange/blockchains/heco.png', + displayName: 'Heco', + shortName: 'Heco', + sort: 15, + color: '#4CA852', + enabled: true, + type: 'EVM', + chainId: '0x80', + info: { + chainName: 'Huobi ECO Chain Mainnet', + nativeCurrency: { name: 'HT', symbol: 'HT', decimals: 18 }, + rpcUrls: ['https://http-mainnet.hecochain.com'], + blockExplorerUrls: ['https://hecoinfo.com'], + addressUrl: 'https://hecoinfo.com/address/{wallet}', + transactionUrl: 'https://hecoinfo.com/tx/{txHash}', + }, + }, + { + name: 'AURORA', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'AURORA', symbol: 'ETH', address: null }], + logo: 'https://api.rango.exchange/blockchains/aurora.svg', + displayName: 'Aurora', + shortName: 'Aurora', + sort: 15, + color: '#78d64b', + enabled: true, + type: 'EVM', + chainId: '0x4e454152', + info: { + chainName: 'Aurora Mainnet', + nativeCurrency: { name: 'ETH', symbol: 'ETH', decimals: 18 }, + rpcUrls: ['https://mainnet.aurora.dev'], + blockExplorerUrls: ['https://explorer.mainnet.aurora.dev'], + addressUrl: 'https://explorer.mainnet.aurora.dev/address/{wallet}', + transactionUrl: 'https://explorer.mainnet.aurora.dev/tx/{txHash}', + }, + }, + { + name: 'HARMONY', + defaultDecimals: 18, + addressPatterns: ['^(one1)[0-9a-z]{38}$', '^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'HARMONY', symbol: 'ONE', address: null }], + logo: 'https://api.rango.exchange/blockchains/harmony.svg', + displayName: 'Harmony', + shortName: 'Harmony', + sort: 15, + color: '#50AEE9', + enabled: true, + type: 'EVM', + chainId: '0x63564c40', + info: { + chainName: 'Harmony Mainnet', + nativeCurrency: { name: 'ONE', symbol: 'ONE', decimals: 18 }, + rpcUrls: ['https://api.s0.t.hmny.io'], + blockExplorerUrls: ['https://explorer.harmony.one'], + addressUrl: 'https://explorer.harmony.one/address/{wallet}', + transactionUrl: 'https://explorer.harmony.one/tx/{txHash}', + }, + }, + { + name: 'EVMOS', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'EVMOS', symbol: 'EVMOS', address: null }], + logo: 'https://api.rango.exchange/blockchains/evmos.png', + displayName: 'Evmos', + shortName: 'Evmos', + sort: 15, + color: '#2D2925', + enabled: true, + type: 'EVM', + chainId: '0x2329', + info: { + chainName: 'Evmos', + nativeCurrency: { name: 'EVMOS', symbol: 'EVMOS', decimals: 18 }, + rpcUrls: ['https://eth.bd.evmos.org:8545'], + blockExplorerUrls: ['https://evm.evmos.org'], + addressUrl: 'https://evm.evmos.org/address/{wallet}', + transactionUrl: 'https://evm.evmos.org/tx/{txHash}', + }, + }, + { + name: 'GNOSIS', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'GNOSIS', symbol: 'XDAI', address: null }], + logo: 'https://api.rango.exchange/blockchains/gnosis.svg', + displayName: 'Gnosis', + shortName: 'Gnosis', + sort: 26, + color: '#3E6957', + enabled: true, + type: 'EVM', + chainId: '0x64', + info: { + chainName: 'Gnosis Chain', + nativeCurrency: { name: 'XDAI', symbol: 'XDAI', decimals: 18 }, + rpcUrls: ['https://rpc.gnosischain.com'], + blockExplorerUrls: ['https://blockscout.com/xdai/mainnet'], + addressUrl: 'https://blockscout.com/xdai/mainnet/address/{wallet}', + transactionUrl: 'https://blockscout.com/xdai/mainnet/tx/{txHash}', + }, + }, + { + name: 'FUSE', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'FUSE', symbol: 'FUSE', address: null }], + logo: 'https://api.rango.exchange/blockchains/fuse.png', + displayName: 'Fuse', + shortName: 'Fuse', + sort: 29, + color: '#C5F9AD', + enabled: true, + type: 'EVM', + chainId: '0x7a', + info: { + chainName: 'Fuse Mainnet', + nativeCurrency: { name: 'FUSE', symbol: 'FUSE', decimals: 18 }, + rpcUrls: ['https://rpc.fuse.io'], + blockExplorerUrls: ['https://explorer.fuse.io'], + addressUrl: 'https://explorer.fuse.io/address/{wallet}', + transactionUrl: 'https://explorer.fuse.io/tx/{txHash}', + }, + }, + { + name: 'BOBA', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [{ blockchain: 'BOBA', symbol: 'ETH', address: null }], + logo: 'https://api.rango.exchange/blockchains/boba.png', + displayName: 'Boba', + shortName: 'Boba', + sort: 39, + color: '#ccff00', + enabled: true, + type: 'EVM', + chainId: '0x120', + info: { + chainName: 'Boba Network', + nativeCurrency: { name: 'ETH', symbol: 'ETH', decimals: 18 }, + rpcUrls: ['https://mainnet.boba.network'], + blockExplorerUrls: ['https://bobascan.com/'], + addressUrl: 'https://bobascan.com//address/{wallet}', + transactionUrl: 'https://bobascan.com//tx/{txHash}', + }, + }, + ], +} as unknown as Meta; diff --git a/queue-manager/demo/src/flows/rango/types.ts b/examples/queue-manager-demo/src/flows/rango/types.ts similarity index 64% rename from queue-manager/demo/src/flows/rango/types.ts rename to examples/queue-manager-demo/src/flows/rango/types.ts index 27b554f6af..0b5a75e760 100644 --- a/queue-manager/demo/src/flows/rango/types.ts +++ b/examples/queue-manager-demo/src/flows/rango/types.ts @@ -1,14 +1,16 @@ -import { - WalletType, - Network, - EvmTransaction, +import type { + Asset, CosmosTransaction, - TransferTransaction, + EvmTransaction, + Network, SolanaTransaction, - Asset, Transaction, -} from "@rango-dev/wallets-shared"; -import BigNumber from "bignumber.js"; + TransferTransaction, + WalletType, +} from '@rango-dev/wallets-shared'; +import type BigNumber from 'bignumber.js'; + +import { Networks } from '@rango-dev/wallets-shared'; export type WalletTypeAndAddress = { walletType: WalletType; @@ -16,13 +18,13 @@ export type WalletTypeAndAddress = { }; export enum MessageSeverity { - error = "error", - warning = "warning", - info = "info", - success = "success", + error = 'error', + warning = 'warning', + info = 'info', + success = 'success', } -export type SwapStatus = "running" | "failed" | "success"; +export type SwapStatus = 'running' | 'failed' | 'success'; export type SwapSavedSettings = { slippage: string; @@ -31,31 +33,31 @@ export type SwapSavedSettings = { }; export type SwapperId = - | "ThorChain" - | "OneInchEth" - | "Binance Bridge" - | "OneInchBsc" - | "OneInchPolygon" - | "Terra Bridge" - | "TerraSwap" - | "Osmosis" - | "Lido" - | "PoS Bridge" - | "Wormhole"; + | 'ThorChain' + | 'OneInchEth' + | 'Binance Bridge' + | 'OneInchBsc' + | 'OneInchPolygon' + | 'Terra Bridge' + | 'TerraSwap' + | 'Osmosis' + | 'Lido' + | 'PoS Bridge' + | 'Wormhole'; export type StepStatus = - | "created" - | "running" - | "failed" - | "success" - | "waitingForApproval" - | "approved"; + | 'created' + | 'running' + | 'failed' + | 'success' + | 'waitingForApproval' + | 'approved'; export enum PendingSwapNetworkStatus { - WaitingForConnectingWallet = "waitingForConnectingWallet", - WaitingForQueue = "waitingForQueue", - WaitingForNetworkChange = "waitingForNetworkChange", - NetworkChanged = "networkChanged", + WaitingForConnectingWallet = 'waitingForConnectingWallet', + WaitingForQueue = 'waitingForQueue', + WaitingForNetworkChange = 'waitingForNetworkChange', + NetworkChanged = 'networkChanged', } export type SwapExplorerUrl = { @@ -64,12 +66,12 @@ export type SwapExplorerUrl = { }; type InternalStepState = - | "PENDING" - | "CREATED" - | "WAITING" - | "SIGNED" - | "SUCCESSED" - | "FAILED"; + | 'PENDING' + | 'CREATED' + | 'WAITING' + | 'SIGNED' + | 'SUCCESSED' + | 'FAILED'; export type SwapperStatusStep = { name: string; @@ -118,7 +120,7 @@ export type SwapResultAsset = { usdPrice: number | null; }; -export type ExpenseType = "FROM_SOURCE_WALLET" | "DECREASE_FROM_OUTPUT"; +export type ExpenseType = 'FROM_SOURCE_WALLET' | 'DECREASE_FROM_OUTPUT'; export type SwapFee = { asset: Asset; @@ -165,7 +167,7 @@ export type SwapResult = { to: SwapResultAsset; fromAmount: string; fromAmountPrecision: number | null; - fromAmountRestrictionType: "EXCLUSIVE" | "INCLUSIVE"; + fromAmountRestrictionType: 'EXCLUSIVE' | 'INCLUSIVE'; fromAmountMinValue: number | null; fromAmountMaxValue: number | null; toAmount: string; @@ -205,9 +207,9 @@ export type PendingSwap = { }; export type Amount = { amount: string; decimals: number }; export type WalletRequiredAssetReason = - | "FEE" - | "INPUT_ASSET" - | "FEE_AND_INPUT_ASSET"; + | 'FEE' + | 'INPUT_ASSET' + | 'FEE_AND_INPUT_ASSET'; export type SimulationAssetAndAmount = { asset: Asset; @@ -240,15 +242,15 @@ export type BestRoute = { diagnosisMessages: string[]; }; -export const SWAPPER_ONE_INCH_ETH = "OneInchEth"; -export const SWAPPER_ONE_INCH_BSC = "OneInchBsc"; -export const SWAPPER_ONE_INCH_POLYGON = "OneInchPolygon"; -export const SWAPPER_TERRA_BRIDGE = "Terra Bridge"; -export const SWAPPER_LIDO = "Lido"; -export const SWAPPER_TERRA_SWAP = "TerraSwap"; -export const SWAPPER_THORCHAIN = "ThorChain"; -export const SWAPPER_BINANCE_BRIDGE = "Binance Bridge"; -export const SWAPPER_OSMOSIS = "Osmosis"; +export const SWAPPER_ONE_INCH_ETH = 'OneInchEth'; +export const SWAPPER_ONE_INCH_BSC = 'OneInchBsc'; +export const SWAPPER_ONE_INCH_POLYGON = 'OneInchPolygon'; +export const SWAPPER_TERRA_BRIDGE = 'Terra Bridge'; +export const SWAPPER_LIDO = 'Lido'; +export const SWAPPER_TERRA_SWAP = 'TerraSwap'; +export const SWAPPER_THORCHAIN = 'ThorChain'; +export const SWAPPER_BINANCE_BRIDGE = 'Binance Bridge'; +export const SWAPPER_OSMOSIS = 'Osmosis'; export const SWAPPER_ONE_INCH_LIST = [ SWAPPER_ONE_INCH_ETH, @@ -257,18 +259,18 @@ export const SWAPPER_ONE_INCH_LIST = [ ]; export const NETWORKS_FOR_1INCH = [ - Network.POLYGON, - Network.ETHEREUM, - Network.BSC, + Networks.POLYGON, + Networks.ETHEREUM, + Networks.BSC, ]; -export const BNB_SYMBOL = "BNB"; -export const MATIC_SYMBOL = "MATIC"; +export const BNB_SYMBOL = 'BNB'; +export const MATIC_SYMBOL = 'MATIC'; export const NETWORK_TO_NATIVE_SYMBOL_MAP_FOR_1INCH = new Map([ - [Network.ETHEREUM, Network.ETHEREUM], - [Network.BSC, BNB_SYMBOL], - [Network.POLYGON, MATIC_SYMBOL], + [Networks.ETHEREUM, Networks.ETHEREUM], + [Networks.BSC, BNB_SYMBOL], + [Networks.POLYGON, MATIC_SYMBOL], ]); export type TokenMeta = { @@ -296,20 +298,6 @@ export type UserWalletBlockchain = { addresses: string[]; }; -export type BestRouteRequest = { - from: Asset; - to: Asset; - amount: string; - connectedWallets: UserWalletBlockchain[]; - selectedWallets: { [p: string]: string }; - checkPrerequisites: boolean; - affiliateRef: string | null; - swappers?: string[]; - blockchains?: Network[]; - swapperGroups?: string[]; - swappersGroupsExclude?: boolean; -}; - export type WalletBalance = { chain: Network; symbol: string; @@ -336,30 +324,30 @@ export type Blockchain = { name: Network; accounts: Account[] }; export type Wallet = { blockchains: Blockchain[] }; export type EventType = - | "swap_started" - | "confirm_contract" - | "confirm_transfer" - | "task_failed" - | "task_completed" - | "task_canceled" - | "task_paused" - | "contract_confirmed" - | "contract_rejected" - | "transfer_confirmed" - | "transfer_rejected" - | "calling_smart_contract" - | "smart_contract_called" - | "smart_contract_call_failed" - | "step_completed_with_output" - | "waiting_for_network_change" - | "waiting_for_connecting_wallet" - | "network_changed" - | "not_enough_balance" - | "check_fee_failed" - | "route_failed_to_find"; + | 'swap_started' + | 'confirm_contract' + | 'confirm_transfer' + | 'task_failed' + | 'task_completed' + | 'task_canceled' + | 'task_paused' + | 'contract_confirmed' + | 'contract_rejected' + | 'transfer_confirmed' + | 'transfer_rejected' + | 'calling_smart_contract' + | 'smart_contract_called' + | 'smart_contract_call_failed' + | 'step_completed_with_output' + | 'waiting_for_network_change' + | 'waiting_for_connecting_wallet' + | 'network_changed' + | 'not_enough_balance' + | 'check_fee_failed' + | 'route_failed_to_find'; export type SwapperStatusResponse = { - status: "running" | "failed" | "success" | null; + status: 'running' | 'failed' | 'success' | null; extraMessage: string | null; timestamp: number; outputAmount: BigNumber | null; @@ -377,23 +365,23 @@ export type CheckTxStatusRequest = { }; export enum ApiMethodName { - RequestingSwapTransaction = "Requesting Swap Transaction", - CreatingSwap = "Creating Swap", - CheckingTransactionStatus = "Checking transaction status", - CreateTransaction = "Create Transaction", - CheckApproval = "Check TX Approval", - GettingSwapDetail = "Getting Swap Detail", - GettingUserLimits = "Getting user limits", + RequestingSwapTransaction = 'Requesting Swap Transaction', + CreatingSwap = 'Creating Swap', + CheckingTransactionStatus = 'Checking transaction status', + CreateTransaction = 'Create Transaction', + CheckApproval = 'Check TX Approval', + GettingSwapDetail = 'Getting Swap Detail', + GettingUserLimits = 'Getting user limits', } export type APIErrorCode = - | "TX_FAIL" - | "FETCH_TX_FAILED" - | "USER_REJECT" - | "CALL_WALLET_FAILED" - | "SEND_TX_FAILED" - | "CALL_OR_SEND_FAILED" - | "CLIENT_UNEXPECTED_BEHAVIOUR"; + | 'TX_FAIL' + | 'FETCH_TX_FAILED' + | 'USER_REJECT' + | 'CALL_WALLET_FAILED' + | 'SEND_TX_FAILED' + | 'CALL_OR_SEND_FAILED' + | 'CLIENT_UNEXPECTED_BEHAVIOUR'; export type ErrorDetail = { extraMessage: string; @@ -402,9 +390,9 @@ export type ErrorDetail = { }; export enum TransactionName { - GenericTransaction = "transaction", - SendingOneInchTransaction = "1inch transaction", - Approval = "approve transaction", + GenericTransaction = 'transaction', + SendingOneInchTransaction = '1inch transaction', + Approval = 'approve transaction', } export type UserSettings = { @@ -430,41 +418,30 @@ export type CreateTransactionResponse = { }; export const OKX_WALLET_SUPPORTED_CHAINS = [ - Network.ETHEREUM, - Network.BTC, - Network.BSC, - Network.TRON, - Network.SOLANA, - Network.POLYGON, - Network.FANTOM, - Network.ARBITRUM, - Network.OPTIMISM, - Network.CRONOS, - Network.BOBA, - Network.GNOSIS, - Network.MOONBEAM, - Network.MOONRIVER, - Network.HARMONY, - Network.LTC, - Network.AVAX_CCHAIN, + Networks.ETHEREUM, + Networks.BTC, + Networks.BSC, + Networks.TRON, + Networks.SOLANA, + Networks.POLYGON, + Networks.FANTOM, + Networks.ARBITRUM, + Networks.OPTIMISM, + Networks.CRONOS, + Networks.BOBA, + Networks.GNOSIS, + Networks.MOONBEAM, + Networks.MOONRIVER, + Networks.HARMONY, + Networks.LTC, + Networks.AVAX_CCHAIN, ]; -export const BINANCE_CHAIN_WALLET_SUPPORTED_CHAINS = [ - Network.ETHEREUM, - Network.BSC, - Network.BINANCE, -]; export const EXODUS_WALLET_SUPPORTED_CHAINS = [ - Network.SOLANA, - Network.ETHEREUM, - Network.BSC, - Network.POLYGON, - Network.AVAX_CCHAIN, + Networks.SOLANA, + Networks.ETHEREUM, + Networks.BSC, + Networks.POLYGON, + Networks.AVAX_CCHAIN, BNB_SYMBOL, ]; - -export type SwapProgressNotification = { - eventType: EventType; - swap: PendingSwap | null; - step: PendingSwapStep | null; -}; diff --git a/queue-manager/demo/src/flows/single.ts b/examples/queue-manager-demo/src/flows/single.ts similarity index 96% rename from queue-manager/demo/src/flows/single.ts rename to examples/queue-manager-demo/src/flows/single.ts index f44054c708..320dc0ff26 100644 --- a/queue-manager/demo/src/flows/single.ts +++ b/examples/queue-manager-demo/src/flows/single.ts @@ -1,6 +1,5 @@ import { RangoClient } from 'rango-sdk-basic'; import { connect, signEvmTx, switchNetwork } from '../wallet'; -import { QueueDef } from '@rango-dev/queue-manager-core'; const RANGO_API_KEY = '4a624ab5-16ff-4f96-90b7-ab00ddfc342c'; const rangoClient = new RangoClient(RANGO_API_KEY); diff --git a/examples/queue-manager-demo/src/index.tsx b/examples/queue-manager-demo/src/index.tsx new file mode 100644 index 0000000000..aea7f76d0c --- /dev/null +++ b/examples/queue-manager-demo/src/index.tsx @@ -0,0 +1,64 @@ +import React, { useEffect, useState } from 'react'; +import { createRoot } from 'react-dom/client'; +import { Events, Provider } from '@rango-dev/wallets-react'; +import { allProviders } from '@rango-dev/provider-all'; +import { RangoClient } from 'rango-sdk'; +import { App } from './App'; +import { WalletType } from '@rango-dev/wallets-shared'; +import { WC_PROJECT_ID } from './configs'; + +const providers = allProviders({ + walletconnect2: { + WC_PROJECT_ID: WC_PROJECT_ID, + }, +}); + +function AppContainer() { + const [connectedWallets, setConnectedWallets] = useState([]); + const client = new RangoClient(process.env.REACT_APP_API_KEY as string); + + // Because allBlockChains didn't use the BlockchainMeta type from rango-sdk, we have to use any type + const [blockchains, setBlockChains] = useState([]); + const [, setError] = useState(''); + const [, setLoading] = useState(true); + useEffect(() => { + const getAllBlockchains = async () => { + try { + const res = await client.getAllMetadata(); + setBlockChains(res.blockchains); + } catch (e) { + setError(e.message); + } + setLoading(false); + }; + getAllBlockchains(); + }, []); + + return ( + { + if (event === Events.ACCOUNTS && coreState.connected) { + if (coreState.connected) { + if (!connectedWallets.includes(type)) { + const nextState = [...connectedWallets]; + nextState.push(type); + setConnectedWallets(nextState); + } + } else { + const nextState = [...connectedWallets].filter( + (wallet) => wallet !== type + ); + setConnectedWallets(nextState); + } + } + }}> + + + ); +} + +const container = document.getElementById('app')!; +const root = createRoot(container); +root.render(); diff --git a/queue-manager/demo/src/styles.css b/examples/queue-manager-demo/src/styles.css similarity index 100% rename from queue-manager/demo/src/styles.css rename to examples/queue-manager-demo/src/styles.css diff --git a/queue-manager/demo/src/wallet.js b/examples/queue-manager-demo/src/wallet.js similarity index 100% rename from queue-manager/demo/src/wallet.js rename to examples/queue-manager-demo/src/wallet.js diff --git a/examples/queue-manager-demo/tsconfig.json b/examples/queue-manager-demo/tsconfig.json new file mode 100644 index 0000000000..9e3b11c3e2 --- /dev/null +++ b/examples/queue-manager-demo/tsconfig.json @@ -0,0 +1,13 @@ +{ + // see https://www.typescriptlang.org/tsconfig to better understand tsconfigs + "extends": "../../tsconfig.lib.json", + "include": ["src", "types"], + "compilerOptions": { + "outDir": "dist", + "lib": ["dom", "esnext"], + // match output dir to input dir. e.g. dist/index instead of dist/src/index + "rootDir": "./src", + // transpile JSX to React.createElement + "jsx": "react" + } +} diff --git a/examples/wallets-adapter-demo/CHANGELOG.md b/examples/wallets-adapter-demo/CHANGELOG.md new file mode 100644 index 0000000000..8bea989190 --- /dev/null +++ b/examples/wallets-adapter-demo/CHANGELOG.md @@ -0,0 +1,65 @@ +# [0.12.0](https://github.com/rango-exchange/rango-client/compare/wallets-adapter-demo@0.11.0...wallets-adapter-demo@0.12.0) (2023-08-03) + + + +# [0.11.0](https://github.com/rango-exchange/rango-client/compare/wallets-adapter-demo@0.8.0...wallets-adapter-demo@0.11.0) (2023-08-01) + + +### Features + +* add project id as a external value ([0c80404](https://github.com/rango-exchange/rango-client/commit/0c80404a8cacb6c5b0338dea1e416b0b11db254b)) +* Get Wallet Connect project id from config ([9fb30b4](https://github.com/rango-exchange/rango-client/commit/9fb30b4b1a83e2005bbf42553298f24b1e278e1c)) + + + +# [0.9.0](https://github.com/rango-exchange/rango-client/compare/wallets-adapter-demo@0.8.0...wallets-adapter-demo@0.9.0) (2023-07-31) + + +### Features + +* add project id as a external value ([0c80404](https://github.com/rango-exchange/rango-client/commit/0c80404a8cacb6c5b0338dea1e416b0b11db254b)) +* Get Wallet Connect project id from config ([9fb30b4](https://github.com/rango-exchange/rango-client/commit/9fb30b4b1a83e2005bbf42553298f24b1e278e1c)) + + + +# [0.8.0](https://github.com/rango-exchange/rango-client/compare/wallets-adapter-demo@0.7.0...wallets-adapter-demo@0.8.0) (2023-07-11) + + + +# [0.7.0](https://github.com/rango-exchange/rango-client/compare/wallets-adapter-demo@0.6.0...wallets-adapter-demo@0.7.0) (2023-07-11) + + + +# [0.6.0](https://github.com/rango-exchange/rango-client/compare/wallets-adapter-demo@0.5.0...wallets-adapter-demo@0.6.0) (2023-07-11) + + + +# [0.5.0](https://github.com/rango-exchange/rango-client/compare/wallets-adapter-demo@0.4.0...wallets-adapter-demo@0.5.0) (2023-05-31) + + + +# [0.4.0](https://github.com/rango-exchange/rango-client/compare/wallets-adapter-demo@0.3.0...wallets-adapter-demo@0.4.0) (2023-05-31) + + + +# [0.3.0](https://github.com/rango-exchange/rango-client/compare/wallets-adapter-demo@0.2.0...wallets-adapter-demo@0.3.0) (2023-05-30) + + + +# [0.2.0](https://github.com/rango-exchange/rango-client/compare/wallets-adapter-demo@0.1.15...wallets-adapter-demo@0.2.0) (2023-05-30) + + + +## [0.1.15](https://github.com/rango-exchange/rango-client/compare/wallets-adapter-demo@0.1.14...wallets-adapter-demo@0.1.15) (2023-05-15) + + + +## [0.1.14](https://github.com/rango-exchange/rango-client/compare/wallets-adapter-demo@0.1.13...wallets-adapter-demo@0.1.14) (2023-05-15) + + +### Bug Fixes + +* update rango-types and fix notification bugs ([993f185](https://github.com/rango-exchange/rango-client/commit/993f185e0b8c5e5e15a2c65ba2d85d1f9c8daa90)) + + + diff --git a/wallets/wallets-adapter-demo/package.json b/examples/wallets-adapter-demo/package.json similarity index 61% rename from wallets/wallets-adapter-demo/package.json rename to examples/wallets-adapter-demo/package.json index 492fe37d35..ed132cdb97 100644 --- a/wallets/wallets-adapter-demo/package.json +++ b/examples/wallets-adapter-demo/package.json @@ -1,19 +1,19 @@ { "name": "@rango-dev/wallets-adapter-demo", - "version": "0.1.12", + "version": "0.14.1-next.22", "license": "MIT", "private": true, "source": "public/index.html", "browserslist": "> 0.5%, last 2 versions, not dead", "scripts": { "dev": "parcel --cache-dir=.parcel-cache", - "build": "parcel build --cache-dir=.parcel-cache" + "build": "parcel build --cache-dir=.parcel-cache", + "clean": "rimraf .parcel-cache && rimraf dist" }, "dependencies": { - "@rango-dev/provider-all": "^0.1.12", - "@rango-dev/wallets-adapter": "^0.1.12", - "parcel": "^2.8.0", - "rango-sdk": "^0.1.20", + "@rango-dev/provider-all": "^0.25.1-next.2", + "@rango-dev/wallets-adapter": "^0.20.1-next.4", + "rango-sdk": "^0.1.44", "react": "^18.2.0", "react-dom": "^18.2.0" }, diff --git a/wallets/wallets-adapter-demo/public/index.html b/examples/wallets-adapter-demo/public/index.html similarity index 100% rename from wallets/wallets-adapter-demo/public/index.html rename to examples/wallets-adapter-demo/public/index.html diff --git a/wallets/wallets-adapter-demo/readme.md b/examples/wallets-adapter-demo/readme.md similarity index 100% rename from wallets/wallets-adapter-demo/readme.md rename to examples/wallets-adapter-demo/readme.md diff --git a/wallets/wallets-adapter-demo/src/App.tsx b/examples/wallets-adapter-demo/src/App.tsx similarity index 84% rename from wallets/wallets-adapter-demo/src/App.tsx rename to examples/wallets-adapter-demo/src/App.tsx index cb9b8581d0..2d9f532481 100644 --- a/wallets/wallets-adapter-demo/src/App.tsx +++ b/examples/wallets-adapter-demo/src/App.tsx @@ -1,10 +1,17 @@ -import React, { useEffect, useState } from 'react'; import { allProviders } from '@rango-dev/provider-all'; -import WalletsModal from './components/WalletsModal'; -import { RangoClient } from 'rango-sdk'; import { AdapterProvider } from '@rango-dev/wallets-adapter'; +import { RangoClient } from 'rango-sdk'; +import React, { useEffect, useState } from 'react'; + +import WalletsModal from './components/WalletsModal'; +import { WC_PROJECT_ID } from './constants'; + +const providers = allProviders({ + walletconnect2: { + WC_PROJECT_ID: WC_PROJECT_ID, + }, +}); -const providers = allProviders(); export function App() { const client = new RangoClient(process.env.REACT_APP_API_KEY as string); @@ -20,7 +27,7 @@ export function App() { console.log('failed on connect.', e); } }; - getAllBlockchains(); + void getAllBlockchains(); }, []); return ( diff --git a/wallets/wallets-adapter-demo/src/components/WalletsModal.tsx b/examples/wallets-adapter-demo/src/components/WalletsModal.tsx similarity index 88% rename from wallets/wallets-adapter-demo/src/components/WalletsModal.tsx rename to examples/wallets-adapter-demo/src/components/WalletsModal.tsx index 7942e5e4f1..3670de2748 100644 --- a/wallets/wallets-adapter-demo/src/components/WalletsModal.tsx +++ b/examples/wallets-adapter-demo/src/components/WalletsModal.tsx @@ -6,4 +6,4 @@ function WalletsModal() { return ; } -export default WalletsModal; \ No newline at end of file +export default WalletsModal; diff --git a/examples/wallets-adapter-demo/src/constants.ts b/examples/wallets-adapter-demo/src/constants.ts new file mode 100644 index 0000000000..d64a75805d --- /dev/null +++ b/examples/wallets-adapter-demo/src/constants.ts @@ -0,0 +1 @@ +export const WC_PROJECT_ID = 'e24844c5deb5193c1c14840a7af6a40b'; diff --git a/wallets/wallets-adapter-demo/src/index.tsx b/examples/wallets-adapter-demo/src/index.tsx similarity index 99% rename from wallets/wallets-adapter-demo/src/index.tsx rename to examples/wallets-adapter-demo/src/index.tsx index 91404b6d7f..2417a91a17 100644 --- a/wallets/wallets-adapter-demo/src/index.tsx +++ b/examples/wallets-adapter-demo/src/index.tsx @@ -1,5 +1,6 @@ import React from 'react'; import { createRoot } from 'react-dom/client'; + import { App } from './App'; const container = document.getElementById('app')!; diff --git a/examples/wallets-adapter-demo/tsconfig.json b/examples/wallets-adapter-demo/tsconfig.json new file mode 100644 index 0000000000..9e3b11c3e2 --- /dev/null +++ b/examples/wallets-adapter-demo/tsconfig.json @@ -0,0 +1,13 @@ +{ + // see https://www.typescriptlang.org/tsconfig to better understand tsconfigs + "extends": "../../tsconfig.lib.json", + "include": ["src", "types"], + "compilerOptions": { + "outDir": "dist", + "lib": ["dom", "esnext"], + // match output dir to input dir. e.g. dist/index instead of dist/src/index + "rootDir": "./src", + // transpile JSX to React.createElement + "jsx": "react" + } +} diff --git a/examples/wallets-demo/CHANGELOG.md b/examples/wallets-demo/CHANGELOG.md new file mode 100644 index 0000000000..6d87d3b309 --- /dev/null +++ b/examples/wallets-demo/CHANGELOG.md @@ -0,0 +1,74 @@ +# [0.11.0](https://github.com/rango-exchange/rango-client/compare/wallets-demo@0.10.0...wallets-demo@0.11.0) (2023-08-03) + + + +# [0.10.0](https://github.com/rango-exchange/rango-client/compare/wallets-demo@0.8.0...wallets-demo@0.10.0) (2023-08-01) + + +### Features + +* add project id as a external value ([0c80404](https://github.com/rango-exchange/rango-client/commit/0c80404a8cacb6c5b0338dea1e416b0b11db254b)) +* Get Wallet Connect project id from config ([9fb30b4](https://github.com/rango-exchange/rango-client/commit/9fb30b4b1a83e2005bbf42553298f24b1e278e1c)) +* Support for WalletConnect 2 ([faedef0](https://github.com/rango-exchange/rango-client/commit/faedef0b5e6fc3c5ef881cbbe4ec05334cc1c910)) +* support safe wallet ([d04cbcd](https://github.com/rango-exchange/rango-client/commit/d04cbcd2a612755563512d9dff6f2312088d8b4d)) + + + +# [0.9.0](https://github.com/rango-exchange/rango-client/compare/wallets-demo@0.8.0...wallets-demo@0.9.0) (2023-07-31) + + +### Features + +* add project id as a external value ([0c80404](https://github.com/rango-exchange/rango-client/commit/0c80404a8cacb6c5b0338dea1e416b0b11db254b)) +* Get Wallet Connect project id from config ([9fb30b4](https://github.com/rango-exchange/rango-client/commit/9fb30b4b1a83e2005bbf42553298f24b1e278e1c)) +* Support for WalletConnect 2 ([faedef0](https://github.com/rango-exchange/rango-client/commit/faedef0b5e6fc3c5ef881cbbe4ec05334cc1c910)) +* support safe wallet ([d04cbcd](https://github.com/rango-exchange/rango-client/commit/d04cbcd2a612755563512d9dff6f2312088d8b4d)) + + + +# [0.8.0](https://github.com/rango-exchange/rango-client/compare/wallets-demo@0.7.0...wallets-demo@0.8.0) (2023-07-11) + + + +# [0.7.0](https://github.com/rango-exchange/rango-client/compare/wallets-demo@0.6.0...wallets-demo@0.7.0) (2023-07-11) + + + +# [0.6.0](https://github.com/rango-exchange/rango-client/compare/wallets-demo@0.5.0...wallets-demo@0.6.0) (2023-07-11) + + +### Features + +* add bitkeep wallet ([c02c3df](https://github.com/rango-exchange/rango-client/commit/c02c3dfd236070295eada74aeb97514f8dacd0ed)) + + + +# [0.5.0](https://github.com/rango-exchange/rango-client/compare/wallets-demo@0.4.0...wallets-demo@0.5.0) (2023-05-31) + + + +# [0.4.0](https://github.com/rango-exchange/rango-client/compare/wallets-demo@0.3.0...wallets-demo@0.4.0) (2023-05-31) + + + +# [0.3.0](https://github.com/rango-exchange/rango-client/compare/wallets-demo@0.2.0...wallets-demo@0.3.0) (2023-05-30) + + + +# [0.2.0](https://github.com/rango-exchange/rango-client/compare/wallets-demo@0.1.15...wallets-demo@0.2.0) (2023-05-30) + + + +## [0.1.15](https://github.com/rango-exchange/rango-client/compare/wallets-demo@0.1.14...wallets-demo@0.1.15) (2023-05-15) + + + +## [0.1.14](https://github.com/rango-exchange/rango-client/compare/wallets-demo@0.1.13...wallets-demo@0.1.14) (2023-05-15) + + +### Bug Fixes + +* update rango-types and fix notification bugs ([993f185](https://github.com/rango-exchange/rango-client/commit/993f185e0b8c5e5e15a2c65ba2d85d1f9c8daa90)) + + + diff --git a/examples/wallets-demo/package.json b/examples/wallets-demo/package.json new file mode 100644 index 0000000000..d81a93c814 --- /dev/null +++ b/examples/wallets-demo/package.json @@ -0,0 +1,22 @@ +{ + "name": "@rango-dev/wallets-demo", + "version": "0.13.1-next.22", + "license": "MIT", + "private": true, + "source": "public/index.html", + "browserslist": "> 0.5%, last 2 versions, not dead", + "scripts": { + "dev": "parcel -p 3000 --cache-dir=.parcel-cache", + "build": "parcel build --cache-dir=.parcel-cache --no-scope-hoist", + "clean": "rimraf .parcel-cache && rimraf dist" + }, + "dependencies": { + "@rango-dev/provider-all": "^0.25.1-next.2", + "@rango-dev/ui": "^0.26.1-next.3", + "@rango-dev/wallets-react": "^0.11.1-next.1", + "@rango-dev/wallets-shared": "^0.25.1-next.1", + "rango-sdk": "^0.1.44", + "react": "^18.2.0", + "react-dom": "^18.2.0" + } +} diff --git a/wallets/demo/public/index.html b/examples/wallets-demo/public/index.html similarity index 100% rename from wallets/demo/public/index.html rename to examples/wallets-demo/public/index.html diff --git a/wallets/demo/readme.md b/examples/wallets-demo/readme.md similarity index 100% rename from wallets/demo/readme.md rename to examples/wallets-demo/readme.md diff --git a/examples/wallets-demo/src/App.tsx b/examples/wallets-demo/src/App.tsx new file mode 100644 index 0000000000..aae140e710 --- /dev/null +++ b/examples/wallets-demo/src/App.tsx @@ -0,0 +1,70 @@ +import type { BlockchainMeta, Token } from 'rango-sdk'; + +import { allProviders } from '@rango-dev/provider-all'; +import { ErrorIcon, Spinner, Typography } from '@rango-dev/ui'; +import { Provider } from '@rango-dev/wallets-react'; +import { RangoClient } from 'rango-sdk'; +import React, { useEffect, useState } from 'react'; + +import List from './components/List'; +import { WC_PROJECT_ID } from './constants'; + +const providers = allProviders({ + walletconnect2: { + WC_PROJECT_ID: WC_PROJECT_ID, + }, +}); + +export function App() { + const client = new RangoClient(process.env.REACT_APP_API_KEY as string); + const [blockchains, setBlockChains] = useState([]); + const [tokens, setTokens] = useState([]); + + const [error, setError] = useState(''); + const [loading, setLoading] = useState(true); + + useEffect(() => { + const getAllBlockchains = async () => { + try { + const res = await client.getAllMetadata(); + setBlockChains(res.blockchains); + setTokens(res.tokens); + } catch (e) { + setError(e instanceof Error ? e.message : JSON.stringify(e)); + } + setLoading(false); + }; + void getAllBlockchains(); + }, []); + + return ( + + {!process.env.REACT_APP_API_KEY && ( +

+ Please add REACT_APP_API_KEY + into .env +

+ )} +
+

Providers

+ {loading && ( +
+ + + Loading... + +
+ )} +
+ {!!error && ( +

+ Failed Get Blockchains From Server: {error} +

+ )} + +
+ ); +} diff --git a/wallets/demo/src/components/List/Item.tsx b/examples/wallets-demo/src/components/List/Item.tsx similarity index 57% rename from wallets/demo/src/components/List/Item.tsx rename to examples/wallets-demo/src/components/List/Item.tsx index 7354d5cbf0..d1bd7a634a 100644 --- a/wallets/demo/src/components/List/Item.tsx +++ b/examples/wallets-demo/src/components/List/Item.tsx @@ -1,94 +1,146 @@ -import React, { useState } from 'react'; -import { readAccountAddress, useWallets } from '@rango-dev/wallets-core'; -import { Network, WalletType, detectInstallLink, WalletInfo } from '@rango-dev/wallets-shared'; -import './styles.css'; +import type { + Network, + WalletInfo, + WalletType, +} from '@rango-dev/wallets-shared'; +import type { Token } from 'rango-sdk'; + import { Button, - HorizontalSwapIcon, - InfoCircleIcon, - SignatureIcon, - Spacer, + Divider, + InfoErrorIcon, + ReverseIcon, Spinner, Tooltip, Typography, } from '@rango-dev/ui'; +import { InfoCircleIcon } from '@rango-dev/ui/src/components/Icon'; +import { readAccountAddress, useWallets } from '@rango-dev/wallets-react'; +import { detectInstallLink, Networks } from '@rango-dev/wallets-shared'; +import React, { useState } from 'react'; +import './styles.css'; + import { evmBasedChainsSelector, prepareAccounts, walletAndSupportedChainsNames, } from '../../helper'; -import { TransactionType } from 'rango-sdk'; -function Item({ type, info }: { type: WalletType; info: WalletInfo }) { - const { connect, state, disconnect, canSwitchNetworkTo, getSigners } = useWallets(); +import SignModal from './modal'; + +function Item({ + type, + info, + tokens, +}: { + type: WalletType; + info: WalletInfo; + tokens: Token[]; +}) { + const { connect, state, disconnect, canSwitchNetworkTo, getSigners } = + useWallets(); + const [open, setOpen] = useState(false); const walletState = state(type); - const [network, setNetwork] = useState(Network.Unknown); + const [network, setNetwork] = useState(Networks.Unknown); const [error, setError] = useState(''); const evmBasedChains = evmBasedChainsSelector(info.supportedChains); const handleConnectWallet = async () => { - if (walletState.connecting) return; + if (walletState.connecting) { + return; + } try { if (!walletState.connected) { if (walletState.installed) { const result = await connect(type); setError(''); - setNetwork(result.network || Network.Unknown); + setNetwork(result.network || Networks.Unknown); } else { window.open(detectInstallLink(info.installLink), '_blank'); } } else { - disconnect(type); + void disconnect(type); } } catch (err) { - setError('Error: ' + (err.message || 'Failed to connect wallet')); + if (err instanceof Error) { + setError('Error: ' + err.message); + } else { + setError('Error: Failed to connect wallet'); + } } }; - const canSwitchNetwork = network !== Network.Unknown && canSwitchNetworkTo(type, network); + const canSwitchNetwork = + network !== Networks.Unknown && canSwitchNetworkTo(type, network); const handleChangeNetwork = async () => { if (canSwitchNetwork) { try { const result = await connect(type, network); setError(''); - setNetwork(result.network || Network.Unknown); + setNetwork(result.network || Networks.Unknown); } catch (err) { - setError('Error: ' + (err.message || 'Failed to connect wallet')); + if (err instanceof Error) { + setError('Error: ' + err.message); + } else { + setError('Error: Failed to connect wallet'); + } } } }; const handleSigner = () => { if (!walletState.accounts || !walletState.accounts.length) { - alert("You don't currently have an account or you haven't connected to wallet correctly!"); + alert( + "You don't currently have an account or you haven't connected to wallet correctly!" + ); } else { - const supportedChainsNames = walletAndSupportedChainsNames(info.supportedChains); + const supportedChainsNames = walletAndSupportedChainsNames( + info.supportedChains + ); const activeAccount = prepareAccounts( walletState.accounts, walletState.network, evmBasedChains, - supportedChainsNames, + supportedChainsNames ).find((a) => a.accounts.find((b) => b.isConnected)); + const signers = getSigners(type); + const isMatchedNetworkWithAccount = walletState.accounts.find((account) => + account?.toLowerCase()?.includes(network?.toLowerCase()) + ); const address = - (walletState.accounts?.length > 1 && - readAccountAddress( - walletState.accounts.find((account) => - account?.toLowerCase()?.includes(network?.toLowerCase()), - )!, - ).address) || - activeAccount?.accounts[0].address; + walletState.accounts?.length > 1 && isMatchedNetworkWithAccount + ? readAccountAddress( + walletState.accounts + .find((account) => + account?.toLowerCase()?.includes(network?.toLowerCase()) + ) + ?.toLowerCase() || '' + ).address + : activeAccount?.accounts[0].address; - const currentChain = info.supportedChains.find((chain) => chain.name === network); - const txType = currentChain?.type || TransactionType.EVM; + const currentChain = info.supportedChains.find( + (chain) => chain.name === network + ); + const txType = currentChain?.type; const chainId = currentChain?.chainId || null; - const result = signers.getSigner(txType).signMessage('Hello World', address!, chainId); + if (!txType) { + alert('Error in detecting tx type.'); + return; + } + const result = signers + .getSigner(txType) + .signMessage('Hello World', address || 'meow', chainId); result .then((signature) => { alert(signature); }) .catch((ex) => { - alert('Error' + `(${info.name}): ` + (ex.message || 'Failed to sign')); + alert( + 'Error' + `(${info.name}): ` + (ex.message || 'Failed to sign') + ); + console.log({ ex }); }); } }; + return (
@@ -106,14 +158,16 @@ function Item({ type, info }: { type: WalletType; info: WalletInfo }) {
{walletState.connected && !canSwitchNetwork && ( <> - + - + )}
@@ -123,7 +177,9 @@ function Item({ type, info }: { type: WalletType; info: WalletInfo }) {

Accounts:

{walletState?.accounts?.map((account) => ( -
{account}
+
+ {account} +
))}
@@ -135,7 +191,7 @@ function Item({ type, info }: { type: WalletType; info: WalletInfo }) {
{info.name}

{info.name}

- + {!walletState.installed ? 'The wallet is not installed' : 'The wallet is disconnected'} @@ -145,7 +201,7 @@ function Item({ type, info }: { type: WalletType; info: WalletInfo }) { {error && (

- + {error}

)} @@ -155,7 +211,7 @@ function Item({ type, info }: { type: WalletType; info: WalletInfo }) { +
setShowNextModal(true)}> +
+ {valueAll && } + {noneSelected && } + {hasValue && + value.slice(0, MAX_CHIPS).map((v) => )} + {showMore && ( + + )} +
+ +
+ + {showNextModal && ( + + {type !== 'Tokens' ? ( + + ) : ( + + ) + } + onChange={(items) => { + props.onChange(items); + onBack(); + }} + label={`Supported ${type}`} + /> + ) : ( + { + props.onChange(selectedTokens, pinnedTokens); + onBack(); + }} + selectedBlockchains={props.selectedBlockchains} + /> + )} + + )} + + ); +} diff --git a/widget/playground/src/components/MultiSelect/MultiSelect.types.ts b/widget/playground/src/components/MultiSelect/MultiSelect.types.ts new file mode 100644 index 0000000000..0e768f35c4 --- /dev/null +++ b/widget/playground/src/components/MultiSelect/MultiSelect.types.ts @@ -0,0 +1,37 @@ +import type { TokenType } from '../TokensPanel/TokensPanel.types'; +import type { Tokens } from '@rango-dev/widget-embedded'; + +export interface CommonListProps { + type: 'Blockchains' | 'Bridges' | 'DEXs' | 'Wallets'; + defaultSelectedItems: string[]; + list: MapSupportedList[]; + onChange: (items?: string[]) => void; +} + +interface TokensListProps { + type: 'Tokens'; + list: TokenType[]; + selectedBlockchains: string[]; + onChange: ( + selectedTokens?: { [blockchain: string]: Tokens }, + pinnedTokens?: TokenType[] + ) => void; + tokensConfig: { [blockchain: string]: Tokens }; +} +export type MuliSelectPropTypes = (TokensListProps | CommonListProps) & { + value?: string[]; + label: string; + icon: React.ReactNode; +}; + +export interface MultiSelectChipProps { + label: string; + variant?: 'contained' | 'outlined'; +} + +export type MapSupportedList = { + title: string; + logo: string; + name: string; + supportedNetworks?: string[]; +}; diff --git a/widget/playground/src/components/MultiSelect/MultiTokenSelect.tsx b/widget/playground/src/components/MultiSelect/MultiTokenSelect.tsx deleted file mode 100644 index 88effede9a..0000000000 --- a/widget/playground/src/components/MultiSelect/MultiTokenSelect.tsx +++ /dev/null @@ -1,229 +0,0 @@ -import React, { useState } from 'react'; -import { - Button, - Checkbox, - Chip, - Modal, - SecondaryPage, - Spacer, - styled, - TokenList, - Typography, -} from '@rango-dev/ui'; -import { Asset, BlockchainMeta, Token } from 'rango-sdk'; -import { Type } from '../../types'; -import { useConfigStore } from '../../store/config'; -import { Container } from './Container'; -import { filterTokens, tokensAreEqual } from '../../helpers'; - -type PropTypes = { - list: Token[]; - blockchains: BlockchainMeta[]; - label: string; - modalTitle: string; - type: Type; -}; -const Row = styled('div', { - display: 'flex', - flexWrap: 'wrap', - maxHeight: 120, - overflow: 'auto', -}); - -const EmptyContent = styled('div', { - textAlign: 'center', - marginTop: '20%', -}); -const Content = styled('div', { - display: 'flex', - flexDirection: 'column', -}); - - -export function MultiTokenSelect({ label, modalTitle, list, blockchains, type }: PropTypes) { - const [open, setOpen] = useState(false); - const [chain, setChain] = useState(''); - const [selectTokens, setSelectTokens] = useState({}); - const fromTokens = useConfigStore.use.config().from.tokens; - const toTokens = useConfigStore.use.config().to.tokens; - const onChangeTokens = useConfigStore.use.onChangeTokens(); - const tokens = type === 'Source' ? fromTokens : toTokens; - - const onChangeSelectList = (token: Asset) => { - const select = { ...selectTokens }; - if (select[chain]) { - const index = select[chain].findIndex((item) => tokensAreEqual(item, token)); - if (index === -1) { - select[chain].push(token); - } else { - select[chain].splice(index, 1); - } - } else { - select[chain] = [ - { - blockchain: token.blockchain, - address: token.address, - symbol: token.symbol, - }, - ]; - } - - let values = !!tokens ? [...tokens] : []; - const index = values.findIndex( - (item) => item.symbol === token.symbol && item.address === token.address, - ); - if (index === -1) { - values.push(token); - } else { - values.splice(index, 1); - } - setSelectTokens(select); - onChangeTokens(values, type); - }; - - const onClickSelectAll = (listOfToken) => { - let values = !!tokens ? [...tokens] : []; - const select = selectTokens; - if (selectTokens[chain] && selectTokens[chain].length === listOfToken.length) { - select[chain] = []; - for (const item of listOfToken) { - const index = values.findIndex( - (v) => v.symbol === item.symbol && v.address === item.address, - ); - if (index !== -1) values.splice(index, 1); - } - } else { - for (const item of listOfToken) { - select[chain] = listOfToken; - const index = values.findIndex( - (v) => v.symbol === item.symbol && v.address === item.address, - ); - if (index === -1) values.push(item); - } - } - setSelectTokens(select); - onChangeTokens(values, type); - }; - - const onClose = () => { - if (!!tokens && (!tokens.length || tokens.length === list.length)) { - onChangeTokens(undefined, type); - } - setOpen(false); - }; - return ( -
- setOpen(true)}> - {!!tokens && tokens.length ? ( - <> - {[...tokens].splice(0, 10).map((v) => ( - - ))} - setOpen(true)} - /> - - ) : ( - - )} - - - { - if (checked) { - setChain(''); - onChangeTokens(undefined, type); - } else { - onChangeTokens([], type); - setChain(blockchains[0].name); - } - }} - id="all_Tokens" - label="Select All Tokens" - checked={!tokens} - /> - } - open={open} - onClose={onClose} - content={ - - {(searchedFor) => { - const filterList = list.filter((token) => token.blockchain === chain); - - return ( - <> - - {blockchains.map((blockchain) => ( - <> - - - ))} - - - - {!tokens ? ( - - All tokens are selected - - ) : ( - <> - - - onChangeSelectList({ - blockchain: token.blockchain, - address: token.address, - symbol: token.symbol, - }) - } - /> - - )} - - ); - }} - - } - title={modalTitle} - containerStyle={{ width: '560px', maxHeight: '775px', minHeight: '665px' }} - /> -
- ); -} diff --git a/widget/playground/src/components/MultiSelect/index.tsx b/widget/playground/src/components/MultiSelect/index.tsx deleted file mode 100644 index f544a09e5f..0000000000 --- a/widget/playground/src/components/MultiSelect/index.tsx +++ /dev/null @@ -1,128 +0,0 @@ -import React, { useState } from 'react'; -import { BlockchainSelector, Button, Chip, CloseIcon, Modal } from '@rango-dev/ui'; -import { LiquiditySource } from '@rango-dev/ui/dist/types/meta'; -import { Source, Wallets } from '../../types'; -import { WalletType } from '@rango-dev/wallets-shared'; -import { BlockchainMeta } from 'rango-sdk'; -import { useMetaStore } from '../../store/meta'; -import { Container } from './Container'; -import ModalContent from './ModalContent'; - -type PropTypes = ( - | { - type: 'Blockchains'; - value?: string[]; - list: BlockchainMeta[]; - onChange: (chain: string | 'all' | 'empty') => void; - } - | { - type: 'Wallets'; - value?: WalletType[]; - list: Wallets; - onChange: (wallet: WalletType | 'all' | 'empty') => void; - } - | { - type: 'Sources'; - value?: string[]; - list: LiquiditySource[]; - onChange: (source: string | 'all' | 'empty') => void; - } -) & { - label: string; - modalTitle: string; -}; - -export function MultiSelect({ label, type, modalTitle, list, value, onChange }: PropTypes) { - const [open, setOpen] = useState(false); - const loadingStatus = useMetaStore.use.loadingStatus(); - const { blockchains } = useMetaStore.use.meta(); - - const onClickAction = () => { - if (!value) onChange('empty'); - else onChange('all'); - }; - - const onClose = () => { - if (!value || !value.length) onChange('all'); - setOpen(false); - }; - const renderModalContent = () => { - switch (type) { - case 'Blockchains': - return ( - value.includes(chain.name)) - } - onChange={(blockchain) => onChange(blockchain.name)} - loadingStatus={loadingStatus} - /> - ); - case 'Sources': - return ( - onChange(item.title)} - selectedList={value} - type={type} - /> - ); - case 'Wallets': - return ( - onChange(item.type)} - selectedList={value} - type={type} - /> - ); - } - }; - - const getLabel = (value) => { - switch (type) { - case 'Blockchains': - return value; - case 'Wallets': - case 'Sources': - return value; - } - }; - return ( -
- setOpen(true)}> - {!value ? ( - - ) : !value.length ? ( - - ) : ( - value.map((v) => ( - } - onClick={() => onChange(v)} - /> - )) - )} - - - - {!value ? 'Deselect All' : 'Select All'} - - } - open={open} - onClose={onClose} - content={renderModalContent()} - title={modalTitle} - containerStyle={{ width: '560px', height: '655px' }} - /> -
- ); -} diff --git a/widget/playground/src/components/OverlayPanel/OverlayPanel.styles.ts b/widget/playground/src/components/OverlayPanel/OverlayPanel.styles.ts new file mode 100644 index 0000000000..a9949f6e1a --- /dev/null +++ b/widget/playground/src/components/OverlayPanel/OverlayPanel.styles.ts @@ -0,0 +1,35 @@ +import { styled } from '@rango-dev/ui'; + +export const Container = styled('div', { + display: 'flex', + flexDirection: 'column', + position: 'relative', + height: '100%', +}); +export const Header = styled('div', { + display: 'flex', + padding: '$5', + alignItems: 'center', + width: '70px', + cursor: 'pointer', + '&:hover': { + '& ._text, svg': { + color: '$secondary500', + }, + }, +}); + +export const Layout = styled('div', { + borderRadius: '20px', + display: 'flex', + padding: '$15', + backgroundColor: '$background', + width: '338px', + height: '100%', + flexDirection: 'column', + position: 'absolute', + zIndex: 1, + top: 0, + left: 0, + zIndex: '1', +}); diff --git a/widget/playground/src/components/OverlayPanel/OverlayPanel.tsx b/widget/playground/src/components/OverlayPanel/OverlayPanel.tsx new file mode 100644 index 0000000000..678bceeafe --- /dev/null +++ b/widget/playground/src/components/OverlayPanel/OverlayPanel.tsx @@ -0,0 +1,26 @@ +import type { PropTypes } from './OverlayPanel.types'; +import type { PropsWithChildren } from 'react'; + +import { ChevronLeftIcon, Divider, Typography } from '@rango-dev/ui'; +import React from 'react'; + +import { Container, Header, Layout } from './OverlayPanel.styles'; + +export function OverlayPanel(props: PropsWithChildren) { + const { onBack, children } = props; + return ( + + +
+ + + + back + +
+ + {children} +
+
+ ); +} diff --git a/widget/playground/src/components/OverlayPanel/OverlayPanel.types.ts b/widget/playground/src/components/OverlayPanel/OverlayPanel.types.ts new file mode 100644 index 0000000000..212059b219 --- /dev/null +++ b/widget/playground/src/components/OverlayPanel/OverlayPanel.types.ts @@ -0,0 +1,3 @@ +export interface PropTypes { + onBack: () => void; +} diff --git a/widget/playground/src/components/OverlayPanel/index.ts b/widget/playground/src/components/OverlayPanel/index.ts new file mode 100644 index 0000000000..5ffcb46a34 --- /dev/null +++ b/widget/playground/src/components/OverlayPanel/index.ts @@ -0,0 +1 @@ +export { OverlayPanel } from './OverlayPanel'; diff --git a/widget/playground/src/components/Select.tsx b/widget/playground/src/components/Select.tsx deleted file mode 100644 index 9851237ecc..0000000000 --- a/widget/playground/src/components/Select.tsx +++ /dev/null @@ -1,91 +0,0 @@ -import { - AngleDownIcon, - Button, - CheckIcon, - Modal, - SecondaryPage, - styled, - Typography, -} from '@rango-dev/ui'; -import React, { useState } from 'react'; - -interface PropTypes { - onChange: (name: string, value: string) => void; - label: string; - value: string; - modalTitle: string; - name: string; - list: Array<{ - name: string; - logo?: string; - value: string; - }>; -} -const filterList = (list, searchedFor: string) => - list.filter((item) => item.name.toLowerCase().includes(searchedFor.toLowerCase())); -const Image = styled('img', { - width: '24px', - height: '24px', - marginRight: '$4', - borderRadius: '12px', -}); - -const Label = styled('label', { - display: 'inline-block', - fontSize: '$14', - marginBottom: '$4', - color: '$foreground', -}); - -export function Select({ label, value, onChange, modalTitle, list, name }: PropTypes) { - const [open, setOpen] = useState(false); - const search = list.find((item) => item.value === value); - - return ( -
- - - - - setOpen((prev) => !prev)} - content={ - - {(searchedFor) => - filterList(list, searchedFor).map((item, index) => ( - <> - -
- - )) - } -
- } - title={modalTitle} - containerStyle={{ width: '560px', height: '655px' }} - /> -
- ); -} diff --git a/widget/playground/src/components/SideNavigation/SideNavigation.Icon.tsx b/widget/playground/src/components/SideNavigation/SideNavigation.Icon.tsx new file mode 100644 index 0000000000..e53f38b334 --- /dev/null +++ b/widget/playground/src/components/SideNavigation/SideNavigation.Icon.tsx @@ -0,0 +1,23 @@ +import type { IconLinkPropTypes } from './SideNavigation.types'; + +import { Divider, Typography } from '@rango-dev/ui'; +import React from 'react'; + +import { IconLabelContaienr, IconWrapper } from './SideNavigation.styles'; + +export function IconLink(props: IconLinkPropTypes) { + const { icon, label, disabled } = props; + return ( + + {icon} + + + {label} + + + ); +} diff --git a/widget/playground/src/components/SideNavigation/SideNavigation.Tabs.tsx b/widget/playground/src/components/SideNavigation/SideNavigation.Tabs.tsx new file mode 100644 index 0000000000..29794bd11e --- /dev/null +++ b/widget/playground/src/components/SideNavigation/SideNavigation.Tabs.tsx @@ -0,0 +1,47 @@ +import type { TabPropTypes } from './SideNavigation.types'; +import type { SIDE_TABS_IDS } from '../../constants'; + +import React, { useState } from 'react'; + +import { Indicator, Tab, TabsContainer } from './SideNavigation.styles'; + +const TAB_HEIGHT = 95; +const Tabs = (props: TabPropTypes) => { + const { variant = 'vertical', tabs, onChange, activeLayout } = props; + const [activeIndex, setActiveIndex] = useState(0); + + const handleTabClick = (tabId: SIDE_TABS_IDS, index: number) => { + onChange(tabId); + setActiveIndex(index); + }; + + return ( + + {variant === 'vertical' && + tabs.map((tab, index) => { + const isActive = activeLayout === tab.id; + const disabled = tab.disabled; + return ( + handleTabClick(tab.id, index) + : undefined + }> + {tab.content} + + ); + })} + + + // TODO: check horizontal tab + ); +}; + +export default Tabs; diff --git a/widget/playground/src/components/SideNavigation/SideNavigation.styles.ts b/widget/playground/src/components/SideNavigation/SideNavigation.styles.ts new file mode 100644 index 0000000000..e39ca32139 --- /dev/null +++ b/widget/playground/src/components/SideNavigation/SideNavigation.styles.ts @@ -0,0 +1,72 @@ +import { styled } from '@rango-dev/ui'; + +const Flex = styled('div', { + display: 'flex', + justifyContent: 'center', + alignItems: 'center', +}); + +export const Container = styled('div', { + borderRadius: '20px', + display: 'flex', + justifyContent: 'space-between', + padding: '$46 0 $30', + backgroundColor: '$background', + width: '96px', + height: '100%', + flexDirection: 'column', +}); + +export const IconLabelContaienr = styled(Flex, { + flexDirection: 'column', +}); + +export const IconWrapper = styled(Flex, { + width: '$32', + height: '$32', +}); + +export const Tab = styled(Flex, { + flexDirection: 'column', + padding: '$15 0', + cursor: 'pointer', + width: '100%', + variants: { + disabled: { + true: { + cursor: 'not-allowed', + '&:hover': { + backgroundColor: 'unset', + }, + }, + }, + }, + '&:hover': { + backgroundColor: '$neutral200', + }, +}); + +export const Indicator = styled('div', { + width: '7px', + height: '64px', + borderRadius: '0 20px 20px 0', + backgroundColor: '$secondary500', + position: 'absolute', + transition: 'transform 0.4s ease-in-out', + left: 0, + top: 20, +}); + +export const TabsContainer = styled(Flex, { + flexDirection: 'column', + position: 'relative', + width: '100%', +}); + +export const StyledAnchor = styled('a', { + textDecoration: 'none', + padding: '$15 0', + '&:hover': { + backgroundColor: '$neutral200', + }, +}); diff --git a/widget/playground/src/components/SideNavigation/SideNavigation.tsx b/widget/playground/src/components/SideNavigation/SideNavigation.tsx new file mode 100644 index 0000000000..fd05431dce --- /dev/null +++ b/widget/playground/src/components/SideNavigation/SideNavigation.tsx @@ -0,0 +1,52 @@ +import type { PropTypes } from './SideNavigation.types'; + +import { InfoIcon, SettingsIcon, StyleIcon } from '@rango-dev/ui'; +import React from 'react'; + +import { SIDE_TABS_IDS } from '../../constants'; + +import { IconLink } from './SideNavigation.Icon'; +import { Container, StyledAnchor } from './SideNavigation.styles'; +import Tabs from './SideNavigation.Tabs'; + +const SIDE_NAVIGATION_TABS = [ + { + title: 'Functional Setting', + id: SIDE_TABS_IDS.FUNCTIONAL, + icon: , + }, + { + title: 'Style', + id: SIDE_TABS_IDS.STYLE, + icon: , + }, +]; + +export function SideNavigation(props: PropTypes) { + const { onChange, activeLayout } = props; + + return ( + + { + return { + title: tab.title, + id: tab.id, + content: , + }; + })} + /> + + } + label="Help" + /> + + + ); +} diff --git a/widget/playground/src/components/SideNavigation/SideNavigation.types.ts b/widget/playground/src/components/SideNavigation/SideNavigation.types.ts new file mode 100644 index 0000000000..f5d6a91a77 --- /dev/null +++ b/widget/playground/src/components/SideNavigation/SideNavigation.types.ts @@ -0,0 +1,22 @@ +import type { SIDE_TABS_IDS } from '../../constants'; + +export interface PropTypes { + activeLayout: SIDE_TABS_IDS; + onChange: (id: SIDE_TABS_IDS) => void; +} + +export interface TabPropTypes extends PropTypes { + variant: 'vertical' | 'horizontal'; + tabs: { + content: React.ReactNode; + disabled?: boolean; + title?: string; + id: SIDE_TABS_IDS; + }[]; +} + +export interface IconLinkPropTypes { + icon: React.ReactNode; + label: string; + disabled?: boolean; +} diff --git a/widget/playground/src/components/SideNavigation/index.ts b/widget/playground/src/components/SideNavigation/index.ts new file mode 100644 index 0000000000..3f273a8496 --- /dev/null +++ b/widget/playground/src/components/SideNavigation/index.ts @@ -0,0 +1 @@ +export { SideNavigation } from './SideNavigation'; diff --git a/widget/playground/src/components/SingleList/SingleList.styles.ts b/widget/playground/src/components/SingleList/SingleList.styles.ts new file mode 100644 index 0000000000..a837c624cf --- /dev/null +++ b/widget/playground/src/components/SingleList/SingleList.styles.ts @@ -0,0 +1,37 @@ +import { Button, styled } from '@rango-dev/ui'; + +export const HeaderContainer = styled('div', { + display: 'flex', + justifyContent: 'space-between', + alignItems: 'center', + + '& .header': { + display: 'flex', + alignItems: 'center', + }, +}); + +export const RadioList = styled('div', { + height: '100%', +}); + +export const IconWrapper = styled('div', { + width: '$24', + height: '$24', + display: 'flex', + alignItems: 'center', + justifyContent: 'center', +}); + +export const StyledButton = styled(Button, { + position: 'absolute', + bottom: 10, + width: '100%', +}); + +export const EmptyContainer = styled('div', { + height: '100%', + display: 'flex', + justifyContent: 'center', + alignItems: 'center', +}); diff --git a/widget/playground/src/components/SingleList/SingleList.tsx b/widget/playground/src/components/SingleList/SingleList.tsx new file mode 100644 index 0000000000..1a9d489259 --- /dev/null +++ b/widget/playground/src/components/SingleList/SingleList.tsx @@ -0,0 +1,193 @@ +import type { PropTypes } from './SingleList.types'; +import type { ForwardedRef } from 'react'; +import type { CommonProps } from 'react-window'; + +import { + CloseIcon, + Divider, + IconButton, + Image, + ListItemButton, + NotFound, + Radio, + RadioRoot, + SearchIcon, + TextField, + Typography, + VirtualizedList, +} from '@rango-dev/ui'; +import React, { forwardRef, useEffect, useState } from 'react'; + +import { + EmptyContainer, + HeaderContainer, + IconWrapper, + RadioList, + StyledButton, +} from './SingleList.styles'; + +const PAGE_SIZE = 30; +const ITEM_HEIGHT = 46; +const PADDING_SPACE = 8; + +export function SingleList(props: PropTypes) { + const { list, onChange, defaultValue, title, icon, searchPlaceholder } = + props; + const [virtualList, setVirtualList] = useState(list); + const [hasNextPage, setHasNextPage] = useState(true); + + const [searchValue, setSearchValue] = useState(''); + const [item, setItem] = useState(''); + const filteredList = searchValue + ? list.filter((item) => + item.name.toLowerCase().includes(searchValue.toLowerCase()) + ) + : list; + + const handleConfirm = () => { + onChange(item); + }; + + useEffect(() => { + setHasNextPage(filteredList.length > virtualList.length); + }, [virtualList.length]); + useEffect(() => { + setVirtualList(filteredList.slice(0, PAGE_SIZE)); + }, [list, searchValue]); + + const loadNextPage = () => { + setVirtualList(list.slice(0, virtualList.length + PAGE_SIZE)); + }; + + const resultsNotFound = !virtualList.length && !!searchValue; + + return ( + <> + +
+ {icon} + + + {title} + +
+
+ + setSearchValue(e.target.value)} + value={searchValue} + variant="contained" + placeholder={searchPlaceholder} + prefix={ + + + + } + suffix={ + setSearchValue('')} + size="small"> + {!!searchValue.length && } + + } + style={{ + padding: 10, + borderRadius: 25, + alignItems: 'center', + }} + /> + + {resultsNotFound ? ( + + + + ) : ( + + + { + const Icon = virtualList[index].Icon; + return ( +
+ + ) : Icon ? ( + + ) : null + } + hasDivider + onClick={() => setItem(virtualList[index].value || '')} + end={} + title={ + + {virtualList[index].name} + + } + key={`${virtualList[index].name}${virtualList[index].value}`} + id={`${virtualList[index].name}${virtualList[index].value}`} + /> +
+ ); + }} + hasNextPage={hasNextPage} + itemCount={virtualList.length} + loadNextPage={loadNextPage} + innerElementType={InnerElementType} + size={ITEM_HEIGHT} + /> +
+
+ )} + + + {!resultsNotFound && ( + + Confirm + + )} + + ); +} + +export const InnerElementType: React.FC = forwardRef( + (render, ref) => { + return ( +
} + style={{ + ...render.style, + height: `${ + parseFloat(render.style?.height as string) + PADDING_SPACE * 2 + }px`, + }} + /> + ); + } +); +InnerElementType.displayName = 'InnerElementType'; diff --git a/widget/playground/src/components/SingleList/SingleList.types.ts b/widget/playground/src/components/SingleList/SingleList.types.ts new file mode 100644 index 0000000000..97a813a416 --- /dev/null +++ b/widget/playground/src/components/SingleList/SingleList.types.ts @@ -0,0 +1,13 @@ +export interface PropTypes { + title: string; + icon: React.ReactNode; + defaultValue?: string | null; + onChange: (item: string) => void; + list: { + name: string; + value: string | null; + image?: string; + Icon?: React.ComponentType<{ size?: number }>; + }[]; + searchPlaceholder?: string; +} diff --git a/widget/playground/src/components/SingleList/index.ts b/widget/playground/src/components/SingleList/index.ts new file mode 100644 index 0000000000..7f086daba9 --- /dev/null +++ b/widget/playground/src/components/SingleList/index.ts @@ -0,0 +1 @@ +export { SingleList, InnerElementType } from './SingleList'; diff --git a/widget/playground/src/components/Slider/Slider.styles.ts b/widget/playground/src/components/Slider/Slider.styles.ts new file mode 100644 index 0000000000..c3d63d6cb6 --- /dev/null +++ b/widget/playground/src/components/Slider/Slider.styles.ts @@ -0,0 +1,48 @@ +import { styled } from '@rango-dev/ui'; + +export const SliderContainer = styled('div', { + display: 'flex', + padding: '0 0 0 $10', + flexDirection: 'column', +}); +export const Content = styled('div', { + display: 'flex', + justifyContent: 'space-between', +}); +export const ValueSection = styled('div', { + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + border: '1px solid $neutral300', + borderRadius: '$xs', + padding: '$4', + width: '$32', +}); +export const RangeWrapper = styled('div', { + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + flexGrow: '0.8', + + '& .range': { + width: '100%', + cursor: 'pointer', + }, + '& .range-custom': { + height: '3px', + backgroundColor: '$secondary500', + '-webkit-appearance': 'none', + '&::-webkit-slider-thumb': { + '-webkit-appearance': 'none', + width: '10px', + height: '8px', + backgroundColor: '$secondary500', + }, + + '&::-moz-range-thumb': { + width: '10px', + height: '8px', + backgroundColor: '$secondary500', + }, + }, +}); diff --git a/widget/playground/src/components/Slider/Slider.tsx b/widget/playground/src/components/Slider/Slider.tsx new file mode 100644 index 0000000000..e46c30ab32 --- /dev/null +++ b/widget/playground/src/components/Slider/Slider.tsx @@ -0,0 +1,58 @@ +import type { PropTypes } from './Slider.types'; + +import { Typography } from '@rango-dev/ui'; +import React from 'react'; + +import { + Content, + RangeWrapper, + SliderContainer, + ValueSection, +} from './Slider.styles'; + +function Slider(props: PropTypes) { + const { + title, + showValue, + value, + onChange, + variant = 'custom', + min, + max, + } = props; + + return ( + + {title && ( + + {title} + + )} + + + + + {showValue && ( + + + {value || 0} + + + )} + + + ); +} + +export default React.memo(Slider); diff --git a/widget/playground/src/components/Slider/Slider.types.ts b/widget/playground/src/components/Slider/Slider.types.ts new file mode 100644 index 0000000000..6b3ce6ba69 --- /dev/null +++ b/widget/playground/src/components/Slider/Slider.types.ts @@ -0,0 +1,11 @@ +import type { ChangeEventHandler } from 'react'; + +export interface PropTypes { + showValue?: boolean; + title?: string; + onChange: ChangeEventHandler; + value?: number; + variant?: 'custom' | 'regular'; + min?: string; + max?: string; +} diff --git a/widget/playground/src/components/Slider/index.ts b/widget/playground/src/components/Slider/index.ts new file mode 100644 index 0000000000..0f4a4a25fc --- /dev/null +++ b/widget/playground/src/components/Slider/index.ts @@ -0,0 +1 @@ +export { default as Slider } from './Slider'; diff --git a/widget/playground/src/components/SourcesConfig.tsx b/widget/playground/src/components/SourcesConfig.tsx deleted file mode 100644 index b3de2bde47..0000000000 --- a/widget/playground/src/components/SourcesConfig.tsx +++ /dev/null @@ -1,59 +0,0 @@ -import { Spacer, Typography } from '@rango-dev/ui'; -import { LiquiditySource } from '@rango-dev/ui/dist/types/meta'; -import React from 'react'; -import { onChangeMultiSelects } from '../helpers'; -import { useConfigStore } from '../store/config'; -import { useMetaStore } from '../store/meta'; -import { ConfigurationContainer } from './ChainsConfig'; -import { MultiSelect } from './MultiSelect'; - -export function SourcesConfig() { - const swappers = useMetaStore.use.meta().swappers; - const liquiditySources = useConfigStore.use.config().liquiditySources; - const onChangeSources = useConfigStore.use.onChangeSources(); - const uniqueSwappersGroups: Array = []; - Array.from(new Set(swappers.map((s) => s.swapperGroup))) - .map((swapperGroup) => { - return swappers.find((s) => s.swapperGroup === swapperGroup); - }) - .find((s) => { - if (s) { - for (const type of s.types) { - uniqueSwappersGroups.push({ - title: s.swapperGroup, - logo: s.logo, - type, - selected: false, - }); - } - } - }); - const onChange = (source) => { - const SourceList = uniqueSwappersGroups.map((s) => s.title); - - const values = onChangeMultiSelects( - source, - liquiditySources, - SourceList, - (item) => item === source, - ); - - onChangeSources(values); - }; - return ( - <> - Liquidity sources - - - - - - ); -} diff --git a/widget/playground/src/components/StylesConfig.tsx b/widget/playground/src/components/StylesConfig.tsx deleted file mode 100644 index 44eb83c1af..0000000000 --- a/widget/playground/src/components/StylesConfig.tsx +++ /dev/null @@ -1,202 +0,0 @@ -import { - Checkbox, - ColorPicker, - Spacer, - styled, - Switch, - TextField, - Typography, -} from '@rango-dev/ui'; -import React, { useState } from 'react'; -import { languageS, FONTS } from '../constants'; -import { COLORS, useConfigStore } from '../store/config'; -import { ConfigurationContainer } from './ChainsConfig'; -import { Select } from './Select'; - -const COLORS = [ - { - name: 'background', - label: 'Background', - }, - { - name: 'primary', - label: 'Primary Color', - }, - - { - name: 'foreground', - label: 'Foreground Color', - }, - { - name: 'success', - label: 'Success', - }, - { - name: 'error', - label: 'Error', - }, - { - name: 'warning', - label: 'Warning', - }, -]; -const GridContent = styled('div', { - display: 'grid', - gridTemplateColumns: '1fr', - gap: 12, - '@md': { - gridTemplateColumns: '1fr 1fr', - }, - '@lg': { - gridTemplateColumns: '1fr 1fr 1fr', - }, -}); - -const ThemeContainer = styled('div', { - borderColor: '$neutrals600', - color: '$neutrals500', - border: '1px solid', - height: '$48', - borderRadius: '$5', - display: 'flex', - justifyContent: 'center', - alignItems: 'center', -}); -const Line = styled('div', { - height: '100%', - width: 1, - backgroundColor: '$foreground', -}); -export function StylesConfig() { - // const width = useConfigStore.use.config().theme.width; - // const height = useConfigStore.use.config().theme.height; - const language = useConfigStore.use.config().language; - const borderRadius = useConfigStore.use.config().theme.borderRadius; - const theme = useConfigStore.use.config().theme.mode; - const fontFamily = useConfigStore.use.config().theme.fontFamily; - const colors = useConfigStore.use.config().theme.colors; - - const onChangelanguage = useConfigStore.use.onChangelanguage(); - const onChangeTheme = useConfigStore.use.onChangeTheme(); - const onChangeColors = useConfigStore.use.onChangeColors(); - - const [checkedTheme, setChekedTheme] = useState(true); - return ( -
- Style - - - - - onChangeTheme('fontFamily', value)} - /> -
- - Theme - - - { - if (checked) onChangeTheme('mode', 'auto'); - else onChangeTheme('mode', 'light'); - setChekedTheme(checked); - }} - /> - - - - - Light - - { - if (!checkedTheme) { - let theme; - if (checked) theme = 'dark'; - else theme = 'light'; - onChangeTheme('mode', theme); - } - }} - /> - - Dark - - -
-
- - - {/*
- onChangeTheme('width', parseInt(e.target.value))} - name="width" - value={width} - label="Width" - type="number" - suffix="px" - /> -
*/} - {/*
- onChangeTheme('height', parseInt(e.target.value))} - name="height" - value={height} - label="Height" - type="number" - suffix="px" - /> -
*/} -
- onChangeTheme('borderRadius', parseInt(e.target.value))} - name="borderRadius" - value={borderRadius} - label="Border Radius" - type="number" - suffix="px" - /> -
-
- - -
- - - - {COLORS.map((color) => ( - onChangeColors(color.name as COLORS, c.hex)} - /> - ))} - - -
-
- ); -} diff --git a/widget/playground/src/components/TokenInfo.tsx b/widget/playground/src/components/TokenInfo.tsx deleted file mode 100644 index 281b747920..0000000000 --- a/widget/playground/src/components/TokenInfo.tsx +++ /dev/null @@ -1,224 +0,0 @@ -import React, { useEffect, useState } from 'react'; -import { - AngleDownIcon, - BlockchainSelector, - Button, - InfoCircleIcon, - Modal, - styled, - TextField, - TokenSelector, -} from '@rango-dev/ui'; -import { useMetaStore } from '../store/meta'; -import { useConfigStore } from '../store/config'; -import { Type } from '../types'; -import { tokensAreEqual } from '../helpers'; - -interface PropTypes { - type: Type; -} - -const ImagePlaceholder = styled('span', { - width: '24px', - height: '24px', - backgroundColor: '$neutrals300', - borderRadius: '99999px', -}); -const StyledImage = styled('img', { - width: '24px', -}); -const Container = styled('div', { - display: 'grid', - position: 'relative', - gap: 12, - gridTemplateColumns: '1fr', - '@md': { - gridTemplateColumns: '1fr 1fr', - }, - '@lg': { - gridTemplateColumns: '1fr 1fr 1fr', - }, -}); -const Label = styled('label', { - display: 'inline-block', - fontSize: '$14', - marginBottom: '$4', - color: '$foreground', -}); - -export function TokenInfo({ type }: PropTypes) { - const to = useConfigStore.use.config().to; - const from = useConfigStore.use.config().from; - const amount = useConfigStore.use.config().amount; - - const onChangeAmount = useConfigStore.use.onChangeAmount(); - const onChangeBlockChain = useConfigStore.use.onChangeBlockChain(); - const onChangeToken = useConfigStore.use.onChangeToken(); - const blockchains = useMetaStore.use.meta().blockchains; - const tokens = useMetaStore.use.meta().tokens; - const token = tokens.find((t) => tokensAreEqual(t, type === 'Source' ? from.token : to.token)); - const chain = blockchains.find( - (chain) => chain.name === (type === 'Source' ? from.blockchain : to.blockchain), - ); - const supportedChains = type === 'Source' ? from.blockchains : to.blockchains; - const supportedTokens = type == 'Source' ? from.tokens : to.tokens; - - const [modal, setModal] = useState({ open: false, isChain: false, isToken: false }); - const loadingStatus = useMetaStore.use.loadingStatus(); - - const ItemSuffix = ( -
- {loadingStatus === 'failed' && } - -
- ); - useEffect(() => { - if (!!supportedChains && !!chain && !supportedChains.includes(chain?.name)) { - onChangeBlockChain(undefined, type); - onChangeToken(undefined, type); - } - if ( - !!supportedTokens && - !!token && - !supportedTokens.filter((t) => tokensAreEqual(t, type === 'Source' ? from.token : to.token)) - .length - ) { - onChangeToken(undefined, type); - } - }, [supportedChains, supportedTokens, chain]); - - - return ( - -
- - - -
- -
- - -
- - {type !== 'Destination' ? ( -
- onChangeAmount(parseInt(e.target.value || '0'))} - value={amount} - label="Default Amount" - type="number" - size="large" - /> -
- ) : null} - - - setModal((prev) => ({ - ...prev, - open: false, - })) - } - content={ - modal.isChain ? ( - supportedChains.includes(chain.name)) - : blockchains - } - hasHeader={false} - selected={chain} - onChange={(chain) => { - onChangeBlockChain(chain.name, type); - onChangeToken(undefined, type); - setModal((prev) => ({ - ...prev, - open: !prev.open, - })); - }} - loadingStatus={loadingStatus} - /> - ) : ( - modal.isToken && ( - - supportedTokens.some((supportedToken) => - tokensAreEqual(supportedToken, token), - ), - ) - : tokens - ).filter((token) => token.blockchain === chain?.name)} - hasHeader={false} - // @ts-ignore - selected={token} - onChange={(token) => { - setModal((prev) => ({ - ...prev, - open: !prev.open, - })); - onChangeToken(token, type); - }} - /> - ) - ) - } - title={`Select ${type} Network`} - containerStyle={{ width: '560px', height: '655px' }}> -
- ); -} diff --git a/widget/playground/src/components/TokensPanel/TokensPanel.Chip.tsx b/widget/playground/src/components/TokensPanel/TokensPanel.Chip.tsx new file mode 100644 index 0000000000..e67dfb1d3e --- /dev/null +++ b/widget/playground/src/components/TokensPanel/TokensPanel.Chip.tsx @@ -0,0 +1,36 @@ +import type { BlockchainProps } from './TokensPanel.types'; + +import { Typography } from '@rango-dev/ui'; +import React from 'react'; + +import { ContainerChip } from './TokensPanel.styles'; + +export const BlockchainChip = (props: BlockchainProps) => { + const { label, itemCountLabel, isSelected, onClick } = props; + return ( + + + {label} + + {itemCountLabel !== 0 && ( + + {itemCountLabel} + + )} + + ); +}; diff --git a/widget/playground/src/components/TokensPanel/TokensPanel.List.tsx b/widget/playground/src/components/TokensPanel/TokensPanel.List.tsx new file mode 100644 index 0000000000..1db47c257f --- /dev/null +++ b/widget/playground/src/components/TokensPanel/TokensPanel.List.tsx @@ -0,0 +1,218 @@ +import type { TokensListProps, TokenType } from './TokensPanel.types'; + +import { + Checkbox, + CloseIcon, + Divider, + IconButton, + Image, + ListItemButton, + NotFound, + PinIcon, + SearchIcon, + Switch, + TextField, + Typography, + VirtualizedList, +} from '@rango-dev/ui'; +import React, { useEffect, useLayoutEffect, useState } from 'react'; + +import { + IconWrapper, + SelectButton, + SelectDeselectText, +} from '../MultiList/MultiList.styles'; +import { InnerElementType } from '../SingleList'; +import { EmptyContainer } from '../SingleList/SingleList.styles'; + +import { ListContainer, TokensHeaderList } from './TokensPanel.styles'; + +const PAGE_SIZE = 20; +const ITEM_HEIGHT = 46; +export function TokensList(props: TokensListProps) { + const { + list, + onChange, + onChangeAll, + showSelectedTokens, + setShowSelectedTokens, + isAllSelected, + isExcluded, + } = props; + const [searchValue, setSearchValue] = useState(''); + const [virtualList, setVirtualList] = useState(list); + const [hasNextPage, setHasNextPage] = useState(true); + + // Filter tokens based on search criteria + const filteredTokens = searchValue + ? list.filter((token) => + token.symbol.toLowerCase().includes(searchValue.toLowerCase()) + ) + : list; + + // Tokens to display, either all or selected + const tokensToDisplay = showSelectedTokens + ? filteredTokens.filter((token) => token.checked) + : filteredTokens; + + useEffect(() => { + setHasNextPage(tokensToDisplay.length > virtualList.length); + }, [virtualList.length]); + + useLayoutEffect(() => { + setVirtualList(tokensToDisplay.slice(0, PAGE_SIZE)); + }, [searchValue, showSelectedTokens, list]); + + const loadNextPage = () => { + setVirtualList(tokensToDisplay.slice(0, virtualList.length + PAGE_SIZE)); + }; + + const toggleTokenSelection = (token: TokenType) => { + onChange(token, 'checked'); + }; + + // Toggle displaying selected tokens + const toggleShowSelectedTokens = () => { + setShowSelectedTokens(!showSelectedTokens); + }; + + const resultsNotFound = !virtualList.length && !!searchValue; + + //Change the list of pinned tokens + const togglePinToken = (token: TokenType) => { + onChange(token, 'pinned'); + }; + + return ( + <> + setSearchValue(e.target.value)} + value={searchValue} + variant="contained" + placeholder="Search Tokens" + prefix={ + + + + } + suffix={ + setSearchValue('')} + size="small"> + {!!searchValue.length && } + + } + style={{ + padding: 10, + borderRadius: 25, + alignItems: 'center', + }} + /> + + {resultsNotFound ? ( + + + + ) : ( + <> + + onChangeAll(!isAllSelected)}> + + {isAllSelected ? 'Deselect all' : 'Select all'} + + +
+ + {isExcluded ? 'Excluded' : 'Included'} Tokens + + + +
+
+ + + { + return ( +
+ + ) : null + } + hasDivider + onClick={() => toggleTokenSelection(virtualList[index])} + end={ + <> + {((virtualList[index].checked && !isExcluded) || + (!virtualList[index].checked && isExcluded)) && ( + <> + { + e.stopPropagation(); + togglePinToken(virtualList[index]); + }}> + + + + + )} + + + } + title={ + + {virtualList[index].symbol} + + } + key={`${virtualList[index].symbol}${virtualList[index].address}`} + id={`${virtualList[index].symbol}${virtualList[index].address}`} + /> +
+ ); + }} + hasNextPage={hasNextPage} + itemCount={virtualList.length} + loadNextPage={loadNextPage} + innerElementType={InnerElementType} + size={ITEM_HEIGHT} + /> +
+ + )} + + + ); +} diff --git a/widget/playground/src/components/TokensPanel/TokensPanel.styles.ts b/widget/playground/src/components/TokensPanel/TokensPanel.styles.ts new file mode 100644 index 0000000000..95fed5eafc --- /dev/null +++ b/widget/playground/src/components/TokensPanel/TokensPanel.styles.ts @@ -0,0 +1,56 @@ +import { styled } from '@rango-dev/ui'; + +export const BlockchainsList = styled('div', { + maxHeight: '90px', + minHeight: '42px', + border: '1px solid $neutral300', + padding: '$10', + borderRadius: '$xm', + display: 'flex', + flexWrap: 'wrap', + overflow: 'auto', + gap: '$5', +}); + +export const TokensHeaderList = styled('div', { + display: 'flex', + justifyContent: 'space-between', + flexDirection: 'row-reverse', + alignItems: 'center', + '& .select_tokens': { + display: 'flex', + alignItems: 'center', + }, +}); + +export const ContainerChip = styled('div', { + borderRadius: '$md', + padding: '0 $10', + display: 'flex', + border: '1px solid transparent', + justifyContent: 'center', + alignItems: 'center', + height: '$20', + cursor: 'pointer', + gap: '$10', + '&:hover': { + borderColor: '$info300', + }, + variants: { + variant: { + selected: { + backgroundColor: '$secondary500', + }, + empty: { + backgroundColor: '$neutral300', + }, + regular: { + backgroundColor: '$info100', + }, + }, + }, +}); + +export const ListContainer = styled('div', { + height: '100%', +}); diff --git a/widget/playground/src/components/TokensPanel/TokensPanel.tsx b/widget/playground/src/components/TokensPanel/TokensPanel.tsx new file mode 100644 index 0000000000..ae4329491a --- /dev/null +++ b/widget/playground/src/components/TokensPanel/TokensPanel.tsx @@ -0,0 +1,295 @@ +import type { PropTypes, TokenType } from './TokensPanel.types'; +import type { Tokens } from '@rango-dev/widget-embedded'; +import type { Asset } from 'rango-sdk'; + +import { ChainsIcon, Checkbox, Divider, Typography } from '@rango-dev/ui'; +import React, { useState } from 'react'; + +import { tokensAreEqual } from '../../utils/common'; +import { + HeaderContainer, + SelectButton, + SelectDeselectText, +} from '../MultiList/MultiList.styles'; +import { StyledButton } from '../SingleList/SingleList.styles'; + +import { BlockchainChip } from './TokensPanel.Chip'; +import { TokensList } from './TokensPanel.List'; +import { BlockchainsList } from './TokensPanel.styles'; + +function getItemCountLabel(chain: string, list: TokenType[]) { + const filteredList = list.filter((item) => item.blockchain === chain); + const checkedCount = filteredList.filter((item) => item.checked).length; + return filteredList.length === checkedCount ? 'All' : checkedCount; +} + +export function TokensPanel(props: PropTypes) { + const { + list: listProps, + selectedBlockchains: selectedBlockchainsProps, + onChange, + tokensConfig, + } = props; + const [selectedBlockchain, setSelectedBlockchain] = useState( + selectedBlockchainsProps[0] + ); + + const [list, setList] = useState(listProps); + + const [supportedTokenList, setSupportedTokenList] = useState( + tokensConfig || {} + ); + const [showSelectedTokens, setShowSelectedTokens] = useState(false); + + const getTokens = ( + selected: boolean, + allTokensInBlockchain: Asset[], + token?: TokenType + ) => { + if (!token) { + return selected ? allTokensInBlockchain : []; + } + const { blockchain, symbol, address } = token; + if (!selected) { + return [ + ...supportedTokenList[blockchain].tokens.filter( + (t) => !tokensAreEqual(t, token) + ), + ]; + } + return [ + ...supportedTokenList[blockchain].tokens, + { symbol, address, blockchain }, + ]; + }; + + /* + * This function is designed to operate in two scenarios: + * + * 1. Activating the checkbox by clicking on it. + * 2. Choosing "Select All" for each blockchain. + * + * If the token has been dispatched, it indicates that the checkbox has been selected. + * Conversely, if the token has not been dispatched, it implies that another one option has been chosen. + * The resulting output fulfills our configuration requirements. + */ + + const makeSupportedTokenList = ( + blockchain: string, + tokens: { + [blockchain: string]: Tokens; + }, + selected: boolean, + token?: TokenType + ) => { + const allTokensInBlockchain = list + .filter((item) => item.blockchain === blockchain) + .map(({ symbol, blockchain, address }) => ({ + symbol, + blockchain, + address, + })); + if (supportedTokenList[blockchain]) { + const blockchainTokens = supportedTokenList[blockchain].tokens; + if (!supportedTokenList[blockchain].isExcluded) { + /* + * This condition is for when the select option is true and show that all tokens have been selected. + * If there is a token, it means that one token has been added to the rest of the tokens, so its lenght is equal to all the tokens of that blockchain. + * If there is no token, it means that select all is selected done + */ + if ( + selected && + (blockchainTokens.length + 1 === allTokensInBlockchain.length || + !token) + ) { + const { [blockchain]: deletedKey, ...otherKeys } = tokens; + return otherKeys; + } + } + + return { + ...tokens, + [blockchain]: { + ...tokens[blockchain], + tokens: getTokens(selected, allTokensInBlockchain, token), + }, + }; + } + + return { + ...tokens, + [blockchain]: { + isExcluded: false, + tokens: + !token && !selected + ? [] + : allTokensInBlockchain.filter((t) => !tokensAreEqual(t, token)), + }, + }; + }; + + const handleChange = (token: TokenType, type: 'checked' | 'pinned') => { + if (type === 'checked') { + setSupportedTokenList( + makeSupportedTokenList( + selectedBlockchain, + supportedTokenList, + !token.checked, + token + ) + ); + } + setList((prev) => + prev.map((item) => { + if (tokensAreEqual(token, item)) { + const pinnedValue = + type === 'checked' && item.checked ? { pinned: false } : {}; + return { ...item, ...pinnedValue, [type]: !item[type] }; + } + return item; + }) + ); + }; + + const handleSelectDeselectInBlockchain = (selected: boolean) => { + const tokenList = { + ...makeSupportedTokenList( + selectedBlockchain, + supportedTokenList, + selected + ), + }; + + setSupportedTokenList(tokenList); + + setList((prev) => + prev.map((item) => { + if (item.blockchain === selectedBlockchain) { + return { ...item, checked: selected }; + } + return item; + }) + ); + }; + const notAllTokensSelected = list.some((item) => !item.checked); + + const handleResetTokens = () => { + if (notAllTokensSelected) { + setSupportedTokenList({}); + setList((prev) => + prev.map((item) => { + return { ...item, checked: true }; + }) + ); + } + }; + + const handleConfirmAllList = () => { + const allPinned = list.filter((item) => item.pinned); + onChange( + supportedTokenList && !Object.keys(supportedTokenList).length + ? undefined + : supportedTokenList, + allPinned + ); + }; + + const onExcludedChange = () => { + const allTokensInBlockchain = list.filter( + (item) => selectedBlockchain === item.blockchain + ); + const tokenList = { + ...supportedTokenList, + [selectedBlockchain]: { + isExcluded: supportedTokenList[selectedBlockchain] + ? !supportedTokenList[selectedBlockchain].isExcluded + : true, + tokens: allTokensInBlockchain + .filter((t) => !t.checked) + .map(({ symbol, blockchain, address }) => ({ + symbol, + blockchain, + address, + })), + }, + }; + setList((prev) => + prev.map((item) => { + if (item.blockchain === selectedBlockchain) { + return { ...item, checked: !item.checked }; + } + return item; + }) + ); + setSupportedTokenList(tokenList); + }; + + return ( + <> + +
+ + + + Supported Tokens + +
+ + + Reset Tokens + + +
+ + + {selectedBlockchainsProps.map((chain) => ( + setSelectedBlockchain(chain)} + isSelected={chain === selectedBlockchain} + /> + ))} + + + + Exclude {selectedBlockchain} Tokens + + } + /> + + token.blockchain === selectedBlockchain)} + onChange={handleChange} + isExcluded={supportedTokenList[selectedBlockchain]?.isExcluded || false} + setShowSelectedTokens={setShowSelectedTokens} + showSelectedTokens={showSelectedTokens} + isAllSelected={getItemCountLabel(selectedBlockchain, list) === 'All'} + onChangeAll={handleSelectDeselectInBlockchain} + /> + + item.checked)} + onClick={handleConfirmAllList}> + Confirm + + + ); +} diff --git a/widget/playground/src/components/TokensPanel/TokensPanel.types.ts b/widget/playground/src/components/TokensPanel/TokensPanel.types.ts new file mode 100644 index 0000000000..7ea341ca41 --- /dev/null +++ b/widget/playground/src/components/TokensPanel/TokensPanel.types.ts @@ -0,0 +1,30 @@ +import type { Tokens } from '@rango-dev/widget-embedded'; +import type { Token } from 'rango-sdk'; + +export type TokenType = Token & { checked?: boolean; pinned?: boolean }; +export interface PropTypes { + list: TokenType[]; + selectedBlockchains: string[]; + onChange: ( + items?: { [blockchain: string]: Tokens }, + pinnedTokens?: TokenType[] + ) => void; + tokensConfig?: { [blockchain: string]: Tokens }; +} + +export interface TokensListProps { + onChange: (item: TokenType, type: 'checked' | 'pinned') => void; + onChangeAll: (selected: boolean) => void; + showSelectedTokens: boolean; + setShowSelectedTokens: (show: boolean) => void; + list: TokenType[]; + isAllSelected: boolean; + isExcluded: boolean; +} + +export interface BlockchainProps { + onClick: () => void; + label: string; + itemCountLabel: 'All' | number; + isSelected: boolean; +} diff --git a/widget/playground/src/components/TokensPanel/index.ts b/widget/playground/src/components/TokensPanel/index.ts new file mode 100644 index 0000000000..43c60f328c --- /dev/null +++ b/widget/playground/src/components/TokensPanel/index.ts @@ -0,0 +1 @@ +export { TokensPanel } from './TokensPanel'; diff --git a/widget/playground/src/components/WalletsConfig.tsx b/widget/playground/src/components/WalletsConfig.tsx deleted file mode 100644 index 475f7c2d45..0000000000 --- a/widget/playground/src/components/WalletsConfig.tsx +++ /dev/null @@ -1,59 +0,0 @@ -import { Checkbox, Spacer, Typography } from '@rango-dev/ui'; -import { useWallets } from '@rango-dev/wallets-core'; -import { WalletType } from '@rango-dev/wallets-shared'; -import React from 'react'; -import { excludedWallets, onChangeMultiSelects } from '../helpers'; -import { useConfigStore } from '../store/config'; -import { ConfigurationContainer } from './ChainsConfig'; -import { MultiSelect } from './MultiSelect'; - -export function WalletsConfig() { - const { getWalletInfo } = useWallets(); - - const wallets = useConfigStore.use.config().wallets; - const multiWallets = useConfigStore.use.config().multiWallets; - - const onChangeWallets = useConfigStore.use.onChangeWallets(); - const onChangeBooleansConfig = useConfigStore.use.onChangeBooleansConfig(); - - const walletList = Object.values(WalletType) - .filter((wallet) => !excludedWallets.includes(wallet)) - .map((type) => { - const { name: title, img: logo } = getWalletInfo(type); - return { - title, - logo, - type, - }; - }); - - const onChange = (wallet) => { - const list = walletList.map((item) => item.type); - const values = onChangeMultiSelects(wallet, wallets, list, (item) => item === wallet); - onChangeWallets(values); - }; - - return ( - <> - Wallet - - - - - onChangeBooleansConfig('multiWallets', checked)} - id="multi_wallets" - label="Enable Multi Wallets Simultaneously" - checked={multiWallets} - /> - - - ); -} diff --git a/widget/playground/src/configs.ts b/widget/playground/src/configs.ts deleted file mode 100644 index a59981cda9..0000000000 --- a/widget/playground/src/configs.ts +++ /dev/null @@ -1,32 +0,0 @@ -export interface Configs { - API_KEY: string; -} - -// this API key is limited and -// it is only for test purpose -const RANGO_PUBLIC_API_KEY = 'c6381a79-2817-4602-83bf-6a641a409e32'; - -let configs: Configs = { - API_KEY: RANGO_PUBLIC_API_KEY, -}; - -export function getConfig(name: keyof Configs) { - return configs[name]; -} - -export function setConfig(name: keyof Configs, value: any) { - configs[name] = value; - - return value; -} - -export function initConfig(nextConfigs: Configs) { - let clonedConfigs; - if (typeof structuredClone === 'function') { - clonedConfigs = structuredClone(nextConfigs); - } else { - clonedConfigs = JSON.parse(JSON.stringify(nextConfigs)); - } - configs = clonedConfigs; - return configs; -} diff --git a/widget/playground/src/constants.ts b/widget/playground/src/constants.ts deleted file mode 100644 index c9d1041459..0000000000 --- a/widget/playground/src/constants.ts +++ /dev/null @@ -1,27 +0,0 @@ -export const languageS = [ - { - name: 'English (US)', - logo: 'https://upload.wikimedia.org/wikipedia/en/thumb/a/a4/Flag_of_the_United_States.svg/800px-Flag_of_the_United_States.svg.png?20151118161041', - value: 'en', - }, - { - name: 'Turkish', - logo: 'https://upload.wikimedia.org/wikipedia/commons/thumb/b/b4/Flag_of_Turkey.svg/800px-Flag_of_Turkey.svg.png', - value: 'tr', - }, -]; - -export const FONTS = [ - { - name: 'Roboto', - value: 'Roboto', - }, - { - name: 'Times New Roman', - value: 'Times New Roman', - }, - { - name: 'Arial', - value: 'Arial', - }, -]; diff --git a/widget/playground/src/constants/fonts.ts b/widget/playground/src/constants/fonts.ts new file mode 100644 index 0000000000..7f5dd9c16d --- /dev/null +++ b/widget/playground/src/constants/fonts.ts @@ -0,0 +1,14 @@ +export const FONTS = [ + { + name: 'Roboto', + value: 'Roboto', + }, + { + name: 'Times New Roman', + value: 'Times New Roman', + }, + { + name: 'Arial', + value: 'Arial', + }, +]; diff --git a/widget/playground/src/constants/index.ts b/widget/playground/src/constants/index.ts new file mode 100644 index 0000000000..a8be2be991 --- /dev/null +++ b/widget/playground/src/constants/index.ts @@ -0,0 +1,11 @@ +export * from './fonts'; +export * from './languages'; +export * from './presets'; +export * from './styles'; + +export enum SIDE_TABS_IDS { + FUNCTIONAL = 'functional', + STYLE = 'style', +} + +export const NOT_FOUND = -1; diff --git a/widget/playground/src/constants/languages.ts b/widget/playground/src/constants/languages.ts new file mode 100644 index 0000000000..fe1eb36524 --- /dev/null +++ b/widget/playground/src/constants/languages.ts @@ -0,0 +1,8 @@ +import { English, French, Japanese, Spanish } from '@rango-dev/ui'; + +export const LANGUAGES = [ + { name: 'English', value: 'en', Icon: English }, + { name: 'Spanish', value: 'es', Icon: Spanish }, + { name: 'French', value: 'fr', Icon: French }, + { name: 'Japanese', value: 'ja', Icon: Japanese }, +]; diff --git a/widget/playground/src/constants/presets.ts b/widget/playground/src/constants/presets.ts new file mode 100644 index 0000000000..211d4b5261 --- /dev/null +++ b/widget/playground/src/constants/presets.ts @@ -0,0 +1,298 @@ +import type { Mode } from '../store/config'; +import type { + WidgetColors, + WidgetColorsKeys, +} from '@rango-dev/widget-embedded'; + +export const TABS: { id: Mode; title: string }[] = [ + { + id: 'light', + title: 'Light', + }, + + { + id: 'dark', + title: 'Dark', + }, + + { + id: 'auto', + title: 'System', + }, +]; + +export const PRESETS: { + id: number; + dark?: WidgetColors; + light?: WidgetColors; +}[] = [ + { + id: 1, + dark: { + primary: '#1C3CF1', + secondary: '#2284ED', + neutral: '#222222', + background: '#010101', + foreground: '#FDFDFD', + info: '#5BABFF', + }, + light: { + primary: '#1C3CF1', + secondary: '#469BF5', + neutral: '#E6E6E6', + background: '#FDFDFD', + foreground: '#010101', + info: '#5BABFF', + }, + }, + { + id: 2, + dark: { + neutral: '#434965', + primary: '#1C3CF1', + secondary: '#2284ED', + background: '#070917', + foreground: '#FDFDFD', + info: '#5BABFF', + }, + light: { + primary: '#1C3CF1', + secondary: '#469BF5', + neutral: '#E6E6E6', + background: '#FDFDFD', + foreground: '#010101', + info: '#5BABFF', + }, + }, + { + id: 3, + light: { + primary: '#1C3CF1', + secondary: '#469BF5', + neutral: '#E6E6E6', + background: '#FDFDFD', + foreground: '#010101', + }, + }, + { + id: 4, + dark: { + primary: '#1C3CF1', + secondary: '#2284ED', + neutral: '#222222', + background: '#010101', + foreground: '#FDFDFD', + info: '#5BABFF', + }, + }, + { + id: 5, + dark: { + neutral: '#484b5f', + primary: '#1C3CF1', + secondary: '#2284ED', + background: '#070917', + foreground: '#FDFDFD', + info: '#5BABFF', + }, + }, + { + id: 6, + dark: { + primary: '#4c228a', + secondary: '#815dba', + neutral: '#5e5a7d', + info: '#9d6ee3', + foreground: '#fcfaffff', + background: '#120f29ff', + }, + light: { + primary: '#4c228a', + secondary: '#653ba3ff', + neutral: '#a29ec1', + info: '#9d6ee3', + foreground: '#120f29ff', + background: '#fcfaffff', + }, + }, + { + id: 7, + light: { + primary: '#4c228a', + secondary: '#653ba3ff', + neutral: '#a29ec1', + info: '#9d6ee3', + foreground: '#120f29ff', + background: '#fcfaffff', + }, + }, + { + id: 8, + dark: { + primary: '#4c228a', + secondary: '#815dba', + neutral: '#5e5a7d', + info: '#9d6ee3', + foreground: '#fcfaffff', + background: '#120f29ff', + }, + }, + { + id: 9, + dark: { + foreground: '#fffeffff', + background: '#110114ff', + primary: '#bb00b2', + secondary: '#93398f', + neutral: '#585358', + info: '#df72df', + }, + light: { + background: '#fffeffff', + foreground: '#2f0146ff', + primary: '#bb00b2', + secondary: '#7c1ca4', + neutral: '#919191', + info: '#df72df', + }, + }, + { + id: 10, + light: { + background: '#fffeffff', + foreground: '#2f0146ff', + primary: '#bb00b2', + secondary: '#7c1ca4', + neutral: '#919191', + info: '#df72df', + }, + }, + { + id: 11, + dark: { + foreground: '#fffeffff', + background: '#110114ff', + primary: '#bb00b2', + secondary: '#93398f', + neutral: '#585358', + info: '#df72df', + }, + }, + + { + id: 12, + dark: { + primary: '#4e4951', + neutral: '#757078', + secondary: '#a002b0', + background: '#252028ff', + foreground: '#cdc8d0', + }, + }, + { + id: 13, + dark: { + foreground: '#fff', + background: '#171721ff', + secondary: '#885ac4', + primary: '#6606e6', + neutral: '#5c5c68', + info: '#7d5ea6', + }, + light: { + background: '#fff', + foreground: '#171721ff', + neutral: '#928e94', + secondary: '#6606e6', + primary: '#6606e6', + info: '#7d5ea6', + }, + }, + { + id: 14, + light: { + background: '#fff', + foreground: '#171721ff', + neutral: '#928e94', + secondary: '#6606e6', + primary: '#6606e6', + info: '#7d5ea6', + }, + }, + { + id: 15, + dark: { + foreground: '#fff', + background: '#171721ff', + secondary: '#885ac4', + primary: '#6606e6', + neutral: '#5c5c68', + info: '#7d5ea6', + }, + }, + { + id: 16, + dark: { + background: '#0c1536ff', + primary: '#8574f9', + foreground: '#c4d1fdff', + secondary: '#7161ff', + neutral: '#43478e', + }, + }, + { + id: 17, + dark: { + background: '#0c0f12ff', + primary: '#e0c072ff', + foreground: '#f2e8d0', + secondary: '#b0a385', + neutral: '#5c5f64', + }, + }, +]; + +export const WIDGET_COLORS: { key: WidgetColorsKeys; label: string }[] = [ + { + key: 'primary', + label: 'Primary', + }, + { + key: 'secondary', + label: 'Secondary', + }, + { + key: 'neutral', + label: 'Neutral', + }, + { + key: 'info', + label: 'Info', + }, + { + key: 'background', + label: 'Background', + }, + { + key: 'foreground', + label: 'Foreground', + }, +]; +export const DEFAULT_COLORS = { + dark: { + primary: undefined, + secondary: undefined, + neutral: undefined, + background: undefined, + foreground: undefined, + info: undefined, + }, + light: { + primary: undefined, + secondary: undefined, + neutral: undefined, + background: undefined, + foreground: undefined, + info: undefined, + }, +}; diff --git a/widget/playground/src/constants/styles.ts b/widget/playground/src/constants/styles.ts new file mode 100644 index 0000000000..8c0cf9d90d --- /dev/null +++ b/widget/playground/src/constants/styles.ts @@ -0,0 +1,2 @@ +export const DEFAULT_PRIMARY_RADIUS = 20; +export const DEFAULT_SECONDARY_RADIUS = 25; diff --git a/widget/playground/src/containers/Config.tsx b/widget/playground/src/containers/Config.tsx deleted file mode 100644 index 73c0496cbb..0000000000 --- a/widget/playground/src/containers/Config.tsx +++ /dev/null @@ -1,69 +0,0 @@ -import React, { PropsWithChildren } from 'react'; -import { Alert, Spacer, styled, Typography } from '@rango-dev/ui'; -import { ChainsConfig } from '../components/ChainsConfig'; -import { WalletsConfig } from '../components/WalletsConfig'; -import { SourcesConfig } from '../components/SourcesConfig'; -import { StylesConfig } from '../components/StylesConfig'; -import { Provider } from '@rango-dev/wallets-core'; -import { allProviders } from '@rango-dev/provider-all'; -import { globalStyles } from '../globalStyles'; -import { useMetaStore } from '../store/meta'; - -const providers = allProviders(); - -const Container = styled('div', { - display: 'flex', - justifyContent: 'center', - backgroundColor: '$neutrals300', -}); -const SwapContent = styled('div', { - width: '100%', -}); -const ConfigContent = styled('div', { - display: 'flex', - flexDirection: 'column', - alignItems: 'end', - width: '100%', -}); - -const Swap = styled('div', { - position: 'sticky', - top: 0, - marginTop: 115, -}); - -export function Config(props: PropsWithChildren) { - globalStyles(); - const loadingStatus = useMetaStore.use.loadingStatus(); - - return ( - - - -
- Configuration - {loadingStatus === 'failed' && ( - - Error connecting server, please reload the app and try again - - )} - - - - - - - - - - -
-
-
- - - {props.children} - -
- ); -} diff --git a/widget/playground/src/containers/DefaultChainAndToken/DefaultChainAndToken.tsx b/widget/playground/src/containers/DefaultChainAndToken/DefaultChainAndToken.tsx new file mode 100644 index 0000000000..9b18bffaf0 --- /dev/null +++ b/widget/playground/src/containers/DefaultChainAndToken/DefaultChainAndToken.tsx @@ -0,0 +1,136 @@ +import type { Type } from '../../types'; +import type { tokensConfigType } from '../../utils/configs'; + +import { ChainsIcon, Divider, Tooltip } from '@rango-dev/ui'; +import React, { useState } from 'react'; + +import { ItemPicker } from '../../components/ItemPicker'; +import { OverlayPanel } from '../../components/OverlayPanel'; +import { SingleList } from '../../components/SingleList'; +import { useConfigStore } from '../../store/config'; +import { useMetaStore } from '../../store/meta'; +import { tokensAreEqual, tokenToString } from '../../utils/common'; +import { isTokenExcludedInConfig } from '../../utils/configs'; +import { ModalState } from '../FunctionalLayout/FunctionalLayout.types'; + +export function DefaultChainAndToken({ type }: { type: Type }) { + const [modalState, setModalState] = useState(null); + const { + config: { from, to }, + onChangeBlockChain, + onChangeToken, + } = useConfigStore(); + const { + meta: { blockchains, tokens }, + } = useMetaStore(); + + const selectedType = type === 'Source' ? from : to; + const tokensConfig = selectedType?.tokens as tokensConfigType; + const filteredTokens = selectedType?.blockchain + ? tokens.filter((token) => { + const isToken = isTokenExcludedInConfig(token, tokensConfig); + return token.blockchain === selectedType.blockchain && !isToken; + }) + : []; + const chainValue = blockchains.find( + (chain) => chain.name === selectedType?.blockchain + ); + const tokenValue = tokens.find((token) => + tokensAreEqual(token, selectedType?.token) + ); + + const handleDefaultBlockchainConfirm = (item: string) => { + if (item) { + onChangeBlockChain(item, type); + onChangeToken(undefined, type); + } + onBack(); + }; + + const handleDefaultTokenConfirm = (item: string) => { + if (item) { + const selectedToken = filteredTokens.find( + (token) => tokenToString(token) === item + ); + if (selectedToken) { + onChangeToken( + { + blockchain: selectedToken.blockchain, + address: selectedToken.address, + symbol: selectedToken.symbol, + }, + type + ); + } + } + onBack(); + }; + + const onBack = () => setModalState(null); + + const filteredBlockchains = selectedType?.blockchains + ? blockchains.filter((chain) => + selectedType.blockchains?.includes(chain.name) + ) + : blockchains; + + return ( + <> + setModalState(ModalState.DEFAULT_BLOCKCHAIN)} + value={{ label: chainValue?.displayName, logo: chainValue?.logo }} + title="Default Blockchain" + hasLogo={true} + placeholder="Chain" + /> + + + setModalState(ModalState.DEFAULT_TOKEN)} + value={{ label: tokenValue?.symbol, logo: tokenValue?.image }} + title="Default Token" + hasLogo={true} + placeholder="Token" + disabled={!chainValue} + /> + + {modalState === ModalState.DEFAULT_BLOCKCHAIN && ( + + ({ + name: chain.displayName, + image: chain.logo, + value: chain.name, + }))} + title="Default Blockchain" + defaultValue={selectedType?.blockchain} + icon={} + searchPlaceholder="Search Blockchain" + /> + + )} + {modalState === ModalState.DEFAULT_TOKEN && ( + + ({ + name: token.symbol, + image: token.image, + value: tokenToString(token), + }))} + title="Default Token" + defaultValue={ + selectedType?.token ? tokenToString(selectedType?.token) : null + } + icon={} + searchPlaceholder="Search Token" + /> + + )} + + ); +} diff --git a/widget/playground/src/containers/DefaultChainAndToken/index.ts b/widget/playground/src/containers/DefaultChainAndToken/index.ts new file mode 100644 index 0000000000..5a03ab81d3 --- /dev/null +++ b/widget/playground/src/containers/DefaultChainAndToken/index.ts @@ -0,0 +1 @@ +export { DefaultChainAndToken } from './DefaultChainAndToken'; diff --git a/widget/playground/src/containers/FunctionalLayout/FunctionalLayout.From.tsx b/widget/playground/src/containers/FunctionalLayout/FunctionalLayout.From.tsx new file mode 100644 index 0000000000..b0fb46b4b5 --- /dev/null +++ b/widget/playground/src/containers/FunctionalLayout/FunctionalLayout.From.tsx @@ -0,0 +1,46 @@ +import type { ChangeEvent } from 'react'; + +import { Divider, TextField, Typography } from '@rango-dev/ui'; +import React from 'react'; + +import { useConfigStore } from '../../store/config'; +import { DefaultChainAndToken } from '../DefaultChainAndToken'; +import { SupportedBlockchains } from '../SupportedBlockchains'; +import { SupportedTokens } from '../SupportedTokens'; + +import { FromAmount, FromToContainer } from './FunctionalLayout.styles'; + +export function FromSection() { + const { + config: { amount }, + onChangeAmount, + } = useConfigStore(); + + const handleChangeAmount = (e: ChangeEvent) => { + onChangeAmount(parseFloat(e.target.value || '0')); + }; + + return ( + <> + + + + + + + + + Amount + + + + + + + + ); +} diff --git a/widget/playground/src/containers/FunctionalLayout/FunctionalLayout.Liquidities.tsx b/widget/playground/src/containers/FunctionalLayout/FunctionalLayout.Liquidities.tsx new file mode 100644 index 0000000000..5a5f2735de --- /dev/null +++ b/widget/playground/src/containers/FunctionalLayout/FunctionalLayout.Liquidities.tsx @@ -0,0 +1,149 @@ +import type { LiquidityType } from './FunctionalLayout.types'; + +import { ChainsIcon, Checkbox, Divider, Typography } from '@rango-dev/ui'; +import React from 'react'; + +import { MultiSelect } from '../../components/MultiSelect/MultiSelect'; +import { useConfigStore } from '../../store/config'; +import { useMetaStore } from '../../store/meta'; +import { removeDuplicates } from '../../utils/common'; + +import { filterByType, getLiquidityValue } from './FunctionalLayout.helpers'; +import { IncludeSourceText } from './FunctionalLayout.styles'; + +export function LiquiditiesSection() { + const { + onChangeSources, + onChangeBooleansConfig, + config: { liquiditySources, enableNewLiquiditySources }, + } = useConfigStore(); + + const { + meta: { swappers }, + } = useMetaStore(); + + const excludedMode = enableNewLiquiditySources ?? true; + const uniqueSwappersGroup = removeDuplicates(swappers, 'swapperGroup'); + + const defaultSelectedItems = (type: LiquidityType) => + liquiditySources?.filter((l) => + uniqueSwappersGroup.find( + (swapper) => swapper.swapperGroup === l && filterByType(type, swapper) + ) + ); + + const liquiditiesList = (type: LiquidityType) => + uniqueSwappersGroup + .filter((swapper) => filterByType(type, swapper)) + .map(({ title, logo, swapperGroup }) => ({ + logo, + title, + name: swapperGroup, + })); + + const selectedDexs = defaultSelectedItems('DEX'); + const selectedBridges = defaultSelectedItems('BRIDGE'); + const allDexs = liquiditiesList('DEX'); + const allBridges = liquiditiesList('BRIDGE'); + const allDexsNames = allDexs.map((dex) => dex.name); + const allBridgeNames = allBridges.map((bridge) => bridge.name); + const isAllSelected = !liquiditySources; + + const isJustAllBridgeSelected = + !isAllSelected && selectedBridges?.length === allBridges.length; + const isJustAllDexSelected = + !isAllSelected && selectedDexs?.length === allDexs.length; + + const handleChange = ( + categories: string[], + otherCategoryList: string[], + currentSelection?: string[], + previousSelection?: string[] + ) => { + const currentConfig = removeDuplicates([ + ...(liquiditySources || (excludedMode ? [] : otherCategoryList)), + ...categories, + ]); + + let sources; + if (currentSelection) { + sources = removeDuplicates([ + ...(previousSelection || (excludedMode ? [] : otherCategoryList)), + ...currentSelection, + ]); + } else if (currentConfig.length === uniqueSwappersGroup.length) { + sources = excludedMode + ? removeDuplicates([...categories, ...currentConfig]) + : undefined; + } else { + sources = currentConfig; + } + + onChangeSources(sources); + }; + + const handleCheckChange = (checked: boolean) => { + onChangeBooleansConfig('enableNewLiquiditySources', checked); + onChangeSources(undefined); + }; + + return ( + <> + } + type="DEXs" + value={getLiquidityValue( + isAllSelected, + excludedMode, + isJustAllDexSelected, + selectedDexs + )} + defaultSelectedItems={ + selectedDexs || (excludedMode ? [] : allDexsNames) + } + list={allDexs} + onChange={(items) => + handleChange(allDexsNames, allBridgeNames, items, selectedBridges) + } + /> + + } + type="Bridges" + value={getLiquidityValue( + isAllSelected, + excludedMode, + isJustAllBridgeSelected, + selectedBridges + )} + defaultSelectedItems={ + selectedBridges || (excludedMode ? [] : allBridgeNames) + } + list={allBridges} + onChange={(items) => + handleChange(allBridgeNames, allDexsNames, items, selectedDexs) + } + /> + + + Include New Sources + + } + /> + + + + If we add a new liquidity source, it will be added to your list as + well. + + + + ); +} diff --git a/widget/playground/src/containers/FunctionalLayout/FunctionalLayout.To.tsx b/widget/playground/src/containers/FunctionalLayout/FunctionalLayout.To.tsx new file mode 100644 index 0000000000..1308bff1d5 --- /dev/null +++ b/widget/playground/src/containers/FunctionalLayout/FunctionalLayout.To.tsx @@ -0,0 +1,24 @@ +import { Divider } from '@rango-dev/ui'; +import React from 'react'; + +import { DefaultChainAndToken } from '../DefaultChainAndToken/DefaultChainAndToken'; +import { SupportedBlockchains } from '../SupportedBlockchains'; +import { SupportedTokens } from '../SupportedTokens'; + +import { FromToContainer } from './FunctionalLayout.styles'; + +export function ToSection() { + return ( + <> + + + + + + + + + + + ); +} diff --git a/widget/playground/src/containers/FunctionalLayout/FunctionalLayout.Wallets.tsx b/widget/playground/src/containers/FunctionalLayout/FunctionalLayout.Wallets.tsx new file mode 100644 index 0000000000..f8f499aa72 --- /dev/null +++ b/widget/playground/src/containers/FunctionalLayout/FunctionalLayout.Wallets.tsx @@ -0,0 +1,146 @@ +import type { WalletType } from '@rango-dev/wallets-shared'; +import type { WidgetConfig } from '@rango-dev/widget-embedded'; + +import { + Checkbox, + Divider, + Switch, + Typography, + WalletIcon, +} from '@rango-dev/ui'; +import { WalletTypes } from '@rango-dev/wallets-shared'; +import { useWallets } from '@rango-dev/widget-embedded'; +import React from 'react'; + +import { MultiSelect } from '../../components/MultiSelect/MultiSelect'; +import { NOT_FOUND } from '../../constants'; +import { useConfigStore } from '../../store/config'; +import { getCategoryNetworks } from '../../utils/blockchains'; +import { excludedWallets } from '../../utils/common'; + +import { + ExternalSection, + StyledButton, + SwitchField, +} from './FunctionalLayout.styles'; + +export function WalletSection() { + const { state, connect, disconnect, getWalletInfo } = useWallets(); + const { + onChangeWallets, + onChangeBooleansConfig, + config: { externalWallets, wallets, multiWallets }, + } = useConfigStore(); + + const allWalletList = Object.values(WalletTypes) + .filter((wallet) => !excludedWallets.includes(wallet)) + .map((wallet) => { + const { name: title, img: logo, supportedChains } = getWalletInfo(wallet); + return { + title, + logo, + name: wallet, + supportedNetworks: getCategoryNetworks(supportedChains), + }; + }); + + const onChangeExternalWallet = (checked: boolean) => { + let selectedWallets: WidgetConfig['wallets'] = !!wallets + ? [...wallets] + : []; + if (checked) { + const index = selectedWallets.findIndex( + (wallet) => wallet === WalletTypes.META_MASK + ); + if (index !== NOT_FOUND) { + selectedWallets.splice(index, 1); + } + selectedWallets = [...selectedWallets, WalletTypes.META_MASK]; + } else { + if (state('metamask').connected) { + void disconnect(WalletTypes.META_MASK); + } + if (selectedWallets.length === 1) { + selectedWallets = []; + } + } + onChangeBooleansConfig('externalWallets', checked); + onChangeWallets(!selectedWallets.length ? undefined : selectedWallets); + }; + + return ( + <> + } + type="Wallets" + value={ + wallets?.length === allWalletList.length + ? undefined + : (wallets as WalletType[]) + } + defaultSelectedItems={ + (wallets as WalletType[]) || + allWalletList.map((wallet) => wallet.name) + } + list={allWalletList} + onChange={onChangeWallets} + /> + + + onChangeBooleansConfig('multiWallets', checked) + } + checked={multiWallets ?? true} + label={ + + Enable Multi Wallets Simultaneously + + } + /> + + + + + External Wallets + + + + + + It's a sample using metamask, You can use your own wallet or what we + already implemented, check it out here. + + +
+ { + if (state('metamask').connected) { + void disconnect('metamask'); + } else { + void connect('metamask'); + } + }}> + {externalWallets && state('metamask').connected + ? 'Disconnect MetaMask' + : 'Connect MetaMask'} + +
+
+ + ); +} diff --git a/widget/playground/src/containers/FunctionalLayout/FunctionalLayout.helpers.ts b/widget/playground/src/containers/FunctionalLayout/FunctionalLayout.helpers.ts new file mode 100644 index 0000000000..b887c39450 --- /dev/null +++ b/widget/playground/src/containers/FunctionalLayout/FunctionalLayout.helpers.ts @@ -0,0 +1,24 @@ +import type { LiquidityType } from './FunctionalLayout.types'; +import type { SwapperMeta } from 'rango-sdk'; + +export const filterByType = (type: LiquidityType, swapper: SwapperMeta) => { + return ( + (type === 'DEX' && swapper.types.includes('DEX')) || + (type === 'BRIDGE' && !swapper.types.includes('DEX')) + ); +}; + +export const getLiquidityValue = ( + isAllSelected: boolean, + excludedMode: boolean, + isAllSelectedInCategory: boolean, + selectedList?: string[] +) => { + return isAllSelected + ? excludedMode + ? [] + : undefined + : isAllSelectedInCategory + ? undefined + : selectedList; +}; diff --git a/widget/playground/src/containers/FunctionalLayout/FunctionalLayout.styles.ts b/widget/playground/src/containers/FunctionalLayout/FunctionalLayout.styles.ts new file mode 100644 index 0000000000..b3e1f4fb96 --- /dev/null +++ b/widget/playground/src/containers/FunctionalLayout/FunctionalLayout.styles.ts @@ -0,0 +1,60 @@ +import { Button, styled } from '@rango-dev/ui'; + +export const Layout = styled('div', { + borderRadius: '20px', + display: 'flex', + padding: '$15', + backgroundColor: '$background', + width: '338px', + height: '100%', + flexDirection: 'column', + position: 'relative', +}); + +export const ExternalSection = styled('div', { + borderRadius: '20px', + padding: '$20', + display: 'flex', + flexDirection: 'column', + placeContent: 'center', + backgroundColor: '$background', + '& .footer': { + maxWidth: '$180', + }, +}); + +export const SwitchField = styled('div', { + display: 'flex', + justifyContent: 'space-between', + alignItems: 'center', +}); + +export const StyledButton = styled(Button, { + variants: { + variant: { + outlined: { + padding: '$5 $20', + }, + }, + }, +}); + +export const FromToContainer = styled('div', { + backgroundColor: '$background', + borderRadius: '$sm', + border: '1px solid $neutral300', + padding: '$15 $20', +}); + +export const FromAmount = styled('div', { + border: '1px solid $neutral300', + borderRadius: '$xm', + padding: '$2 $5', + '&:hover': { + borderColor: '$info300', + }, +}); + +export const IncludeSourceText = styled('div', { + paddingLeft: '$24', +}); diff --git a/widget/playground/src/containers/FunctionalLayout/FunctionalLayout.tsx b/widget/playground/src/containers/FunctionalLayout/FunctionalLayout.tsx new file mode 100644 index 0000000000..eb305a84ed --- /dev/null +++ b/widget/playground/src/containers/FunctionalLayout/FunctionalLayout.tsx @@ -0,0 +1,58 @@ +import { Divider } from '@rango-dev/ui'; +import React, { useState } from 'react'; + +import { Collapse } from '../../components/Collapse'; + +import { FromSection } from './FunctionalLayout.From'; +import { LiquiditiesSection } from './FunctionalLayout.Liquidities'; +import { Layout } from './FunctionalLayout.styles'; +import { ToSection } from './FunctionalLayout.To'; +import { FunctionalCollapseState } from './FunctionalLayout.types'; +import { WalletSection } from './FunctionalLayout.Wallets'; + +export function FunctionalLayout() { + const [openCollapse, toggleCollapse] = + useState(FunctionalCollapseState.FROM); + + const handleOpenCollapse = (name: FunctionalCollapseState) => () => { + if (openCollapse === name) { + toggleCollapse(null); + } else { + toggleCollapse(name); + } + }; + + return ( + + <> + + + + + + + + + + + + + + + + + + ); +} diff --git a/widget/playground/src/containers/FunctionalLayout/FunctionalLayout.types.ts b/widget/playground/src/containers/FunctionalLayout/FunctionalLayout.types.ts new file mode 100644 index 0000000000..64380f1ad8 --- /dev/null +++ b/widget/playground/src/containers/FunctionalLayout/FunctionalLayout.types.ts @@ -0,0 +1,13 @@ +export enum FunctionalCollapseState { + FROM = 'from', + WALLET = 'wallet', + LIQUIDITY_SOURCE = 'liquidity source', + TO = 'to', +} + +export enum ModalState { + DEFAULT_BLOCKCHAIN = 'blockchain', + DEFAULT_TOKEN = 'token', +} + +export type LiquidityType = 'DEX' | 'BRIDGE'; diff --git a/widget/playground/src/containers/FunctionalLayout/index.ts b/widget/playground/src/containers/FunctionalLayout/index.ts new file mode 100644 index 0000000000..afb7ce8e90 --- /dev/null +++ b/widget/playground/src/containers/FunctionalLayout/index.ts @@ -0,0 +1 @@ +export { FunctionalLayout } from './FunctionalLayout'; diff --git a/widget/playground/src/containers/StyleLayout/StyleLayout.CustomColors.tsx b/widget/playground/src/containers/StyleLayout/StyleLayout.CustomColors.tsx new file mode 100644 index 0000000000..976133e077 --- /dev/null +++ b/widget/playground/src/containers/StyleLayout/StyleLayout.CustomColors.tsx @@ -0,0 +1,224 @@ +import type { CustomColorsTypes } from './StyleLayout.types'; +import type { Mode } from '../../store/config'; +import type { WidgetColorsKeys } from '@rango-dev/widget-embedded'; + +import { + ChevronDownIcon, + ChevronUpIcon, + Collapsible, + CustomColorsIcon, + Divider, + Typography, +} from '@rango-dev/ui'; +import React, { useEffect, useState } from 'react'; + +import { ColorPicker } from '../../components/ColorPicker'; +import { WIDGET_COLORS } from '../../constants'; +import { useConfigStore } from '../../store/config'; +import { getMainColor } from '../../utils/colors'; +import { shallowEqual } from '../../utils/common'; + +import { + ColoredCircle, + ColorsContent, + CustomColorCollapsible, + CustomColors, + FieldTitle, + Row, +} from './StyleLayout.styles'; + +const Colors = (props: { mainColor?: string; secondColor?: string }) => { + return ( + + + {props.secondColor !== undefined && ( + + )} + + ); +}; + +export function CustomColorsSection(props: CustomColorsTypes) { + const { tab, selectedPreset, onResetPreset } = props; + + const [openCustomColors, toggleCustomColors] = useState<{ + tab: Mode; + value: boolean; + }>({ tab, value: false }); + + const [openCustomColor, setOpenCustomColor] = useState(null); + const onChangeColors = useConfigStore.use.onChangeColors(); + const onChangeTheme = useConfigStore.use.onChangeTheme(); + const isAutoTab = tab === 'auto'; + + const { theme } = useConfigStore.use.config(); + const [selectedColorTab, setSelectedColorTab] = useState(tab); + + const isOpenCustomColors = + tab === openCustomColors.tab && openCustomColors.value; + + const handleOpenCollapse = (key: string) => { + if (openCustomColor === key) { + setOpenCustomColor(null); + } else { + setOpenCustomColor(key); + } + }; + useEffect(() => { + setOpenCustomColor(null); + }, [tab]); + + const onChangeColor = ( + name: WidgetColorsKeys, + mode: 'light' | 'dark', + color?: string + ) => { + const resetColors = selectedColorTab !== tab; + setSelectedColorTab(tab); + + onChangeTheme({ name: 'mode', value: tab }); + onChangeColors({ + name, + mode, + color, + singleTheme: !isAutoTab, + resetColors, + }); + }; + + const onResetColor = (name: WidgetColorsKeys, mode: 'light' | 'dark') => { + const color = !!selectedPreset ? selectedPreset[mode][name] : undefined; + onChangeColor(name, mode, color); + }; + + useEffect(() => { + if ( + !shallowEqual(theme?.colors?.dark || {}, selectedPreset?.dark || {}) && + !shallowEqual(theme?.colors?.light || {}, selectedPreset?.light || {}) && + selectedColorTab === tab + ) { + onResetPreset(); + } + }, [theme.colors]); + + return ( + + toggleCustomColors((prev) => ({ + tab, + value: tab === prev.tab ? !prev.value : true, + })) + } + trigger={ + + ) : ( + + ) + }> + + + + + Custom Colors + + + + }> + + {WIDGET_COLORS.map((widgetColor) => ( +
+ handleOpenCollapse(widgetColor.key)} + trigger={ + + + + + + {widgetColor.label} + + + {openCustomColor === widgetColor.key ? ( + + ) : ( + + )} + + }> + + + {isAutoTab ? ( + <> + + onChangeColor(widgetColor.key, 'light', color) + } + onReset={() => onResetColor(widgetColor.key, 'light')} + resetDisable={ + getMainColor(widgetColor.key, tab, theme, 'light') === + selectedPreset?.light[widgetColor.key] + } + /> + + + onChangeColor(widgetColor.key, 'dark', color) + } + resetDisable={ + getMainColor(widgetColor.key, tab, theme, 'dark') === + selectedPreset?.dark[widgetColor.key] + } + onReset={() => onResetColor(widgetColor.key, 'dark')} + /> + + ) : ( + + onChangeColor(widgetColor.key, tab, color) + } + onReset={() => onResetColor(widgetColor.key, tab)} + resetDisable={ + getMainColor(widgetColor.key, tab, theme) === + (selectedPreset + ? selectedPreset[tab][widgetColor.key] + : undefined) + } + /> + )} + + +
+ ))} +
+ ); +} diff --git a/widget/playground/src/containers/StyleLayout/StyleLayout.General.tsx b/widget/playground/src/containers/StyleLayout/StyleLayout.General.tsx new file mode 100644 index 0000000000..fb35a898f0 --- /dev/null +++ b/widget/playground/src/containers/StyleLayout/StyleLayout.General.tsx @@ -0,0 +1,155 @@ +import type { ChangeEvent } from 'react'; + +import { + BorderRadiusIcon, + Divider, + FontIcon, + LanguageIcon, + Typography, +} from '@rango-dev/ui'; +import React, { useCallback, useState } from 'react'; + +import { ItemPicker } from '../../components/ItemPicker'; +import { OverlayPanel } from '../../components/OverlayPanel'; +import { SingleList } from '../../components/SingleList'; +import { Slider } from '../../components/Slider'; +import { + DEFAULT_PRIMARY_RADIUS, + DEFAULT_SECONDARY_RADIUS, + FONTS, + LANGUAGES, +} from '../../constants'; +import { useConfigStore } from '../../store/config'; + +import { Field, FieldTitle, GeneralContainer } from './StyleLayout.styles'; +import { ModalState } from './StyleLayout.types'; + +export function General() { + const [modalState, setModalState] = useState(null); + + const onBack = () => setModalState(null); + const onChangeLanguage = useConfigStore.use.onChangeLanguage(); + const onChangeTheme = useConfigStore.use.onChangeTheme(); + const borderRadius = useConfigStore.use.config().theme?.borderRadius; + + const secondaryBorderRadius = + useConfigStore.use.config().theme?.secondaryBorderRadius; + const fontFamily = + useConfigStore.use.config().theme?.fontFamily || FONTS[0].value; + const language = useConfigStore.use.config().language || LANGUAGES[0].value; + const handleFontChange = (value: string) => { + if (value) { + onChangeTheme({ + name: 'fontFamily', + value: value === FONTS[0].value ? undefined : value, + }); + } + onBack(); + }; + const handleLanguageChange = (value: string) => { + if (value) { + onChangeLanguage(value); + } + onBack(); + }; + + const handleBorderRadius = useCallback( + (e: ChangeEvent) => { + const value = parseInt(e.target.value); + onChangeTheme({ + name: 'borderRadius', + value: value === DEFAULT_PRIMARY_RADIUS ? undefined : value, + }); + }, + [borderRadius] + ); + + const handleSecondaryBorderRadius = useCallback( + (e: ChangeEvent) => { + const value = parseInt(e.target.value); + onChangeTheme({ + name: 'secondaryBorderRadius', + value: value === DEFAULT_SECONDARY_RADIUS ? undefined : value, + }); + }, + [secondaryBorderRadius] + ); + + const selectedLanguage = LANGUAGES.find((l) => l.value === language); + + return ( + <> + + setModalState(ModalState.DEFAULT_LANGUAGE)} + value={{ + label: selectedLanguage?.name, + logo: selectedLanguage?.Icon, + }} + title="Default Language" + hasLogo + iconTitle={} + /> + + + + + + + Border Radius + + + + + + + + + + setModalState(ModalState.DEFAULT_FONT)} + value={{ label: fontFamily }} + title="Fonts" + iconTitle={} + /> + + {modalState === ModalState.DEFAULT_FONT && ( + + } + defaultValue={fontFamily} + list={FONTS} + searchPlaceholder="Search Font" + /> + + )} + + {modalState === ModalState.DEFAULT_LANGUAGE && ( + + } + defaultValue={language} + list={LANGUAGES} + searchPlaceholder="Search Language" + /> + + )} + + ); +} diff --git a/widget/playground/src/containers/StyleLayout/StyleLayout.Preset.tsx b/widget/playground/src/containers/StyleLayout/StyleLayout.Preset.tsx new file mode 100644 index 0000000000..d7a9592bb6 --- /dev/null +++ b/widget/playground/src/containers/StyleLayout/StyleLayout.Preset.tsx @@ -0,0 +1,178 @@ +import type { ColorsTypes, PresetTypes } from './StyleLayout.types'; +import type { WidgetColors } from '@rango-dev/widget-embedded'; + +import { Button, Divider, Switch, Typography } from '@rango-dev/ui'; +import React, { useState } from 'react'; + +import { DEFAULT_COLORS, PRESETS } from '../../constants'; +import { useConfigStore } from '../../store/config'; +import { shallowEqual } from '../../utils/common'; + +import { CustomColorsSection } from './StyleLayout.CustomColors'; +import { + Collapse, + ColoredCircle, + ColorsContent, + Line, + PresetContent, + PresetTheme, + Row, +} from './StyleLayout.styles'; + +const Colors = (props: ColorsTypes) => { + return ( + + + + + + ); +}; + +const EACH_COL_HEIGHT = 41; +const TWO_ROWS_NUMBER_OF_COLS = 4; +const ONE_ROW_NUMBER_OF_COLS = 2; +export function Preset(props: PresetTypes) { + const { theme } = useConfigStore.use.config(); + const { tab } = props; + const [showMore, setShowMore] = useState({ + tab, + value: false, + }); + const [selectedPreset, setSelectedPreset] = useState<{ + light: WidgetColors; + dark: WidgetColors; + }>({ + light: theme?.colors?.light || {}, + dark: theme?.colors?.dark || {}, + }); + const isShowMore = showMore.value && tab === showMore.tab; + + const onChangeTheme = useConfigStore.use.onChangeTheme(); + const onSelectTheme = useConfigStore.use.onSelectTheme(); + const isDarkTab = tab === 'dark'; + const isLightTab = tab === 'light'; + const isAutoTab = tab === 'auto'; + const PRESETS_FILTER = PRESETS.filter( + (preset) => + (isDarkTab && !!preset[tab] && !preset.light) || + (isLightTab && !!preset[tab] && !preset.dark) || + (isAutoTab && !!preset.dark && !!preset.light) + ); + const presetsSize = PRESETS_FILTER.length; + const more = + presetsSize - + (isAutoTab ? ONE_ROW_NUMBER_OF_COLS : TWO_ROWS_NUMBER_OF_COLS); + + const height = !isShowMore + ? EACH_COL_HEIGHT * 2 + : EACH_COL_HEIGHT * (isAutoTab ? presetsSize : Math.ceil(presetsSize / 2)); + + const onSelectPreset = (customTheme: { + dark: WidgetColors; + light: WidgetColors; + }) => { + onSelectTheme(customTheme); + setSelectedPreset(customTheme); + onChangeTheme({ name: 'singleTheme', value: isAutoTab ? undefined : true }); + if (!isAutoTab) { + onChangeTheme({ name: 'mode', value: tab }); + } + }; + return ( + <> + {isAutoTab && ( + <> + + + Show Widget in Dark Theme + + + onChangeTheme({ + name: 'mode', + value: checked ? 'dark' : 'light', + }) + } + /> + + + + )} + + + {PRESETS_FILTER.map((preset) => ( + + onSelectPreset({ + dark: preset.dark || {}, + light: preset.light || {}, + }) + }> + {!isAutoTab ? ( + + ) : ( + + + + + )} + + ))} + + + {more > 0 && ( + <> + + + + )} + + + + + setSelectedPreset(DEFAULT_COLORS)} + /> + + ); +} diff --git a/widget/playground/src/containers/StyleLayout/StyleLayout.Themes.tsx b/widget/playground/src/containers/StyleLayout/StyleLayout.Themes.tsx new file mode 100644 index 0000000000..fad1eb3a39 --- /dev/null +++ b/widget/playground/src/containers/StyleLayout/StyleLayout.Themes.tsx @@ -0,0 +1,65 @@ +import { ColorsIcon, Divider, Typography } from '@rango-dev/ui'; +import React, { useState } from 'react'; + +import { TABS } from '../../constants'; +import { type Mode } from '../../store/config'; + +import { Preset } from './StyleLayout.Preset'; +import { + BackdropTab, + Field, + FieldTitle, + GeneralContainer, + Tab, + Tabs, +} from './StyleLayout.styles'; + +const TAB_WIDTH = 80; +export function Themes() { + const [tab, setTab] = useState('auto'); + const currentTabIndex = TABS.findIndex((mode) => mode.id === tab); + const onChangeMode = (mode: Mode) => { + setTab(mode); + }; + + return ( + <> + + + + {TABS.map((item, index) => ( + onChangeMode(item.id)} + size="small" + isActive={index === currentTabIndex} + variant="default"> + {item.title} + + ))} + + + + + + + + + Presets + + + + + + + + + ); +} diff --git a/widget/playground/src/containers/StyleLayout/StyleLayout.styles.ts b/widget/playground/src/containers/StyleLayout/StyleLayout.styles.ts new file mode 100644 index 0000000000..30a69e7667 --- /dev/null +++ b/widget/playground/src/containers/StyleLayout/StyleLayout.styles.ts @@ -0,0 +1,176 @@ +import { Button, Collapsible, darkTheme, styled } from '@rango-dev/ui'; + +export const Layout = styled('div', { + borderRadius: '20px', + display: 'flex', + padding: '$15', + overflowY: 'auto', + backgroundColor: '$background', + width: '338px', + height: '100%', + flexDirection: 'column', + position: 'relative', +}); + +export const GeneralContainer = styled('div', { + backgroundColor: '$background', + borderRadius: '$sm', + border: '1px solid $neutral300', + padding: '$15', +}); + +export const Field = styled('div', { + display: 'flex', + flexDirection: 'column', +}); + +export const FieldTitle = styled('div', { + display: 'flex', +}); + +export const Tabs = styled('div', { + borderRadius: '$xm', + backgroundColor: '$neutral100', + display: 'flex', + border: '3px solid $neutral100', + flexDirection: 'row', + position: 'relative', +}); + +export const Tab = styled(Button, { + color: '$neutral700', + backgroundColor: 'transparent', + zIndex: 10, + variants: { + isActive: { + true: { + transition: 'color 0.8s linear', + $$color: '$colors$background', + [`.${darkTheme} &`]: { + color: '$colors$foreground', + }, + color: '$$color', + }, + false: { + '&:hover': { + backgroundColor: '$info100', + color: '$secondary500', + [`.${darkTheme} &`]: { + backgroundColor: 'transparent', + color: '$neutral700', + }, + }, + }, + }, + }, +}); + +export const BackdropTab = styled('div', { + width: '80px', + height: '$28', + padding: '$4', + backgroundColor: '$secondary500', + position: 'absolute', + borderRadius: '$md', + inset: 0, + transition: 'transform 0.5s cubic-bezier(0, 0, 0.86, 1.2)', +}); + +export const PresetContent = styled('div', { + display: 'grid', + gap: 5, +}); +export const PresetTheme = styled(Button, { + border: '1px solid', + borderRadius: '$sm', + padding: '$10 0', + height: '36px', + position: 'relative', + backgroundColor: 'transparent', + '._text': { + width: '100%', + }, + '&:hover': { + borderColor: '$info300', + }, + variants: { + isSelected: { + true: { + borderColor: '$secondary500', + }, + false: { + borderColor: '$neutral300', + }, + }, + }, +}); + +export const ColorsContent = styled('div', { + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + position: 'relative', +}); + +export const ColoredCircle = styled('div', { + width: '$20', + height: '$20', + borderRadius: '$sm', + margin: '$5', + boxShadow: '0 2px 6px 0 rgba(0, 0, 0, 0.1), 0 4px 10px 0 rgba(0, 0, 0, 0.16)', + variants: { + position: { + relative: { + position: 'relative', + }, + absolute: { + position: 'absolute', + }, + }, + }, +}); + +export const Row = styled('div', { + display: 'flex', + justifyContent: 'space-between', + alignItems: 'center', +}); + +export const Line = styled('div', { + width: '100%', + borderTop: '1px solid $neutral300', +}); + +export const CustomColors = styled(Button, { + width: '100%', + borderRadius: 0, + display: 'flex', + justifyContent: 'space-between', + backgroundColor: 'transparent', + '&:hover': { + '.title': { + color: '$secondary500', + }, + '& svg': { + color: '$secondary500', + }, + }, +}); + +export const Collapse = styled('div', { + overflow: 'hidden', + transition: 'height .3s ease', +}); + +export const CustomColorCollapsible = styled(Collapsible, { + border: '1px solid $neutral300', + borderRadius: '$xm', + padding: '$4 $15', + cursor: 'pointer', + '&:hover': { + borderColor: '$info300', + '& svg': { + color: '$secondary500', + }, + }, +}); diff --git a/widget/playground/src/containers/StyleLayout/StyleLayout.tsx b/widget/playground/src/containers/StyleLayout/StyleLayout.tsx new file mode 100644 index 0000000000..b148411025 --- /dev/null +++ b/widget/playground/src/containers/StyleLayout/StyleLayout.tsx @@ -0,0 +1,39 @@ +import { Divider } from '@rango-dev/ui'; +import React, { useState } from 'react'; + +import { Collapse } from '../../components/Collapse'; + +import { General } from './StyleLayout.General'; +import { Layout } from './StyleLayout.styles'; +import { Themes } from './StyleLayout.Themes'; +import { StyleCollapseState } from './StyleLayout.types'; + +export function StyleLayout() { + const [openCollapse, toggleCollapse] = useState( + StyleCollapseState.GENERAL + ); + const handleOpenCollapse = (name: StyleCollapseState) => () => { + if (openCollapse === name) { + toggleCollapse(null); + } else { + toggleCollapse(name); + } + }; + return ( + + + + + + + + + + ); +} diff --git a/widget/playground/src/containers/StyleLayout/StyleLayout.types.ts b/widget/playground/src/containers/StyleLayout/StyleLayout.types.ts new file mode 100644 index 0000000000..be5cd453b7 --- /dev/null +++ b/widget/playground/src/containers/StyleLayout/StyleLayout.types.ts @@ -0,0 +1,31 @@ +import type { Mode } from '../../store/config'; +import type { WidgetColors } from '@rango-dev/widget-embedded'; + +export enum StyleCollapseState { + GENERAL = 'general', + THEMES = 'themes', +} + +export type PresetTypes = { + tab: Mode; +}; + +export type ColorsTypes = { + primary?: string; + secondary?: string; + background?: string; +}; + +export type CustomColorsTypes = { + tab: Mode; + selectedPreset?: { + light: WidgetColors; + dark: WidgetColors; + }; + onResetPreset: () => void; +}; + +export enum ModalState { + DEFAULT_FONT = 'font', + DEFAULT_LANGUAGE = 'language', +} diff --git a/widget/playground/src/containers/StyleLayout/index.ts b/widget/playground/src/containers/StyleLayout/index.ts new file mode 100644 index 0000000000..58e3d8db0c --- /dev/null +++ b/widget/playground/src/containers/StyleLayout/index.ts @@ -0,0 +1 @@ +export { StyleLayout } from './StyleLayout'; diff --git a/widget/playground/src/containers/SupportedBlockchains/SupportedBlockchains.tsx b/widget/playground/src/containers/SupportedBlockchains/SupportedBlockchains.tsx new file mode 100644 index 0000000000..83285cca65 --- /dev/null +++ b/widget/playground/src/containers/SupportedBlockchains/SupportedBlockchains.tsx @@ -0,0 +1,69 @@ +import type { Type } from '../../types'; + +import { ChainsIcon } from '@rango-dev/ui'; +import React from 'react'; + +import { MultiSelect } from '../../components/MultiSelect/MultiSelect'; +import { useConfigStore } from '../../store/config'; +import { useMetaStore } from '../../store/meta'; +import { getCategoryNetworks } from '../../utils/blockchains'; + +export function SupportedBlockchains({ type }: { type: Type }) { + const { + config: { from, to }, + onChangeBlockChains, + onChangeBlockChain, + onChangeToken, + onChangeTokens, + } = useConfigStore(); + const { + meta: { blockchains }, + } = useMetaStore(); + + const selectedType = type === 'Source' ? from : to; + + const configBlockchains = selectedType?.blockchains; + + const allBlockchains = blockchains.map((blockchain) => { + const { displayName: title, logo, name } = blockchain; + return { + title, + logo, + name, + supportedNetworks: getCategoryNetworks([blockchain]), + }; + }); + + const handleBlockchainChange = (items?: string[]) => { + // Reset default blockchain and token when the default is not among the selected items. + if ( + selectedType?.blockchain && + items && + !items.includes(selectedType.blockchain) + ) { + onChangeBlockChain(undefined, type); + onChangeToken(undefined, type); + } + + onChangeBlockChains(items, type); + onChangeTokens(undefined, type); + }; + + return ( + } + type="Blockchains" + value={ + configBlockchains?.length === allBlockchains.length + ? undefined + : configBlockchains + } + defaultSelectedItems={ + configBlockchains || allBlockchains.map((blockchain) => blockchain.name) + } + list={allBlockchains} + onChange={handleBlockchainChange} + /> + ); +} diff --git a/widget/playground/src/containers/SupportedBlockchains/index.ts b/widget/playground/src/containers/SupportedBlockchains/index.ts new file mode 100644 index 0000000000..b66b12deaf --- /dev/null +++ b/widget/playground/src/containers/SupportedBlockchains/index.ts @@ -0,0 +1 @@ +export { SupportedBlockchains } from './SupportedBlockchains'; diff --git a/widget/playground/src/containers/SupportedTokens/SupportedTokens.tsx b/widget/playground/src/containers/SupportedTokens/SupportedTokens.tsx new file mode 100644 index 0000000000..bef85ca520 --- /dev/null +++ b/widget/playground/src/containers/SupportedTokens/SupportedTokens.tsx @@ -0,0 +1,88 @@ +import type { Type } from '../../types'; +import type { tokensConfigType } from '../../utils/configs'; + +import { ChainsIcon } from '@rango-dev/ui'; +import React from 'react'; + +import { MultiSelect } from '../../components/MultiSelect/MultiSelect'; +import { useConfigStore } from '../../store/config'; +import { useMetaStore } from '../../store/meta'; +import { tokensAreEqual } from '../../utils/common'; +import { isTokenExcludedInConfig } from '../../utils/configs'; + +export function SupportedTokens({ type }: { type: Type }) { + const { + config: { from, to }, + onChangeTokens, + onChangeToken, + onChangePinnedTokens, + } = useConfigStore(); + const { + meta: { tokens, blockchains }, + } = useMetaStore(); + + const selectedType = type === 'Source' ? from : to; + + const tokensConfig = selectedType?.tokens as tokensConfigType; + const pinnedTokens = selectedType?.pinnedTokens; + + const selectedBlockchains = selectedType?.blockchains; + const allTokens = selectedBlockchains + ? tokens.filter((token) => selectedBlockchains.includes(token.blockchain)) + : tokens; + const defaultBlockchains = + selectedBlockchains || blockchains.map((chain) => chain.name); + + const tokensWithCheck = allTokens.map((token) => { + const isToken = isTokenExcludedInConfig(token, tokensConfig); + const isExclude = + tokensConfig && + tokensConfig[token.blockchain] && + tokensConfig[token.blockchain].isExcluded; + + return { + ...token, + checked: + !tokensConfig || (!isExclude && !isToken) || (isExclude && isToken), + pinned: + !!pinnedTokens && pinnedTokens.some((ct) => tokensAreEqual(ct, token)), + }; + }); + + const checkedTokens = tokensWithCheck.filter((item) => item.checked); + + const isAllTokens = + !tokensConfig || checkedTokens.length === tokensWithCheck.length; + + return ( + <> + } + selectedBlockchains={defaultBlockchains} + value={ + isAllTokens + ? undefined + : defaultBlockchains.filter((blockchain) => + checkedTokens?.some((token) => token.blockchain === blockchain) + ) + } + tokensConfig={tokensConfig || {}} + list={tokensWithCheck} + onChange={(selectedTokens, pinnedTokens) => { + onChangePinnedTokens( + pinnedTokens?.map(({ symbol, blockchain, address }) => ({ + symbol, + blockchain, + address, + })), + type + ); + onChangeTokens(selectedTokens, type); + onChangeToken(undefined, type); + }} + /> + + ); +} diff --git a/widget/playground/src/containers/SupportedTokens/index.ts b/widget/playground/src/containers/SupportedTokens/index.ts new file mode 100644 index 0000000000..f76eef34d5 --- /dev/null +++ b/widget/playground/src/containers/SupportedTokens/index.ts @@ -0,0 +1 @@ +export { SupportedTokens } from './SupportedTokens'; diff --git a/widget/playground/src/containers/configContainer/ConfigContainer.Header.tsx b/widget/playground/src/containers/configContainer/ConfigContainer.Header.tsx new file mode 100644 index 0000000000..43605dfd4b --- /dev/null +++ b/widget/playground/src/containers/configContainer/ConfigContainer.Header.tsx @@ -0,0 +1,44 @@ +import { Divider } from '@rango-dev/ui'; +import React, { useState } from 'react'; + +import { ExportConfigModal } from '../../components/ExportConfigModal'; +import { useConfigStore } from '../../store/config'; + +import { + HeaderContainer, + ResetButton, + StyledButton, +} from './ConfigContainer.styles'; + +export function Header() { + const resetConfig = useConfigStore.use.resetConfig(); + const [openExportModal, setOpenExportModal] = useState(false); + const config = useConfigStore.use.config(); + + const toggleModal = () => setOpenExportModal((prev) => !prev); + + return ( + + + Reset Configuration + + + + Export Code + + + + ); +} diff --git a/widget/playground/src/containers/configContainer/ConfigContainer.styles.ts b/widget/playground/src/containers/configContainer/ConfigContainer.styles.ts new file mode 100644 index 0000000000..23fdc3bb42 --- /dev/null +++ b/widget/playground/src/containers/configContainer/ConfigContainer.styles.ts @@ -0,0 +1,81 @@ +import { Button, darkTheme, styled } from '@rango-dev/ui'; + +export const Container = styled('div', { + display: 'none', + '@lg': { + display: 'flex', + justifyContent: 'center', + $$color: '#eeeeee', + [`.${darkTheme} &`]: { + $$color: '$colors$neutral400', + }, + backgroundColor: '$$color', + width: '100%', + height: '100vh', + padding: '$20', + flexDirection: 'row', + }, +}); + +export const LeftSide = styled('div', { + display: 'flex', +}); + +export const Main = styled('div', { + justifyContent: 'center', + alignItems: 'center', + flexDirection: 'column', + display: 'flex', + width: '100%', +}); + +export const HeaderContainer = styled('div', { + width: '100%', + justifyContent: 'flex-end', + alignItems: 'center', + display: 'flex', + padding: '$15', +}); + +export const StyledButton = styled(Button, { + width: '230px', +}); + +export const ResetButton = styled(StyledButton, { + border: '1px solid $secondary500', +}); + +export const Content = styled('div', { + height: '100%', + display: 'flex', + justifyContent: 'center', + alignItems: 'center', +}); + +export const MobileSection = styled('div', { + background: + 'linear-gradient(to right bottom, $colors$info100 3%, $neutral100 94%, $colors$info100 97%)', + display: 'flex', + minHeight: '100vh', + flexDirection: 'column', + justifyContent: 'center', + alignItems: 'center', + '@lg': { + display: 'none', + }, +}); + +export const LogoIcon = styled('div', { + display: 'flex', + flexBasis: '30%', +}); + +export const MobileContent = styled('div', { + display: 'flex', + justifyContent: 'flex-start', + flexBasis: '70%', + alignItems: 'center', + gap: '$8', + flexDirection: 'column', + padding: '20px', +}); diff --git a/widget/playground/src/containers/configContainer/ConfigContainer.tsx b/widget/playground/src/containers/configContainer/ConfigContainer.tsx new file mode 100644 index 0000000000..b15e83bc87 --- /dev/null +++ b/widget/playground/src/containers/configContainer/ConfigContainer.tsx @@ -0,0 +1,73 @@ +import type { PropsWithChildren } from 'react'; + +import { + DesktopIcon, + Divider, + LogoWithTextIcon, + Typography, +} from '@rango-dev/ui'; +import React, { useState } from 'react'; + +import { SideNavigation } from '../../components/SideNavigation'; +import { SIDE_TABS_IDS } from '../../constants'; +import { globalStyles } from '../../globalStyles'; +import { FunctionalLayout } from '../FunctionalLayout'; +import { StyleLayout } from '../StyleLayout'; + +import { Header } from './ConfigContainer.Header'; +import { + Container, + Content, + LeftSide, + LogoIcon, + Main, + MobileContent, + MobileSection, +} from './ConfigContainer.styles'; + +export function ConfigContainer(props: PropsWithChildren) { + const [activeLayout, setActiveLayout] = useState(SIDE_TABS_IDS.FUNCTIONAL); + globalStyles(); + + return ( + <> + + + setActiveLayout(id)} + activeLayout={activeLayout} + /> + + {activeLayout === SIDE_TABS_IDS.FUNCTIONAL ? ( + + ) : ( + + )} + +
+
+ {props.children} +
+
+ + + + + + + + Use a Desktop Browser + + + + To use the Playground page, You must use the Desktop version + + + + + ); +} diff --git a/widget/playground/src/containers/configContainer/index.ts b/widget/playground/src/containers/configContainer/index.ts new file mode 100644 index 0000000000..42b33369d2 --- /dev/null +++ b/widget/playground/src/containers/configContainer/index.ts @@ -0,0 +1 @@ +export { ConfigContainer } from './ConfigContainer'; diff --git a/widget/playground/src/globalStyles.ts b/widget/playground/src/globalStyles.ts index b1ca761f83..4ebc02b787 100644 --- a/widget/playground/src/globalStyles.ts +++ b/widget/playground/src/globalStyles.ts @@ -1,16 +1,7 @@ import { globalCss } from '@rango-dev/ui'; export const globalStyles = globalCss({ - '*': { - '&::-webkit-scrollbar': { width: '$8' }, - '&::-webkit-scrollbar-thumb': { - backgroundColor: '$neutrals400', - }, - '&::-webkit-scrollbar-thumb:hover': { - backgroundColor: '$neutrals500', - }, - '&::-webkit-scrollbar-track': { - backgroundColor: '$neutrals300', - }, + body: { + fontFamily: '$primary', }, }); diff --git a/widget/playground/src/helpers.ts b/widget/playground/src/helpers.ts deleted file mode 100644 index e1a5231da0..0000000000 --- a/widget/playground/src/helpers.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { WalletType } from '@rango-dev/wallets-shared'; -import { Asset, Token } from 'rango-sdk'; - -export const excludedWallets = [WalletType.UNKNOWN, WalletType.TERRA_STATION, WalletType.LEAP]; - -export const onChangeMultiSelects = (value, values, list, findIndex) => { - console.log(value); - - if (value === 'empty') return []; - else if (value === 'all') return null; - if (!values) { - values = [...list]; - const index = list.findIndex(findIndex); - values.splice(index, 1); - return values; - } else { - values = [...values]; - const index = values.findIndex(findIndex); - if (index !== -1) values.splice(index, 1); - else values.push(value); - if (values.length === list.length) return undefined; - else return values; - } -}; - -export function tokensAreEqual(tokenA?: Asset, tokenB?: Asset) { - return ( - tokenA?.blockchain === tokenB?.blockchain && - tokenA?.symbol === tokenB?.symbol && - tokenA?.address === tokenB?.address - ); -} - -export const containsText = (text: string, searchText: string) => - text.toLowerCase().indexOf(searchText.toLowerCase()) > -1; - -export const filterTokens = (list: Token[], searchedFor: string) => - list.filter( - (token) => - containsText(token.symbol, searchedFor) || - containsText(token.address || '', searchedFor) || - containsText(token.name || '', searchedFor), - ); diff --git a/widget/playground/src/hook/useTheme.ts b/widget/playground/src/hook/useTheme.ts deleted file mode 100644 index 13caf02443..0000000000 --- a/widget/playground/src/hook/useTheme.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { lightTheme, darkTheme } from '@rango-dev/ui'; -import { useState, useEffect, useLayoutEffect } from 'react'; -import { useConfigStore } from '../store/config'; -import { useMetaStore } from '../store/meta'; - -export function useTheme() { - const mode = useConfigStore.use.config().theme.mode; - const fetchMeta = useMetaStore.use.fetchMeta(); - const [OSTheme, setOSTheme] = useState(lightTheme); - useEffect(() => { - (async () => { - await fetchMeta(); - })(); - - const switchTheme = (event: MediaQueryListEvent) => { - if (event.matches) setOSTheme(darkTheme); - else setOSTheme(lightTheme); - }; - - if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { - setOSTheme(darkTheme); - } - - window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', switchTheme); - return () => { - window.matchMedia('(prefers-color-scheme: dark)').removeEventListener('change', switchTheme); - }; - }, []); - - const getActiveTheme = () => { - if (mode === 'auto') return OSTheme; - else return mode === 'dark' ? darkTheme : lightTheme; - }; - - useLayoutEffect(() => { - const { classList } = document.body; - if (mode === 'auto') classList.add(OSTheme); - else if (mode === 'dark') classList.add(darkTheme); - else classList.remove(darkTheme); - }, [mode, OSTheme]); - - return { activeTheme: getActiveTheme() }; -} diff --git a/widget/playground/src/hooks/useTheme.ts b/widget/playground/src/hooks/useTheme.ts new file mode 100755 index 0000000000..c98fc116d3 --- /dev/null +++ b/widget/playground/src/hooks/useTheme.ts @@ -0,0 +1,89 @@ +import { + createTheme, + darkTheme as defaultDarkTheme, + lightTheme as defaultLightTheme, +} from '@rango-dev/ui'; +import { customizedThemeTokens } from '@rango-dev/widget-embedded'; +import { useEffect, useLayoutEffect, useState } from 'react'; + +import { NOT_FOUND } from '../constants'; +import { useConfigStore } from '../store/config'; + +export function useTheme() { + const [systemTheme, setSystemTheme] = useState('light'); + const configTheme = useConfigStore.use.config().theme; + const mode = configTheme?.mode; + + const { dark, light } = customizedThemeTokens(configTheme?.colors); + + const lightThemeClasses = [defaultLightTheme.className]; + const darkThemeClasses = [defaultDarkTheme.className]; + + /* + * If theme has been customized, we will push the customized theme to override the default themes. + * To be overridden, it should be last thing that has been pushed. + */ + if (light) { + const customizedLightTheme = createTheme(light.id, light.tokens); + lightThemeClasses.push(customizedLightTheme.className); + } + if (dark) { + const customizedDarkTheme = createTheme(dark.id, dark.tokens); + darkThemeClasses.push(customizedDarkTheme.className); + } + + useEffect(() => { + const switchThemeListener = (event: MediaQueryListEvent) => { + if (event.matches) { + setSystemTheme('dark'); + } else { + setSystemTheme('light'); + } + }; + + if ( + window.matchMedia && + window.matchMedia('(prefers-color-scheme: dark)').matches + ) { + setSystemTheme('dark'); + } + + window + .matchMedia('(prefers-color-scheme: dark)') + .addEventListener('change', switchThemeListener); + return () => { + window + .matchMedia('(prefers-color-scheme: dark)') + .removeEventListener('change', switchThemeListener); + }; + }, []); + + const getActiveTheme = () => { + const lightClassNames = lightThemeClasses.join(' '); + const darkClassNames = darkThemeClasses.join(' '); + if (mode === 'auto') { + return systemTheme === 'dark' ? darkClassNames : lightClassNames; + } + return mode === 'dark' ? darkClassNames : lightClassNames; + }; + + useLayoutEffect(() => { + const body = document.body; + const classNames = body.getAttribute('class')?.split(' '); + + if (classNames?.length && classNames?.length > 1) { + body.removeAttribute('class'); + const searchedClassName = classNames.find( + (c) => c.search('font') !== NOT_FOUND + ); + if (searchedClassName) { + body.classList.add(searchedClassName); + } + } + }, [mode, systemTheme]); + + return { + activeStyle: getActiveTheme(), + activeTheme: mode === 'auto' ? systemTheme : mode, + }; +} diff --git a/widget/playground/src/index.tsx b/widget/playground/src/index.tsx index 91404b6d7f..210ede8476 100644 --- a/widget/playground/src/index.tsx +++ b/widget/playground/src/index.tsx @@ -1,7 +1,14 @@ import React from 'react'; import { createRoot } from 'react-dom/client'; +import { BrowserRouter } from 'react-router-dom'; + import { App } from './App'; const container = document.getElementById('app')!; const root = createRoot(container); -root.render(); + +root.render( + + + +); diff --git a/widget/playground/src/services/httpService.ts b/widget/playground/src/services/httpService.ts index edb890fd08..e7d3473bef 100644 --- a/widget/playground/src/services/httpService.ts +++ b/widget/playground/src/services/httpService.ts @@ -1,10 +1,13 @@ import { RangoClient } from 'rango-sdk'; -import { getConfig } from '../configs'; + +import { getConfig } from '../utils/configs'; let rangoClient: RangoClient | undefined = undefined; export const rango = () => { - if (rangoClient) return rangoClient; + if (rangoClient) { + return rangoClient; + } rangoClient = new RangoClient(getConfig('API_KEY')); return rangoClient; }; diff --git a/widget/playground/src/store/config.ts b/widget/playground/src/store/config.ts index ab98d286ee..70645d8f90 100644 --- a/widget/playground/src/store/config.ts +++ b/widget/playground/src/store/config.ts @@ -1,140 +1,304 @@ +import type { Type } from '../types'; +import type { WalletType } from '@rango-dev/wallets-shared'; +import type { + ProviderInterface, + Tokens, + WidgetColors, + WidgetColorsKeys, + WidgetConfig, +} from '@rango-dev/widget-embedded'; +import type { Asset } from 'rango-sdk'; + import { create } from 'zustand'; -import { Asset } from 'rango-sdk'; -import createSelectors from './selectors'; -import { WalletType } from '@rango-dev/wallets-shared'; +import { persist } from 'zustand/middleware'; import { immer } from 'zustand/middleware/immer'; -import { Type, WidgetConfig } from '../types'; -import { getConfig } from '../configs'; + +import { DEFAULT_COLORS } from '../constants'; +import { getConfig } from '../utils/configs'; + +import createSelectors from './selectors'; export type Mode = 'dark' | 'light' | 'auto'; -export type COLORS = - | 'background' - | 'inputBackground' - | 'icons' - | 'primary' - | 'secondary' - | 'text' - | 'success' - | 'error' - | 'warning'; interface ConfigState { config: WidgetConfig; - onChangeWallets: (wallets?: WalletType[]) => void; + onChangeApiKey: (apiKey: string) => void; + onChangeWallets: (wallets?: (WalletType | ProviderInterface)[]) => void; onChangeSources: (sources?: string[]) => void; onChangeBlockChains: (chains?: string[], type?: Type) => void; - onChangeTokens: (tokens?: Asset[], type?: Type) => void; - onChangeBooleansConfig: (name: 'multiWallets' | 'customAddress', value: boolean) => void; + onChangePinnedTokens: (tokens?: Asset[], type?: Type) => void; + onChangeTokens: ( + tokens?: { [blockchain: string]: Tokens }, + type?: Type + ) => void; + onChangeBooleansConfig: ( + name: + | 'multiWallets' + | 'customDestination' + | 'externalWallets' + | 'enableNewLiquiditySources', + value: boolean + ) => void; onChangeBlockChain: (chain?: string, type?: Type) => void; onChangeToken: (token?: Asset, type?: Type) => void; onChangeAmount: (amount: number) => void; onChangeTheme: ( - name: 'mode' | 'fontFamily' | 'borderRadius' | 'width' | 'height', - value: Mode | string | number, + params: + | { + name: 'mode'; + value?: Mode; + } + | { + name: 'borderRadius' | 'secondaryBorderRadius' | 'height' | 'width'; + value?: number; + } + | { + name: 'fontFamily'; + value?: string; + } + | { + name: 'singleTheme'; + value?: boolean; + } ) => void; - onChangeColors: (name: COLORS, color: string) => void; - onChangelanguage: (value: string) => void; + onChangeColors: (props: { + name: WidgetColorsKeys; + mode: 'light' | 'dark'; + color?: string; + singleTheme?: boolean; + resetColors: boolean; + }) => void; + onSelectTheme: (colors: { light: WidgetColors; dark: WidgetColors }) => void; + onChangeLanguage: (value: string) => void; + resetConfig: () => void; } +export const initialConfig: WidgetConfig = { + apiKey: getConfig('API_KEY'), + walletConnectProjectId: getConfig('WC_PROJECT_ID'), + amount: undefined, + externalWallets: false, + from: { + blockchain: undefined, + token: undefined, + blockchains: undefined, + tokens: undefined, + pinnedTokens: undefined, + }, + to: { + blockchain: undefined, + token: undefined, + blockchains: undefined, + tokens: undefined, + pinnedTokens: undefined, + }, + liquiditySources: undefined, + wallets: undefined, + multiWallets: undefined, + customDestination: undefined, + language: undefined, + enableNewLiquiditySources: undefined, + theme: { + mode: 'auto', + fontFamily: undefined, + borderRadius: undefined, + secondaryBorderRadius: undefined, + width: undefined, + height: undefined, + singleTheme: undefined, + colors: DEFAULT_COLORS, + }, +}; + export const useConfigStore = createSelectors( create()( - immer((set) => ({ - config: { - apiKey: getConfig('API_KEY'), - amount: 0, - from: { - blockchain: undefined, - token: undefined, - blockchains: undefined, - tokens: undefined, + persist( + immer((set) => ({ + config: initialConfig, + onChangeApiKey: (apiKey) => + set((state) => { + state.config.apiKey = apiKey; + }), + onChangeBlockChains: (chains, type) => + set((state) => { + if (type === 'Source') { + if (state.config.from) { + state.config.from.blockchains = chains; + } + } else { + if (state.config.to) { + state.config.to.blockchains = chains; + } + } + }), + onChangeTokens: (tokens, type) => + set((state) => { + if (type === 'Source') { + if (state.config.from) { + state.config.from.tokens = tokens; + } + } else { + if (state.config.to) { + state.config.to.tokens = tokens; + } + } + }), + onChangePinnedTokens: (tokens, type) => + set((state) => { + if (type === 'Source') { + if (state.config.from) { + state.config.from.pinnedTokens = tokens; + } + } else { + if (state.config.to) { + state.config.to.pinnedTokens = tokens; + } + } + }), + onChangeBlockChain: (chain, type) => + set((state) => { + if (type === 'Source') { + if (state.config.from) { + state.config.from.blockchain = chain; + } + } else { + if (state.config.to) { + state.config.to.blockchain = chain; + } + } + }), + onChangeToken: (token, type) => + set((state) => { + if (type === 'Source') { + if (state.config.from) { + state.config.from.token = token; + } + } else { + if (state.config.to) { + state.config.to.token = token; + } + } + }), + onChangeWallets: (wallets) => + set((state) => { + state.config.wallets = wallets; + }), + onChangeSources: (sources) => + set((state) => { + state.config.liquiditySources = sources; + }), + onChangeAmount: (amount) => + set((state) => { + state.config.amount = amount; + }), + onChangeBooleansConfig: (name, value) => + set((state) => { + state.config[name] = value; + }), + onChangeLanguage: (value) => + set((state) => { + state.config.language = value as WidgetConfig['language']; + }), + onChangeTheme: ({ name, value }) => + set((state) => { + if (state.config.theme) { + if (name === 'mode') { + state.config.theme[name] = value; + } else if ( + name === 'borderRadius' || + name === 'secondaryBorderRadius' || + name === 'height' || + name === 'width' + ) { + state.config.theme[name] = value; + } else if (name === 'fontFamily') { + state.config.theme[name] = value; + } else if (name === 'singleTheme') { + state.config.theme[name] = value; + } + } + }), + onChangeColors: ({ name, mode, color, singleTheme, resetColors }) => + set((state) => { + if (state.config?.theme?.colors) { + let themes = { ...state.config.theme, singleTheme }; + // If the resetColors is true, all the colors should reset to the default state, because the colors are changing in the new tab. + if (resetColors) { + themes = { + ...themes, + colors: { + ...DEFAULT_COLORS, + [mode]: { + ...DEFAULT_COLORS[mode], + [name]: color, + }, + }, + }; + } else { + themes = { + ...themes, + colors: { + ...state.config.theme.colors, + [mode]: { + ...state?.config?.theme.colors[mode], + [name]: color, + }, + }, + }; + } + state.config.theme = { ...themes }; + } + }), + onSelectTheme: (colors) => + set((state) => { + if (state.config.theme) { + state.config.theme.colors = colors; + } + }), + resetConfig: () => { + set({ config: initialConfig }); }, - to: { - blockchain: undefined, - token: undefined, - blockchains: undefined, - tokens: undefined, + })), + { + name: 'user-config', + + partialize: (state) => { + const { externalWallets, ...config } = state.config; + + return { + ...state, + config, + }; }, - liquiditySources: undefined, - wallets: undefined, - multiWallets: true, - customAddress: true, - language: 'en', - theme: { - mode: 'auto', - fontFamily: 'Roboto', - borderRadius: 5, - width: 0, - height: 0, - colors: { - background: '#fff', - primary: '#5FA425', - foreground: '#000', - success: '#0070F3', - error: '#FF0000', - warning: '#F5A623', + storage: { + getItem: (name) => { + const str = localStorage.getItem(name); + const storage = JSON.parse(str as string); + + return { + state: { + ...storage.state, + config: { + ...storage.state.config, + wallets: storage.state.config.wallets?.filter( + (wallet: WalletType | ProviderInterface) => + typeof wallet === 'string' + ), + }, + }, + }; + }, + setItem: (name, newValue) => { + const str = JSON.stringify({ + state: { + ...newValue.state, + }, + }); + localStorage.setItem(name, str); }, + removeItem: (name) => localStorage.removeItem(name), }, - }, - onChangeBlockChains: (chains, type) => - set((state) => { - if (type === 'Source') { - state.config.from.blockchains = chains; - } else { - state.config.to.blockchains = chains; - } - }), - onChangeTokens: (tokens, type) => - set((state) => { - if (type === 'Source') { - state.config.from.tokens = tokens; - } else { - state.config.from.tokens = tokens; - } - }), - onChangeBlockChain: (chain, type) => - set((state) => { - if (type === 'Source') { - state.config.from.blockchain = chain; - } else { - state.config.to.blockchain = chain; - } - }), - onChangeToken: (token, type) => - set((state) => { - if (type === 'Source') { - state.config.from.token = token; - } else { - state.config.to.token = token; - } - }), - onChangeWallets: (wallets) => - set((state) => { - state.config.wallets = wallets; - }), - onChangeSources: (sources) => - set((state) => { - state.config.liquiditySources = sources; - }), - onChangeAmount: (amount) => - set((state) => { - state.config.amount = amount; - }), - onChangeBooleansConfig: (name, value) => - set((state) => { - state.config[name] = value; - }), - onChangelanguage: (value) => - set((state) => { - state.config.language = value; - }), - onChangeTheme: (name, value) => - set((state) => { - state.config.theme[name as string] = value; - }), - onChangeColors: (name, color) => - set((state) => { - state.config.theme.colors[name] = color; - }), - })), - ), + } + ) + ) ); diff --git a/widget/playground/src/store/meta.ts b/widget/playground/src/store/meta.ts index 4686539759..7c187eecc5 100644 --- a/widget/playground/src/store/meta.ts +++ b/widget/playground/src/store/meta.ts @@ -1,6 +1,9 @@ +import type { MetaResponse } from 'rango-sdk'; + import { create } from 'zustand'; -import { MetaResponse } from 'rango-sdk'; + import { rango } from '../services/httpService'; + import createSelectors from './selectors'; export type LoadingStatus = 'loading' | 'success' | 'failed'; @@ -19,10 +22,12 @@ export const useMetaStore = createSelectors( try { const response = await rango().getAllMetadata(); const chainThatHasTokenInMetaResponse = Array.from( - new Set(response.tokens.map((t) => t.blockchain)), + new Set(response.tokens.map((t) => t.blockchain)) ); const enabledChains = response.blockchains.filter( - (chain) => chain.enabled && chainThatHasTokenInMetaResponse.includes(chain.name), + (chain) => + chain.enabled && + chainThatHasTokenInMetaResponse.includes(chain.name) ); response.blockchains = enabledChains.sort((a, b) => a.sort - b.sort); set({ meta: response, loadingStatus: 'success' }); @@ -30,5 +35,5 @@ export const useMetaStore = createSelectors( set({ loadingStatus: 'failed' }); } }, - })), + })) ); diff --git a/widget/playground/src/store/selectors.ts b/widget/playground/src/store/selectors.ts index 6d97e2e995..4b87678b7b 100644 --- a/widget/playground/src/store/selectors.ts +++ b/widget/playground/src/store/selectors.ts @@ -1,4 +1,4 @@ -import { StoreApi, UseBoundStore } from 'zustand'; +import type { StoreApi, UseBoundStore } from 'zustand'; type State = object; @@ -6,10 +6,12 @@ type WithSelectors = S extends { getState: () => infer T } ? S & { use: { [K in keyof T]: () => T[K] } } : never; -const createSelectors = >>(_store: S) => { - let store = _store as WithSelectors; +const createSelectors = >>( + _store: S +) => { + const store = _store as WithSelectors; store.use = {}; - for (let k of Object.keys(store.getState())) { + for (const k of Object.keys(store.getState())) { (store.use as any)[k] = () => store((s) => s[k as keyof typeof s]); } diff --git a/widget/playground/src/types.ts b/widget/playground/src/types.ts index dc88d79aff..8568894927 100644 --- a/widget/playground/src/types.ts +++ b/widget/playground/src/types.ts @@ -1,56 +1 @@ -import { WalletType } from '@rango-dev/wallets-shared'; -import { Asset } from 'rango-sdk'; - -export type Wallet = { - title: string; - logo: string; - type: WalletType; -}; - -export type Wallets = Array; - export type Type = 'Destination' | 'Source'; - -export interface Source { - title: string; - type: 'BRIDGE' | 'AGGREGATOR' | 'DEX'; -} -export type Colors = { - background?: string; - // inputBackground?: string; - // icons?: string; - primary?: string; - foreground?: string; - // text?: string; - success?: string; - error?: string; - warning?: string; -}; - -export type Theme = { - mode: 'dark' | 'light' | 'auto'; - fontFamily: string; - colors: Colors; - borderRadius: number; - width: number; - height: number; -}; -export type Support = { - blockchain?: string; - token?: Asset; - blockchains?: string[]; - tokens?: Asset[]; -}; - -export type WidgetConfig = { - apiKey: string; - amount: number; - from: Support; - to: Support; - liquiditySources?: string[]; - wallets?: WalletType[]; - multiWallets: boolean; - customAddress: boolean; - language: string; - theme: Theme; -}; diff --git a/widget/playground/src/utils/blockchains.ts b/widget/playground/src/utils/blockchains.ts new file mode 100644 index 0000000000..6383e5e6ee --- /dev/null +++ b/widget/playground/src/utils/blockchains.ts @@ -0,0 +1,27 @@ +import type { BlockchainMeta } from 'rango-sdk'; + +import { BlockchainCategories } from '@rango-dev/ui'; +import { TransactionType } from 'rango-sdk'; + +export function getCategoryNetworks(chains: BlockchainMeta[]) { + const supportedNetworks: Set = new Set(); + + chains.forEach((chain) => { + switch (chain.type) { + case TransactionType.EVM: + supportedNetworks.add(BlockchainCategories.EVM); + break; + case TransactionType.COSMOS: + supportedNetworks.add(BlockchainCategories.COSMOS); + break; + case TransactionType.TRANSFER: + supportedNetworks.add(BlockchainCategories.UTXO); + break; + default: + supportedNetworks.add(BlockchainCategories.OTHER); + break; + } + }); + + return Array.from(supportedNetworks); +} diff --git a/widget/playground/src/utils/colors.ts b/widget/playground/src/utils/colors.ts new file mode 100644 index 0000000000..6420fdd2dd --- /dev/null +++ b/widget/playground/src/utils/colors.ts @@ -0,0 +1,25 @@ +import type { Mode } from '../store/config'; +import type { WidgetColorsKeys, WidgetTheme } from '@rango-dev/widget-embedded'; + +export const getMainColor = ( + key: WidgetColorsKeys, + tab: Mode, + theme?: WidgetTheme, + mode?: 'light' | 'dark' +): string | undefined => { + const isDarkTab = tab === 'dark'; + const isLightTab = tab === 'light'; + const isAutoTab = tab === 'auto'; + if (!!theme?.colors) { + if (isAutoTab && !theme.singleTheme) { + return (theme?.colors[mode || 'light'] || {})[key]; + } + if (isDarkTab && theme.singleTheme && theme?.colors?.dark) { + return theme?.colors?.dark[key]; + } + if (isLightTab && theme.singleTheme && theme?.colors?.light) { + return theme?.colors?.light[key]; + } + } + return undefined; +}; diff --git a/widget/playground/src/utils/common.ts b/widget/playground/src/utils/common.ts new file mode 100644 index 0000000000..1df49ce824 --- /dev/null +++ b/widget/playground/src/utils/common.ts @@ -0,0 +1,57 @@ +import type { Asset } from 'rango-sdk'; + +import { WalletTypes } from '@rango-dev/wallets-shared'; + +export function shallowEqual( + object1: { [x: string]: T | undefined }, + object2: { [x: string]: T | undefined } +) { + const keys1 = Object.keys(object1); + const keys2 = Object.keys(object2); + + if (keys1.length !== keys2.length) { + return false; + } + + for (const key of keys1) { + if (object1[key] !== object2[key]) { + return false; + } + } + + return true; +} + +export const tokenToString = (token: Asset) => + `${token.symbol}-${token.blockchain}-${token.address ?? ''}`; + +export function removeDuplicates(arr: T[], key?: keyof T): T[] { + if (!key) { + return Array.from(new Set(arr)); + } + + const seen = new Set(); + + return arr.filter( + (item) => + typeof item[key] !== 'undefined' && + !seen.has(item[key]) && + seen.add(item[key]) + ); +} + +export function tokensAreEqual(tokenA?: Asset, tokenB?: Asset) { + return ( + tokenA?.blockchain === tokenB?.blockchain && + tokenA?.symbol === tokenB?.symbol && + tokenA?.address === tokenB?.address + ); +} + +export const excludedWallets = [ + WalletTypes.STATION, + WalletTypes.LEAP, + WalletTypes.SAFE, + WalletTypes.MY_TON_WALLET, + WalletTypes.WALLET_CONNECT_2, +]; diff --git a/widget/playground/src/utils/configs.ts b/widget/playground/src/utils/configs.ts new file mode 100644 index 0000000000..ca815f0b43 --- /dev/null +++ b/widget/playground/src/utils/configs.ts @@ -0,0 +1,45 @@ +import type { Tokens } from '@rango-dev/widget-embedded'; +import type { Token } from 'rango-sdk'; + +import { tokensAreEqual } from './common'; + +interface Configs { + API_KEY: string; + WC_PROJECT_ID: string; +} + +/* + * this API key is limited and + * it is only for test purpose + */ +export const RANGO_PUBLIC_API_KEY = 'c6381a79-2817-4602-83bf-6a641a409e32'; +const WC_PROJECT_ID = 'e24844c5deb5193c1c14840a7af6a40b'; + +const configs: Configs = { + API_KEY: RANGO_PUBLIC_API_KEY, + WC_PROJECT_ID, +}; + +export function getConfig(name: keyof Configs) { + return configs[name]; +} + +export type tokensConfigType = + | { + [blockchain: string]: Tokens; + } + | undefined; +export const isTokenExcludedInConfig = ( + token: Token, + tokensConfig?: tokensConfigType +) => { + let result = false; + if (tokensConfig && tokensConfig[token.blockchain]) { + result = tokensConfig[token.blockchain].tokens.some((asset) => + tokensAreEqual(asset, token) + ); + const isExcluded = tokensConfig[token.blockchain].isExcluded; + return (!isExcluded && !result) || (isExcluded && result); + } + return result; +}; diff --git a/widget/playground/src/utils/export.ts b/widget/playground/src/utils/export.ts new file mode 100755 index 0000000000..75c7a587dc --- /dev/null +++ b/widget/playground/src/utils/export.ts @@ -0,0 +1,124 @@ +import type { WidgetConfig } from '@rango-dev/widget-embedded'; + +import stringifyObject from 'stringify-object'; +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +import subtractObject from 'subtract-object'; + +function clearEmpties>(obj: T): T { + for (const key in obj) { + if (!obj[key] || typeof obj[key] !== 'object') { + continue; + } + clearEmpties(obj[key]); + if (Object.keys(obj[key]).length === 0 && !Array.isArray(obj[key])) { + delete obj[key]; + } + } + return obj; +} + +export function filterConfig( + WidgetConfig: WidgetConfig, + initialConfig: WidgetConfig +) { + const config = { + ...WidgetConfig, + wallets: WidgetConfig.wallets?.filter( + (wallet) => typeof wallet === 'string' + ), + }; + + const userSelectedConfig = clearEmpties( + subtractObject( + JSON.parse(JSON.stringify(initialConfig)) as WidgetConfig, + JSON.parse(JSON.stringify(config)) + ) as WidgetConfig + ); + + const filteredConfigForExport = Object.assign({}, userSelectedConfig); + + if (!filteredConfigForExport.apiKey) { + filteredConfigForExport.apiKey = config.apiKey; + } + + if (!filteredConfigForExport.walletConnectProjectId) { + filteredConfigForExport.walletConnectProjectId = + config.walletConnectProjectId; + } + + return { userSelectedConfig, filteredConfigForExport }; +} + +export function getIframeCode(config: string) { + //TODO: update iframe script source address + return `
+ + +`; +} + +export function getEmbeddedCode(config: string) { + return `import { Widget, WidgetConfig } from "@rango-dev/widget-embedded"; + +export default function App() { + + const config = ${insertAt(config, ' ', config.lastIndexOf('}'))} + + return ( +
+ +
+ ); +} +`; +} + +function insertAt( + originalString: string, + insertedString: string, + index: number +): string { + return originalString + .slice(0, index) + .concat(insertedString) + .concat(originalString.slice(index)); +} + +export function formatConfig(config: WidgetConfig) { + const indentation = ' '; + let formatedConfig: string = stringifyObject(config, { + indent: indentation, + }); + + formatedConfig = insertAt( + formatedConfig, + `// This API key is only for test purpose. Don't use it in production. + `, + formatedConfig.indexOf('apiKey') + ); + + formatedConfig = insertAt( + formatedConfig, + `// This project id is only for test purpose. Don't use it in production. + // Get your Wallet Connect project id from https://cloud.walletconnect.com/ + `, + formatedConfig.indexOf('walletConnectProjectId') + ); + + if (!!config.wallets) { + formatedConfig = insertAt( + formatedConfig, + `// You can add your external wallet to wallets + `, + formatedConfig.indexOf('wallets') + ); + } + + return formatedConfig; +} diff --git a/widget/playground/tsconfig.json b/widget/playground/tsconfig.json new file mode 100644 index 0000000000..70719f8f2b --- /dev/null +++ b/widget/playground/tsconfig.json @@ -0,0 +1,14 @@ +{ + // see https://www.typescriptlang.org/tsconfig to better understand tsconfigs + "extends": "../../tsconfig.lib.json", + "include": ["src", "types"], + "compilerOptions": { + "module": "esnext", + "outDir": "dist", + "lib": ["dom", "esnext"], + // match output dir to input dir. e.g. dist/index instead of dist/src/index + "rootDir": "./src", + // transpile JSX to React.createElement + "jsx": "react" + } +} diff --git a/widget/playground/vercel.json b/widget/playground/vercel.json new file mode 100644 index 0000000000..3a48e56ba5 --- /dev/null +++ b/widget/playground/vercel.json @@ -0,0 +1,3 @@ +{ + "rewrites": [{ "source": "/(.*)", "destination": "/" }] +} diff --git a/widget/ui/.babelrc.json b/widget/ui/.babelrc.json new file mode 100644 index 0000000000..487a5a4835 --- /dev/null +++ b/widget/ui/.babelrc.json @@ -0,0 +1,5 @@ +{ + "sourceType": "unambiguous", + "presets": ["@babel/preset-typescript", "@babel/preset-react"], + "plugins": [] +} diff --git a/widget/ui/.storybook/main.js b/widget/ui/.storybook/main.js index d8e2165675..91cdc39cb7 100644 --- a/widget/ui/.storybook/main.js +++ b/widget/ui/.storybook/main.js @@ -1,8 +1,28 @@ +import { dirname, join } from "path"; module.exports = { stories: ['../src/**/*.stories.@(ts|tsx|js|jsx)'], - addons: ['@storybook/addon-links', '@storybook/addon-essentials'], + addons: [getAbsolutePath("@storybook/addon-links"), getAbsolutePath("@storybook/addon-essentials")], // https://storybook.js.org/docs/react/configure/typescript#mainjs-configuration typescript: { - check: true, // type-check stories during Storybook build + check: true // type-check stories during Storybook build }, + + features: { + storyStoreV7: true + }, + framework: { + name: getAbsolutePath("@storybook/react-webpack5"), + options: {} + }, + docs: { + autodocs: true, + reactDocgen: false + } }; +/** + * This function is used to resolve the absolute path of a package. + * It is needed in projects that use Yarn PnP or are set up within a monorepo. +*/ +function getAbsolutePath(value) { + return dirname(require.resolve(join(value, "package.json"))); +} \ No newline at end of file diff --git a/widget/ui/.storybook/preview.tsx b/widget/ui/.storybook/preview.tsx index b1c20f476c..b8802bfb30 100644 --- a/widget/ui/.storybook/preview.tsx +++ b/widget/ui/.storybook/preview.tsx @@ -1,13 +1,19 @@ import React from 'react'; -import { DecoratorFn } from '@storybook/react'; - +import { Decorator } from '@storybook/react'; import { lightTheme, darkTheme, styled } from '../src/theme'; import { globalCss } from '@stitches/react'; +import { I18nManager } from '../src'; // https://storybook.js.org/docs/react/writing-stories/parameters#global-parameters export const parameters = { // https://storybook.js.org/docs/react/essentials/actions#automatically-matching-args actions: { argTypesRegex: '^on.*' }, + docs: { + story: { + iframeHeight: 300, + inline: false, + }, + }, }; const ThemeBlock = styled('div', { @@ -43,30 +49,31 @@ const globalStyles = globalCss({ }, }); -export const withTheme: DecoratorFn = (StoryFn, context) => { +export const withTheme: Decorator = (StoryFn, context) => { globalStyles(); const theme = context.parameters.theme || context.globals.theme; const storyTheme = theme === 'dark' ? darkTheme : lightTheme; switch (theme) { - case 'side-by-side': { + case 'side-by-side': return ( - <> + - + ); - } - default: { + + default: return ( - - - + + + + + ); - } } }; diff --git a/widget/ui/CHANGELOG.md b/widget/ui/CHANGELOG.md new file mode 100644 index 0000000000..5221a66cf6 --- /dev/null +++ b/widget/ui/CHANGELOG.md @@ -0,0 +1,98 @@ +# [0.26.0](https://github.com/rango-exchange/rango-client/compare/ui@0.24.0...ui@0.26.0) (2023-12-24) + + +### Bug Fixes + +* fix HMR for widget and playground ([8524820](https://github.com/rango-exchange/rango-client/commit/8524820f10cf0b8921f3db0c4f620ff98daa4103)) +* fix quote info bugs ([3668d84](https://github.com/rango-exchange/rango-client/commit/3668d84a43e3d6055b8ff133f546aabce6fcf616)) +* fix wallet button state in swap details page ([ad57603](https://github.com/rango-exchange/rango-client/commit/ad57603885968b2792ed382dc80a3862dc0eebde)) +* improve widget for smaller screens ([75a3107](https://github.com/rango-exchange/rango-client/commit/75a310770ece2969833dda2789bee5b8ccda166e)) +* update blockchain category icons ([5ffd1ac](https://github.com/rango-exchange/rango-client/commit/5ffd1ac9bbe4cee26500c010718f4f530b1349f6)) +* update classNames to new pattern for conflict prevention ([3c89278](https://github.com/rango-exchange/rango-client/commit/3c8927893381774f8bc8dc5b049ffdfccea1ffe4)) + + +### Features + +* add dark/light theme to playground ([01c4c45](https://github.com/rango-exchange/rango-client/commit/01c4c45cf42a5b9a945e687fbaf3cb141ca19d13)) +* add langugage section to Playground ([c2deaec](https://github.com/rango-exchange/rango-client/commit/c2deaec91813f7e5cc4bccc2be78f5c297cc1a2d)) + + + +# [0.14.0](https://github.com/rango-exchange/rango-client/compare/ui@0.13.0...ui@0.14.0) (2023-08-03) + + + +# [0.13.0](https://github.com/rango-exchange/rango-client/compare/ui@0.12.0...ui@0.13.0) (2023-08-01) + + + +# [0.9.0](https://github.com/rango-exchange/rango-client/compare/ui@0.8.0...ui@0.9.0) (2023-07-31) + + +### Features + +* add project id as a external value ([0c80404](https://github.com/rango-exchange/rango-client/commit/0c80404a8cacb6c5b0338dea1e416b0b11db254b)) +* Support for WalletConnect 2 ([faedef0](https://github.com/rango-exchange/rango-client/commit/faedef0b5e6fc3c5ef881cbbe4ec05334cc1c910)) + + + +# [0.8.0](https://github.com/rango-exchange/rango-client/compare/ui@0.7.0...ui@0.8.0) (2023-07-11) + + +### Bug Fixes + +* adding lingui to ui and embedded packages ([efed0d6](https://github.com/rango-exchange/rango-client/commit/efed0d6da437bfd472f26a280adc55da1151966a)) +* fix lingui version ([b7de08b](https://github.com/rango-exchange/rango-client/commit/b7de08b457314192665b9d3afa809e63ecd311a8)) + + + +# [0.7.0](https://github.com/rango-exchange/rango-client/compare/ui@0.6.0...ui@0.7.0) (2023-07-11) + + + +# [0.6.0](https://github.com/rango-exchange/rango-client/compare/ui@0.5.0...ui@0.6.0) (2023-07-11) + + +### Features + +* setup lingui for multi-language in widget ([a3f1331](https://github.com/rango-exchange/rango-client/commit/a3f1331def487989a5717335b062dd9ef45876ad)) + + + +# [0.5.0](https://github.com/rango-exchange/rango-client/compare/ui@0.4.0...ui@0.5.0) (2023-05-31) + + + +# [0.4.0](https://github.com/rango-exchange/rango-client/compare/ui@0.3.0...ui@0.4.0) (2023-05-31) + + + +# [0.3.0](https://github.com/rango-exchange/rango-client/compare/ui@0.2.0...ui@0.3.0) (2023-05-30) + + + +# [0.2.0](https://github.com/rango-exchange/rango-client/compare/ui@0.1.15...ui@0.2.0) (2023-05-30) + + +### Bug Fixes + +* deleted consoles ([5fef4b9](https://github.com/rango-exchange/rango-client/commit/5fef4b912510ee2e1f0b4fe107140761e63c3ca8)) +* fix wallet adapter demo build ([43a3beb](https://github.com/rango-exchange/rango-client/commit/43a3bebb50ce10e7e72944f5465c0c66d01e265d)) +* fix widget ui build ([c3b5900](https://github.com/rango-exchange/rango-client/commit/c3b590058d3bd35b58ac053d1eb25b55e7e1b107)) +* images and preview of confirm swap, completed ([5da81f4](https://github.com/rango-exchange/rango-client/commit/5da81f4a76dda4d76f794d7042c9e39d8846e3ba)) +* Some functions were transferred to helper ([7d5756f](https://github.com/rango-exchange/rango-client/commit/7d5756fc476728e84b16300102918542520983a7)) +* theme.ts was broken on some build tools like webpack ([8577d21](https://github.com/rango-exchange/rango-client/commit/8577d218b5b6a1e91aef40d0671578e72f396b03)) + + + +## [0.1.14](https://github.com/rango-exchange/rango-client/compare/ui@0.1.13...ui@0.1.14) (2023-05-15) + + +### Bug Fixes + +* Fixed colorpicker ([d821340](https://github.com/rango-exchange/rango-client/commit/d821340fc3f5df07ccbfc3555ae4d7dba0cad49b)) +* some polishment on playground ([cf17f9e](https://github.com/rango-exchange/rango-client/commit/cf17f9e2ac2efc9467c4f550e09eaf19170bbbf0)) +* update rango-types and fix notification bugs ([993f185](https://github.com/rango-exchange/rango-client/commit/993f185e0b8c5e5e15a2c65ba2d85d1f9c8daa90)) + + + diff --git a/widget/ui/README.md b/widget/ui/README.md deleted file mode 100644 index 2c348a4cf6..0000000000 --- a/widget/ui/README.md +++ /dev/null @@ -1 +0,0 @@ -# @rango-dev/ui diff --git a/widget/ui/package.json b/widget/ui/package.json index 849dacd412..ef030e32d9 100644 --- a/widget/ui/package.json +++ b/widget/ui/package.json @@ -1,58 +1,48 @@ { "name": "@rango-dev/ui", - "version": "0.1.12", + "version": "0.26.1-next.3", "license": "MIT", - "main": "dist/index.js", - "typings": "dist/index.d.ts", + "type": "module", + "source": "./src/index.ts", + "main": "./dist/index.js", + "exports": "./dist/index.js", + "typings": "dist/widget/ui/src/index.d.ts", "files": [ "dist", "src" ], "scripts": { - "dev": "tsdx watch", - "build": "tsdx build --tsconfig ./tsconfig.json", - "test": "tsdx test --passWithNoTests", - "lint": "tsdx lint", - "prepare": "tsdx build --tsconfig ./tsconfig.json", - "size": "size-limit", - "analyze": "size-limit --why", - "storybook": "start-storybook -p 3000", - "build-storybook": "build-storybook" + "dev": "yarn bundle --watch", + "build": "node ../../scripts/build/command.mjs --path widget/ui", + "ts-check": "tsc --declaration --emitDeclarationOnly -p ./tsconfig.json", + "build:icons": "svgr svgs/resources/fill --config-file svgs/configs/.svgrrc.default.cjs", + "type-checking": "tsc --declaration --emitDeclarationOnly", + "storybook": "storybook dev -p 3000", + "build-storybook": "storybook build", + "clean": "rimraf dist", + "format": "prettier --write '{.,src}/**/*.{ts,tsx}'", + "lint": "eslint \"**/*.{ts,tsx}\" --ignore-path ../../.eslintignore" }, "peerDependencies": { - "@rango-dev/queue-manager-rango-preset": "*", + "@lingui/core": "4.2.1", + "@lingui/react": "4.2.1", "react": ">=16" }, - "husky": { - "hooks": { - "pre-commit": "tsdx lint" - } - }, - "prettier": { - "printWidth": 80, - "semi": true, - "singleQuote": true, - "trailingComma": "es5" - }, - "module": "dist/ui.esm.js", - "size-limit": [ - { - "path": "dist/ui.cjs.production.min.js", - "limit": "10 KB" - }, - { - "path": "dist/ui.esm.js", - "limit": "10 KB" - } - ], "devDependencies": { "@babel/core": "^7.20.2", - "@size-limit/preset-small-lib": "^8.1.0", - "@storybook/addon-essentials": "^6.5.13", + "@babel/preset-env": "^7.21.4", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.21.4", + "@lingui/core": "4.2.1", + "@lingui/react": "4.2.1", + "@storybook/addon-essentials": "^7.1.1", "@storybook/addon-info": "^5.3.21", - "@storybook/addon-links": "^6.5.13", - "@storybook/addons": "^6.5.13", - "@storybook/react": "^6.5.13", + "@storybook/addon-links": "^7.1.1", + "@storybook/addons": "^7.1.1", + "@storybook/react": "^7.1.1", + "@storybook/react-webpack5": "^7.1.1", + "@svgr/babel-plugin-remove-jsx-attribute": "8.0.0", + "@svgr/cli": "^8.0.1", "@types/react": "^18.0.25", "@types/react-dom": "^18.0.8", "@types/react-virtualized-auto-sizer": "^1.0.1", @@ -63,24 +53,26 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "react-is": "^18.2.0", - "size-limit": "^8.1.0", + "storybook": "^7.1.1", "tsdx": "^0.14.1", "tslib": "^2.4.1", "typescript": "^4.8.4" }, "dependencies": { "@radix-ui/react-checkbox": "^1.0.1", + "@radix-ui/react-collapsible": "^1.0.3", + "@radix-ui/react-popover": "^1.0.6", "@radix-ui/react-radio-group": "^1.1.1", "@radix-ui/react-switch": "^1.0.1", "@radix-ui/react-tooltip": "^1.0.2", - "@rango-dev/wallets-shared": "^0.1.11", + "@rango-dev/wallets-shared": "^0.25.1-next.1", "@stitches/react": "^1.2.8", - "@types/react-color": "^3.0.6", - "rango-sdk": "^0.1.20", - "react-color": "^2.19.3", + "rango-sdk": "^0.1.44", + "rango-types": "^0.1.57", "react-virtualized-auto-sizer": "^1.0.7", "react-window": "^1.8.8", - "react-window-infinite-loader": "^1.0.8" + "react-window-infinite-loader": "^1.0.8", + "rgb-hex": "^4.0.1" }, "publishConfig": { "access": "public" diff --git a/widget/ui/readme.md b/widget/ui/readme.md new file mode 100644 index 0000000000..cbfbd71897 --- /dev/null +++ b/widget/ui/readme.md @@ -0,0 +1,5 @@ +# @rango-dev/ui + +### Icons + +Add your svg icon to `svgs/resources/` then run `yarn build:icons`. \ No newline at end of file diff --git a/widget/ui/src/components/Alert/Alert.helpers.ts b/widget/ui/src/components/Alert/Alert.helpers.ts new file mode 100644 index 0000000000..f495de5334 --- /dev/null +++ b/widget/ui/src/components/Alert/Alert.helpers.ts @@ -0,0 +1,17 @@ +import type { Type } from './Alert.types'; + +export const getColor = (type: Type, variant: 'alarm' | 'regular') => { + if (variant === 'regular') { + return undefined; + } + + switch (type) { + case 'success': + case 'warning': + case 'error': + case 'info': + return `${type}500`; + default: + return undefined; + } +}; diff --git a/widget/ui/src/components/Alert/Alert.stories.tsx b/widget/ui/src/components/Alert/Alert.stories.tsx index 111a2529d1..6e95f7dd63 100644 --- a/widget/ui/src/components/Alert/Alert.stories.tsx +++ b/widget/ui/src/components/Alert/Alert.stories.tsx @@ -1,22 +1,47 @@ +import type { PropTypes } from './Alert.types'; +import type { Meta } from '@storybook/react'; + import React from 'react'; -import { ComponentMeta } from '@storybook/react'; + import { Alert } from '.'; -import { PropTypes } from './Alert'; export default { - title: 'Alert', + title: 'Components/Alert', component: Alert, + args: { + type: 'success', + title: 'Please reset your liquidity sources.', + }, argTypes: { type: { + name: 'type', defaultValue: 'success', + control: { + type: 'select', + options: ['success', 'warning', 'error', 'info'], + }, }, + title: { - defaultValue: 'Alert Title', - }, - description: { - defaultValue: 'Alert description ...', + name: 'title', + defaultValue: 'Swap transaction successfully', + control: { + type: 'text', + }, }, }, -} as ComponentMeta; +} as Meta; -export const Main = (args: PropTypes) => ; +export const Main = (args: PropTypes) => ( +
+ +
+); +export const WithoutFooter = (args: PropTypes) => ( +
+ +
+); diff --git a/widget/ui/src/components/Alert/Alert.styles.ts b/widget/ui/src/components/Alert/Alert.styles.ts new file mode 100644 index 0000000000..6b0bad0914 --- /dev/null +++ b/widget/ui/src/components/Alert/Alert.styles.ts @@ -0,0 +1,163 @@ +import { css, darkTheme, styled } from '../../theme'; + +export const Container = styled('div', { + display: 'flex', + flexDirection: 'column', + borderRadius: '$xs', + + '.title_typography:first-letter': { + textTransform: 'uppercase', + }, + + '.footer': { + paddingTop: '$5', + paddingLeft: '$24', + }, + '.description': { + color: '$neutral700', + fontSize: '$10', + lineHeight: '$12', + }, + variants: { + type: { + success: {}, + warning: {}, + error: {}, + info: {}, + loading: {}, + }, + variant: { + regular: { + padding: '$5', + alignItems: 'flex-start', + backgroundColor: '$neutral400', + }, + alarm: { + padding: '$5 $10', + alignItems: 'center', + '.title_typography': { + fontWeight: '$medium', + }, + }, + }, + }, + + compoundVariants: [ + { + type: 'warning', + variant: 'alarm', + css: { + $$color: '$colors$warning100', + [`.${darkTheme} &`]: { + $$color: '$colors$warning700', + }, + backgroundColor: '$$color', + }, + }, + { + type: 'error', + variant: 'alarm', + css: { + $$color: '$colors$error100', + [`.${darkTheme} &`]: { + $$color: '$colors$error700', + }, + backgroundColor: '$$color', + }, + }, + { + type: 'info', + variant: 'alarm', + css: { + $$color: '$colors$info100', + [`.${darkTheme} &`]: { + $$color: '$colors$info700', + }, + backgroundColor: '$$color', + }, + }, + { + type: 'success', + variant: 'alarm', + css: { + $$color: '$colors$success100', + [`.${darkTheme} &`]: { + $$color: '$colors$success700', + }, + backgroundColor: '$$color', + }, + }, + ], +}); + +export const Main = styled('div', { + display: 'flex', + alignItems: 'center', + alignSelf: 'stretch', + variants: { + variant: { + regular: { + justifyContent: 'space-between', + }, + alarm: { + justifyContent: 'flex-start', + }, + }, + }, +}); + +export const IconHighlight = styled('div', { + borderRadius: '$lg', + width: '$20', + height: '$20', + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + alignSelf: 'flex-start', + flexShrink: 0, + variants: { + type: { + success: { + $$color: '$colors$success300', + [`.${darkTheme} &`]: { + $$color: '$colors$success600', + }, + backgroundColor: '$$color', + }, + warning: { + $$color: '$colors$warning300', + [`.${darkTheme} &`]: { + $$color: '$colors$warning600', + }, + backgroundColor: '$$color', + }, + error: { + $$color: '$colors$error300', + [`.${darkTheme} &`]: { + $$color: '$colors$error600', + }, + backgroundColor: '$$color', + }, + info: { + $$color: '$colors$info300', + [`.${darkTheme} &`]: { + $$color: '$colors$info600', + }, + backgroundColor: '$$color', + }, + loading: { + $$color: '$colors$info300', + [`.${darkTheme} &`]: { + $$color: '$colors$info600', + }, + backgroundColor: '$$color', + }, + }, + }, +}); + +export const titleStyles = css({ + display: 'flex', + alignItems: 'center', + flex: '1 0 0', +}); diff --git a/widget/ui/src/components/Alert/Alert.tsx b/widget/ui/src/components/Alert/Alert.tsx index cfe44f5c77..3871889f28 100644 --- a/widget/ui/src/components/Alert/Alert.tsx +++ b/widget/ui/src/components/Alert/Alert.tsx @@ -1,102 +1,57 @@ -import React, { PropsWithChildren, ReactNode } from 'react'; -import { CheckCircleIcon, InfoCircleIcon, WarningIcon } from '../Icon'; -import { Typography } from '../Typography'; -import { styled } from '../../theme'; -import { Spacer } from '../Spacer'; - -const MainContainer = styled('div', { - width: '100%', - padding: '$16', - borderRadius: '$5', - backgroundColor: '$neutrals300', - color: '$neutrals800', +import type { PropTypes } from './Alert.types'; +import type { PropsWithChildren } from 'react'; - '.main': { - display: 'flex', - alignItems: 'center', - }, +import React from 'react'; - '.footer': { - paddingTop: '$8', - }, - '&.hasIcon .footer': { - paddingLeft: '$32', - }, - variants: { - type: { - primary: { - color: '$primary200', - }, - secondary: { - color: '$foreground', - }, - success: { - color: '$success300', - }, - warning: { - color: '$warning500', - }, - error: { - color: '$error300', - }, - }, - }, -}); +import { Divider } from '../Divider'; +import { Typography } from '../Typography'; -export interface PropTypes { - type?: 'primary' | 'secondary' | 'success' | 'warning' | 'error'; - title?: string; - footer?: ReactNode; -} +import { getColor } from './Alert.helpers'; +import { Container, IconHighlight, Main, titleStyles } from './Alert.styles'; +import AlertIcon from './AlertIcon'; export function Alert(props: PropsWithChildren) { - const { type, children, title } = props; - - const showIcon = ( - ['error', 'success', 'warning'] as PropTypes['type'][] - ).includes(type); + const { + type, + title, + footer, + action, + containerStyles, + variant = 'regular', + } = props; + const isFooterString = typeof footer === 'string'; return ( - -
- {showIcon && ( - <> -
- {type === 'success' && } - {type === 'warning' && } - {type === 'error' && } - -
- - )} -
+ +
+
+ + + + {title && ( - <> - - {title} - - {!!children && } - + + {title} + )} - {children}
-
- {props.footer ?
{props.footer}
: null} - + {action ?
{action}
: null} + + {footer ? ( +
+ {footer} +
+ ) : null} + ); } + +Alert.toString = () => '._alert'; diff --git a/widget/ui/src/components/Alert/Alert.types.ts b/widget/ui/src/components/Alert/Alert.types.ts new file mode 100644 index 0000000000..5e259575e5 --- /dev/null +++ b/widget/ui/src/components/Alert/Alert.types.ts @@ -0,0 +1,12 @@ +import type { CSSProperties, ReactNode } from 'react'; + +export type Type = 'success' | 'warning' | 'error' | 'info' | 'loading'; + +export interface PropTypes { + type: Type; + title?: ReactNode; + footer?: ReactNode; + action?: ReactNode; + variant?: 'alarm' | 'regular'; + containerStyles?: CSSProperties; +} diff --git a/widget/ui/src/components/Alert/AlertIcon.tsx b/widget/ui/src/components/Alert/AlertIcon.tsx new file mode 100644 index 0000000000..a921aa3d1f --- /dev/null +++ b/widget/ui/src/components/Alert/AlertIcon.tsx @@ -0,0 +1,28 @@ +import type { PropTypes } from './Alert.types'; + +import React from 'react'; + +import { + CompleteIcon, + ErrorIcon, + InfoErrorIcon, + WarningIcon, +} from '../../icons'; +import { Spinner } from '../Spinner'; + +function AlertIcon(props: Pick) { + switch (props.type) { + case 'success': + return ; + case 'warning': + return ; + case 'error': + return ; + case 'loading': + return ; + default: + return ; + } +} + +export default AlertIcon; diff --git a/widget/ui/src/components/Alert/LoadingFailedAlert.tsx b/widget/ui/src/components/Alert/LoadingFailedAlert.tsx index 703570106a..e96b5b9a16 100644 --- a/widget/ui/src/components/Alert/LoadingFailedAlert.tsx +++ b/widget/ui/src/components/Alert/LoadingFailedAlert.tsx @@ -1,11 +1,18 @@ +import { i18n } from '@lingui/core'; import React from 'react'; + import { Alert } from './Alert'; +/** + * @deprecated Please use the Alert directly. + */ export function LoadingFailedAlert() { return ( ); } diff --git a/widget/ui/src/components/Alert/NotFoundAlert.tsx b/widget/ui/src/components/Alert/NotFoundAlert.tsx index c2ab57754b..6e32ff1965 100644 --- a/widget/ui/src/components/Alert/NotFoundAlert.tsx +++ b/widget/ui/src/components/Alert/NotFoundAlert.tsx @@ -1,4 +1,5 @@ import React from 'react'; + import { Alert } from './Alert'; interface PropTypes { @@ -6,11 +7,14 @@ interface PropTypes { searchedFor?: string; } +/** + * @deprecated Please use the Alert directly. + */ export function NotFoundAlert(props: PropTypes) { const { catergory, searchedFor } = props; return ( ; - -export const Main = (props: PropTypes) => ( -
- -
-); -export const With4Step = (props: PropTypes) => ( -
- -
-); - -export const With2Step = (props: PropTypes) => ( -
- -
-); -export const WithError = (props: PropTypes) => ( -
- -
-); diff --git a/widget/ui/src/components/BestRoute/BestRoute.tsx b/widget/ui/src/components/BestRoute/BestRoute.tsx deleted file mode 100644 index 5e96c0c0be..0000000000 --- a/widget/ui/src/components/BestRoute/BestRoute.tsx +++ /dev/null @@ -1,229 +0,0 @@ -import React, { Fragment, PropsWithChildren } from 'react'; -import { GasIcon, TimeIcon } from '../../components/Icon'; -import { StepDetail } from '../../components/StepDetail'; -import { Typography } from '../../components/Typography'; -import { keyframes, styled } from '../../theme'; -import { Skeleton } from '../Skeleton'; -import { Spinner } from '../Spinner'; -import { BestRouteResponse } from 'rango-sdk'; -import { Tooltip } from '../Tooltip'; -import { Image } from '../common'; - -const Container = styled('div', { - borderRadius: '$5', - border: '1px solid $neutrals300', - display: 'flex', - alignItems: 'center', - minHeight: 126, - justifyContent: 'space-between', -}); - -const ErrorMsg = styled(Typography, { - color: '$error', -}); -const BestRouteContainer = styled('div', { - display: 'flex', - alignItems: 'center', - margin: '0 auto', - overflowX: 'auto', - overflowY: 'hidden', - alignSelf: 'stretch', - padding: '$4', - '@md': { - padding: '$8', - }, -}); -const Line = styled('div', { - height: '0', - width: '$20', - border: '1px dashed $foreground', - borderRadius: 'inherit', - '@lg': { - width: '$32', - }, -}); - -const HR = styled('hr', { - width: '100%', - border: '1px solid $neutrals400', - margin: '$8 0', -}); - -const RelativeContainer = styled('div', { - position: 'relative', -}); -const Dot = styled('div', { - width: '$6', - height: '$6', - backgroundColor: '$foreground', - position: 'absolute', - top: '45%', - right: -5, - marginLeft: '$8', - borderRadius: '50%', - '@md': { - width: '$8', - height: '$8', - right: -8, - top: '45%', - }, -}); -const ArrowRight = styled('div', { - width: '0px', - height: '0px', - borderTop: '5px solid transparent', - borderBottom: '5px solid transparent', - borderLeft: '5px solid $foreground', -}); - -export const pulse = keyframes({ - '0%': { - opacity: 1, - }, - '50%': { - opacity: 0.3, - }, - '100%': { - opacity: 1, - }, -}); - -const GasContainer = styled('div', { - backgroundColor: '$neutrals300', - borderRadius: '5px', - margin: '$4', - display: 'flex', - flexDirection: 'column', - justifyContent: 'center', - alignItems: 'center', - padding: '$4', - '@md': { - padding: '$8', - margin: '$8', - }, -}); - -const CostContainer = styled('div', { - display: 'flex', - flexDirection: 'column', - alignItems: 'center', - variants: { - warning: { - true: { - animation: `${pulse} 2s ease-in-out infinite`, - }, - }, - }, -}); - -const TotalFee = styled(Typography, { - variants: { - warning: { - true: { - color: '$warning300', - }, - }, - }, -}); - -const SkeletonContainer = styled('div', { - padding: '$4', - '@md': { - padding: '$8', - }, -}); -const SwapperContainer = styled('div', { - display: 'flex', - justifyContent: 'center', - alignItems: 'center', -}); - -export interface PropTypes { - data: BestRouteResponse | null; - totalFee: string; - feeWarning: boolean; - totalTime: string; - loading?: boolean; - error?: string; -} -export function BestRoute(props: PropsWithChildren) { - const { data, loading, error, totalFee, feeWarning, totalTime } = props; - return ( - - {loading ? ( - - - - ) : ( - - - - - - {error && '-'} - {!!data && `$${totalFee}`} - - - -
- - - - - {error && '-'} - {!!data && `~${totalTime}m`} - - - -
- )} - - {loading && } - - {error && {error}} - - {!!data && - data.result?.swaps.map((swap, index) => ( - - {index === 0 && ( - - - - - )} - - - {swap.swapperId} - - - - {index + 1 === data.result?.swaps.length && } - - - ))} - {!!data && !data?.result && ( - No routes found - )} - -
- ); -} diff --git a/widget/ui/src/components/BestRoute/index.ts b/widget/ui/src/components/BestRoute/index.ts deleted file mode 100644 index c880f8a2fa..0000000000 --- a/widget/ui/src/components/BestRoute/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { BestRoute } from './BestRoute'; diff --git a/widget/ui/src/components/BestRoute/mock.ts b/widget/ui/src/components/BestRoute/mock.ts deleted file mode 100644 index 83d5bb3f63..0000000000 --- a/widget/ui/src/components/BestRoute/mock.ts +++ /dev/null @@ -1,554 +0,0 @@ -import { RoutingResultType } from 'rango-sdk'; -import { BestRouteType } from '../../types/swaps'; - -// TODO: I used `internalSwaps: []` to fix ts error. fix it by using real data. - -export const bestRoute: BestRouteType = { - from: { blockchain: 'BSC', symbol: 'BNB', address: null }, - to: { blockchain: 'AVAX_CCHAIN', symbol: 'AVAX', address: null }, - requestAmount: '0.3', - requestId: '228529e3-27d7-4fa9-ab84-bb2b90eade6f', - result: { - resultType: RoutingResultType.OK, - outputAmount: '5.685715974132648891', - swaps: [ - { - // TODO: fix this and use real data - internalSwaps: [], - swapperId: 'AnySwap Aggregator', - swapperType: 'AGGREGATOR', - swapperLogo: 'https://api.rango.exchange/swappers/multichain.png', - maxRequiredSign: 1, - warnings: [], - from: { - symbol: 'BNB', - logo: 'https://api.rango.exchange/i/Y3v1KW', - blockchainLogo: 'https://api.rango.exchange/blockchains/binance.svg', - - address: null, - blockchain: 'BSC', - decimals: 18, - usdPrice: 279.2738558274085, - }, - to: { - symbol: 'WETH.E', - logo: 'https://api.rango.exchange/i/j9xgdC', - blockchainLogo: - 'https://api.rango.exchange/blockchains/avax_cchain.svg', - - address: '0x49d5c2bdffac6ce2bfdb6640f4f80f226bc10bab', - blockchain: 'AVAX_CCHAIN', - decimals: 18, - usdPrice: 1329.24, - }, - fromAmount: '0.300000000000000000', - fromAmountPrecision: null, - fromAmountMinValue: '0.047579322466294684272760', - fromAmountMaxValue: '79302.26195302606417382090', - fromAmountRestrictionType: 'INCLUSIVE', - toAmount: '0.062064305934309070', - fee: [ - { - asset: { - blockchain: 'BSC', - symbol: 'BNB', - address: null, - }, - expenseType: 'FROM_SOURCE_WALLET', - amount: '0.001388002000000000', - name: 'Network Fee', - }, - ], - estimatedTimeInSeconds: 300, - swapChainType: 'INTRA_CHAIN', - routes: null, - recommendedSlippage: null, - timeStat: { min: 162, avg: 260, max: 467 }, - includesDestinationTx: false, - }, - { - internalSwaps: [], - swapperId: 'PangolinSwap', - swapperLogo: 'https://api.rango.exchange/swappers/pangolin.png', - swapperType: 'DEX', - maxRequiredSign: 1, - warnings: [], - from: { - symbol: 'WETH.E', - logo: 'https://api.rango.exchange/i/j9xgdC', - address: '0x49d5c2bdffac6ce2bfdb6640f4f80f226bc10bab', - blockchain: 'AVAX_CCHAIN', - decimals: 18, - usdPrice: 1329.24, - blockchainLogo: - 'https://api.rango.exchange/blockchains/avax_cchain.svg', - }, - to: { - symbol: 'AVAX', - logo: 'https://api.rango.exchange/i/kX4edQ', - address: null, - blockchain: 'AVAX_CCHAIN', - decimals: 18, - usdPrice: 12.5, - blockchainLogo: - 'https://api.rango.exchange/blockchains/avax_cchain.svg', - }, - fromAmount: '0.062064305934309070', - fromAmountPrecision: null, - fromAmountMinValue: null, - fromAmountMaxValue: null, - fromAmountRestrictionType: 'EXCLUSIVE', - toAmount: '5.685715974132648891', - fee: [ - { - asset: { - blockchain: 'AVAX_CCHAIN', - symbol: 'WETH.E', - address: '0x49d5c2bdffac6ce2bfdb6640f4f80f226bc10bab', - }, - expenseType: 'DECREASE_FROM_OUTPUT', - name: 'Network Fee', - amount: - '0.00018619291780292721387591870688029381530892436558133340440690517425537109375', - }, - { - asset: { blockchain: 'AVAX_CCHAIN', symbol: 'AVAX', address: null }, - expenseType: 'FROM_SOURCE_WALLET', - name: 'Network Fee', - amount: '0.005370022532678750', - }, - ], - estimatedTimeInSeconds: 45, - swapChainType: 'INTER_CHAIN', - routes: [ - { - nodes: [ - { - nodes: [ - { - marketName: 'PangolinSwap', - marketId: 'PangolinSwap', - percent: 1.0, - }, - ], - from: 'WETH.e', - fromLogo: '', - fromAddress: '0x49d5c2bdffac6ce2bfdb6640f4f80f226bc10bab', - fromBlockchain: 'AVAX_CCHAIN', - to: 'WAVAX', - toLogo: '', - toAddress: '0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7', - toBlockchain: 'AVAX_CCHAIN', - }, - ], - }, - ], - recommendedSlippage: null, - timeStat: { min: 6, avg: 39, max: 317 }, - includesDestinationTx: false, - }, - ], - }, - validationStatus: null, - missingBlockchains: [], - diagnosisMessages: [], - processingLimitReached: false, - walletNotSupportingFromBlockchain: false, -}; -export const bestRouteExample2: BestRouteType = { - from: { - blockchain: 'BSC', - symbol: 'USDC', - address: '0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d', - }, - to: { blockchain: 'AKASH', symbol: 'AKT', address: null }, - requestAmount: '10', - requestId: '56a3f944-02ec-4011-b3c6-6c76c3ad049b', - result: { - resultType: RoutingResultType.OK, - outputAmount: '30.983906', - swaps: [ - { - internalSwaps: [], - maxRequiredSign: 1, - warnings: [], - swapperId: 'ParaSwap Bsc', - swapperType: 'DEX', - swapperLogo: 'https://api.rango.exchange/swappers/para-swap.png', - - from: { - symbol: 'USDC', - blockchainLogo: 'https://api.rango.exchange/blockchains/binance.svg', - - logo: 'https://api.rango.exchange/i/toXKGV', - address: '0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d', - blockchain: 'BSC', - decimals: 18, - usdPrice: 1.0, - }, - to: { - symbol: 'AXLUSDC', - blockchainLogo: 'https://api.rango.exchange/blockchains/binance.svg', - logo: 'https://api.rango.exchange/tokens/COSMOS/AXLUSDC.png', - address: '0x4268b8f0b87b6eae5d897996e6b845ddbd99adf3', - blockchain: 'BSC', - decimals: 6, - usdPrice: 1.0, - }, - fromAmount: '10.000000000000000000', - fromAmountPrecision: null, - fromAmountMinValue: null, - fromAmountMaxValue: null, - fromAmountRestrictionType: 'EXCLUSIVE', - toAmount: '9.957577', - fee: [ - { - asset: { blockchain: 'BSC', symbol: 'BNB', address: null }, - expenseType: 'FROM_SOURCE_WALLET', - amount: '0.002179644500000000', - name: 'Network Fee', - }, - { - asset: { - blockchain: 'BSC', - symbol: 'AXLUSDC', - address: '0x4268b8f0b87b6eae5d897996e6b845ddbd99adf3', - }, - expenseType: 'DECREASE_FROM_OUTPUT', - amount: '0.004978', - name: 'Network Fee', - }, - ], - estimatedTimeInSeconds: 60, - swapChainType: 'INTER_CHAIN', - routes: [ - { - nodes: [ - { - nodes: [ - { - marketName: 'PancakeSwap', - marketId: 'PancakeSwap', - percent: 1.0, - }, - ], - from: 'USDC', - fromLogo: - 'https://tokens.pancakeswap.finance/images/0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d.png', - fromAddress: '0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d', - fromBlockchain: 'BSC', - to: 'BUSD', - toLogo: - 'https://tokens.pancakeswap.finance/images/0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56.png', - toAddress: '0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56', - toBlockchain: 'BSC', - }, - { - nodes: [ - { - marketName: 'Ellipsis', - marketId: 'Ellipsis', - percent: 1.0, - }, - ], - from: 'BUSD', - fromLogo: - 'https://tokens.pancakeswap.finance/images/0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56.png', - fromAddress: '0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56', - fromBlockchain: 'BSC', - to: 'axlUSDC', - toLogo: 'https://api.rango.exchange/tokens/COSMOS/AXLUSDC.png', - toAddress: '0x4268b8f0b87b6eae5d897996e6b845ddbd99adf3', - toBlockchain: 'BSC', - }, - ], - }, - ], - recommendedSlippage: null, - timeStat: { min: 6, avg: 52, max: 183 }, - includesDestinationTx: false, - }, - { - internalSwaps: [], - maxRequiredSign: 1, - warnings: [], - swapperId: 'Satellite', - swapperType: 'BRIDGE', - swapperLogo: 'https://api.rango.exchange/swappers/satellite.png', - from: { - symbol: 'AXLUSDC', - blockchainLogo: 'https://api.rango.exchange/blockchains/binance.svg', - logo: 'https://api.rango.exchange/tokens/COSMOS/AXLUSDC.png', - address: '0x4268b8f0b87b6eae5d897996e6b845ddbd99adf3', - blockchain: 'BSC', - decimals: 6, - usdPrice: 1.0, - }, - to: { - symbol: 'USDC', - blockchainLogo: 'https://api.rango.exchange/swappers/osmosis.png', - logo: 'https://api.rango.exchange/tokens/COSMOS/USDC.png', - address: - 'ibc/d189335c6e4a68b513c10ab227bf1c1d38c746766278ba3eeb4fb14124f1d858', - blockchain: 'OSMOSIS', - decimals: 6, - usdPrice: 1.0000000008037055, - }, - fromAmount: '9.957577', - fromAmountPrecision: null, - fromAmountMinValue: null, - fromAmountMaxValue: null, - fromAmountRestrictionType: 'EXCLUSIVE', - toAmount: '8.357577', - fee: [ - { - asset: { blockchain: 'BSC', symbol: 'BNB', address: null }, - expenseType: 'FROM_SOURCE_WALLET', - amount: - '0.0003850000000000000239784127112452447212753714467226018314249813556671142578125000000000000', - name: 'Network Fee', - }, - ], - estimatedTimeInSeconds: 360, - swapChainType: 'INTER_CHAIN', - routes: null, - recommendedSlippage: null, - timeStat: { min: 9, avg: 339, max: 1138 }, - includesDestinationTx: false, - }, - { - internalSwaps: [], - maxRequiredSign: 1, - warnings: [], - swapperId: 'Osmosis', - swapperType: 'DEX', - swapperLogo: 'https://api.rango.exchange/swappers/osmosis.png', - from: { - symbol: 'USDC', - logo: 'https://api.rango.exchange/tokens/COSMOS/USDC.png', - blockchainLogo: 'https://api.rango.exchange/swappers/osmosis.png', - address: - 'ibc/d189335c6e4a68b513c10ab227bf1c1d38c746766278ba3eeb4fb14124f1d858', - blockchain: 'OSMOSIS', - decimals: 6, - usdPrice: 1.0000000008037055, - }, - to: { - symbol: 'AKT', - logo: 'https://api.rango.exchange/tokens/COSMOS/AKT.png', - blockchainLogo: 'https://api.rango.exchange/swappers/osmosis.png', - address: - 'ibc/1480b8fd20ad5fcae81ea87584d269547dd4d436843c1d20f15e00eb64743ef4', - blockchain: 'OSMOSIS', - decimals: 6, - usdPrice: 0.2688829083335616, - }, - fromAmount: '8.357577', - fromAmountPrecision: null, - fromAmountMinValue: null, - fromAmountMaxValue: null, - fromAmountRestrictionType: 'EXCLUSIVE', - toAmount: '30.983906', - fee: [ - { - asset: { blockchain: 'OSMOSIS', symbol: 'OSMO', address: null }, - expenseType: 'FROM_SOURCE_WALLET', - amount: '0', - name: 'Network Fee', - }, - ], - estimatedTimeInSeconds: 45, - swapChainType: 'INTRA_CHAIN', - routes: [ - { - nodes: [ - { - nodes: [ - { marketName: 'pool#875', marketId: null, percent: 1.0 }, - ], - from: 'USDC', - fromLogo: 'https://api.rango.exchange/tokens/COSMOS/USDC.png', - fromAddress: - 'ibc/d189335c6e4a68b513c10ab227bf1c1d38c746766278ba3eeb4fb14124f1d858', - fromBlockchain: 'OSMOSIS', - to: 'ACRE', - toLogo: 'https://api.rango.exchange/tokens/COSMOS/ACRE.png', - toAddress: - 'ibc/bb936517f7e5d77a63e0adb05217a6608b0c4cf8fba7ea2f4bae4107a7238f06', - toBlockchain: 'OSMOSIS', - }, - { - nodes: [ - { marketName: 'pool#858', marketId: null, percent: 1.0 }, - ], - from: 'ACRE', - fromLogo: 'https://api.rango.exchange/tokens/COSMOS/ACRE.png', - fromAddress: - 'ibc/bb936517f7e5d77a63e0adb05217a6608b0c4cf8fba7ea2f4bae4107a7238f06', - fromBlockchain: 'OSMOSIS', - to: 'OSMO', - toLogo: 'https://api.rango.exchange/tokens/COSMOS/OSMO.png', - toAddress: null, - toBlockchain: 'OSMOSIS', - }, - { - nodes: [{ marketName: 'pool#3', marketId: null, percent: 1.0 }], - from: 'OSMO', - fromLogo: 'https://api.rango.exchange/tokens/COSMOS/OSMO.png', - fromAddress: null, - fromBlockchain: 'OSMOSIS', - to: 'AKT', - toLogo: 'https://api.rango.exchange/tokens/COSMOS/AKT.png', - toAddress: - 'ibc/1480b8fd20ad5fcae81ea87584d269547dd4d436843c1d20f15e00eb64743ef4', - toBlockchain: 'OSMOSIS', - }, - ], - }, - ], - recommendedSlippage: null, - timeStat: { min: 7, avg: 38, max: 187 }, - includesDestinationTx: false, - }, - { - internalSwaps: [], - maxRequiredSign: 1, - warnings: [], - swapperId: 'Osmosis', - swapperType: 'BRIDGE', - swapperLogo: 'https://api.rango.exchange/swappers/osmosis.png', - from: { - symbol: 'AKT', - logo: 'https://api.rango.exchange/tokens/COSMOS/AKT.png', - blockchainLogo: 'https://api.rango.exchange/swappers/osmosis.png', - address: - 'ibc/1480b8fd20ad5fcae81ea87584d269547dd4d436843c1d20f15e00eb64743ef4', - blockchain: 'OSMOSIS', - decimals: 6, - usdPrice: 0.2688829083335616, - }, - to: { - symbol: 'AKT', - logo: 'https://api.rango.exchange/i/3MAS1e', - blockchainLogo: 'https://api.rango.exchange/swappers/osmosis.png', - address: null, - blockchain: 'AKASH', - decimals: 6, - usdPrice: 0.2672300245136459, - }, - fromAmount: '30.983906', - fromAmountPrecision: null, - fromAmountMinValue: null, - fromAmountMaxValue: null, - fromAmountRestrictionType: 'EXCLUSIVE', - toAmount: '30.983906', - fee: [ - { - asset: { blockchain: 'OSMOSIS', symbol: 'OSMO', address: null }, - expenseType: 'FROM_SOURCE_WALLET', - amount: '0.005000', - name: 'Network Fee', - }, - ], - estimatedTimeInSeconds: 45, - swapChainType: 'INTRA_CHAIN', - routes: [ - { - nodes: [ - { - nodes: [ - { marketName: 'Osmosis', marketId: null, percent: 1.0 }, - ], - from: 'AKT', - fromLogo: 'https://api.rango.exchange/tokens/COSMOS/AKT.png', - fromAddress: - 'ibc/1480b8fd20ad5fcae81ea87584d269547dd4d436843c1d20f15e00eb64743ef4', - fromBlockchain: 'OSMOSIS', - to: 'AKT', - toLogo: 'https://api.rango.exchange/tokens/COSMOS/AKT.png', - toAddress: null, - toBlockchain: 'AKASH', - }, - ], - }, - ], - recommendedSlippage: null, - timeStat: { min: 7, avg: 38, max: 187 }, - includesDestinationTx: false, - }, - ], - }, - validationStatus: null, - missingBlockchains: [], - diagnosisMessages: [], - processingLimitReached: false, - walletNotSupportingFromBlockchain: false, -}; - -export const bestRouteExample3: BestRouteType = { - from: { blockchain: 'BSC', symbol: 'BNB', address: null }, - to: { blockchain: 'AVAX_CCHAIN', symbol: 'AVAX', address: null }, - requestAmount: '0.3', - requestId: '228529e3-27d7-4fa9-ab84-bb2b90eade6f', - result: { - resultType: RoutingResultType.OK, - outputAmount: '5.685715974132648891', - swaps: [ - { - internalSwaps: [], - maxRequiredSign: 1, - warnings: [], - swapperId: 'AnySwap Aggregator', - swapperType: 'AGGREGATOR', - swapperLogo: 'https://api.rango.exchange/swappers/multichain.png', - - from: { - symbol: 'BNB', - logo: 'https://api.rango.exchange/i/Y3v1KW', - blockchainLogo: 'https://api.rango.exchange/blockchains/binance.svg', - - address: null, - blockchain: 'BSC', - decimals: 18, - usdPrice: 279.2738558274085, - }, - to: { - symbol: 'WETH.E', - logo: 'https://api.rango.exchange/i/j9xgdC', - blockchainLogo: - 'https://api.rango.exchange/blockchains/avax_cchain.svg', - - address: '0x49d5c2bdffac6ce2bfdb6640f4f80f226bc10bab', - blockchain: 'AVAX_CCHAIN', - decimals: 18, - usdPrice: 1329.24, - }, - fromAmount: '0.300000000000000000', - fromAmountPrecision: null, - fromAmountMinValue: '0.047579322466294684272760', - fromAmountMaxValue: '79302.26195302606417382090', - fromAmountRestrictionType: 'INCLUSIVE', - toAmount: '0.062064305934309070', - fee: [ - { - asset: { blockchain: 'BSC', symbol: 'BNB', address: null }, - expenseType: 'FROM_SOURCE_WALLET', - amount: '0.001388002000000000', - name: 'Network Fee', - }, - ], - estimatedTimeInSeconds: 300, - swapChainType: 'INTRA_CHAIN', - routes: null, - recommendedSlippage: null, - timeStat: { min: 162, avg: 260, max: 467 }, - includesDestinationTx: false, - }, - ], - }, - validationStatus: null, - missingBlockchains: [], - diagnosisMessages: [], - processingLimitReached: false, - walletNotSupportingFromBlockchain: false, -}; diff --git a/widget/ui/src/components/BlockchainSelector/BlockchainSelector.stories.tsx b/widget/ui/src/components/BlockchainSelector/BlockchainSelector.stories.tsx deleted file mode 100644 index 8fd92bea38..0000000000 --- a/widget/ui/src/components/BlockchainSelector/BlockchainSelector.stories.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import React from 'react'; -import { ComponentMeta } from '@storybook/react'; -import { BlockchainSelector, PropTypes } from './BlockchainSelector'; -import { blockchainMeta } from '../BlockchainsList/mockData'; -import { SwapContainer } from '../SwapContainer/SwapContainer'; - -export default { - title: 'Blockchain Selector', - component: BlockchainSelector, - argTypes: { - type: { - defaultValue: 'Source', - }, - }, -} as ComponentMeta; - -export const Main = (args: PropTypes) => ( - - - -); diff --git a/widget/ui/src/components/BlockchainsChip/BlockchainsChip.styles.ts b/widget/ui/src/components/BlockchainsChip/BlockchainsChip.styles.ts new file mode 100644 index 0000000000..05f81ddca5 --- /dev/null +++ b/widget/ui/src/components/BlockchainsChip/BlockchainsChip.styles.ts @@ -0,0 +1,44 @@ +import { darkTheme, styled } from '../../theme'; +import { ImageContainer } from '../common'; + +export const Chip = styled('button', { + padding: '$10', + borderRadius: '$sm', + $$color: '$colors$neutral100', + [`.${darkTheme} &`]: { + $$color: '$colors$neutral300', + }, + backgroundColor: '$$color', + display: 'flex', + flexDirection: 'column', + justifyContent: 'center', + alignItems: 'center', + cursor: 'pointer', + border: 0, + fontFamily: 'inherit', + [`& ${ImageContainer}`]: { + borderRadius: '$xm', + overflow: 'hidden', + }, + '&:hover': { + $$color: '$colors$info100', + [`.${darkTheme} &`]: { + $$color: '$colors$neutral100', + }, + backgroundColor: '$$color', + }, + '&:focus-visible': { + outline: 0, + $$color: '$colors$info100', + [`.${darkTheme} &`]: { + $$color: '$colors$info700', + }, + backgroundColor: '$$color', + }, + variants: { + selected: { + true: { outline: '1px solid $secondary500' }, + false: { outline: 0 }, + }, + }, +}); diff --git a/widget/ui/src/components/BlockchainsChip/BlockchainsChip.tsx b/widget/ui/src/components/BlockchainsChip/BlockchainsChip.tsx new file mode 100644 index 0000000000..d178af39b0 --- /dev/null +++ b/widget/ui/src/components/BlockchainsChip/BlockchainsChip.tsx @@ -0,0 +1,15 @@ +import type { PropTypes } from './BlockchainsChip.types'; +import type { PropsWithChildren } from 'react'; + +import React from 'react'; + +import { Chip } from './BlockchainsChip.styles'; + +export function BlockchainsChip(props: PropsWithChildren) { + const { children, selected, onClick } = props; + return ( + + {children} + + ); +} diff --git a/widget/ui/src/components/BlockchainsChip/BlockchainsChip.types.ts b/widget/ui/src/components/BlockchainsChip/BlockchainsChip.types.ts new file mode 100644 index 0000000000..10be309263 --- /dev/null +++ b/widget/ui/src/components/BlockchainsChip/BlockchainsChip.types.ts @@ -0,0 +1,4 @@ +export interface PropTypes { + selected?: boolean; + onClick?: React.MouseEventHandler; +} diff --git a/widget/ui/src/components/BlockchainsChip/index.ts b/widget/ui/src/components/BlockchainsChip/index.ts new file mode 100644 index 0000000000..86093d6eef --- /dev/null +++ b/widget/ui/src/components/BlockchainsChip/index.ts @@ -0,0 +1 @@ +export { BlockchainsChip } from './BlockchainsChip'; diff --git a/widget/ui/src/components/BlockchainsList/BlockchainsList.stories.tsx b/widget/ui/src/components/BlockchainsList/BlockchainsList.stories.tsx index 20ee1149d2..8d7d208d02 100644 --- a/widget/ui/src/components/BlockchainsList/BlockchainsList.stories.tsx +++ b/widget/ui/src/components/BlockchainsList/BlockchainsList.stories.tsx @@ -1,18 +1,27 @@ +import type { PropTypes } from './BlockchainsList'; +import type { Meta } from '@storybook/react'; + import React from 'react'; -import { ComponentMeta } from '@storybook/react'; -import { BlockchainsList, PropTypes } from './BlockchainsList'; + +import { BlockchainsList } from './BlockchainsList'; import { blockchainMeta } from './mockData'; export default { - title: 'Blockchains List', + title: 'Components/Blockchains List (Deprecated)', component: BlockchainsList, + args: { + searchedText: '', + }, argTypes: { searchedText: { type: 'string', defaultValue: '', + control: { + type: 'text', + }, }, }, -} as ComponentMeta; +} as Meta; export const Main = (args: PropTypes) => { return ( diff --git a/widget/ui/src/components/BlockchainsList/BlockchainsList.tsx b/widget/ui/src/components/BlockchainsList/BlockchainsList.tsx index 5c86b7a2a2..af937daab4 100644 --- a/widget/ui/src/components/BlockchainsList/BlockchainsList.tsx +++ b/widget/ui/src/components/BlockchainsList/BlockchainsList.tsx @@ -1,6 +1,8 @@ +import type { BlockchainMeta } from 'rango-sdk'; + import React, { useState } from 'react'; + import { styled } from '../../theme'; -import { BlockchainMeta } from 'rango-sdk'; import { Button } from '../Button/Button'; import { FilledCircle, Image } from '../common'; import { Typography } from '../Typography'; @@ -25,7 +27,9 @@ const ListContainer = styled('div', { const ImageContainer = styled('div', { paddingRight: '$4', }); - +/** + * @deprecated will be removed in v2 + */ export function BlockchainsList(props: PropTypes) { const { list, onChange, multiSelect, selectedList } = props; const [selected, setSelected] = useState(props.selected); @@ -37,9 +41,10 @@ export function BlockchainsList(props: PropTypes) { const isSelect = (name: string) => { if (multiSelect && selectedList) { + const NOT_FOUND_INDEX = -1; return ( selectedList === 'all' || - selectedList.findIndex((item) => name === item.name) > -1 + selectedList.findIndex((item) => name === item.name) > NOT_FOUND_INDEX ); } return name === selected?.name; @@ -48,6 +53,7 @@ export function BlockchainsList(props: PropTypes) { return ( {list.map((blockchain, index) => { + const key = `item-${index}`; return ( ); })} diff --git a/widget/ui/src/components/BlockchainsList/mockData.ts b/widget/ui/src/components/BlockchainsList/mockData.ts index 4b769728e2..c70fe6b18a 100644 --- a/widget/ui/src/components/BlockchainsList/mockData.ts +++ b/widget/ui/src/components/BlockchainsList/mockData.ts @@ -324,32 +324,106 @@ export const blockchainMeta: BlockchainMeta[] = [ }, }, { - name: 'TERRA', + name: 'COSMOS', + defaultDecimals: 6, + addressPatterns: ['^(cosmos1)[0-9a-z]{38}$'], + feeAssets: [ + { + blockchain: 'COSMOS', + symbol: 'ATOM', + address: null, + }, + ], + logo: 'https://api.rango.exchange/blockchains/cosmos.svg', + displayName: 'Cosmos', + shortName: 'Cosmos', + sort: 8, + color: '#2E3148', + enabled: true, + type: TransactionType.COSMOS, + chainId: 'cosmoshub-4', + info: { + infoType: 'CosmosMetaInfo', + experimental: false, + rpc: 'https://cosmos-rpc.polkachu.com', + rest: 'https://lcd-cosmoshub.keplr.app', + cosmostationLcdUrl: 'https://lcd-cosmos.cosmostation.io', + cosmostationApiUrl: 'https://api-cosmos.cosmostation.io', + cosmostationDenomTracePath: '/ibc/apps/transfer/v1/denom_traces/', + mintScanName: 'cosmos', + chainName: 'Cosmos', + stakeCurrency: { + coinDenom: 'ATOM', + coinMinimalDenom: 'uatom', + coinDecimals: 6, + coinGeckoId: 'cosmos', + coinImageUrl: '/tokens/blockchain/cosmos.svg', + }, + bip44: { + coinType: 118, + }, + bech32Config: { + bech32PrefixAccAddr: 'cosmos', + bech32PrefixAccPub: 'cosmospub', + bech32PrefixValAddr: 'cosmosvaloper', + bech32PrefixValPub: 'cosmosvaloperpub', + bech32PrefixConsAddr: 'cosmosvalcons', + bech32PrefixConsPub: 'cosmosvalconspub', + }, + currencies: [ + { + coinDenom: 'ATOM', + coinMinimalDenom: 'uatom', + coinDecimals: 6, + coinGeckoId: 'cosmos', + coinImageUrl: '/tokens/blockchain/cosmos.svg', + }, + ], + feeCurrencies: [ + { + coinDenom: 'ATOM', + coinMinimalDenom: 'uatom', + coinDecimals: 6, + coinGeckoId: 'cosmos', + coinImageUrl: '/tokens/blockchain/cosmos.svg', + }, + ], + features: ['stargate', 'ibc-transfer'], + explorerUrlToTx: 'https://www.mintscan.io/cosmos/txs/{txHash}', + gasPriceStep: { + low: 0.01, + average: 0.025, + high: 0.04, + }, + }, + }, + { + name: 'TERRA_CLASSIC', defaultDecimals: 6, addressPatterns: ['^(terra1)[0-9a-z]{38}$'], feeAssets: [ { - blockchain: 'TERRA', - symbol: 'Luna', + blockchain: 'TERRA_CLASSIC', + symbol: 'Lunc', address: null, }, { - blockchain: 'TERRA', + blockchain: 'TERRA_CLASSIC', symbol: 'UST', address: null, }, { - blockchain: 'TERRA', - symbol: 'TERRA_EUT', + blockchain: 'TERRA_CLASSIC', + symbol: 'TERRA_CLASSIC_EUT', address: null, }, { - blockchain: 'TERRA', + blockchain: 'TERRA_CLASSIC', symbol: 'KRT', address: null, }, ], - logo: 'https://api.rango.exchange/blockchains/terra.svg', + logo: 'https://api.rango.exchange/blockchains/terraclassic.svg', displayName: 'Terra', shortName: 'Terra', sort: 8, @@ -426,80 +500,6 @@ export const blockchainMeta: BlockchainMeta[] = [ }, }, }, - { - name: 'COSMOS', - defaultDecimals: 6, - addressPatterns: ['^(cosmos1)[0-9a-z]{38}$'], - feeAssets: [ - { - blockchain: 'COSMOS', - symbol: 'ATOM', - address: null, - }, - ], - logo: 'https://api.rango.exchange/blockchains/cosmos.svg', - displayName: 'Cosmos', - shortName: 'Cosmos', - sort: 8, - color: '#2E3148', - enabled: true, - type: TransactionType.COSMOS, - chainId: 'cosmoshub-4', - info: { - infoType: 'CosmosMetaInfo', - experimental: false, - rpc: 'https://cosmos-rpc.polkachu.com', - rest: 'https://lcd-cosmoshub.keplr.app', - cosmostationLcdUrl: 'https://lcd-cosmos.cosmostation.io', - cosmostationApiUrl: 'https://api-cosmos.cosmostation.io', - cosmostationDenomTracePath: '/ibc/apps/transfer/v1/denom_traces/', - mintScanName: 'cosmos', - chainName: 'Cosmos', - stakeCurrency: { - coinDenom: 'ATOM', - coinMinimalDenom: 'uatom', - coinDecimals: 6, - coinGeckoId: 'cosmos', - coinImageUrl: '/tokens/blockchain/cosmos.svg', - }, - bip44: { - coinType: 118, - }, - bech32Config: { - bech32PrefixAccAddr: 'cosmos', - bech32PrefixAccPub: 'cosmospub', - bech32PrefixValAddr: 'cosmosvaloper', - bech32PrefixValPub: 'cosmosvaloperpub', - bech32PrefixConsAddr: 'cosmosvalcons', - bech32PrefixConsPub: 'cosmosvalconspub', - }, - currencies: [ - { - coinDenom: 'ATOM', - coinMinimalDenom: 'uatom', - coinDecimals: 6, - coinGeckoId: 'cosmos', - coinImageUrl: '/tokens/blockchain/cosmos.svg', - }, - ], - feeCurrencies: [ - { - coinDenom: 'ATOM', - coinMinimalDenom: 'uatom', - coinDecimals: 6, - coinGeckoId: 'cosmos', - coinImageUrl: '/tokens/blockchain/cosmos.svg', - }, - ], - features: ['stargate', 'ibc-transfer'], - explorerUrlToTx: 'https://www.mintscan.io/cosmos/txs/{txHash}', - gasPriceStep: { - low: 0.01, - average: 0.025, - high: 0.04, - }, - }, - }, { name: 'FANTOM', defaultDecimals: 18, @@ -620,6 +620,38 @@ export const blockchainMeta: BlockchainMeta[] = [ transactionUrl: 'https://www.oklink.com/en/okc/tx/{txHash}', }, }, + { + name: 'STARKNET', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{32,64}$'], + feeAssets: [ + { + blockchain: 'STARKNET', + symbol: 'ETH', + address: '0x49d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7', + }, + ], + logo: 'https://api.rango.exchange/blockchains/starknet.svg', + displayName: 'StarkNet', + shortName: 'StarkNet', + sort: 11, + color: '#708DD2', + enabled: true, + type: TransactionType.STARKNET, + chainId: '0x534e5f4d41494e', + info: { + infoType: 'StarkNetMetaInfo', + chainName: 'StarkNet Mainnet', + nativeCurrency: { + name: 'ETH', + symbol: 'ETH', + decimals: 18, + }, + blockExplorerUrls: ['https://starkscan.co'], + addressUrl: 'https://starkscan.co/contract/{wallet}', + transactionUrl: 'https://starkscan.co/tx/{txHash}', + }, + }, { name: 'CRONOS', defaultDecimals: 18, @@ -686,6 +718,39 @@ export const blockchainMeta: BlockchainMeta[] = [ transactionUrl: 'https://moonriver.moonscan.io/tx/{txHash}', }, }, + { + name: 'ZKSYNC', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [ + { + blockchain: 'ZKSYNC', + symbol: 'ETH', + address: '0x0000000000000000000000000000000000000000', + }, + ], + logo: 'https://api.rango.exchange/blockchains/zksync.png', + displayName: 'zkSync era', + shortName: 'zkSync', + sort: 13, + color: '#2D2925', + enabled: true, + type: TransactionType.EVM, + chainId: '0x144', + info: { + infoType: 'EvmMetaInfo', + chainName: 'zkSync', + nativeCurrency: { + name: 'ETH', + symbol: 'ETH', + decimals: 18, + }, + rpcUrls: ['https://mainnet.era.zksync.io'], + blockExplorerUrls: ['https://explorer.zksync.io'], + addressUrl: 'https://explorer.zksync.io/address/{wallet}', + transactionUrl: 'https://explorer.zksync.io/tx/{txHash}', + }, + }, { name: 'MOONBEAM', defaultDecimals: 18, @@ -887,21 +952,6 @@ export const blockchainMeta: BlockchainMeta[] = [ transactionUrl: 'https://evm.evmos.org/tx/{txHash}', }, }, - { - name: 'TRON', - defaultDecimals: 18, - addressPatterns: ['^T[1-9A-HJ-NP-Za-km-z]{33}$'], - feeAssets: [], - logo: 'https://api.rango.exchange/blockchains/tron.svg', - displayName: 'Tron', - shortName: 'Tron', - sort: 16, - color: '#FF060A', - enabled: false, - type: TransactionType.TRANSFER, - chainId: null, - info: null, - }, { name: 'SIF', defaultDecimals: 18, @@ -925,7 +975,7 @@ export const blockchainMeta: BlockchainMeta[] = [ infoType: 'CosmosMetaInfo', experimental: false, rpc: 'https://rpc.sifchain.finance', - rest: 'https://api-int.sifchain.finance', + rest: 'https://api-sifchain-ia.cosmosia.notional.ventures/', cosmostationLcdUrl: 'https://lcd-sifchain.cosmostation.io', cosmostationApiUrl: 'https://api.mintscan.io/v1/sifchain', cosmostationDenomTracePath: '/ibc/apps/transfer/v1/denom_traces/', @@ -976,6 +1026,27 @@ export const blockchainMeta: BlockchainMeta[] = [ }, }, }, + { + name: 'MAYA', + defaultDecimals: 8, + addressPatterns: ['^(maya1)[0-9a-z]{38}$'], + feeAssets: [ + { + blockchain: 'MAYA', + symbol: 'CACAO', + address: null, + }, + ], + logo: 'https://api.rango.exchange/blockchains/maya.jpg', + displayName: 'MayaChain', + shortName: 'MayaChain', + sort: 17, + color: '#1ae6e6', + enabled: true, + type: TransactionType.TRANSFER, + chainId: null, + info: null, + }, { name: 'THOR', defaultDecimals: 8, @@ -1128,9 +1199,7 @@ export const blockchainMeta: BlockchainMeta[] = [ { name: 'BTC', defaultDecimals: 8, - addressPatterns: [ - '^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$|^(bc1)[0-9A-Za-z]{39,59}$', - ], + addressPatterns: ['^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$|^(bc1)[0-9A-Za-z]{39,59}$'], feeAssets: [ { blockchain: 'BTC', @@ -1610,8 +1679,7 @@ export const blockchainMeta: BlockchainMeta[] = [ rest: 'https://lcd-emoney.keplr.app', cosmostationLcdUrl: 'https://lcd-emoney.cosmostation.io', cosmostationApiUrl: 'https://api-emoney.cosmostation.io', - cosmostationDenomTracePath: - '/ibc/applications/transfer/v1beta1/denom_traces/', + cosmostationDenomTracePath: '/ibc/applications/transfer/v1beta1/denom_traces/', mintScanName: 'emoney', chainName: 'e-Money', stakeCurrency: { @@ -2458,8 +2526,7 @@ export const blockchainMeta: BlockchainMeta[] = [ rest: 'https://lcd-iov.keplr.app', cosmostationLcdUrl: 'https://lcd-iov.cosmostation.io', cosmostationApiUrl: 'https://api-iov.cosmostation.io', - cosmostationDenomTracePath: - '/ibc/applications/transfer/v1beta1/denom_traces/', + cosmostationDenomTracePath: '/ibc/apps/transfer/v1/denom_traces/', mintScanName: 'starname', chainName: 'Starname', stakeCurrency: { @@ -2802,7 +2869,7 @@ export const blockchainMeta: BlockchainMeta[] = [ address: null, }, ], - logo: 'https://api.rango.exchange/blockchains/lumnetwork.svg', + logo: 'https://api.rango.exchange/blockchains/lumnetwork.png', displayName: 'Lum Network', shortName: 'Lum Network', sort: 38, @@ -2919,8 +2986,7 @@ export const blockchainMeta: BlockchainMeta[] = [ rpc: 'https://mainnet-rpc-router.axelar-dev.workers.dev/chain/axelar', rest: 'https://axelar-lcd.quickapi.com', cosmostationLcdUrl: 'https://axelar-lcd.quickapi.com', - cosmostationApiUrl: - 'https://mainnet-rpc-router.axelar-dev.workers.dev/chain/axelar', + cosmostationApiUrl: 'https://mainnet-rpc-router.axelar-dev.workers.dev/chain/axelar', cosmostationDenomTracePath: '/ibc/apps/transfer/v1/denom_traces/', mintScanName: 'axelar', chainName: 'Axelar', @@ -2969,4 +3035,433 @@ export const blockchainMeta: BlockchainMeta[] = [ }, }, }, + { + name: 'KCC', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [ + { + blockchain: 'KCC', + symbol: 'KCS', + address: null, + }, + ], + logo: 'https://api.rango.exchange/blockchains/kcc.png', + displayName: 'Kcc', + shortName: 'Kcc', + sort: 41, + color: '#ccff00', + enabled: true, + type: TransactionType.EVM, + chainId: '0x141', + info: { + infoType: 'EvmMetaInfo', + chainName: 'Kcc Network', + nativeCurrency: { + name: 'KCS', + symbol: 'KCS', + decimals: 18, + }, + rpcUrls: ['https://rpc-mainnet.kcc.network/'], + blockExplorerUrls: ['https://explorer.kcc.io/en'], + addressUrl: 'https://explorer.kcc.io/en/address/{wallet}', + transactionUrl: 'https://explorer.kcc.io/en/tx/{txHash}', + }, + }, + { + name: 'STRIDE', + defaultDecimals: 6, + addressPatterns: ['^(stride1)[0-9a-z]{38}$'], + feeAssets: [ + { + blockchain: 'STRIDE', + symbol: 'STRD', + address: null, + }, + ], + logo: 'https://api.rango.exchange/blockchains/stride.svg', + displayName: 'Stride', + shortName: 'Stride', + sort: 41, + color: '#D63178', + enabled: true, + type: TransactionType.COSMOS, + chainId: 'stride-1', + info: { + infoType: 'CosmosMetaInfo', + experimental: false, + rpc: 'https://rpc-stride.keplr.app', + rest: 'https://lcd-stride.keplr.app', + cosmostationLcdUrl: 'https://lcd-stride.cosmostation.io', + cosmostationApiUrl: 'https://api-stride.cosmostation.io', + cosmostationDenomTracePath: '/ibc/apps/transfer/v1/denom_traces/', + mintScanName: 'stride', + chainName: 'Stride', + stakeCurrency: { + coinDenom: 'STRD', + coinMinimalDenom: 'ustrd', + coinDecimals: 6, + coinGeckoId: 'stride', + coinImageUrl: '', + }, + bip44: { + coinType: 118, + }, + bech32Config: { + bech32PrefixAccAddr: 'stride', + bech32PrefixAccPub: 'stridepub', + bech32PrefixValAddr: 'stridevaloper', + bech32PrefixValPub: 'stridevaloperpub', + bech32PrefixConsAddr: 'stridevalcons', + bech32PrefixConsPub: 'stridevalconspub', + }, + currencies: [ + { + coinDenom: 'STRD', + coinMinimalDenom: 'ustrd', + coinDecimals: 6, + coinGeckoId: 'stride', + coinImageUrl: '', + }, + { + coinDenom: 'stATOM', + coinMinimalDenom: 'stuatom', + coinDecimals: 6, + coinGeckoId: 'stride-staked-atom', + coinImageUrl: '', + }, + { + coinDenom: 'stOSMO', + coinMinimalDenom: 'stuosmo', + coinDecimals: 6, + coinGeckoId: 'stride-staked-osmo', + coinImageUrl: '', + }, + { + coinDenom: 'stJUNO', + coinMinimalDenom: 'stujuno', + coinDecimals: 6, + coinGeckoId: 'stride-staked-juno', + coinImageUrl: '', + }, + { + coinDenom: 'stSTARS', + coinMinimalDenom: 'stustars', + coinDecimals: 6, + coinGeckoId: '', + coinImageUrl: '', + }, + { + coinDenom: 'stEVMOS', + coinMinimalDenom: 'staevmos', + coinDecimals: 18, + coinGeckoId: '', + coinImageUrl: '', + }, + { + coinDenom: 'stLUNA', + coinMinimalDenom: 'stuluna', + coinDecimals: 6, + coinGeckoId: '', + coinImageUrl: '', + }, + ], + feeCurrencies: [ + { + coinDenom: 'STRD', + coinMinimalDenom: 'ustrd', + coinDecimals: 6, + coinGeckoId: 'stride', + coinImageUrl: '', + }, + ], + features: ['ibc-transfer'], + explorerUrlToTx: 'https://www.mintscan.io/stride/txs/{txHash}', + gasPriceStep: { + low: 0.001, + average: 0.0025, + high: 0.04, + }, + }, + }, + { + name: 'MARS', + defaultDecimals: 6, + addressPatterns: ['^(mars1)[0-9a-z]{38}$'], + feeAssets: [ + { + blockchain: 'MARS', + symbol: 'MARS', + address: null, + }, + ], + logo: 'https://api.rango.exchange/blockchains/mars.svg', + displayName: 'Mars', + shortName: 'Mars', + sort: 42, + color: '#CB4B3D', + enabled: true, + type: TransactionType.COSMOS, + chainId: 'mars-1', + info: { + infoType: 'CosmosMetaInfo', + experimental: false, + rpc: 'https://rpc-mars.keplr.app', + rest: 'https://lcd-mars.keplr.app', + cosmostationLcdUrl: 'https://lcd-mars-protocol.cosmostation.io', + cosmostationApiUrl: 'https://api-mars-protocol.cosmostation.io', + cosmostationDenomTracePath: '/ibc/apps/transfer/v1/denom_traces/', + mintScanName: 'mars-protocol', + chainName: 'Mars', + stakeCurrency: { + coinDenom: 'MARS', + coinMinimalDenom: 'umars', + coinDecimals: 6, + coinGeckoId: 'mars-protocol-a7fcbcfb-fd61-4017-92f0-7ee9f9cc6da3', + coinImageUrl: '/tokens/blockchain/mars.svg', + }, + bip44: { + coinType: 118, + }, + bech32Config: { + bech32PrefixAccAddr: 'mars', + bech32PrefixAccPub: 'marspub', + bech32PrefixValAddr: 'marsvaloper', + bech32PrefixValPub: 'marsvaloperpub', + bech32PrefixConsAddr: 'marsvalcons', + bech32PrefixConsPub: 'marsvalconspub', + }, + currencies: [ + { + coinDenom: 'MARS', + coinMinimalDenom: 'umars', + coinDecimals: 6, + coinGeckoId: 'mars-protocol-a7fcbcfb-fd61-4017-92f0-7ee9f9cc6da3', + coinImageUrl: '/tokens/blockchain/mars.svg', + }, + ], + feeCurrencies: [ + { + coinDenom: 'MARS', + coinMinimalDenom: 'umars', + coinDecimals: 6, + coinGeckoId: 'mars-protocol-a7fcbcfb-fd61-4017-92f0-7ee9f9cc6da3', + coinImageUrl: '/tokens/blockchain/mars.svg', + }, + ], + features: ['ibc-transfer'], + explorerUrlToTx: 'https://www.mintscan.io/mars-protocol/txs/{txHash}', + gasPriceStep: { + low: 0.001, + average: 0.0025, + high: 0.01, + }, + }, + }, + { + name: 'TERRA', + defaultDecimals: 6, + addressPatterns: ['^(terra1)[0-9a-z]{38}$'], + feeAssets: [ + { + blockchain: 'TERRA', + symbol: 'LUNA', + address: null, + }, + ], + logo: 'https://api.rango.exchange/blockchains/terra.png', + displayName: 'Terra 2.0', + shortName: 'Terra 2.0', + sort: 43, + color: '#5493F7', + enabled: true, + type: TransactionType.COSMOS, + chainId: 'phoenix-1', + info: { + infoType: 'CosmosMetaInfo', + experimental: false, + rpc: 'https://rpc-phoenix.keplr.app', + rest: 'https://lcd-phoenix.keplr.app', + cosmostationLcdUrl: 'https://phoenix-lcd.terra.dev', + cosmostationApiUrl: null, + cosmostationDenomTracePath: '/ibc/apps/transfer/v1/denom_traces/', + mintScanName: null, + chainName: 'Terra 2.0', + stakeCurrency: { + coinDenom: 'LUNA', + coinMinimalDenom: 'uluna', + coinDecimals: 6, + coinGeckoId: 'terra-luna-2', + coinImageUrl: '', + }, + bip44: { + coinType: 330, + }, + bech32Config: { + bech32PrefixAccAddr: 'terra', + bech32PrefixAccPub: 'terrapub', + bech32PrefixValAddr: 'terravaloper', + bech32PrefixValPub: 'terravaloperpub', + bech32PrefixConsAddr: 'terravalcons', + bech32PrefixConsPub: 'terravalconspub', + }, + currencies: [ + { + coinDenom: 'LUNA', + coinMinimalDenom: 'uluna', + coinDecimals: 6, + coinGeckoId: 'terra-luna-2', + coinImageUrl: '', + }, + ], + feeCurrencies: [ + { + coinDenom: 'LUNA', + coinMinimalDenom: 'uluna', + coinDecimals: 6, + coinGeckoId: 'terra-luna-2', + coinImageUrl: '', + }, + ], + features: ['cosmwasm', 'ibc-transfer'], + explorerUrlToTx: 'https://finder.terra.money/mainnet/txs/{txHash}', + gasPriceStep: { + low: 0.0125, + average: 0.015, + high: 0.15, + }, + }, + }, + { + name: 'TELOS', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [ + { + blockchain: 'TELOS', + symbol: 'TLOS', + address: null, + }, + ], + logo: 'https://api.rango.exchange/blockchains/telos.png', + displayName: 'Telos', + shortName: 'Telos', + sort: 49, + color: '#6144ae', + enabled: true, + type: TransactionType.EVM, + chainId: '0x28', + info: { + infoType: 'EvmMetaInfo', + chainName: 'Telos Mainnet', + nativeCurrency: { + name: 'TLOS', + symbol: 'TLOS', + decimals: 18, + }, + rpcUrls: ['https://mainnet.telos.net/evm'], + blockExplorerUrls: ['https://www.teloscan.io'], + addressUrl: 'https://www.teloscan.io/address/{wallet}', + transactionUrl: 'https://www.teloscan.io/tx/{txHash}', + }, + }, + { + name: 'BOBA_BNB', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [ + { + blockchain: 'BOBA_BNB', + symbol: 'BOBA', + address: null, + }, + ], + logo: 'https://api.rango.exchange/blockchains/boba.png', + displayName: 'Boba Bnb', + shortName: 'Boba Bnb', + sort: 63, + color: '#ccff00', + enabled: false, + type: TransactionType.EVM, + chainId: '0xdbe0', + info: { + infoType: 'EvmMetaInfo', + chainName: 'Boba Bnb Network', + nativeCurrency: { + name: 'BOBA', + symbol: 'BOBA', + decimals: 18, + }, + rpcUrls: ['https://bnb.boba.network'], + blockExplorerUrls: ['https://blockexplorer.bnb.boba.network'], + addressUrl: 'https://blockexplorer.bnb.boba.network/address/{wallet}', + transactionUrl: 'https://blockexplorer.bnb.boba.network/tx/{txHash}', + }, + }, + { + name: 'BOBA_BEAM', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [ + { + blockchain: 'BOBA_BEAM', + symbol: 'BOBA', + address: null, + }, + ], + logo: 'https://api.rango.exchange/blockchains/boba.png', + displayName: 'Boba Beam', + shortName: 'Boba Beam', + sort: 64, + color: '#ccff00', + enabled: false, + type: TransactionType.EVM, + chainId: '0x50e', + info: { + infoType: 'EvmMetaInfo', + chainName: 'Boba Beam Network', + nativeCurrency: { + name: 'BOBA', + symbol: 'BOBA', + decimals: 18, + }, + rpcUrls: ['https://bobabeam.boba.network'], + blockExplorerUrls: ['https://blockexplorer.bobabeam.boba.network'], + addressUrl: 'https://blockexplorer.bobabeam.boba.network/address/{wallet}', + transactionUrl: 'https://blockexplorer.bobabeam.boba.network/tx/{txHash}', + }, + }, + { + name: 'BOBA_AVALANCHE', + defaultDecimals: 18, + addressPatterns: ['^(0x)[0-9A-Fa-f]{40}$'], + feeAssets: [ + { + blockchain: 'BOBA_AVALANCHE', + symbol: 'BOBA', + address: null, + }, + ], + logo: 'https://api.rango.exchange/blockchains/boba.png', + displayName: 'Boba Avalanche', + shortName: 'Boba Avalanche', + sort: 65, + color: '#ccff00', + enabled: false, + type: TransactionType.EVM, + chainId: '0xa918', + info: { + infoType: 'EvmMetaInfo', + chainName: 'Boba Avalanche Network', + nativeCurrency: { + name: 'BOBA', + symbol: 'BOBA', + decimals: 18, + }, + rpcUrls: ['https://avax.boba.network'], + blockExplorerUrls: ['https://blockexplorer.avax.boba.network'], + addressUrl: 'https://blockexplorer.avax.boba.network/address/{wallet}', + transactionUrl: 'https://blockexplorer.avax.boba.network/tx/{txHash}', + }, + }, ]; diff --git a/widget/ui/src/components/BottomLogo/BottomLogo.styles.ts b/widget/ui/src/components/BottomLogo/BottomLogo.styles.ts new file mode 100644 index 0000000000..178c80a995 --- /dev/null +++ b/widget/ui/src/components/BottomLogo/BottomLogo.styles.ts @@ -0,0 +1,15 @@ +import { styled } from '../../theme'; + +export const Container = styled('div', { + display: 'flex', + width: '100%', + justifyContent: 'end', + alignItems: 'center', +}); + +export const StyledAnchor = styled('a', { + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + textDecoration: 'none', +}); diff --git a/widget/ui/src/components/BottomLogo/BottomLogo.tsx b/widget/ui/src/components/BottomLogo/BottomLogo.tsx new file mode 100644 index 0000000000..a43fc1b03f --- /dev/null +++ b/widget/ui/src/components/BottomLogo/BottomLogo.tsx @@ -0,0 +1,27 @@ +import { i18n } from '@lingui/core'; +import React from 'react'; + +import { Divider } from '../Divider'; +import { Logo } from '../Logo/Logo'; +import { Typography } from '../Typography'; + +import { Container, StyledAnchor } from './BottomLogo.styles'; + +export function BottomLogo() { + return ( + + + {i18n.t('Powered By')} + + + + + + + + RANGO + + + + ); +} diff --git a/widget/ui/src/components/BottomLogo/index.ts b/widget/ui/src/components/BottomLogo/index.ts new file mode 100644 index 0000000000..935e6f745b --- /dev/null +++ b/widget/ui/src/components/BottomLogo/index.ts @@ -0,0 +1 @@ +export { BottomLogo } from './BottomLogo'; diff --git a/widget/ui/src/components/Button/Button.stories.tsx b/widget/ui/src/components/Button/Button.stories.tsx index 740e2704a7..25dad5d381 100644 --- a/widget/ui/src/components/Button/Button.stories.tsx +++ b/widget/ui/src/components/Button/Button.stories.tsx @@ -1,59 +1,36 @@ +import type { PropTypes } from './Button.types'; +import type { Meta } from '@storybook/react'; + import React from 'react'; -import { ComponentMeta } from '@storybook/react'; -import { Button, PropTypes } from './Button'; -import { AddWalletIcon } from '../Icon'; +import { WalletIcon } from '../../icons'; + +import { Button } from './Button'; -export default { - title: 'Components/Button', +const meta: Meta = { component: Button, - argTypes: { - variant: { - name: 'variant', - control: { type: 'select' }, - options: ['contained', 'outlined', 'ghost'], - defaultValue: 'contained', - }, - type: { - name: 'type', - control: { type: 'select' }, - options: ['primary', 'error', 'warning', 'success'], - }, - align: { - name: 'align', - control: { type: 'select' }, - options: ['start', 'grow'], - }, - size: { - name: 'size', - control: { type: 'radio' }, - options: ['small', 'medium', 'large', 'compact'], - defaultValue: 'medium', - }, - disabled: { - name: 'disabled', - control: { type: 'boolean' }, - }, - }, -} as ComponentMeta; +}; + +export default meta; export const Main = (props: PropTypes) => ( ); -export const WithPrefix = (args: PropTypes) => ( - -); +export const WithPrefix = (args: PropTypes) => { + return ( + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + //@ts-ignore + + ); +}; export const WithSuffix = (args: PropTypes) => ( - ); -export const IconButton = (args: PropTypes) => ( -
-
-); diff --git a/widget/ui/src/components/Button/Button.styles.tsx b/widget/ui/src/components/Button/Button.styles.tsx new file mode 100644 index 0000000000..95b875df82 --- /dev/null +++ b/widget/ui/src/components/Button/Button.styles.tsx @@ -0,0 +1,565 @@ +import { darkTheme, keyframes, styled } from '../../theme'; + +export const ButtonBase = styled('button', { + position: 'relative', + display: 'flex', + overflow: 'hidden', + alignItems: 'center', + justifyContent: 'center', + fontSize: '$16', + fontWeight: '$400', + border: '0', + borderRadius: '$secondary', + cursor: 'pointer', + transition: 'all 0.35s', + fontFamily: 'inherit', + variants: { + size: { + xxsmall: { + fontSize: '$10', + lineHeight: '12px', + padding: '$4', + }, + xsmall: { + fontSize: '$12', + lineHeight: '12px', + padding: '$0 $4', + }, + small: { + fontSize: '$14', + fontWeight: '$medium', + lineHeight: '20px', + padding: '$4 $4', + }, + medium: { + fontSize: '$16', + lineHeight: '24px', + fontWeight: '$medium', + padding: '$8 $8', + }, + large: { + fontSize: '$18', + lineHeight: '26px', + padding: '$12 $24', + fontWeight: '$medium', + }, + }, + variant: { + contained: { + backgroundColor: '$background', + color: '$foreground', + border: 0, + '&:hover': { + backgroundColor: '$neutral300', + }, + '&:focus-visible': { + backgroundColor: '$neutral500', + outline: 0, + }, + '&:disabled': { + $$color: '$colors$background', + [`.${darkTheme} &`]: { + $$color: '$colors$foreground', + }, + backgroundColor: '$neutral600', + color: '$$color', + pointerEvents: 'none', + }, + }, + outlined: { + backgroundColor: '$background', + border: 1, + borderStyle: 'solid', + color: '$foreground', + borderColor: '$neutral200', + '&:hover': { + borderColor: '$neutral300', + }, + '&:focus-visible': { + borderColor: '$neutral500', + outline: 0, + }, + '&:disabled': { + borderColor: '$neutral600', + color: '$neutral600', + pointerEvents: 'none', + }, + }, + ghost: { + backgroundColor: 'transparent', + color: '$neutral700', + '&:disabled': { + color: '$neutral600', + pointerEvents: 'none', + }, + '&:focus-visible': { + backgroundColor: '$neutral500', + outline: 0, + }, + '&:hover': { + color: '$secondary500', + }, + }, + default: {}, + }, + fullWidth: { + true: { + width: '100%', + }, + }, + type: { + primary: {}, + error: {}, + warning: {}, + success: {}, + secondary: {}, + }, + }, + + compoundVariants: [ + { + type: 'primary', + variant: 'contained', + css: { + background: '$primary500', + $$color: '$colors$background', + [`.${darkTheme} &`]: { + $$color: '$colors$foreground', + }, + color: '$$color', + '&:hover': { + background: '$primary600', + $$color: '$colors$background', + [`.${darkTheme} &`]: { + $$color: '$colors$foreground', + }, + color: '$$color', + }, + '&:disabled': { + $$color: '$colors$background', + [`.${darkTheme} &`]: { + $$color: '$colors$foreground', + }, + background: '$neutral600', + color: '$$color', + pointerEvents: 'none', + }, + '&:visited': { + background: '$primary500', + }, + '&:active': { + backgroundColor: '$primary500', + backgroundSize: '100%', + transition: 'background 0s', + }, + '&:focus-visible': { + background: '$primary600', + outline: 0, + }, + }, + }, + { + type: 'primary', + variant: 'outlined', + css: { + color: '$primary500', + borderColor: '$primary500', + '&:hover': { + color: '$primary600', + borderColor: '$primary600', + }, + '&:focus-visible': { + color: '$primary600', + borderColor: '$primary600', + outline: 0, + }, + }, + }, + { + type: 'primary', + variant: 'ghost', + css: { + color: '$primary500', + '&:hover': { + color: '$primary600', + }, + '&:focus-visible': { + color: '$primary600', + outline: 0, + }, + }, + }, + { + type: 'secondary', + variant: 'contained', + css: { + background: '$secondary500', + $$color: '$colors$background', + [`.${darkTheme} &`]: { + $$color: '$colors$foreground', + }, + color: '$$color', + '&:hover': { + background: '$secondary600', + $$color: '$colors$background', + [`.${darkTheme} &`]: { + $$color: '$colors$foreground', + }, + color: '$$color', + }, + '&:visited': { + background: '$secondary500', + }, + '&:focus': { + background: '$secondary600', + outline: 0, + }, + '&:focus-visible': { + background: '$secondary600', + outline: 0, + }, + }, + }, + { + type: 'secondary', + variant: 'outlined', + css: { + color: '$secondary500', + borderColor: '$secondary500', + '&:hover': { + color: '$secondary600', + borderColor: '$secondary600', + }, + '&:visited': { + color: '$secondary500', + borderColor: '$secondary500', + }, + '&:focus': { + color: '$secondary600', + borderColor: '$secondary500', + outline: 0, + }, + '&:focus-visible': { + color: '$secondary600', + borderColor: '$secondary500', + outline: 0, + }, + }, + }, + { + type: 'secondary', + variant: 'ghost', + css: { + color: '$secondary500', + '&:hover': { + color: '$secondary600', + }, + '&:visited': { + color: '$secondary500', + }, + '&:focus': { + color: '$secondary600', + outline: 0, + }, + '&:focus-visible': { + color: '$secondary600', + outline: 0, + }, + }, + }, + { + type: 'error', + variant: 'contained', + css: { + background: '$error500', + $$color: '$colors$background', + [`.${darkTheme} &`]: { + $$color: '$colors$foreground', + }, + color: '$$color', + '&:hover': { + background: '$error500', + }, + '&:visited': { + background: '$error500', + }, + '&:focus': { + background: '$error500', + }, + '&:focus-visible': { + $$outline: '$colors$error600', + [`.${darkTheme} &`]: { + $$outline: '$colors$error300', + }, + outlineColor: '$$outline', + }, + }, + }, + { + type: 'error', + variant: 'outlined', + css: { + color: '$error500', + borderColor: '$error500', + '&:hover': { + color: '$error500', + borderColor: '$error500', + }, + '&:visited': { + color: '$error500', + borderColor: '$error500', + }, + '&:focus': { + color: '$error500', + borderColor: '$error500', + }, + '&:focus-visible': { + $$outline: '$colors$error600', + [`.${darkTheme} &`]: { + $$outline: '$colors$error300', + }, + color: '$$outline', + outlineColor: '$$outline', + }, + }, + }, + { + type: 'error', + variant: 'ghost', + css: { + color: '$error500', + '&:hover': { + color: '$error500', + }, + '&:visited': { + color: '$error500', + }, + '&:focus': { + color: '$error500', + }, + '&:focus-visible': { + $$outline: '$colors$error600', + [`.${darkTheme} &`]: { + $$outline: '$colors$error300', + }, + color: '$$outline', + outline: 0, + }, + }, + }, + { + type: 'warning', + variant: 'contained', + css: { + background: '$warning500', + $$color: '$colors$background', + [`.${darkTheme} &`]: { + $$color: '$colors$foreground', + }, + color: '$$color', + '&:hover': { + background: '$warning500', + $$color: '$colors$background', + [`.${darkTheme} &`]: { + $$color: '$colors$foreground', + }, + color: '$$color', + }, + '&:visited': { + background: '$warning500', + }, + '&:focus': { + background: '$warning500', + }, + '&:focus-visible': { + $$outline: '$colors$warning600', + [`.${darkTheme} &`]: { + $$outline: '$colors$warning300', + }, + outlineColor: '$$outline', + }, + }, + }, + { + type: 'warning', + variant: 'outlined', + css: { + color: '$warning500', + borderColor: '$warning500', + '&:hover': { + color: '$warning500', + borderColor: '$warning500', + }, + '&:visited': { + color: '$warning500', + borderColor: '$warning500', + }, + '&:focus': { + color: '$warning500', + borderColor: '$warning500', + }, + '&:focus-visible': { + $$outline: '$colors$warning600', + [`.${darkTheme} &`]: { + $$outline: '$colors$warning300', + }, + outlineColor: '$$outline', + color: '$$outline', + }, + }, + }, + { + type: 'warning', + variant: 'ghost', + css: { + color: '$warning500', + '&:hover': { + color: '$warning500', + }, + '&:visited': { + color: '$warning500', + }, + '&:focus': { + color: '$warning500', + }, + '&:focus-visible': { + $$outline: '$colors$warning600', + [`.${darkTheme} &`]: { + $$outline: '$colors$warning300', + }, + color: '$$outline', + }, + }, + }, + { + type: 'success', + variant: 'contained', + css: { + background: '$success500', + $$color: '$colors$background', + [`.${darkTheme} &`]: { + $$color: '$colors$foreground', + }, + color: '$$color', + '&:hover': { + background: '$success500', + $$color: '$colors$background', + [`.${darkTheme} &`]: { + $$color: '$colors$foreground', + }, + color: '$$color', + }, + '&:visited': { + background: '$success500', + }, + '&:focus': { + background: '$success500', + }, + '&:focus-visible': { + $$outline: '$colors$success600', + [`.${darkTheme} &`]: { + $$outline: '$colors$success300', + }, + outlineColor: '$$outline', + }, + }, + }, + { + type: 'success', + variant: 'outlined', + css: { + color: '$success500', + borderColor: '$success500', + '&:hover': { + color: '$success500', + borderColor: '$success500', + }, + '&:visited': { + color: '$success500', + borderColor: '$success500', + }, + '&:focus': { + color: '$success500', + borderColor: '$success500', + }, + '&:focus-visible': { + $$outline: '$colors$success600', + [`.${darkTheme} &`]: { + $$outline: '$colors$success300', + }, + outlineColor: '$$outline', + color: '$$outline', + }, + }, + }, + { + type: 'success', + variant: 'ghost', + css: { + color: '$success500', + '&:hover': { + color: '$success500', + }, + '&:visited': { + color: '$success500', + }, + '&:focus': { + color: '$success500', + }, + '&:focus-visible': { + $$outline: '$colors$success600', + [`.${darkTheme} &`]: { + $$outline: '$colors$success300', + }, + outline: 0, + color: '$$outline', + }, + }, + }, + ], + defaultVariants: { + size: 'medium', + variant: 'contained', + }, +}); + +export const Content = styled('span', { + flexGrow: 1, + display: 'inline-block', + variants: { + pl: { + true: { + paddingLeft: '$8', + }, + }, + pr: { + true: { + paddingRight: '$8', + }, + }, + }, +}); + +const ripple = keyframes({ + to: { + transform: 'scale(2)', + opacity: 0.1, + }, +}); + +export const RippleContainer = styled('div', { + position: 'absolute', + top: '0', + right: '0', + bottom: '0', + left: '0', + + '& span': { + transform: 'scale(0)', + borderRadius: '100%', + position: 'absolute', + opacity: '0.75', + backgroundColor: '$neutral500', + animation: `${ripple} 0.8s linear`, + }, +}); diff --git a/widget/ui/src/components/Button/Button.tsx b/widget/ui/src/components/Button/Button.tsx index ab36b9bf64..9e204e1d8c 100644 --- a/widget/ui/src/components/Button/Button.tsx +++ b/widget/ui/src/components/Button/Button.tsx @@ -1,421 +1,52 @@ -import { CSSProperties } from '@stitches/react'; -import React, { PropsWithChildren, HTMLAttributes } from 'react'; -import { darkTheme, styled } from '../../theme'; -import { Spinner } from '../Spinner'; -import { Typography } from '../Typography'; - -const ButtonContainer = styled('button', { - borderRadius: '$5', - fontSize: '$16', - fontWeight: '$400', - cursor: 'pointer', - padding: '0 $12', - display: 'flex', - alignItems: 'center', - justifyContent: 'center', - transition: 'all 0.35s', - border: '0', +import type { PropTypes, Ref } from './Button.types'; +import type { PropsWithChildren } from 'react'; - '&:active': { - transform: 'scale(0.95)', - }, +import React from 'react'; - variants: { - align: { - start: { - display: 'flex', - width: '100%', - }, - grow: { - display: 'flex', - width: '100%', - }, - }, - size: { - compact: {}, - free: {}, - small: { - height: '$32', - }, - medium: { - height: '$40', - }, - large: { - height: '$48', - }, - }, - variant: { - contained: { - backgroundColor: '$neutrals300', - color: '$foreground', - border: 0, - '&:hover': { - backgroundColor: '$neutrals200', - }, - '&:disabled': { - background: '$neutrals400', - }, - '&:disabled:hover': { - background: '$neutrals400', - transform: 'unset', - }, - }, - outlined: { - backgroundColor: '$background', - border: 1, - borderStyle: 'solid', - borderColor: '$neutrals400', - color: '$foreground', - '&:hover': { - borderColor: '$neutrals600', - }, - '&:disabled': { - borderColor: '$neutrals300', - color: '$neutrals400', - }, - }, - ghost: { - color: '$foreground', - '&:hover': { - backgroundColor: '$neutrals200', - }, - '&:disabled': { - color: '$neutrals400 !important', - }, - background: 'transparent', - border: 0, +import { Spinner } from '../Spinner'; - [`& ${Typography}`]: { - color: 'inherit', - }, - }, - }, - fullWidth: { - true: { - width: '100%', - }, - }, - loading: { - true: {}, - }, - type: { - primary: {}, - error: {}, - warning: {}, - success: {}, - }, - }, +import { ButtonBase, Content } from './Button.styles'; +import Ripple from './Ripple'; - compoundVariants: [ - { - type: 'primary', - variant: 'contained', - css: { - background: '$primary', - color: '$white', - '&:hover': { - background: '$primary700', - }, - '&:visited': { - background: '$primary900', - }, - '&:focus': { - background: '$primary600', - }, - }, - }, - { - type: 'primary', - variant: 'outlined', - css: { - color: '$primary !important', - borderColor: '$primary', - '&:hover': { - color: '$primary700 !important', - borderColor: '$primary700 !important', - }, - '&:visited': { - color: '$primary900 !important', - borderColor: '$primary900 !important', - }, - '&:focus': { - color: '$primary600 !important', - borderColor: '$primary600 !important', - }, - }, - }, - { - type: 'primary', - variant: 'ghost', - css: { - color: '$primary', - '&:hover': { - color: '$primary700', - }, - '&:visited': { color: '$primary900' }, - '&:focus': { - color: '$primary600', - }, - }, - }, - { - type: 'error', - variant: 'contained', - css: { - background: '$error', - $$color: '$colors$background', - [`.${darkTheme} &`]: { - $$color: '$colors$foreground', - }, - color: '$$color !important', - '&:hover': { - background: '$error300', - }, - '&:visited': { - background: '$error700', - }, - '&:focus': { - background: '$error700', - }, - }, - }, - { - type: 'error', - variant: 'outlined', - css: { - color: '$error !important', - borderColor: '$error', - '&:hover': { - color: '$error300 !important', - borderColor: '$error300 !important', - }, - '&:visited': { - color: '$error700 !important', - borderColor: '$error700 !important', - }, - '&:focus': { - color: '$error700 !important', - borderColor: '$error700 !important', - }, - }, - }, - { - type: 'error', - variant: 'ghost', - css: { - color: '$error', - '&:hover': { - color: '$error300', - }, - '&:visited': { - color: '$error700', - }, - '&:focus': { - color: '$error700', - }, - }, - }, - { - type: 'warning', - variant: 'contained', - css: { - background: '$warning', - $$color: '$colors$background', - [`.${darkTheme} &`]: { - $$color: '$colors$foreground', - }, - color: '$$color !important', - '&:hover': { - background: '$warning300', - }, - '&:visited': { - background: '$warning700', - }, - '&:focus': { - background: '$warning700', - }, - }, - }, - { - type: 'warning', - variant: 'outlined', - css: { - color: '$warning !important', - borderColor: '$warning', - '&:hover': { - color: '$warning300 !important', - borderColor: '$warning300 !important', - }, - '&:visited': { - color: '$warning700 !important', - borderColor: '$warning700 !important', - }, - '&:focus': { - color: '$warning700 !important', - borderColor: '$warning700 !important', - }, - }, - }, - { - type: 'warning', - variant: 'ghost', - css: { - color: '$warning', - '&:hover': { - color: '$warning300', - }, - '&:visited': { - color: '$warning700', - }, - '&:focus': { - color: '$warning700', - }, - }, - }, - { - type: 'success', - variant: 'contained', - css: { - background: '$success', - $$color: '$colors$background', - [`.${darkTheme} &`]: { - $$color: '$colors$foreground', - }, - color: '$$color !important', - '&:hover': { - background: '$success300', - }, - '&:visited': { - background: '$success700', - }, - '&:focus': { - background: '$success700', - }, - }, - }, - { - type: 'success', - variant: 'outlined', - css: { - color: '$success !important', - borderColor: '$success', - '&:hover': { - color: '$success300 !important', - borderColor: '$success300 !important', - }, - '&:visited': { - color: '$success700 !important', - borderColor: '$success700 !important', - }, - '&:focus': { - color: '$success700 !important', - borderColor: '$success700 !important', - }, - }, - }, - { - type: 'success', - variant: 'ghost', - css: { - color: '$success', - '&:hover': { - color: '$success300', - }, - '&:visited': { - color: '$success700', - }, - '&:focus': { - color: '$success700', - }, - }, - }, - { - size: 'compact', - css: { - padding: '$2 $4', - fontSize: '$12', - }, - }, - ], - defaultVariants: { - size: 'medium', - variant: 'contained', - }, -}); +function ButtonComponent(props: PropsWithChildren, ref?: Ref) { + const { + children, + loading, + disabled, + prefix, + suffix, + onClick, + disableRipple, + ...otherProps + } = props; -const Content = styled('div', { - flex: 1, - variants: { - align: { - start: { - textAlign: 'left', - }, - grow: { - textAlign: 'center', - }, - }, - ml: { - true: { - marginLeft: '$8', - }, - }, - mr: { - true: { - marginRight: '$8', - }, - }, - flexContent: { - true: { - display: 'flex', - alignItems: 'center', - }, - }, - }, -}); + const shouldShowRipple = !disabled && !loading && !disableRipple; -export interface PropTypes - extends Omit, 'prefix'> { - onClick?: (event: React.MouseEvent) => void; - size?: 'small' | 'medium' | 'large' | 'compact' | 'free'; - variant?: 'contained' | 'outlined' | 'ghost'; - type?: 'primary' | 'error' | 'warning' | 'success'; - prefix?: React.ReactNode; - suffix?: React.ReactNode; - align?: 'start' | 'grow'; - loading?: boolean; - fullWidth?: boolean; - disabled?: boolean; - style?: CSSProperties; - flexContent?: boolean; -} - -export function Button({ - children, - loading, - disabled, - prefix, - suffix, - align, - flexContent, - ...props -}: PropsWithChildren) { - const isDisabled = loading || disabled; return ( - - {prefix} - {children && ( - - {children} - + + {loading ? ( + + ) : ( + <> + {prefix} + {children && ( + + {children} + + )} + {suffix} + )} - {loading && } - {suffix} - + {shouldShowRipple && } + ); } + +const Button = React.forwardRef(ButtonComponent); +Button.displayName = 'Button'; + +export { Button }; diff --git a/widget/ui/src/components/Button/Button.types.tsx b/widget/ui/src/components/Button/Button.types.tsx new file mode 100644 index 0000000000..5d49f4e91a --- /dev/null +++ b/widget/ui/src/components/Button/Button.types.tsx @@ -0,0 +1,28 @@ +import type { ButtonBase } from './Button.styles'; +import type * as Stitches from '@stitches/react'; +import type { HTMLAttributes } from 'react'; + +type BaseProps = Stitches.VariantProps; +type BaseSizes = Exclude; +type BaseVariants = Exclude; +type BaseTypes = Exclude; + +export type Ref = + | ((instance: HTMLButtonElement | null) => void) + | React.RefObject + | null + | undefined; + +type ButtonElement = Omit, 'prefix'>; + +export type PropTypes = ButtonElement & { + size?: BaseSizes; + variant?: BaseVariants; + type?: BaseTypes; + loading?: boolean; + disabled?: boolean; + prefix?: React.ReactNode; + suffix?: React.ReactNode; + fullWidth?: boolean; + disableRipple?: boolean; +}; diff --git a/widget/ui/src/components/Button/Ripple.tsx b/widget/ui/src/components/Button/Ripple.tsx new file mode 100644 index 0000000000..6a8c033141 --- /dev/null +++ b/widget/ui/src/components/Button/Ripple.tsx @@ -0,0 +1,82 @@ +import React, { useEffect, useState } from 'react'; + +import { RippleContainer } from './Button.styles'; + +const DURATION = 850; + +const useDebouncedRippleCleanUp = ( + rippleCount: number, + duration: number, + cleanUpFunction: () => void +) => { + useEffect(() => { + let bounce: ReturnType | null = null; + if (rippleCount > 0) { + if (bounce) { + clearTimeout(bounce); + } + + bounce = setTimeout(() => { + cleanUpFunction(); + if (bounce) { + clearTimeout(bounce); + } + }, duration); + } + + return () => { + if (bounce) { + clearTimeout(bounce); + } + }; + }, [rippleCount, duration, cleanUpFunction]); +}; + +const Ripple = ({ duration = DURATION }: { duration?: number }) => { + const [rippleArray, setRippleArray] = useState< + { x: number; y: number; size: number }[] + >([]); + + useDebouncedRippleCleanUp(rippleArray.length, duration, () => { + setRippleArray([]); + }); + + const addRipple = (event: React.MouseEvent) => { + const rippleContainer = event.currentTarget.getBoundingClientRect(); + const size = + rippleContainer.width > rippleContainer.height + ? rippleContainer.width + : rippleContainer.height; + const x = event.pageX - rippleContainer.x - size / 2; + const y = event.pageY - rippleContainer.y - size / 2; + const newRipple = { + x, + y, + size, + }; + + setRippleArray([...rippleArray, newRipple]); + }; + + return ( + + {rippleArray.length > 0 && + rippleArray.map((ripple, index) => { + const key = 'span' + index; + return ( + + ); + })} + + ); +}; + +export default Ripple; diff --git a/widget/ui/src/components/ChainToken/ChainToken.constants.ts b/widget/ui/src/components/ChainToken/ChainToken.constants.ts new file mode 100644 index 0000000000..1dc97236e8 --- /dev/null +++ b/widget/ui/src/components/ChainToken/ChainToken.constants.ts @@ -0,0 +1,9 @@ +import type { PropTypes } from './ChainToken.types'; + +export const tokenChainSizeMap: { + [key in PropTypes['size']]: { token: number; chain: number }; +} = { + small: { token: 17, chain: 10 }, + medium: { token: 27, chain: 10 }, + large: { token: 30, chain: 15 }, +}; diff --git a/widget/ui/src/components/ChainToken/ChainToken.stories.tsx b/widget/ui/src/components/ChainToken/ChainToken.stories.tsx new file mode 100644 index 0000000000..732bd87833 --- /dev/null +++ b/widget/ui/src/components/ChainToken/ChainToken.stories.tsx @@ -0,0 +1,20 @@ +import type { PropTypes } from './ChainToken.types'; +import type { Meta } from '@storybook/react'; + +import React from 'react'; + +import { ChainToken } from './ChainToken'; + +const meta: Meta = { + title: 'Components/Chain Token', + component: ChainToken, + args: { + chainImage: 'https://api.rango.exchange/blockchains/bsc.svg', + tokenImage: 'https://api.rango.exchange/tokens/ETH/BNB.png', + size: 'medium', + }, +}; + +export default meta; + +export const Main = (args: PropTypes) => ; diff --git a/widget/ui/src/components/ChainToken/ChainToken.styles.ts b/widget/ui/src/components/ChainToken/ChainToken.styles.ts new file mode 100644 index 0000000000..1b89ad2864 --- /dev/null +++ b/widget/ui/src/components/ChainToken/ChainToken.styles.ts @@ -0,0 +1,31 @@ +import { styled } from '../../theme'; +import { Image } from '../common'; + +export const Container = styled('div', { + position: 'relative', + display: 'flex', + [`& ${Image}`]: { borderRadius: '100%' }, +}); + +export const ChainImageContainer = styled('div', { + position: 'absolute', + border: '0.5px solid $background', + borderRadius: '100%', + backgroundColor: '$background', + variants: { + size: { + small: { + right: '-3px', + bottom: '-3px', + }, + medium: { + right: '0', + bottom: '0', + }, + large: { + right: '-5px', + bottom: '-5px', + }, + }, + }, +}); diff --git a/widget/ui/src/components/ChainToken/ChainToken.tsx b/widget/ui/src/components/ChainToken/ChainToken.tsx new file mode 100644 index 0000000000..563dad0d8a --- /dev/null +++ b/widget/ui/src/components/ChainToken/ChainToken.tsx @@ -0,0 +1,58 @@ +import type { PropTypes } from './ChainToken.types'; + +import React from 'react'; + +import { Image } from '../common'; +import { Skeleton } from '../Skeleton'; + +import { tokenChainSizeMap } from './ChainToken.constants'; +import { ChainImageContainer, Container } from './ChainToken.styles'; + +export const ChainToken: React.FC = (props) => { + const { tokenImage, chainImage, size, useAsPlaceholder, loading } = props; + return ( + + {loading ? ( + + ) : ( + + )} + + {loading ? ( + + ) : ( + + )} + + + ); +}; diff --git a/widget/ui/src/components/ChainToken/ChainToken.types.ts b/widget/ui/src/components/ChainToken/ChainToken.types.ts new file mode 100644 index 0000000000..7a13b2bb36 --- /dev/null +++ b/widget/ui/src/components/ChainToken/ChainToken.types.ts @@ -0,0 +1,13 @@ +import type { ChainImageContainer } from './ChainToken.styles'; +import type * as Stitches from '@stitches/react'; + +type BaseProps = Stitches.VariantProps; +type BaseSizes = Exclude; + +export type PropTypes = { + tokenImage: string; + chainImage: string; + size: NonNullable; + useAsPlaceholder?: boolean; + loading?: boolean; +}; diff --git a/widget/ui/src/components/ChainToken/index.ts b/widget/ui/src/components/ChainToken/index.ts new file mode 100644 index 0000000000..e32f0654ab --- /dev/null +++ b/widget/ui/src/components/ChainToken/index.ts @@ -0,0 +1 @@ +export { ChainToken } from './ChainToken'; diff --git a/widget/ui/src/components/ChangeSlippageButton/ChangeSlippageButton.tsx b/widget/ui/src/components/ChangeSlippageButton/ChangeSlippageButton.tsx new file mode 100644 index 0000000000..48dfd3b6ea --- /dev/null +++ b/widget/ui/src/components/ChangeSlippageButton/ChangeSlippageButton.tsx @@ -0,0 +1,17 @@ +import React from 'react'; +import { Button } from '../Button'; +import { i18n } from '@lingui/core'; + +interface PropTypes { + onClick: () => void; +} + +export function ChangeSlippageButton(props: PropTypes) { + const { onClick } = props; + + return ( + + ); +} diff --git a/widget/ui/src/components/ChangeSlippageButton/index.ts b/widget/ui/src/components/ChangeSlippageButton/index.ts new file mode 100644 index 0000000000..af3b37ad7d --- /dev/null +++ b/widget/ui/src/components/ChangeSlippageButton/index.ts @@ -0,0 +1 @@ +export { ChangeSlippageButton } from './ChangeSlippageButton'; diff --git a/widget/ui/src/components/Checkbox/Checkbox.stories.tsx b/widget/ui/src/components/Checkbox/Checkbox.stories.tsx index ff1ac71824..f7cbaa7884 100644 --- a/widget/ui/src/components/Checkbox/Checkbox.stories.tsx +++ b/widget/ui/src/components/Checkbox/Checkbox.stories.tsx @@ -1,10 +1,17 @@ +import type { PropTypes } from './Checkbox.types'; +import type { Meta } from '@storybook/react'; + import React from 'react'; -import { ComponentMeta } from '@storybook/react'; -import { Checkbox, PropTypes } from './Checkbox'; -export default { +import { Checkbox } from './Checkbox'; + +const meta: Meta = { title: 'Components/Checkbox', component: Checkbox, + args: { + label: 'I am a checkbox', + defaultChecked: true, + }, argTypes: { label: { name: 'label', @@ -17,6 +24,10 @@ export default { defaultValue: true, }, }, -} as ComponentMeta; +}; + +export default meta; -export const Main = (props: PropTypes) => ; +export const Main = (props: PropTypes) => ( + +); diff --git a/widget/ui/src/components/Checkbox/Checkbox.styles.ts b/widget/ui/src/components/Checkbox/Checkbox.styles.ts new file mode 100644 index 0000000000..68e778a04f --- /dev/null +++ b/widget/ui/src/components/Checkbox/Checkbox.styles.ts @@ -0,0 +1,43 @@ +import * as RadixCheckbox from '@radix-ui/react-checkbox'; + +import { darkTheme, styled } from '../../theme'; + +export const CheckboxContainer = styled('div', { + display: 'flex', + alignItems: 'center', +}); + +export const CheckboxRoot = styled(RadixCheckbox.Root, { + borderRadius: '$xs', + position: 'relative', + width: '1rem', + height: '1rem', + padding: 0, + $$borderColor: '$colors$neutral600', + [`.${darkTheme} &`]: { + $$borderColor: '$colors$neutral700', + }, + border: '1px solid $$borderColor', + backgroundColor: 'transparent', + cursor: 'pointer', + '&[data-state="checked"]': { + $$color: '$colors$secondary500', + [`.${darkTheme} &`]: { + $$color: '$colors$secondary400', + }, + backgroundColor: '$$color', + borderColor: '$$color', + }, +}); + +export const CheckboxIndicator = styled(RadixCheckbox.CheckboxIndicator, { + display: 'flex', + justifyContent: 'center', + alignItems: 'center', +}); + +export const Label = styled('label', { + color: '$foreground', + fontSize: '$m', + cursor: 'pointer', +}); diff --git a/widget/ui/src/components/Checkbox/Checkbox.tsx b/widget/ui/src/components/Checkbox/Checkbox.tsx index b2dc9bcc07..9e2f973848 100644 --- a/widget/ui/src/components/Checkbox/Checkbox.tsx +++ b/widget/ui/src/components/Checkbox/Checkbox.tsx @@ -1,56 +1,36 @@ -import React, { PropsWithChildren } from 'react'; -import { styled } from '../../theme'; -import * as RadixCheckbox from '@radix-ui/react-checkbox'; -import { CheckIcon } from '../Icon'; +import type { PropTypes } from './Checkbox.types'; +import type { PropsWithChildren } from 'react'; -const CheckboxContainer = styled('div', { - display: 'flex', - alignItems: 'center', -}); +import React from 'react'; -const CheckboxRoot = styled(RadixCheckbox.Root, { - borderRadius: '5px', - width: 20, - padding: 0, - height: 20, - border: '1px solid $foreground', - display: 'flex', - alignItems: 'center', - justifyContent: 'center', - marginRight: '$2', - backgroundColor: '$neutral-100', -}); -const Label = styled('label', { - color: '$foreground', - fontSize: '$m', - marginLeft: '$8', -}); +import { DoneIcon } from '../../icons'; +import { Divider } from '../Divider'; -export interface PropTypes { - id: string; - defaultChecked?: boolean; - label: string; - checked?: boolean; - onCheckedChange?: (checked: boolean) => void; - disabled?: boolean; - name?: string; -} +import { + CheckboxContainer, + CheckboxIndicator, + CheckboxRoot, + Label, +} from './Checkbox.styles'; -export function Checkbox({ - label, - id, - ...props -}: PropsWithChildren) { +export function Checkbox(props: PropsWithChildren) { + const { id, label, ...otherProps } = props; + const hasLabel = id && label; return ( - - - - + + + + - + {hasLabel ? ( + <> + + + + ) : null} ); } diff --git a/widget/ui/src/components/Checkbox/Checkbox.types.ts b/widget/ui/src/components/Checkbox/Checkbox.types.ts new file mode 100644 index 0000000000..236baea481 --- /dev/null +++ b/widget/ui/src/components/Checkbox/Checkbox.types.ts @@ -0,0 +1,17 @@ +import type { CheckboxProps } from '@radix-ui/react-checkbox'; + +type RadixCheckboxProps = Pick< + CheckboxProps, + 'defaultChecked' | 'checked' | 'disabled' | 'name' | 'onCheckedChange' +>; + +interface WithLabelProps { + id: string; + label: React.ReactNode; +} +interface ComponentProps { + id?: never; + label?: never; +} + +export type PropTypes = RadixCheckboxProps & (ComponentProps | WithLabelProps); diff --git a/widget/ui/src/components/Chip/Chip.stories.tsx b/widget/ui/src/components/Chip/Chip.stories.tsx index a2cc25efea..50d7e8d09e 100644 --- a/widget/ui/src/components/Chip/Chip.stories.tsx +++ b/widget/ui/src/components/Chip/Chip.stories.tsx @@ -1,22 +1,40 @@ +import type { PropTypes } from './Chip.types'; + import React from 'react'; -import { ComponentMeta } from '@storybook/react'; -import { Chip, PropTypes } from './Chip'; +import { Chip } from './Chip'; export default { - title: 'Chip', + title: 'Components/Chip', component: Chip, -} as ComponentMeta; + args: { + label: 'chip', + selected: true, + }, + argTypes: { + label: { + name: 'label', + defaultValue: 'chip', + control: { + type: 'text', + }, + }, + selected: { + name: 'selected', + control: { type: 'boolean' }, + defaultValue: true, + }, + }, +}; -export const Main = (args: PropTypes) => ; +export const Main = (args: PropTypes) => ; export const ChipWithPrefix = (args: PropTypes) => ( } @@ -26,7 +44,6 @@ export const ChipWithPrefix = (args: PropTypes) => ( export const ChipWithSuffix = (args: PropTypes) => ( ; - className?: string; - style?: CSSProperties; - prefix?: React.ReactNode; - suffix?: React.ReactNode; -} +import { ChipContainer } from './Chip.styles'; export function Chip(props: PropTypes) { - const { label, selected, prefix, suffix, onClick, style } = props; + const { label, selected, prefix, suffix, ...otherProps } = props; return ( - + {prefix || null} - {label} + + {label} + {suffix || null} - + ); } diff --git a/widget/ui/src/components/Chip/Chip.types.ts b/widget/ui/src/components/Chip/Chip.types.ts new file mode 100644 index 0000000000..07c22ffb50 --- /dev/null +++ b/widget/ui/src/components/Chip/Chip.types.ts @@ -0,0 +1,15 @@ +import type { CSSProperties } from '@stitches/react'; +import type { HTMLAttributes, ReactNode } from 'react'; + +type ButtonElement = Omit, 'prefix'>; + +interface ChipProps { + label: string; + selected?: boolean; + className?: string; + style?: CSSProperties; + prefix?: ReactNode; + suffix?: ReactNode; +} + +export type PropTypes = ButtonElement & ChipProps; diff --git a/widget/ui/src/components/Collapsible/Collapsible.stories.tsx b/widget/ui/src/components/Collapsible/Collapsible.stories.tsx new file mode 100644 index 0000000000..566e32c587 --- /dev/null +++ b/widget/ui/src/components/Collapsible/Collapsible.stories.tsx @@ -0,0 +1,46 @@ +import type { CollapsibleProps } from './Collapsible.types'; + +import React, { useState } from 'react'; + +import { ChevronUpIcon } from '../../icons'; +import { Typography } from '../Typography'; + +import { CollapsibleComponent as Collapsible } from './Collapsible'; + +export default { + title: 'Components/Collapsible', + component: Collapsible, + args: { + open: false, + trigger: ( + <> + + Trigger + + + + ), + }, + argTypes: { + open: { + name: 'open', + defaultValue: false, + control: { type: 'boolean' }, + }, + }, +}; + +export const Main = (args: CollapsibleProps) => { + const [open, setOpen] = useState(false); + + return ( + setOpen(!open)}> + + Content + + + ); +}; diff --git a/widget/ui/src/components/Collapsible/Collapsible.styles.ts b/widget/ui/src/components/Collapsible/Collapsible.styles.ts new file mode 100644 index 0000000000..41ea90523c --- /dev/null +++ b/widget/ui/src/components/Collapsible/Collapsible.styles.ts @@ -0,0 +1,9 @@ +import * as Collapsible from '@radix-ui/react-collapsible'; + +import { styled } from '../../theme'; + +export const Trigger = styled(Collapsible.Trigger, { + border: 'none', + background: 'transparent', + width: '100%', +}); diff --git a/widget/ui/src/components/Collapsible/Collapsible.tsx b/widget/ui/src/components/Collapsible/Collapsible.tsx new file mode 100644 index 0000000000..b82d8ab85d --- /dev/null +++ b/widget/ui/src/components/Collapsible/Collapsible.tsx @@ -0,0 +1,21 @@ +import type { CollapsibleProps } from './Collapsible.types'; +import type { PropsWithChildren } from 'react'; + +import * as Collapsible from '@radix-ui/react-collapsible'; +import React from 'react'; + +import { CollapsibleContent } from '../common/styles'; + +import { Trigger } from './Collapsible.styles'; + +export function CollapsibleComponent( + props: PropsWithChildren +) { + const { open, onOpenChange, trigger, children, ...otherProps } = props; + return ( + + {trigger} + {children} + + ); +} diff --git a/widget/ui/src/components/Collapsible/Collapsible.types.ts b/widget/ui/src/components/Collapsible/Collapsible.types.ts new file mode 100644 index 0000000000..5ba1520927 --- /dev/null +++ b/widget/ui/src/components/Collapsible/Collapsible.types.ts @@ -0,0 +1,7 @@ +import type React from 'react'; + +export interface CollapsibleProps { + trigger: React.ReactNode; + open: boolean; + onOpenChange: (open: boolean) => void; +} diff --git a/widget/ui/src/components/Collapsible/index.ts b/widget/ui/src/components/Collapsible/index.ts new file mode 100644 index 0000000000..0f61d18f82 --- /dev/null +++ b/widget/ui/src/components/Collapsible/index.ts @@ -0,0 +1 @@ +export { CollapsibleComponent as Collapsible } from './Collapsible'; diff --git a/widget/ui/src/components/ColorPicker/ColorPicker.stories.tsx b/widget/ui/src/components/ColorPicker/ColorPicker.stories.tsx deleted file mode 100644 index 067fab6a1b..0000000000 --- a/widget/ui/src/components/ColorPicker/ColorPicker.stories.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import React, { useState } from 'react'; -import { ComponentMeta } from '@storybook/react'; -import { ColorPicker, PropTypes } from './ColorPicker'; - -export default { - title: 'Components/ColorPicker', - component: ColorPicker, - argTypes: { - place: { - name: 'place', - control: { type: 'select' }, - options: ['top', 'bottom', 'left', 'right'], - defaultValue: 'top', - }, - }, -} as ComponentMeta; - -export const Main = (args: PropTypes) => { - const [color, setColor] = useState('#5FA425'); - return ( -
- setColor(color.hex)} - /> -
- ); -}; diff --git a/widget/ui/src/components/ColorPicker/ColorPicker.tsx b/widget/ui/src/components/ColorPicker/ColorPicker.tsx deleted file mode 100644 index 31f4037f42..0000000000 --- a/widget/ui/src/components/ColorPicker/ColorPicker.tsx +++ /dev/null @@ -1,85 +0,0 @@ -import React, { useState } from 'react'; -import { ChromePicker, ColorResult } from 'react-color'; -import { styled } from '../../theme'; -import { Button } from '../Button'; - -const Container = styled('div', { - position: 'relative', -}); - -const Color = styled('div', { - border: '1px solid $neutrals300', - borderRadius: '$5', - width: '$32', - height: '$32', -}); -const Cover = styled('div', { - position: 'fixed', - top: '0px', - right: '0px', - bottom: '0px', - left: '0px', -}); -const Popover = styled('div', { - position: 'absolute', - zIndex: '2', - variants: { - place: { - top: { - top: '-241px', - }, - bottom: {}, - left: { - top: '-50%', - left: '-225px', - }, - right: { - top: '-50%', - right: '-225px', - }, - }, - }, -}); -export interface PropTypes { - color: string; - place: 'top' | 'bottom' | 'left' | 'right'; - onChangeColor: ( - color: ColorResult, - event: React.ChangeEvent - ) => void; - label?: string; -} - -const Label = styled('label', { - display: 'inline-block', - fontSize: '$14', - marginBottom: '$4', - color: '$foreground', -}); - -export function ColorPicker({ color, onChangeColor, label, place }: PropTypes) { - const [displayColorPicker, setDisplayColorPicker] = useState(false); - - return ( - - - - - {displayColorPicker && ( - - setDisplayColorPicker(false)} /> - - - )} - - ); -} diff --git a/widget/ui/src/components/ColorPicker/index.ts b/widget/ui/src/components/ColorPicker/index.ts deleted file mode 100644 index 9fad6294d9..0000000000 --- a/widget/ui/src/components/ColorPicker/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { ColorPicker } from './ColorPicker'; diff --git a/widget/ui/src/components/ConnectWalletsModal/ConnectWallets.stories.tsx b/widget/ui/src/components/ConnectWalletsModal/ConnectWallets.stories.tsx deleted file mode 100644 index a768621da9..0000000000 --- a/widget/ui/src/components/ConnectWalletsModal/ConnectWallets.stories.tsx +++ /dev/null @@ -1,13 +0,0 @@ -import React from 'react'; -import { ComponentMeta } from '@storybook/react'; -import { ConnectWalletsModal, PropTypes } from './ConnectWalletsModal'; -import { walletsInfo } from './mockData'; - -export default { - title: 'Connect Wallets Modal', - component: ConnectWalletsModal, -} as ComponentMeta; - -export const Main = (args: PropTypes) => ( - -); diff --git a/widget/ui/src/components/ConnectWalletsModal/mockData.ts b/widget/ui/src/components/ConnectWalletsModal/mockData.ts deleted file mode 100644 index 3ea2e1b8f2..0000000000 --- a/widget/ui/src/components/ConnectWalletsModal/mockData.ts +++ /dev/null @@ -1,134 +0,0 @@ -import { WalletInfo, WalletState } from '../../types/wallet'; -import { WalletType } from '@rango-dev/wallets-shared'; - -export const walletsInfo: WalletInfo[] = [ - { - image: 'https://app.rango.exchange/wallets/coinbase.svg', - name: 'Coinbase', - state: WalletState.DISCONNECTED, - installLink: '', - type: WalletType.COINBASE, - showOnMobile: true, - }, - { - image: 'https://app.rango.exchange/wallets/coinbase.svg', - name: 'Coinbase', - state: WalletState.CONNECTED, - installLink: '', - type: WalletType.COINBASE, - showOnMobile: true, - }, - { - image: 'https://app.rango.exchange/wallets/coinbase.svg', - name: 'Coinbase', - state: WalletState.CONNECTING, - installLink: '', - type: WalletType.COINBASE, - showOnMobile: true, - }, - { - image: 'https://app.rango.exchange/wallets/coinbase.svg', - name: 'Coinbase', - state: WalletState.NOT_INSTALLED, - type: WalletType.COINBASE, - showOnMobile: true, - installLink: - 'https://chrome.google.com/webstore/detail/coinbase-wallet-extension/hnfanknocfeofbddgcijnmhnfnkdnaad?hl=en', - }, - { - image: 'https://app.rango.exchange/wallets/coinbase.svg', - name: 'Coinbase', - state: WalletState.DISCONNECTED, - installLink: '', - type: WalletType.COINBASE, - showOnMobile: true, - }, - { - image: 'https://app.rango.exchange/wallets/coinbase.svg', - name: 'Coinbase', - state: WalletState.CONNECTED, - installLink: '', - type: WalletType.COINBASE, - showOnMobile: true, - }, - { - image: 'https://app.rango.exchange/wallets/coinbase.svg', - name: 'Coinbase', - state: WalletState.DISCONNECTED, - installLink: '', - type: WalletType.COINBASE, - showOnMobile: true, - }, - { - image: 'https://app.rango.exchange/wallets/coinbase.svg', - name: 'Coinbase', - state: WalletState.DISCONNECTED, - installLink: '', - type: WalletType.COINBASE, - showOnMobile: true, - }, - { - image: 'https://app.rango.exchange/wallets/coinbase.svg', - name: 'Coinbase', - state: WalletState.DISCONNECTED, - installLink: '', - type: WalletType.COINBASE, - showOnMobile: true, - }, - { - image: 'https://app.rango.exchange/wallets/coinbase.svg', - name: 'Coinbase', - state: WalletState.DISCONNECTED, - installLink: '', - type: WalletType.COINBASE, - showOnMobile: true, - }, - { - image: 'https://app.rango.exchange/wallets/coinbase.svg', - name: 'Coinbase', - state: WalletState.DISCONNECTED, - installLink: '', - type: WalletType.COINBASE, - showOnMobile: true, - }, - { - image: 'https://app.rango.exchange/wallets/coinbase.svg', - name: 'Coinbase', - state: WalletState.DISCONNECTED, - installLink: '', - type: WalletType.COINBASE, - showOnMobile: true, - }, - { - image: 'https://app.rango.exchange/wallets/coinbase.svg', - name: 'Coinbase', - state: WalletState.DISCONNECTED, - installLink: '', - type: WalletType.COINBASE, - showOnMobile: true, - }, - { - image: 'https://app.rango.exchange/wallets/coinbase.svg', - name: 'Coinbase', - state: WalletState.DISCONNECTED, - installLink: '', - type: WalletType.COINBASE, - showOnMobile: true, - }, - { - image: 'https://app.rango.exchange/wallets/coinbase.svg', - name: 'Coinbase', - state: WalletState.DISCONNECTED, - installLink: '', - type: WalletType.COINBASE, - showOnMobile: true, - }, - { - image: 'https://app.rango.exchange/wallets/coinbase.svg', - name: 'Coinbase', - state: WalletState.DISCONNECTED, - installLink: '', - type: WalletType.COINBASE, - showOnMobile: true, - }, -]; diff --git a/widget/ui/src/components/Divider/Divider.tsx b/widget/ui/src/components/Divider/Divider.tsx index 707b150333..e06f1427e0 100644 --- a/widget/ui/src/components/Divider/Divider.tsx +++ b/widget/ui/src/components/Divider/Divider.tsx @@ -1,41 +1,146 @@ +/* eslint-disable @typescript-eslint/no-magic-numbers */ import React from 'react'; + import { styled } from '../../theme'; const DividerContainer = styled('div', { + flexShrink: 0, variants: { size: { - 4: { + 4: {}, + 8: {}, + 12: {}, + 16: {}, + 18: {}, + 20: {}, + 24: {}, + 32: {}, + }, + direction: { + vertical: {}, + horizontal: {}, + }, + }, + compoundVariants: [ + { + size: 4, + direction: 'horizontal', + css: { + width: '$4', + }, + }, + { + size: 4, + direction: 'vertical', + css: { height: '$4', }, - 8: { + }, + { + size: 8, + direction: 'horizontal', + css: { + width: '$8', + }, + }, + { + size: 8, + direction: 'vertical', + css: { height: '$8', }, - 12: { + }, + { + size: 12, + direction: 'horizontal', + css: { + width: '$12', + }, + }, + { + size: 12, + direction: 'vertical', + css: { height: '$12', }, - 16: { + }, + { + size: 16, + direction: 'horizontal', + css: { + width: '$16', + }, + }, + { + size: 16, + direction: 'vertical', + css: { height: '$16', }, - 18: { + }, + { + size: 18, + direction: 'horizontal', + css: { + width: '$18', + }, + }, + { + size: 18, + direction: 'vertical', + css: { height: '$18', }, - 20: { + }, + { + size: 20, + direction: 'horizontal', + css: { + width: '$20', + }, + }, + { + size: 20, + direction: 'vertical', + css: { height: '$20', }, - 24: { + }, + { + size: 24, + direction: 'horizontal', + css: { + width: '$24', + }, + }, + { + size: 24, + direction: 'vertical', + css: { height: '$24', }, - 32: { + }, + { + size: 32, + direction: 'horizontal', + css: { + width: '$32', + }, + }, + { + size: 32, + direction: 'vertical', + css: { height: '$32', }, }, - }, + ], }); export interface PropTypes { size?: 4 | 8 | 12 | 16 | 18 | 20 | 24 | 32; direction?: 'vertical' | 'horizontal'; } -export function Divider({ size = 12 }: PropTypes) { - return ; +export function Divider({ size = 12, direction = 'vertical' }: PropTypes) { + return ; } diff --git a/widget/ui/src/components/Drawer/Drawer.stories.tsx b/widget/ui/src/components/Drawer/Drawer.stories.tsx index f0bee4d376..01e895fff3 100644 --- a/widget/ui/src/components/Drawer/Drawer.stories.tsx +++ b/widget/ui/src/components/Drawer/Drawer.stories.tsx @@ -1,10 +1,17 @@ +import type { PropTypes } from './Drawer.types'; +import type { Meta } from '@storybook/react'; + import React, { useState } from 'react'; -import { ComponentMeta } from '@storybook/react'; -import { Drawer, PropTypes } from './Drawer'; + +import { Drawer } from './Drawer'; export default { name: 'Components/Drawer', component: Drawer, + args: { + anchor: 'bottom', + title: 'I`m Drawer', + }, argTypes: { anchor: { name: 'anchor', @@ -13,19 +20,14 @@ export default { defaultValue: 'bottom', }, }, -} as ComponentMeta; +} as Meta; export const Main = (args: PropTypes) => { const [open, setOpen] = useState(false); return (
- setOpen(false)} - /> + setOpen(false)} />
); }; @@ -44,20 +46,13 @@ export const BottomAnchor = (args: PropTypes) => { return (
- setOpen(false)} - anchor="bottom" - content={ -
- {Array.from({ length: 50 }, (_, index) => ( -
Test {index}
- ))} -
- } - /> + setOpen(false)}> +
+ {Array.from({ length: 50 }, (_, index) => ( +
Test {index}
+ ))} +
+
); }; @@ -70,17 +65,14 @@ export const LeftAnchor = (args: PropTypes) => { setOpen(false)} - anchor="left" - content={ -
- {Array.from({ length: 50 }, (_, index) => ( - Test {index} - ))} -
- } - /> + anchor="left"> +
+ {Array.from({ length: 50 }, (_, index) => ( + Test {index} + ))} +
+
); }; diff --git a/widget/ui/src/components/Drawer/Drawer.styles.ts b/widget/ui/src/components/Drawer/Drawer.styles.ts new file mode 100644 index 0000000000..2ffed51346 --- /dev/null +++ b/widget/ui/src/components/Drawer/Drawer.styles.ts @@ -0,0 +1,67 @@ +import { styled } from '../../theme'; + +export const BackDrop = styled('div', { + position: 'absolute', + top: '0', + left: '0', + width: '100%', + height: '100%', + zIndex: 9999999, + backgroundColor: 'rgba(0,0,0,.1)', + borderRadius: '$sm', +}); + +export const DrawerContainer = styled('div', { + position: 'absolute', + background: '$background', + padding: '$10 $20', + borderRadius: '$sm', + display: 'flex', + flexDirection: 'column', + justifyContent: 'space-between', + zIndex: 9999999, + boxSizing: 'border-box', + variants: { + anchor: { + left: { + top: 0, + left: 0, + height: '100%', + minWidth: '300px', + maxWidth: '90%', + }, + right: { + top: 0, + right: 0, + height: '100%', + minWidth: '300px', + maxWidth: '90%', + }, + bottom: { + bottom: 0, + width: '100%', + maxHeight: '90%', + }, + top: { + top: 0, + width: '100%', + maxHeight: '90%', + }, + }, + }, +}); + +export const DrawerHeader = styled('div', { + display: 'flex', + justifyContent: 'space-between', + alignItems: 'center', + position: 'relative', +}); + +export const Body = styled('div', { + overflowY: 'auto', + height: '100%', +}); +export const Footer = styled('footer', { + width: '100%', +}); diff --git a/widget/ui/src/components/Drawer/Drawer.tsx b/widget/ui/src/components/Drawer/Drawer.tsx index d014eb7ee6..fac9bc0576 100644 --- a/widget/ui/src/components/Drawer/Drawer.tsx +++ b/widget/ui/src/components/Drawer/Drawer.tsx @@ -1,119 +1,61 @@ +import type { PropTypes } from './Drawer.types'; +import type { PropsWithChildren } from 'react'; + import React from 'react'; -import { styled } from '../../theme'; -import { CloseIcon } from '../Icon'; -import { Typography } from '../Typography'; import { createPortal } from 'react-dom'; -export interface PropTypes { - title?: string; - open: boolean; - onClose: () => void; - content: React.ReactNode; - containerStyle?: React.CSSProperties; - anchor?: 'bottom' | 'left' | 'right' | 'top'; - showClose?: boolean; - footer?: React.ReactNode; - container: Element | null; -} - -const BackDrop = styled('div', { - position: 'absolute', - top: '0', - left: '0', - width: '100%', - height: '100%', - zIndex: 9999999, - backgroundColor: 'rgba(0,0,0,.1)', - borderRadius: '$10', -}); - -const DrawerContainer = styled('div', { - position: 'absolute', - boxShadow: '$s', - background: '$background', - padding: '$20', - display: 'flex', - flexDirection: 'column', - justifyContent: 'space-between', - zIndex: 9999999, - borderRadius: '$10', - - variants: { - anchor: { - left: { - top: 0, - left: 0, - height: '100%', - minWidth: '300px', - maxWidth: '90%', - }, - right: { - top: 0, - right: 0, - height: '100%', - minWidth: '300px', - maxWidth: '90%', - }, - bottom: { - bottom: 0, - width: '100%', - maxHeight: '90%', - }, - top: { - top: 0, - width: '100%', - maxHeight: '90%', - }, - }, - }, -}); - -const DrawerHeader = styled('div', { - display: 'flex', - justifyContent: 'space-between', - alignItems: 'center', - position: 'relative', - marginBottom: '$16', -}); +import { CloseIcon } from '../../icons'; +import { Divider } from '../Divider'; +import { IconButton } from '../IconButton/IconButton'; +import { Typography } from '../Typography'; -const Body = styled('div', { - overflowY: 'auto', - height: '100%', -}); -const Footer = styled('footer', { - width: '100%', - marginTop: '$28', -}); +import { + BackDrop, + Body, + DrawerContainer, + DrawerHeader, + Footer, +} from './Drawer.styles'; -export function Drawer(props: PropTypes) { +export function Drawer(props: PropsWithChildren) { const { title, - content, open, onClose, - containerStyle, anchor = 'bottom', - showClose = false, + dismissible = true, footer, - container, + container = document.body, + prefix, + children, } = props; const handleBackDropClick = (event: React.MouseEvent) => { - if (event.target === event.currentTarget) onClose(); + if (event.target === event.currentTarget && dismissible) { + onClose(); + } }; return ( <> - {open && - container && + {container && + open && createPortal( - + - {title} - {showClose && } + {prefix} + + {title} + + {dismissible && ( + + + + )} - {content} + + {children}
{footer}
, diff --git a/widget/ui/src/components/Drawer/Drawer.types.ts b/widget/ui/src/components/Drawer/Drawer.types.ts new file mode 100644 index 0000000000..59f4abfc3a --- /dev/null +++ b/widget/ui/src/components/Drawer/Drawer.types.ts @@ -0,0 +1,17 @@ +import type { DrawerContainer } from './Drawer.styles'; +import type * as Stitches from '@stitches/react'; + +type BaseProps = Stitches.VariantProps; +type BaseAnchor = Exclude; + +export interface PropTypes { + title?: string; + open: boolean; + onClose: () => void; + anchor?: BaseAnchor; + dismissible?: boolean; + footer?: React.ReactNode; + container?: Element | null; + hasLogo?: boolean; + prefix?: React.ReactNode; +} diff --git a/widget/ui/src/components/Flags/English.tsx b/widget/ui/src/components/Flags/English.tsx new file mode 100644 index 0000000000..a38c3a4a7b --- /dev/null +++ b/widget/ui/src/components/Flags/English.tsx @@ -0,0 +1,35 @@ +import type { FlagPropTypes } from './Flags.types'; + +import React from 'react'; + +import { DEFAULT_SIZE } from './Flags.constants'; + +export default function English(props: FlagPropTypes) { + const { size = DEFAULT_SIZE } = props; + + return ( + + + + + + + + + + + ); +} diff --git a/widget/ui/src/components/Flags/Flags.constants.ts b/widget/ui/src/components/Flags/Flags.constants.ts new file mode 100644 index 0000000000..eb52995038 --- /dev/null +++ b/widget/ui/src/components/Flags/Flags.constants.ts @@ -0,0 +1 @@ +export const DEFAULT_SIZE = '1em'; diff --git a/widget/ui/src/components/Flags/Flags.types.ts b/widget/ui/src/components/Flags/Flags.types.ts new file mode 100644 index 0000000000..538f5e4926 --- /dev/null +++ b/widget/ui/src/components/Flags/Flags.types.ts @@ -0,0 +1,3 @@ +export type FlagPropTypes = { + size?: number; +}; diff --git a/widget/ui/src/components/Flags/French.tsx b/widget/ui/src/components/Flags/French.tsx new file mode 100644 index 0000000000..4c7d596703 --- /dev/null +++ b/widget/ui/src/components/Flags/French.tsx @@ -0,0 +1,26 @@ +import type { FlagPropTypes } from './Flags.types'; + +import React from 'react'; + +import { DEFAULT_SIZE } from './Flags.constants'; + +export default function French(props: FlagPropTypes) { + const { size = DEFAULT_SIZE } = props; + + return ( + + + + + + + + + + + ); +} diff --git a/widget/ui/src/components/Flags/Japanese.tsx b/widget/ui/src/components/Flags/Japanese.tsx new file mode 100644 index 0000000000..fe3d60a6bc --- /dev/null +++ b/widget/ui/src/components/Flags/Japanese.tsx @@ -0,0 +1,25 @@ +import type { FlagPropTypes } from './Flags.types'; + +import React from 'react'; + +import { DEFAULT_SIZE } from './Flags.constants'; + +export default function Japanese(props: FlagPropTypes) { + const { size = DEFAULT_SIZE } = props; + + return ( + + + + + + + + + + ); +} diff --git a/widget/ui/src/components/Flags/Spanish.tsx b/widget/ui/src/components/Flags/Spanish.tsx new file mode 100644 index 0000000000..e34648b9c7 --- /dev/null +++ b/widget/ui/src/components/Flags/Spanish.tsx @@ -0,0 +1,85 @@ +import type { FlagPropTypes } from './Flags.types'; + +import React from 'react'; + +import { DEFAULT_SIZE } from './Flags.constants'; + +export default function Spanish(props: FlagPropTypes) { + const { size = DEFAULT_SIZE } = props; + + return ( + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); +} diff --git a/widget/ui/src/components/Flags/index.ts b/widget/ui/src/components/Flags/index.ts new file mode 100644 index 0000000000..1c963cfbf6 --- /dev/null +++ b/widget/ui/src/components/Flags/index.ts @@ -0,0 +1,8 @@ +import English from './English'; +import French from './French'; +import Japanese from './Japanese'; +import Spanish from './Spanish'; + +export type { FlagPropTypes } from './Flags.types'; + +export { English, Spanish, Japanese, French }; diff --git a/widget/ui/src/components/Header/Header.stories.tsx b/widget/ui/src/components/Header/Header.stories.tsx new file mode 100644 index 0000000000..8258aee3d6 --- /dev/null +++ b/widget/ui/src/components/Header/Header.stories.tsx @@ -0,0 +1,18 @@ +import type { Meta, StoryObj } from '@storybook/react'; + +import { Header } from './Header'; + +const meta: Meta = { + component: Header, +}; + +export default meta; +type Story = StoryObj; + +export const Main: Story = { + args: { + title: 'Swap', + prefix: 'hello', + suffix: 'world', + }, +}; diff --git a/widget/ui/src/components/Header/Header.styles.ts b/widget/ui/src/components/Header/Header.styles.ts new file mode 100644 index 0000000000..c2fdf5d205 --- /dev/null +++ b/widget/ui/src/components/Header/Header.styles.ts @@ -0,0 +1,22 @@ +import { darkTheme, styled } from '../../theme'; + +export const Container = styled('div', { + display: 'flex', + justifyContent: 'space-between', + alignItems: 'center', + padding: '$15 $20', + $$color: '$colors$neutral100', + [`.${darkTheme} &`]: { + $$color: '$colors$neutral300', + }, + backgroundColor: '$$color', + position: 'relative', + borderTopRightRadius: '$primary', + borderTopLeftRadius: '$primary', +}); + +export const Suffix = styled('div', { + display: 'flex', + alignItems: 'center', + gap: '$5', +}); diff --git a/widget/ui/src/components/Header/Header.tsx b/widget/ui/src/components/Header/Header.tsx index 7ee8cffc34..3f7d6198b3 100644 --- a/widget/ui/src/components/Header/Header.tsx +++ b/widget/ui/src/components/Header/Header.tsx @@ -1,39 +1,24 @@ -import { styled } from '../../theme'; -import React, { PropsWithChildren } from 'react'; -import { AngleLeftIcon } from '../Icon'; -import { Typography } from '../Typography'; -import { Button } from '../Button'; +import type { PropTypes } from './Header.types'; +import type { PropsWithChildren } from 'react'; -const HeaderContainer = styled('div', { - display: 'flex', - justifyContent: 'space-between', - alignItems: 'center', - padding: '$8 0', - position: 'relative', -}); +import React from 'react'; -const BackButton = styled(Button, { - padding: '$8', -}); +import { Typography } from '../Typography'; -interface PropTypes { - onBack?: () => void; - prefix?: React.ReactNode; - suffix?: React.ReactNode; - title: string; -} +import { Container, Suffix } from './Header.styles'; -export function Header(props: PropsWithChildren) { +export function Header({ + prefix, + suffix, + title, +}: PropsWithChildren) { return ( - - {props.onBack ? ( - - - - ) : null} - {props.prefix} - {props.title} - {props.suffix ||
} -
+ + {prefix} + + {title} + + {suffix} + ); } diff --git a/widget/ui/src/components/Header/Header.types.ts b/widget/ui/src/components/Header/Header.types.ts new file mode 100644 index 0000000000..bfa520b0f8 --- /dev/null +++ b/widget/ui/src/components/Header/Header.types.ts @@ -0,0 +1,5 @@ +export interface PropTypes { + prefix?: React.ReactNode; + suffix?: React.ReactNode; + title: string; +} diff --git a/widget/ui/src/components/I18nManager/I18nManager.tsx b/widget/ui/src/components/I18nManager/I18nManager.tsx new file mode 100644 index 0000000000..dcc3c60662 --- /dev/null +++ b/widget/ui/src/components/I18nManager/I18nManager.tsx @@ -0,0 +1,51 @@ +import type { PropsWithChildren } from 'react'; + +import { i18n } from '@lingui/core'; +import { I18nProvider } from '@lingui/react'; +import React, { useEffect, useReducer } from 'react'; + +/* + *Note: esbuild doesn't work properly with paths yet, so I couldn't use `paths` to make this path shorter. + *e.g: + *"paths": { + * "translations/*": ["../../translations/*"] + *} + */ +import { messages as enMessages } from '../../../../../translations/en'; +import { messages as esMessages } from '../../../../../translations/es'; +import { messages as frMessages } from '../../../../../translations/fr'; +import { messages as jaMessages } from '../../../../../translations/ja'; + +const messages = { + en: enMessages, + es: esMessages, + ja: jaMessages, + fr: frMessages, +}; + +i18n.load(messages); + +export type Language = keyof typeof messages; +interface PropTypes { + language: Language; +} + +function I18nManager(props: PropsWithChildren) { + const [count, forceUpdate] = useReducer((x) => x + 1, 0); + useEffect(() => { + i18n.on('change', () => { + forceUpdate(); + }); + }, [i18n]); + useEffect(() => { + i18n.activate(props.language); + }, [props.language]); + + return ( + + {props.children} + + ); +} + +export { I18nManager }; diff --git a/widget/ui/src/components/I18nManager/index.ts b/widget/ui/src/components/I18nManager/index.ts new file mode 100644 index 0000000000..f8c28e5602 --- /dev/null +++ b/widget/ui/src/components/I18nManager/index.ts @@ -0,0 +1,2 @@ +export { I18nManager } from './I18nManager'; +export type { Language } from './I18nManager'; diff --git a/widget/ui/src/components/Icon/AddCircleIcon.tsx b/widget/ui/src/components/Icon/AddCircleIcon.tsx index c5c36a67ba..8690978b25 100644 --- a/widget/ui/src/components/Icon/AddCircleIcon.tsx +++ b/widget/ui/src/components/Icon/AddCircleIcon.tsx @@ -16,8 +16,7 @@ export const AddCircleIcon: React.FC = ({ fill="none" xmlns="http://www.w3.org/2000/svg" className="_icon" - {...props} - > + {...props}> = ({ fill="none" xmlns="http://www.w3.org/2000/svg" className="_icon" - {...props} - > + {...props}> = ({ fill="none" xmlns="http://www.w3.org/2000/svg" className="_icon" - {...props} - > + {...props}> = ({ fill="none" xmlns="http://www.w3.org/2000/svg" className="_icon" - {...props} - > + {...props}> = ({ color={color} xmlns="http://www.w3.org/2000/svg" className="_icon" - {...props} - > + {...props}> = ({ viewBox="0 0 24 24" color={color} className="_icon" - {...props} - > + {...props}> = ({ viewBox="0 0 24 24" color={color} className="_icon" - {...props} - > + {...props}> = ({ color={color} fill="none" stroke="currentColor" - stroke-width="2" - stroke-linecap="round" - stroke-linejoin="round" + strokeWidth="2" + strokeLinecap="round" + strokeLinejoin="round" xmlns="http://www.w3.org/2000/svg" className="_icon" - {...props} - > + {...props}> diff --git a/widget/ui/src/components/Icon/BagIcon.tsx b/widget/ui/src/components/Icon/BagIcon.tsx index 225528c3d6..f9b7fbd422 100644 --- a/widget/ui/src/components/Icon/BagIcon.tsx +++ b/widget/ui/src/components/Icon/BagIcon.tsx @@ -16,8 +16,7 @@ export const BagIcon: React.FC = ({ fill="none" xmlns="http://www.w3.org/2000/svg" className="_icon" - {...props} - > + {...props}> = ({ fill="none" xmlns="http://www.w3.org/2000/svg" className="_icon" - {...props} - > + {...props}> = ({ fill="none" xmlns="http://www.w3.org/2000/svg" className="_icon" - {...props} - > + {...props}> = ({ xmlns="http://www.w3.org/2000/svg" color={color} className="_icon" - {...props} - > + {...props}> = ({ fill="none" xmlns="http://www.w3.org/2000/svg" className="_icon" - {...props} - > + {...props}> = ({ fill="none" xmlns="http://www.w3.org/2000/svg" className="_icon" - {...props} - > + {...props}> ( viewBox={`0 0 24 24`} fill="none" stroke="currentColor" - stroke-width="2" - stroke-linecap="round" - stroke-linejoin="round" + strokeWidth="2" + strokeLinecap="round" + strokeLinejoin="round" className="_icon" {...props} - ref={forwardedRef} - > + ref={forwardedRef}> ); diff --git a/widget/ui/src/components/Icon/CopyIcon.tsx b/widget/ui/src/components/Icon/CopyIcon.tsx index 25c2eb37cd..7ef45798f8 100644 --- a/widget/ui/src/components/Icon/CopyIcon.tsx +++ b/widget/ui/src/components/Icon/CopyIcon.tsx @@ -15,8 +15,7 @@ export const CopyIcon: React.FC = ({ color={color} xmlns="http://www.w3.org/2000/svg" className="_icon" - {...props} - > + {...props}> + {...props}> = ({ fill="none" xmlns="http://www.w3.org/2000/svg" className="_icon" - {...props} - > + {...props}> ( viewBox={`0 0 24 24`} fill="none" stroke="currentColor" - stroke-width="2" - stroke-linecap="round" - stroke-linejoin="round" + strokeWidth="2" + strokeLinecap="round" + strokeLinejoin="round" className="_icon" {...props} - ref={forwardedRef} - > + ref={forwardedRef}> diff --git a/widget/ui/src/components/Icon/DownloadIcon.tsx b/widget/ui/src/components/Icon/DownloadIcon.tsx index dfaff78bb6..3312cf9ddc 100644 --- a/widget/ui/src/components/Icon/DownloadIcon.tsx +++ b/widget/ui/src/components/Icon/DownloadIcon.tsx @@ -16,8 +16,7 @@ export const DownloadIcon: React.FC = ({ fill="none" xmlns="http://www.w3.org/2000/svg" className="_icon" - {...props} - > + {...props}> = ({ size = 16, @@ -16,8 +19,7 @@ export const GasIcon: React.FC = ({ fill="none" xmlns="http://www.w3.org/2000/svg" className="_icon" - {...props} - > + {...props}> = ({ color={color} fill="none" stroke="currentColor" - stroke-width="2" - stroke-linecap="round" - stroke-linejoin="round" + strokeWidth="2" + strokeLinecap="round" + strokeLinejoin="round" xmlns="http://www.w3.org/2000/svg" className="_icon" - {...props} - > + {...props}> diff --git a/widget/ui/src/components/Icon/HorizontalSwapIcon.tsx b/widget/ui/src/components/Icon/HorizontalSwapIcon.tsx index e2c3bb7f8e..6d67305a39 100644 --- a/widget/ui/src/components/Icon/HorizontalSwapIcon.tsx +++ b/widget/ui/src/components/Icon/HorizontalSwapIcon.tsx @@ -16,8 +16,7 @@ export const HorizontalSwapIcon: React.FC = ({ fill="none" xmlns="http://www.w3.org/2000/svg" className="_icon" - {...props} - > + {...props}> ; +} as Meta; const Container = styled('div', { display: 'grid', @@ -31,7 +35,7 @@ const Container = styled('div', { export const Main = (props: IconProps) => ( - {Object.keys(Icons).map(icon => { + {Object.keys(Icons).map((icon) => { const Component = Icons[icon as Icon]; return (
diff --git a/widget/ui/src/components/Icon/InfoCircleIcon.tsx b/widget/ui/src/components/Icon/InfoCircleIcon.tsx index 65b9f05f39..1505f9c1d7 100644 --- a/widget/ui/src/components/Icon/InfoCircleIcon.tsx +++ b/widget/ui/src/components/Icon/InfoCircleIcon.tsx @@ -16,8 +16,7 @@ export const InfoCircleIcon: React.FC = ({ fill="none" xmlns="http://www.w3.org/2000/svg" className="_icon" - {...props} - > + {...props}> = ({ fill="none" xmlns="http://www.w3.org/2000/svg" className="_icon" - {...props} - > + {...props}> ( viewBox={`0 0 24 24`} fill="none" stroke="currentColor" - stroke-width="2" - stroke-linecap="round" - stroke-linejoin="round" + strokeWidth="2" + strokeLinecap="round" + strokeLinejoin="round" className="_icon" {...props} - ref={forwardedRef} - > + ref={forwardedRef}> diff --git a/widget/ui/src/components/Icon/RetryLeftIcon.tsx b/widget/ui/src/components/Icon/RetryLeftIcon.tsx index 3df493267c..47f2f4795a 100644 --- a/widget/ui/src/components/Icon/RetryLeftIcon.tsx +++ b/widget/ui/src/components/Icon/RetryLeftIcon.tsx @@ -16,8 +16,7 @@ export const RetryLeftIcon: React.FC = ({ fill="none" xmlns="http://www.w3.org/2000/svg" className="_icon" - {...props} - > + {...props}> = ({ fill="none" xmlns="http://www.w3.org/2000/svg" className="_icon" - {...props} - > + {...props}> = ({ fill="none" xmlns="http://www.w3.org/2000/svg" className="_icon" - {...props} - > + {...props}> = ({ fill="none" xmlns="http://www.w3.org/2000/svg" className="_icon" - {...props} - > + {...props}> = ({ viewBox="0 0 24 24" color={color} stroke="currentColor" - stroke-width="2" - stroke-linecap="round" - stroke-linejoin="round" + strokeWidth="2" + strokeLinecap="round" + strokeLinejoin="round" fill="none" xmlns="http://www.w3.org/2000/svg" className="_icon" - {...props} - > + {...props}> diff --git a/widget/ui/src/components/Icon/SignatureIcon.tsx b/widget/ui/src/components/Icon/SignatureIcon.tsx index 8df2f2000b..5731cdbda1 100644 --- a/widget/ui/src/components/Icon/SignatureIcon.tsx +++ b/widget/ui/src/components/Icon/SignatureIcon.tsx @@ -16,8 +16,7 @@ export const SignatureIcon: React.FC = ({ viewBox="0 0 122.88 107.95" xmlSpace="preserve" className="_icon" - {...props} - > + {...props}> = ({ fill="none" xmlns="http://www.w3.org/2000/svg" className="_icon" - {...props} - > + {...props}> ( xmlns="http://www.w3.org/2000/svg" className="_icon" {...props} - ref={forwardedRef} - > + ref={forwardedRef}> = ({ fill="none" xmlns="http://www.w3.org/2000/svg" className="_icon" - {...props} - > + {...props}> = ({ fill="none" xmlns="http://www.w3.org/2000/svg" className="_icon" - {...props} - > + {...props}> = ({ fill="none" xmlns="http://www.w3.org/2000/svg" className="_icon" - {...props} - > + {...props}> = ({ fill="none" xmlns="http://www.w3.org/2000/svg" className="_icon" - {...props} - > + {...props}> = ({ fill="none" xmlns="http://www.w3.org/2000/svg" className="_icon" - {...props} - > + {...props}> = { + component: IconButton, +}; + +export default meta; + +export const Main = (props: PropTypes) => ( + + + +); diff --git a/widget/ui/src/components/IconButton/IconButton.tsx b/widget/ui/src/components/IconButton/IconButton.tsx new file mode 100644 index 0000000000..72f74bcc2d --- /dev/null +++ b/widget/ui/src/components/IconButton/IconButton.tsx @@ -0,0 +1,33 @@ +import type { PropTypes } from './IconButton.types'; +import type { PropsWithChildren, Ref } from 'react'; + +import React from 'react'; + +import { Button } from '../Button'; + +// border-radius: 100% + overflow: hidden +function IconButtonComponent( + props: PropsWithChildren, + ref: Ref +) { + const { style, ...otherProps } = props; + return ( + + ); +} + +const IconButton = React.forwardRef(IconButtonComponent); +IconButton.displayName = 'IconButton'; +IconButton.toString = () => '._icon-button'; + +export { IconButton }; diff --git a/widget/ui/src/components/IconButton/IconButton.types.ts b/widget/ui/src/components/IconButton/IconButton.types.ts new file mode 100644 index 0000000000..6a1ba38aa4 --- /dev/null +++ b/widget/ui/src/components/IconButton/IconButton.types.ts @@ -0,0 +1,12 @@ +import type { PropTypes as ButtonPropTypes } from '../Button/Button.types'; +import type { CSSProperties } from 'react'; + +export type PropTypes = { + size?: ButtonPropTypes['size']; + type?: ButtonPropTypes['type']; + variant?: ButtonPropTypes['variant']; + onClick?: ButtonPropTypes['onClick']; + style?: CSSProperties; + loading?: boolean; + disabled?: boolean; +}; diff --git a/widget/ui/src/components/IconButton/index.ts b/widget/ui/src/components/IconButton/index.ts new file mode 100644 index 0000000000..bd4d78d297 --- /dev/null +++ b/widget/ui/src/components/IconButton/index.ts @@ -0,0 +1 @@ +export { IconButton } from './IconButton'; diff --git a/widget/ui/src/components/LiquiditySourceList/LiquiditySource.stories.tsx b/widget/ui/src/components/LiquiditySourceList/LiquiditySource.stories.tsx index fcbc7a90ae..8670881260 100644 --- a/widget/ui/src/components/LiquiditySourceList/LiquiditySource.stories.tsx +++ b/widget/ui/src/components/LiquiditySourceList/LiquiditySource.stories.tsx @@ -1,12 +1,18 @@ +import type { PropTypes } from './LiquiditySourceList'; +import type { Meta } from '@storybook/react'; + import React from 'react'; -import { ComponentMeta } from '@storybook/react'; -import { LiquiditySourceList, PropTypes } from './LiquiditySourceList'; + +import { LiquiditySourceList } from './LiquiditySourceList'; import { liquiditySources } from './mockData'; export default { - title: 'Liquidity Source List', + title: 'Components/Liquidity Source List(Deprecated)', component: LiquiditySourceList, -} as ComponentMeta; + args: { + loadingStatus: 'success', + }, +} as Meta; export const Main = (args: PropTypes) => ( diff --git a/widget/ui/src/components/LiquiditySourceList/LiquiditySourceList.tsx b/widget/ui/src/components/LiquiditySourceList/LiquiditySourceList.tsx index 92dd0c8f51..53a31e9e2f 100644 --- a/widget/ui/src/components/LiquiditySourceList/LiquiditySourceList.tsx +++ b/widget/ui/src/components/LiquiditySourceList/LiquiditySourceList.tsx @@ -1,15 +1,18 @@ -import { CSSProperties } from '@stitches/react'; +import type { LiquiditySource, LoadingStatus } from '../../types/meta'; +import type { CSSProperties } from '@stitches/react'; + +import { i18n } from '@lingui/core'; import React, { useEffect, useState } from 'react'; + import { styled } from '../../theme'; -import { LiquiditySource, LoadingStatus } from '../../types/meta'; -import { Button } from '../Button/Button'; -import { Spacer } from '../Spacer'; -import { Switch } from '../Switch'; -import { Typography } from '../Typography'; -import { Spinner } from '../Spinner'; import { LoadingFailedAlert } from '../Alert/LoadingFailedAlert'; import { NotFoundAlert } from '../Alert/NotFoundAlert'; +import { Button } from '../Button/Button'; import { Image } from '../common'; +import { Divider } from '../Divider'; +import { Spinner } from '../Spinner'; +import { Switch } from '../Switch'; +import { Typography } from '../Typography'; const groupLiquiditySources = ( liquiditySources: LiquiditySource[] @@ -74,7 +77,9 @@ export function LiquiditySourceList(props: PropTypes) { const changeLiquiditySources = (clickedItem: LiquiditySource) => { clickedItem.selected = !clickedItem.selected; setSelected((prevState) => { - if (clickedItem.selected) return [...prevState, clickedItem]; + if (clickedItem.selected) { + return [...prevState, clickedItem]; + } return prevState.filter((item) => item.title != clickedItem.title); }); onChange(clickedItem); @@ -100,18 +105,19 @@ export function LiquiditySourceList(props: PropTypes) { return ( + loaded={loadingStatus === 'success'}>
- Bridges - + + {i18n.t('Bridges')} + + {totalSelectedBridges === totalBridges ? totalBridges : `${totalSelectedBridges} / ${totalBridges}`} - + {loadingStatus === 'loading' && ( @@ -121,14 +127,18 @@ export function LiquiditySourceList(props: PropTypes) { {loadingStatus === 'success' && ( <> {totalBridges ? ( - bridges.map((liquiditySource, index) => ( - - )) + bridges.map((liquiditySource, index) => { + const key = `item-${index}`; + + return ( + + ); + }) ) : ( )} @@ -137,14 +147,16 @@ export function LiquiditySourceList(props: PropTypes) {
- Exchanges - + + {i18n.t('Exchanges')} + + {totalSelectedExchanges === totalExchanges ? totalExchanges : `${totalSelectedExchanges} / ${totalExchanges}`} - + {loadingStatus === 'loading' && ( @@ -154,14 +166,17 @@ export function LiquiditySourceList(props: PropTypes) { {loadingStatus == 'success' && ( <> {totalExchanges ? ( - exchanges.map((liquiditySource, index) => ( - - )) + exchanges.map((liquiditySource, index) => { + const key = `item-${index}`; + return ( + + ); + }) ) : ( )} @@ -171,7 +186,9 @@ export function LiquiditySourceList(props: PropTypes) { ); } - +/** + * @deprecated will be removed in v2 + */ const LiquiditySourceItem = ({ liquiditySource, selected, @@ -183,7 +200,6 @@ const LiquiditySourceItem = ({ }) => ( ); diff --git a/widget/ui/src/components/LiquiditySourcesSelector/LiquiditySourcesSelector.stories.tsx b/widget/ui/src/components/LiquiditySourcesSelector/LiquiditySourcesSelector.stories.tsx deleted file mode 100644 index eee19335a6..0000000000 --- a/widget/ui/src/components/LiquiditySourcesSelector/LiquiditySourcesSelector.stories.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import React from 'react'; -import { ComponentMeta } from '@storybook/react'; -import { - LiquiditySourcesSelector, - PropTypes, -} from './LiquiditySourcesSelector'; -import { liquiditySources } from '../LiquiditySourceList/mockData'; - -export default { - title: 'Liquidity Sources Selector', - component: LiquiditySourcesSelector, -} as ComponentMeta; - -export const Main = (args: PropTypes) => ( - -); diff --git a/widget/ui/src/components/LiquiditySourcesSelector/LiquiditySourcesSelector.tsx b/widget/ui/src/components/LiquiditySourcesSelector/LiquiditySourcesSelector.tsx deleted file mode 100644 index 806c1e79e7..0000000000 --- a/widget/ui/src/components/LiquiditySourcesSelector/LiquiditySourcesSelector.tsx +++ /dev/null @@ -1,61 +0,0 @@ -import { CSSProperties } from '@stitches/react'; -import React from 'react'; -import { containsText } from '../../helper'; -import { LiquiditySource, LoadingStatus } from '../../types/meta'; -import { Button } from '../Button'; -import { LiquiditySourceList } from '../LiquiditySourceList'; -import { SecondaryPage } from '../SecondaryPage/SecondaryPage'; - -const filterLiquiditySources = ( - liquiditySources: LiquiditySource[], - searchedFor: string -) => - liquiditySources.filter((liquiditySource) => - containsText(liquiditySource.title, searchedFor || '') - ); -export interface PropTypes { - list: LiquiditySource[]; - onChange: (liquiditySource: LiquiditySource) => void; - toggleAll?: () => void; - onBack?: () => void; - hasHeader?: boolean; - listContainerStyle?: CSSProperties; - loadingStatus: LoadingStatus; -} - -export function LiquiditySourcesSelector(props: PropTypes) { - const { - list, - onChange, - onBack, - hasHeader, - listContainerStyle, - toggleAll, - loadingStatus, - } = props; - - return ( - - {list.find((item) => item.selected) ? 'Deselect all' : 'Select all'} - - } - hasHeader={hasHeader} - onBack={onBack} - > - {(searchedFor) => ( - - )} - - ); -} diff --git a/widget/ui/src/components/LiquiditySourcesSelector/index.ts b/widget/ui/src/components/LiquiditySourcesSelector/index.ts deleted file mode 100644 index ed7ee352b7..0000000000 --- a/widget/ui/src/components/LiquiditySourcesSelector/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { LiquiditySourcesSelector } from './LiquiditySourcesSelector'; diff --git a/widget/ui/src/components/List/List.stories.tsx b/widget/ui/src/components/List/List.stories.tsx new file mode 100644 index 0000000000..43cef3480b --- /dev/null +++ b/widget/ui/src/components/List/List.stories.tsx @@ -0,0 +1,181 @@ +import type { Meta, StoryObj } from '@storybook/react'; + +import React, { useState } from 'react'; + +import { + ChevronRightIcon, + DeleteIcon, + RefreshIcon, + WalletIcon, +} from '../../icons'; +import { Button } from '../Button'; +import { Checkbox } from '../Checkbox'; +import { Chip } from '../Chip'; +import { ListItemButton } from '../ListItemButton'; + +import { List } from './List'; + +const DEFAULT_TITLE = 'Your title'; +const DEFAULT_DESCRIPTION = 'Here you can write your description.'; +const DEFAULT_ICON = ; + +type Story = StoryObj; + +export default { + title: 'Components/List', + component: List, + argTypes: {}, +} satisfies Meta; + +export const Item: Story = { + args: {}, + render: () => { + return ( + , + }, + { + id: '4', + title: DEFAULT_TITLE, + start: , + end: ( + + ), + }, + { + id: '5', + title: DEFAULT_TITLE, + description: DEFAULT_DESCRIPTION, + start: DEFAULT_ICON, + end: , + }, + { + id: '6', + title: DEFAULT_TITLE, + description: DEFAULT_DESCRIPTION, + start: DEFAULT_ICON, + end: , + }, + { + id: '7', + title: ( + <> + Dai + + + ), + description: DEFAULT_DESCRIPTION, + start: DEFAULT_ICON, + end: , + }, + { + id: '8', + title: DEFAULT_TITLE, + description: DEFAULT_DESCRIPTION, + start: DEFAULT_ICON, + end: 'end can be anything', + }, + ]} + /> + ); + }, +}; + +export const ItemButton: Story = { + args: {}, + render: () => { + return ; + }, +}; + +function ItemButtonExamples() { + const [checkedItem, setCheckedItem] = useState(''); + return ( + { + console.log('clicked on ', { + id, + checkedItem, + check: checkedItem === id, + result: checkedItem === id ? '' : id, + }); + setCheckedItem(checkedItem === id ? '' : id); + }} + /> + } + items={[ + { + id: '1', + title: DEFAULT_TITLE, + description: DEFAULT_DESCRIPTION, + }, + { + id: '2', + title: DEFAULT_TITLE, + }, + { + id: '3', + title: DEFAULT_TITLE, + description: DEFAULT_DESCRIPTION, + start: , + }, + { + id: '4', + title: DEFAULT_TITLE, + start: , + end: , + }, + { + id: '5', + title: DEFAULT_TITLE, + description: DEFAULT_DESCRIPTION, + start: DEFAULT_ICON, + end: , + }, + { + id: '6', + title: DEFAULT_TITLE, + description: DEFAULT_DESCRIPTION, + start: DEFAULT_ICON, + end: , + }, + { + id: '7', + title: ( + <> + Dai + + + ), + description: DEFAULT_DESCRIPTION, + start: DEFAULT_ICON, + end: , + }, + ]} + /> + ); +} diff --git a/widget/ui/src/components/List/List.styles.tsx b/widget/ui/src/components/List/List.styles.tsx new file mode 100644 index 0000000000..635de8bf49 --- /dev/null +++ b/widget/ui/src/components/List/List.styles.tsx @@ -0,0 +1,7 @@ +import { styled } from '../../theme'; + +export const BaseList = styled('ul', { + padding: 0, + margin: 0, + listStyle: 'none', +}); diff --git a/widget/ui/src/components/List/List.tsx b/widget/ui/src/components/List/List.tsx new file mode 100644 index 0000000000..822bf70ecb --- /dev/null +++ b/widget/ui/src/components/List/List.tsx @@ -0,0 +1,30 @@ +import type { ListPropTypes } from './List.types'; + +import React from 'react'; + +import { ListItem } from '../ListItem'; + +import { BaseList } from './List.styles'; + +function List(props: ListPropTypes) { + const container = props.type; + + return ( + + {props.items.map((item) => { + const { id, ...itemProps } = item; + + if (!!container) { + return React.cloneElement(container, { + ...itemProps, + key: id, + id, + }); + } + return ; + })} + + ); +} + +export { List }; diff --git a/widget/ui/src/components/List/List.types.ts b/widget/ui/src/components/List/List.types.ts new file mode 100644 index 0000000000..8637acdd47 --- /dev/null +++ b/widget/ui/src/components/List/List.types.ts @@ -0,0 +1,12 @@ +import type { ListItemProps } from '../ListItem'; +import type * as Stitches from '@stitches/react'; +import type React from 'react'; + +export interface ListPropTypes { + type?: React.ReactElement; + items: (ListItemProps & { + id: string; + })[]; + as?: 'div' | 'ul'; + css?: Stitches.CSS; +} diff --git a/widget/ui/src/components/List/index.ts b/widget/ui/src/components/List/index.ts new file mode 100644 index 0000000000..bfd3a10e15 --- /dev/null +++ b/widget/ui/src/components/List/index.ts @@ -0,0 +1 @@ +export { List } from './List'; diff --git a/widget/ui/src/components/ListItem/ListItem.styles.ts b/widget/ui/src/components/ListItem/ListItem.styles.ts new file mode 100644 index 0000000000..1a5ddc0f53 --- /dev/null +++ b/widget/ui/src/components/ListItem/ListItem.styles.ts @@ -0,0 +1,61 @@ +import { darkTheme, styled } from '../../theme'; + +export const BaseListItem = styled('li', { + width: '100%', + overflow: 'hidden', + borderRadius: '$xs', + display: 'flex', + alignItems: 'center', + padding: '$10 $5', + border: 0, + backgroundColor: 'transparent', + + '.item-start-container': { + paddingRight: '$10', + flexShrink: 0, + + '& svg': { + display: 'block', + }, + }, + '.item-text-container': { + flexGrow: 1, + flexShrink: 1, + flexBasis: 'auto', + textAlign: 'left', + '._description': { + $$color: '$colors$neutral600', + [`.${darkTheme} &`]: { + $$color: '$colors$neutral700', + }, + color: '$$color', + }, + + '.item-text-title': { + fontWeight: 'bold', + display: 'flex', + alignItems: 'center', + }, + }, + '.item-end-container': { + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + paddingLeft: '$10', + overflow: 'hidden', + }, + variants: { + hasDivider: { + true: { + borderBottom: '1px solid', + $$color: '$colors$neutral300', + [`.${darkTheme} &`]: { + $$color: '$colors$neutral400', + }, + borderColor: '$$color', + borderBottomRightRadius: 0, + borderBottomLeftRadius: 0, + }, + }, + }, +}); diff --git a/widget/ui/src/components/ListItem/ListItem.tsx b/widget/ui/src/components/ListItem/ListItem.tsx new file mode 100644 index 0000000000..46820450be --- /dev/null +++ b/widget/ui/src/components/ListItem/ListItem.tsx @@ -0,0 +1,29 @@ +import type { ListItemProps } from './ListItem.types'; + +import React from 'react'; + +import { Typography } from '../Typography'; + +import { BaseListItem } from './ListItem.styles'; + +function ListItem(props: ListItemProps) { + const { start, title, description, end, onClick, hasDivider, ...restProps } = + props; + + return ( + + {start &&
{start}
} +
+ {title &&
{title}
} + {description && ( + + {description} + + )} +
+ {end &&
{end}
} +
+ ); +} + +export { ListItem }; diff --git a/widget/ui/src/components/ListItem/ListItem.types.ts b/widget/ui/src/components/ListItem/ListItem.types.ts new file mode 100644 index 0000000000..d8128801f1 --- /dev/null +++ b/widget/ui/src/components/ListItem/ListItem.types.ts @@ -0,0 +1,9 @@ +export type ListItemProps = { + title?: string | React.ReactElement; + description?: string | React.ReactElement; + start?: React.ReactNode; + end?: React.ReactNode; + as?: 'div' | 'li'; + onClick?: () => void; + hasDivider?: boolean; +}; diff --git a/widget/ui/src/components/ListItem/index.ts b/widget/ui/src/components/ListItem/index.ts new file mode 100644 index 0000000000..ad48f5d7c0 --- /dev/null +++ b/widget/ui/src/components/ListItem/index.ts @@ -0,0 +1,2 @@ +export type { ListItemProps } from './ListItem.types'; +export { ListItem } from './ListItem'; diff --git a/widget/ui/src/components/ListItemButton/ListItemButton.styles.ts b/widget/ui/src/components/ListItemButton/ListItemButton.styles.ts new file mode 100644 index 0000000000..af2d7ce90b --- /dev/null +++ b/widget/ui/src/components/ListItemButton/ListItemButton.styles.ts @@ -0,0 +1,51 @@ +import { darkTheme, styled } from '../../theme'; + +export const BaseListItemButton = styled('button', { + transition: 'all 0.35s', + border: 0, + width: '100%', + backgroundColor: 'transparent', + fontFamily: 'inherit', + padding: 'unset', + '&:focus-visible': { + borderRadius: '$xs', + + outline: 0, + $$color: '$colors$info100', + [`.${darkTheme} &`]: { + $$color: '$colors$info700', + }, + backgroundColor: '$$color', + }, + '&:hover': { + $$color: '$colors$info100', + borderRadius: '$xs', + + [`.${darkTheme} &`]: { + $$color: '$colors$neutral100', + }, + backgroundColor: '$$color', + cursor: 'pointer', + }, + '&:active': { + transform: 'scale(0.99)', + }, + variants: { + hasDivider: { + true: { + borderBottom: '1px solid', + $$color: '$colors$neutral300', + [`.${darkTheme} &`]: { + $$color: '$colors$neutral400', + }, + borderColor: '$$color', + borderBottomRightRadius: 0, + borderBottomLeftRadius: 0, + }, + }, + selected: { + true: { outline: '1px solid $secondary500' }, + false: { outline: 0 }, + }, + }, +}); diff --git a/widget/ui/src/components/ListItemButton/ListItemButton.tsx b/widget/ui/src/components/ListItemButton/ListItemButton.tsx new file mode 100644 index 0000000000..455b3e74f0 --- /dev/null +++ b/widget/ui/src/components/ListItemButton/ListItemButton.tsx @@ -0,0 +1,27 @@ +import type { ListItemButtonProps } from './ListItemButton.types'; + +import React from 'react'; + +import { ListItem } from '../ListItem/ListItem'; + +import { BaseListItemButton } from './ListItemButton.styles'; + +function ListItemButton(props: ListItemButtonProps) { + const { onClick, id, style, hasDivider, selected, ...restProps } = props; + const onClickWithKey = () => { + if (onClick) { + onClick(id); + } + }; + return ( + + + + ); +} + +export { ListItemButton }; diff --git a/widget/ui/src/components/ListItemButton/ListItemButton.types.ts b/widget/ui/src/components/ListItemButton/ListItemButton.types.ts new file mode 100644 index 0000000000..a261c4156f --- /dev/null +++ b/widget/ui/src/components/ListItemButton/ListItemButton.types.ts @@ -0,0 +1,10 @@ +import type { ListItemProps } from '../ListItem'; +import type { CSSProperties } from '@stitches/react'; + +export type ListItemButtonProps = Omit & { + id: string; + onClick: (id: string) => void; + style?: CSSProperties; + hasDivider?: boolean; + selected?: boolean; +}; diff --git a/widget/ui/src/components/ListItemButton/index.ts b/widget/ui/src/components/ListItemButton/index.ts new file mode 100644 index 0000000000..55198e779a --- /dev/null +++ b/widget/ui/src/components/ListItemButton/index.ts @@ -0,0 +1,2 @@ +export type { ListItemButtonProps } from './ListItemButton.types'; +export { ListItemButton } from './ListItemButton'; diff --git a/widget/ui/src/components/Logo/Logo.tsx b/widget/ui/src/components/Logo/Logo.tsx new file mode 100644 index 0000000000..749777ba3e --- /dev/null +++ b/widget/ui/src/components/Logo/Logo.tsx @@ -0,0 +1,35 @@ +import type { SvgIconProps } from '../SvgIcon'; + +import React from 'react'; + +import { SvgWithColor } from '../SvgIcon/SvgIcon.style'; + +export function Logo(props: SvgIconProps) { + const { size = '1em', color } = props; + const commonProps = { + width: size, + height: size, + color: color, + className: '_icon', + }; + return ( + + + + + + + + ); +} diff --git a/widget/ui/src/components/MessageBox/CollapsibleMessageBox.stories.tsx b/widget/ui/src/components/MessageBox/CollapsibleMessageBox.stories.tsx new file mode 100644 index 0000000000..067d7bd19a --- /dev/null +++ b/widget/ui/src/components/MessageBox/CollapsibleMessageBox.stories.tsx @@ -0,0 +1,27 @@ +import type { Meta, StoryObj } from '@storybook/react'; + +import React from 'react'; + +import { Typography } from '../Typography'; + +import { CollapsibleMessageBox } from './CollapsibleMessageBox'; + +const meta: Meta = { + component: CollapsibleMessageBox, +}; + +export default meta; +type Story = StoryObj; + +export const Main: Story = { + args: { + status: 'warning', + title: 'Title', + description: 'This is a test text', + children: ( + + test + + ), + }, +}; diff --git a/widget/ui/src/components/MessageBox/CollapsibleMessageBox.styles.tsx b/widget/ui/src/components/MessageBox/CollapsibleMessageBox.styles.tsx new file mode 100644 index 0000000000..06532b16b5 --- /dev/null +++ b/widget/ui/src/components/MessageBox/CollapsibleMessageBox.styles.tsx @@ -0,0 +1,33 @@ +import * as Collapsible from '@radix-ui/react-collapsible'; + +import { darkTheme, styled } from '../../theme'; + +export const Trigger = styled(Collapsible.Trigger, { + padding: '$15', + paddingBottom: '$5', + borderRadius: '$xm', + cursor: 'pointer', + $$backgroundColor: '$colors$neutral200', + [`.${darkTheme} &`]: { + $$backgroundColor: '$colors$neutral500', + }, + backgroundColor: '$$backgroundColor', + textAlign: 'center', + border: 0, + width: '100%', + '&:hover': { + $$color: '$colors$info100', + [`.${darkTheme} &`]: { + $$color: '$colors$neutral100', + }, + backgroundColor: '$$color', + }, + '&:focus-visible': { + $$color: '$colors$info100', + [`.${darkTheme} &`]: { + $$color: '$colors$info700', + }, + backgroundColor: '$$color', + outline: 0, + }, +}); diff --git a/widget/ui/src/components/MessageBox/CollapsibleMessageBox.tsx b/widget/ui/src/components/MessageBox/CollapsibleMessageBox.tsx new file mode 100644 index 0000000000..a5017c8b7b --- /dev/null +++ b/widget/ui/src/components/MessageBox/CollapsibleMessageBox.tsx @@ -0,0 +1,38 @@ +import type { PropTypes } from './CollapsibleMessageBox.types'; +import type { PropsWithChildren } from 'react'; + +import * as Collapsible from '@radix-ui/react-collapsible'; +import React, { useState } from 'react'; + +import { ChevronDownIcon, ChevronUpIcon } from '../../icons'; +import { CollapsibleContent } from '../common/styles'; +import { Divider } from '../Divider'; + +import { Trigger } from './CollapsibleMessageBox.styles'; + +import { MessageBox } from '.'; + +export function CollapsibleMessageBox(props: PropsWithChildren) { + const { description, status, title, children } = props; + const [open, setOpen] = useState(false); + + return ( + + + + + + + {children} + + + + {open ? ( + + ) : ( + + )} + + + ); +} diff --git a/widget/ui/src/components/MessageBox/CollapsibleMessageBox.types.tsx b/widget/ui/src/components/MessageBox/CollapsibleMessageBox.types.tsx new file mode 100644 index 0000000000..946d902dfd --- /dev/null +++ b/widget/ui/src/components/MessageBox/CollapsibleMessageBox.types.tsx @@ -0,0 +1,11 @@ +import type { IconHighlight } from './MessageBox.styles'; +import type * as Stitches from '@stitches/react'; + +type BaseProps = Stitches.VariantProps; +type BaseTypes = Exclude; + +export interface PropTypes { + title: string; + description: string; + status: BaseTypes; +} diff --git a/widget/ui/src/components/MessageBox/DefaultMessageBox.tsx b/widget/ui/src/components/MessageBox/DefaultMessageBox.tsx new file mode 100644 index 0000000000..30a5261d43 --- /dev/null +++ b/widget/ui/src/components/MessageBox/DefaultMessageBox.tsx @@ -0,0 +1,40 @@ +import type { PropTypes } from './MessageBox.types'; +import type { PropsWithChildren } from 'react'; + +import React from 'react'; + +import { Divider } from '../Divider'; +import { Typography } from '../Typography'; + +import { Container, Description, IconHighlight } from './MessageBox.styles'; +import StatusIcon from './StatusIcon'; + +export function MessageBox(props: PropsWithChildren) { + const { type, title, description, children, icon } = props; + + return ( + + + {icon || } + + + + {title} + + + + {typeof description === 'string' ? ( + + {description} + + ) : ( + description + )} + + {children} + + ); +} diff --git a/widget/ui/src/components/MessageBox/MessageBox.stories.tsx b/widget/ui/src/components/MessageBox/MessageBox.stories.tsx new file mode 100644 index 0000000000..8992fdab0a --- /dev/null +++ b/widget/ui/src/components/MessageBox/MessageBox.stories.tsx @@ -0,0 +1,18 @@ +import type { Meta, StoryObj } from '@storybook/react'; + +import { MessageBox } from './DefaultMessageBox'; + +const meta: Meta = { + component: MessageBox, +}; + +export default meta; +type Story = StoryObj; + +export const Main: Story = { + args: { + type: 'warning', + title: 'Title', + description: 'This is a test text', + }, +}; diff --git a/widget/ui/src/components/MessageBox/MessageBox.styles.tsx b/widget/ui/src/components/MessageBox/MessageBox.styles.tsx new file mode 100644 index 0000000000..e13013da6b --- /dev/null +++ b/widget/ui/src/components/MessageBox/MessageBox.styles.tsx @@ -0,0 +1,60 @@ +import { darkTheme, styled } from '../../theme'; + +export const Container = styled('div', { + display: 'flex', + flexDirection: 'column', + alignItems: 'center', + width: '100%', +}); + +export const Description = styled('div', { + textAlign: 'center', +}); + +export const IconHighlight = styled('div', { + borderRadius: '50%', + width: '$45', + height: '$45', + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + variants: { + type: { + success: { + $$color: '$colors$success300', + [`.${darkTheme} &`]: { + $$color: '$colors$success600', + }, + backgroundColor: '$$color', + }, + warning: { + $$color: '$colors$warning300', + [`.${darkTheme} &`]: { + $$color: '$colors$warning600', + }, + backgroundColor: '$$color', + }, + error: { + $$color: '$colors$error300', + [`.${darkTheme} &`]: { + $$color: '$colors$error600', + }, + backgroundColor: '$$color', + }, + info: { + $$color: '$colors$info300', + [`.${darkTheme} &`]: { + $$color: '$colors$info600', + }, + backgroundColor: '$$color', + }, + loading: { + $$color: '$colors$info300', + [`.${darkTheme} &`]: { + $$color: '$colors$info600', + }, + backgroundColor: '$$color', + }, + }, + }, +}); diff --git a/widget/ui/src/components/MessageBox/MessageBox.tsx b/widget/ui/src/components/MessageBox/MessageBox.tsx new file mode 100644 index 0000000000..02521c148f --- /dev/null +++ b/widget/ui/src/components/MessageBox/MessageBox.tsx @@ -0,0 +1,2 @@ +export { MessageBox } from './DefaultMessageBox'; +export { CollapsibleMessageBox } from './CollapsibleMessageBox'; diff --git a/widget/ui/src/components/MessageBox/MessageBox.types.tsx b/widget/ui/src/components/MessageBox/MessageBox.types.tsx new file mode 100644 index 0000000000..eb424bf1d6 --- /dev/null +++ b/widget/ui/src/components/MessageBox/MessageBox.types.tsx @@ -0,0 +1,13 @@ +import type { IconHighlight } from './MessageBox.styles'; +import type * as Stitches from '@stitches/react'; +import type { ReactNode } from 'react'; + +type BaseProps = Stitches.VariantProps; +type BaseTypes = Exclude; + +export interface PropTypes { + type: BaseTypes; + title: string; + description?: string | ReactNode; + icon?: ReactNode; +} diff --git a/widget/ui/src/components/MessageBox/StatusIcon.tsx b/widget/ui/src/components/MessageBox/StatusIcon.tsx new file mode 100644 index 0000000000..c34f76f92b --- /dev/null +++ b/widget/ui/src/components/MessageBox/StatusIcon.tsx @@ -0,0 +1,28 @@ +import type { PropTypes } from './MessageBox.types'; + +import React from 'react'; + +import { + CompleteIcon, + ErrorIcon, + InfoErrorIcon, + WarningIcon, +} from '../../icons'; +import { Spinner } from '../Spinner'; + +function StatusIcon(props: Pick) { + switch (props.type) { + case 'success': + return ; + case 'warning': + return ; + case 'error': + return ; + case 'loading': + return ; + default: + return ; + } +} + +export default StatusIcon; diff --git a/widget/ui/src/components/MessageBox/index.ts b/widget/ui/src/components/MessageBox/index.ts new file mode 100644 index 0000000000..7c8fc7df41 --- /dev/null +++ b/widget/ui/src/components/MessageBox/index.ts @@ -0,0 +1 @@ +export * from './MessageBox'; diff --git a/widget/ui/src/components/Modal/Modal.stories.tsx b/widget/ui/src/components/Modal/Modal.stories.tsx index 986deec953..7710602e23 100644 --- a/widget/ui/src/components/Modal/Modal.stories.tsx +++ b/widget/ui/src/components/Modal/Modal.stories.tsx @@ -1,22 +1,33 @@ +import type { PropTypes } from './Modal.types'; +import type { Meta } from '@storybook/react'; + import React, { useState } from 'react'; -import { ComponentMeta } from '@storybook/react'; -import { Modal, PropTypes } from './Modal'; -export default { name: 'Modal', component: Modal } as ComponentMeta< - typeof Modal ->; +import { MessageBox } from '../MessageBox'; + +import { Modal } from './Modal'; + +export default { + name: 'Modal', + component: Modal, + args: { + title: 'I`m a modal', + container: document.getElementById('storybook-root'), + }, +} as Meta; export const Main = (args: PropTypes) => { const [open, setOpen] = useState(false); return (
- setOpen(false)} - /> + setOpen(false)}> + +
); }; diff --git a/widget/ui/src/components/Modal/Modal.styles.ts b/widget/ui/src/components/Modal/Modal.styles.ts new file mode 100644 index 0000000000..e321075eb2 --- /dev/null +++ b/widget/ui/src/components/Modal/Modal.styles.ts @@ -0,0 +1,104 @@ +import { styled } from '../../theme'; +import { IconButton } from '../IconButton'; + +export const BackDrop = styled('div', { + position: 'absolute', + top: '0', + left: '0', + width: '100%', + height: '100%', + backgroundColor: 'transparent', + zIndex: 10, + borderRadius: '$primary', + display: 'flex', + overflow: 'hidden', + transition: 'background .35s', + + variants: { + anchor: { + bottom: { + justifyContent: 'end', + alignItems: 'end', + bottom: '0', + }, + center: { + justifyContent: 'center', + alignItems: 'center', + }, + }, + active: { + true: { + backgroundColor: 'color-mix(in srgb, $neutral500 70%, transparent)', + }, + }, + }, +}); + +export const ModalContainer = styled('div', { + backgroundColor: '$background', + width: '100%', + borderRadius: '$primary', + display: 'flex', + flexDirection: 'column', + zIndex: 9999999, + transform: 'translateY(100%)', + transition: 'transform .45s ease-in-out', + + variants: { + anchor: { + bottom: { + width: '100%', + maxHeight: '95%', + }, + center: { height: '100%' }, + }, + active: { + true: { + transform: 'translateY(0)', + }, + }, + }, +}); + +export const Flex = styled('div', { + display: 'flex', + alignItems: 'center', + justifyContent: 'end', + [`& ${IconButton}`]: { + padding: '$5', + }, +}); +export const ModalHeader = styled('div', { + padding: '$20 $20 $0 $20', + display: 'flex', + justifyContent: 'space-between', + alignItems: 'center', + position: 'relative', + variants: { + noTitle: { + true: { + justifyContent: 'flex-end', + }, + }, + }, +}); + +export const Content = styled('div', { + display: 'flex', + flexDirection: 'column', + flex: 1, + padding: '$0 $20 $10 $20', + backgroundColor: '$background', + position: 'relative', + overflowY: 'auto', + overflowX: 'hidden', +}); + +export const Footer = styled('div', { + '& .footer__content': { + padding: '$0 $20', + }, + '& .footer__logo': { + padding: '$0 $20 $10 $20', + }, +}); diff --git a/widget/ui/src/components/Modal/Modal.tsx b/widget/ui/src/components/Modal/Modal.tsx index 1e86d6fcf5..503ccbb515 100644 --- a/widget/ui/src/components/Modal/Modal.tsx +++ b/widget/ui/src/components/Modal/Modal.tsx @@ -1,87 +1,124 @@ -import { CSSProperties } from '@stitches/react'; -import React, { useEffect } from 'react'; -import { createPortal } from 'react-dom'; -import { styled } from '../../theme'; -import { CloseIcon } from '../Icon/CloseIcon'; -import { Typography } from '../Typography'; +import type { PropTypes } from './Modal.types'; +import type { PropsWithChildren } from 'react'; -export interface PropTypes { - title: string; - open: boolean; - onClose: () => void; - content: React.ReactNode; - action?: React.ReactNode; - containerStyle?: CSSProperties; -} +import React, { useEffect, useRef, useState } from 'react'; +import { createPortal } from 'react-dom'; -const BackDrop = styled('div', { - position: 'fixed', - display: 'flex', - justifyContent: 'center', - alignItems: 'center', - top: '0', - left: '0', - width: '100vw', - height: '100vh', - backgroundColor: 'rgba(0,0,0,.1)', -}); +import { CloseIcon } from '../../icons'; +import { BottomLogo } from '../BottomLogo'; +import { Divider } from '../Divider'; +import { IconButton } from '../IconButton/IconButton'; +import { Typography } from '../Typography'; -const ModalContainer = styled('div', { - backgroundColor: '$background', - borderRadius: '$10', - padding: '$16 $16', - display: 'flex', - flexDirection: 'column', - boxShadow: '$s', - zIndex: 10, -}); -const Row = styled('div', { - display: 'flex', - alignItems: 'center', -}); -const ModalHeader = styled('div', { - display: 'flex', - justifyContent: 'space-between', - alignItems: 'center', - position: 'relative', - marginBottom: '$16', -}); +import { + BackDrop, + Content, + Flex, + Footer, + ModalContainer, + ModalHeader, +} from './Modal.styles'; +const CLOSED_DELAY = 600; +const OPEN_DELAY = 10; -export function Modal(props: PropTypes) { +export function Modal(props: PropsWithChildren) { const { title, - content, open, onClose, containerStyle, - action, + anchor = 'bottom', + container = document.body, + prefix, + header, + dismissible = true, + children, + suffix, + footer, + hasLogo = true, } = props; + const [active, setActive] = useState(false); + const [isMount, setIsMount] = useState(false); + const timeoutRef = useRef | null>(null); const handleBackDropClick = (event: React.MouseEvent) => { - if (event.target === event.currentTarget) onClose(); + if (event.target === event.currentTarget && dismissible) { + onClose(); + } }; useEffect(() => { - if (open) document.body.style.overflow = 'hidden'; - else document.body.style.overflow = 'unset'; - }, [open]); + if (container) { + if (timeoutRef.current) { + clearTimeout(timeoutRef.current); + } + if (open) { + setIsMount(true); + container.style.overflow = 'hidden'; + timeoutRef.current = setTimeout(() => { + setActive(true); + }, OPEN_DELAY); + } else { + setActive(false); + timeoutRef.current = setTimeout(() => { + setIsMount(false); + container.style.overflow = 'unset'; + }, CLOSED_DELAY); + } + } + return () => { + if (timeoutRef.current) { + clearTimeout(timeoutRef.current); + } + }; + }, [open, container]); + return ( <> - {open && + {isMount && + container && createPortal( - - - - {title} - - {action} - - - - {content} + + + {header ?? ( + + {prefix} + {title && ( + + {title} + + )} + + {suffix} + {dismissible && ( + + + + )} + + + )} + {children} + {(hasLogo || footer) && ( +
+
{footer}
+ {hasLogo && ( +
+ + +
+ )} +
+ )}
, - document.body + container )} ); diff --git a/widget/ui/src/components/Modal/Modal.types.ts b/widget/ui/src/components/Modal/Modal.types.ts new file mode 100644 index 0000000000..6bb02ad6cc --- /dev/null +++ b/widget/ui/src/components/Modal/Modal.types.ts @@ -0,0 +1,21 @@ +import type { BackDrop } from './Modal.styles'; +import type { config } from '../../theme'; +import type * as Stitches from '@stitches/react'; + +type BaseProps = Stitches.VariantProps; +type BaseAnchor = Exclude; + +export interface PropTypes { + title?: string; + open: boolean; + onClose: () => void; + anchor?: BaseAnchor; + dismissible?: boolean; + header?: React.ReactNode; + prefix?: React.ReactNode; + suffix?: React.ReactNode; + container?: HTMLElement; + containerStyle?: Stitches.CSS; + footer?: React.ReactNode; + hasLogo?: boolean; +} diff --git a/widget/ui/src/components/Modal/index.ts b/widget/ui/src/components/Modal/index.ts index 8deb0a3dff..26e65c8fe1 100644 --- a/widget/ui/src/components/Modal/index.ts +++ b/widget/ui/src/components/Modal/index.ts @@ -1 +1,2 @@ export { Modal } from './Modal'; +export { ModalHeader } from './Modal.styles'; diff --git a/widget/ui/src/components/NotFound/NotFound.stories.tsx b/widget/ui/src/components/NotFound/NotFound.stories.tsx new file mode 100644 index 0000000000..901977dd7b --- /dev/null +++ b/widget/ui/src/components/NotFound/NotFound.stories.tsx @@ -0,0 +1,17 @@ +import type { PropTypes } from './NotFound.types'; +import type { Meta } from '@storybook/react'; + +import React from 'react'; + +import { NotFound } from './NotFound'; + +export default { + title: 'Components/NotFound', + component: NotFound, + args: { + title: 'Not Found!', + description: 'Try using different keywords', + }, +} as Meta; + +export const Main = (args: PropTypes) => ; diff --git a/widget/ui/src/components/NotFound/NotFound.styles.ts b/widget/ui/src/components/NotFound/NotFound.styles.ts new file mode 100644 index 0000000000..7fd6cc1fc5 --- /dev/null +++ b/widget/ui/src/components/NotFound/NotFound.styles.ts @@ -0,0 +1,8 @@ +import { styled } from '../../theme'; + +export const Container = styled('div', { + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + flexDirection: 'column', +}); diff --git a/widget/ui/src/components/NotFound/NotFound.tsx b/widget/ui/src/components/NotFound/NotFound.tsx new file mode 100644 index 0000000000..e63ba03e45 --- /dev/null +++ b/widget/ui/src/components/NotFound/NotFound.tsx @@ -0,0 +1,24 @@ +import type { PropTypes } from './NotFound.types'; + +import React from 'react'; + +import { SearchIcon } from '../../icons'; +import { Divider } from '../Divider'; +import { Typography } from '../Typography'; + +import { Container } from './NotFound.styles'; + +export function NotFound(props: PropTypes) { + return ( + + + + + {props.title} + + + {props.description} + + + ); +} diff --git a/widget/ui/src/components/NotFound/NotFound.types.ts b/widget/ui/src/components/NotFound/NotFound.types.ts new file mode 100644 index 0000000000..1c64db726d --- /dev/null +++ b/widget/ui/src/components/NotFound/NotFound.types.ts @@ -0,0 +1,4 @@ +export type PropTypes = { + title: string; + description?: string; +}; diff --git a/widget/ui/src/components/NotFound/index.tsx b/widget/ui/src/components/NotFound/index.tsx new file mode 100644 index 0000000000..1099c21c49 --- /dev/null +++ b/widget/ui/src/components/NotFound/index.tsx @@ -0,0 +1 @@ +export { NotFound } from './NotFound'; diff --git a/widget/ui/src/components/PercentageChange/PercentageChange.tsx b/widget/ui/src/components/PercentageChange/PercentageChange.tsx new file mode 100644 index 0000000000..6e8b513552 --- /dev/null +++ b/widget/ui/src/components/PercentageChange/PercentageChange.tsx @@ -0,0 +1,22 @@ +import React from 'react'; + +import { Typography } from '..'; + +interface PropTypes { + showPercentageChange: boolean; + percentageChange: string; +} + +export function PercentageChange(props: PropTypes) { + const { percentageChange, showPercentageChange } = props; + + return ( + <> + {showPercentageChange && ( + + {`(${percentageChange}%)`} + + )} + + ); +} diff --git a/widget/ui/src/components/PercentageChange/index.ts b/widget/ui/src/components/PercentageChange/index.ts new file mode 100644 index 0000000000..0c2f61a27d --- /dev/null +++ b/widget/ui/src/components/PercentageChange/index.ts @@ -0,0 +1 @@ +export { PercentageChange } from './PercentageChange'; diff --git a/widget/ui/src/components/Popover/Popover.stories.tsx b/widget/ui/src/components/Popover/Popover.stories.tsx new file mode 100644 index 0000000000..6259a1da41 --- /dev/null +++ b/widget/ui/src/components/Popover/Popover.stories.tsx @@ -0,0 +1,64 @@ +import type { PropTypes } from './Popover.types'; +import type { Meta } from '@storybook/react'; + +import React from 'react'; + +import { NotificationsIcon } from '../../icons'; +import { Button } from '../Button'; +import { AddWalletIcon } from '../Icon'; +import { List } from '../List'; + +import { Popover } from './Popover'; + +function PopoverContent() { + return ( +
+
I'm a Popover
+ +
+ ); +} + +export default { + title: 'Components/Popover', + component: Popover, + args: { + content: , + side: 'bottom', + }, + argTypes: { + content: { + name: 'content', + control: { type: 'component' }, + defaultValue: null, + }, + side: { + name: 'side', + control: { type: 'select' }, + options: ['top', 'right', 'bottom', 'left'], + defaultValue: 'bottom', + }, + }, +} as Meta; + +export const Main = (props: PropTypes) => ( +
+ + + + + + +
+); diff --git a/widget/ui/src/components/Popover/Popover.styles.ts b/widget/ui/src/components/Popover/Popover.styles.ts new file mode 100644 index 0000000000..1a8d63d950 --- /dev/null +++ b/widget/ui/src/components/Popover/Popover.styles.ts @@ -0,0 +1,15 @@ +import * as RadixPopover from '@radix-ui/react-popover'; + +import { styled } from '../../theme'; + +export const PopoverContainer = styled(RadixPopover.Content, { + borderRadius: '$sm', + filter: 'drop-shadow(0px 5px 20px rgba(130, 130, 130, 0.20))', + backgroundColor: '$neutral100', +}); + +export const PopoverArrow = styled(RadixPopover.Arrow, { + fill: '$neutral100', + width: '$16', + height: '$8', +}); diff --git a/widget/ui/src/components/Popover/Popover.tsx b/widget/ui/src/components/Popover/Popover.tsx new file mode 100644 index 0000000000..dd63c6252b --- /dev/null +++ b/widget/ui/src/components/Popover/Popover.tsx @@ -0,0 +1,57 @@ +import type { ContentType, PropTypes, Ref } from './Popover.types'; +import type { PropsWithChildren } from 'react'; + +import * as RadixPopover from '@radix-ui/react-popover'; +import React from 'react'; + +import { PopoverArrow, PopoverContainer } from './Popover.styles'; + +const DEFAULT_SIDE_OFFSET = 0; +const DEFAULT_ALIGN_OFFSET = 0; + +export const PopoverContentComponent = ( + props: PropsWithChildren, + forwardedRef: Ref +) => { + const { container, children, ...rest } = props; + return ( + + + {children} + + + + ); +}; + +const PopoverContent = React.forwardRef(PopoverContentComponent); +PopoverContent.displayName = 'PopoverContent'; + +export function Popover(props: PropsWithChildren) { + const { + children, + content, + side = 'bottom', + sideOffset = DEFAULT_SIDE_OFFSET, + alignOffset = DEFAULT_ALIGN_OFFSET, + align = 'center', + collisionBoundary = [], + collisionPadding = 0, + container = document.body, + } = props; + return ( + + {children} + + {content} + + + ); +} diff --git a/widget/ui/src/components/Popover/Popover.types.ts b/widget/ui/src/components/Popover/Popover.types.ts new file mode 100644 index 0000000000..c0c9693818 --- /dev/null +++ b/widget/ui/src/components/Popover/Popover.types.ts @@ -0,0 +1,23 @@ +import type { ReactNode } from 'react'; + +export type Ref = + | ((instance: HTMLInputElement | null) => void) + | React.RefObject + | null + | undefined; + +type Side = 'top' | 'right' | 'bottom' | 'left'; + +export interface ContentType { + side?: Side; + sideOffset?: number; + alignOffset?: number; + align?: 'center' | 'start' | 'end'; + collisionBoundary?: Element | null | Array; + collisionPadding?: number | Partial>; + container?: HTMLElement; +} + +export type PropTypes = ContentType & { + content: ReactNode; +}; diff --git a/widget/ui/src/components/Popover/index.ts b/widget/ui/src/components/Popover/index.ts new file mode 100644 index 0000000000..6e5a636481 --- /dev/null +++ b/widget/ui/src/components/Popover/index.ts @@ -0,0 +1 @@ +export { Popover } from './Popover'; diff --git a/widget/ui/src/components/PriceImpact/PriceImpact.stories.tsx b/widget/ui/src/components/PriceImpact/PriceImpact.stories.tsx new file mode 100644 index 0000000000..c61f48c65d --- /dev/null +++ b/widget/ui/src/components/PriceImpact/PriceImpact.stories.tsx @@ -0,0 +1,21 @@ +import type { PriceImpactProps } from './PriceImpact.types'; +import type { Meta } from '@storybook/react'; + +import React from 'react'; + +import { PriceImpact } from './PriceImpact'; + +const meta: Meta = { + title: 'Components/Price Impact', + component: PriceImpact, + args: { + size: 'small', + outputUsdValue: '28,490', + percentageChange: '2.21', + warningLevel: 'low', + }, +}; + +export default meta; + +export const Main = (args: PriceImpactProps) => ; diff --git a/widget/ui/src/components/PriceImpact/PriceImpact.styles.ts b/widget/ui/src/components/PriceImpact/PriceImpact.styles.ts new file mode 100644 index 0000000000..155ebab023 --- /dev/null +++ b/widget/ui/src/components/PriceImpact/PriceImpact.styles.ts @@ -0,0 +1,15 @@ +import { styled } from '../../theme'; +import { Typography } from '../Typography'; + +export const Container = styled('div', { + width: '100%', + display: 'flex', + justifyContent: 'end', + alignItems: 'center', +}); + +export const OutputUsdValue = styled(Typography, { + overflow: 'hidden', + whiteSpace: 'nowrap', + textOverflow: 'ellipsis', +}); diff --git a/widget/ui/src/components/PriceImpact/PriceImpact.tsx b/widget/ui/src/components/PriceImpact/PriceImpact.tsx new file mode 100644 index 0000000000..e1edd307bd --- /dev/null +++ b/widget/ui/src/components/PriceImpact/PriceImpact.tsx @@ -0,0 +1,66 @@ +import type { PriceImpactProps } from './PriceImpact.types'; + +import React from 'react'; + +import { Tooltip, Typography } from '..'; + +import { Container, OutputUsdValue } from './PriceImpact.styles'; + +export function PriceImpact(props: PriceImpactProps) { + const { + size, + outputUsdValue, + realOutputUsdValue, + percentageChange, + warningLevel, + error, + tooltipProps, + } = props; + + let percentageChangeColor = '$neutral600'; + if (!outputUsdValue || warningLevel === 'low') { + percentageChangeColor = '$warning500'; + } else if (warningLevel === 'high') { + percentageChangeColor = '$error500'; + } + + return ( + + {outputUsdValue && ( + + + {`~$${outputUsdValue}`} + + + )} + {((outputUsdValue && percentageChange) || !outputUsdValue) && ( + + {outputUsdValue && + percentageChange && + `(${ + percentageChange.includes('-') + ? percentageChange + : `-${percentageChange}` + }${percentageChange ? '%' : '-'})`} + + {!outputUsdValue && error} + + )} + + ); +} diff --git a/widget/ui/src/components/PriceImpact/PriceImpact.types.ts b/widget/ui/src/components/PriceImpact/PriceImpact.types.ts new file mode 100644 index 0000000000..6da16b1919 --- /dev/null +++ b/widget/ui/src/components/PriceImpact/PriceImpact.types.ts @@ -0,0 +1,16 @@ +import type { PropTypes as TooltipPropTypes } from '../Tooltip/Tooltip.types'; + +export type PriceImpactWarningLevel = 'low' | 'high' | undefined; + +export type PriceImpactProps = { + size: 'small' | 'large'; + outputUsdValue?: string; + realOutputUsdValue?: string; + error?: string; + percentageChange?: string | null; + warningLevel?: PriceImpactWarningLevel; + tooltipProps?: { + container?: TooltipPropTypes['container']; + side?: TooltipPropTypes['side']; + }; +}; diff --git a/widget/ui/src/components/PriceImpact/index.ts b/widget/ui/src/components/PriceImpact/index.ts new file mode 100644 index 0000000000..4e917457f5 --- /dev/null +++ b/widget/ui/src/components/PriceImpact/index.ts @@ -0,0 +1,2 @@ +export { PriceImpact } from './PriceImpact'; +export type { PriceImpactWarningLevel } from './PriceImpact.types'; diff --git a/widget/ui/src/components/QuoteCost/QuoteCost.styles.ts b/widget/ui/src/components/QuoteCost/QuoteCost.styles.ts new file mode 100644 index 0000000000..38e3b714f4 --- /dev/null +++ b/widget/ui/src/components/QuoteCost/QuoteCost.styles.ts @@ -0,0 +1,29 @@ +import { css, styled } from '../../theme'; + +export const Container = styled('div', { + borderRadius: '$xs', + display: 'flex', + justifyContent: 'start', + alignItems: 'center', + paddingBottom: '$10', +}); + +export const Separator = styled('div', { + height: '$12', + marginLeft: '$10', + marginRight: '$10', + borderLeft: '1px solid $foreground', +}); + +export const iconStyles = css({ + width: '$16', + height: '$16', + display: 'flex', + justifyContent: 'center', + alignItems: 'center', +}); + +export const itemStyles = css({ + display: 'flex', + alignItems: 'center', +}); diff --git a/widget/ui/src/components/QuoteCost/QuoteCost.tsx b/widget/ui/src/components/QuoteCost/QuoteCost.tsx new file mode 100644 index 0000000000..0c0b841917 --- /dev/null +++ b/widget/ui/src/components/QuoteCost/QuoteCost.tsx @@ -0,0 +1,47 @@ +import type { PropTypes } from './QuoteCost.types'; + +import React from 'react'; + +import { GasIcon, NumberIcon, TimeIcon } from '../../icons'; +import { Typography } from '../Typography'; + +import { + Container, + iconStyles, + itemStyles, + Separator, +} from './QuoteCost.styles'; + +export function QuoteCost(props: PropTypes) { + const { fee, time, steps } = props; + return ( + +
+
+ +
+ + ${fee} + +
+ +
+
+ +
+ + {time} + +
+ +
+
+ +
+ + {steps} + +
+
+ ); +} diff --git a/widget/ui/src/components/QuoteCost/QuoteCost.types.ts b/widget/ui/src/components/QuoteCost/QuoteCost.types.ts new file mode 100644 index 0000000000..0c578e60b6 --- /dev/null +++ b/widget/ui/src/components/QuoteCost/QuoteCost.types.ts @@ -0,0 +1,5 @@ +export type PropTypes = { + fee: string; + time: string | number; + steps: number; +}; diff --git a/widget/ui/src/components/QuoteCost/index.ts b/widget/ui/src/components/QuoteCost/index.ts new file mode 100644 index 0000000000..ecf1fc3650 --- /dev/null +++ b/widget/ui/src/components/QuoteCost/index.ts @@ -0,0 +1 @@ +export { QuoteCost } from './QuoteCost'; diff --git a/widget/ui/src/components/Radio/Radio.stories.tsx b/widget/ui/src/components/Radio/Radio.stories.tsx index 2d70216492..0a577f2752 100644 --- a/widget/ui/src/components/Radio/Radio.stories.tsx +++ b/widget/ui/src/components/Radio/Radio.stories.tsx @@ -1,23 +1,21 @@ +import type { PropTypes } from './Radio.types'; +import type { Meta } from '@storybook/react'; + +import { Root as RadioRoot } from '@radix-ui/react-radio-group'; import React from 'react'; -import { ComponentMeta } from '@storybook/react'; -import { PropTypes, Radio } from './Radio'; + +import { Radio } from './Radio'; export default { - title: 'Radio', + title: 'Components/Radio', component: Radio, - argTypes: { - options: { - defaultValue: [ - { value: 'one', label: 'One' }, - { value: 'two', label: 'Two' }, - { value: 'three', label: 'Three' }, - ], - }, - defaultValue: { defaultValue: 'one' }, - direction: { - defaultValue: 'horizontal', - }, + args: { + value: 'test', }, -} as ComponentMeta; +} as Meta; -export const Main = (args: PropTypes) => ; +export const Main = (args: PropTypes) => ( + + + +); diff --git a/widget/ui/src/components/Radio/Radio.styles.tsx b/widget/ui/src/components/Radio/Radio.styles.tsx new file mode 100644 index 0000000000..8f853793ae --- /dev/null +++ b/widget/ui/src/components/Radio/Radio.styles.tsx @@ -0,0 +1,42 @@ +import * as Radio from '@radix-ui/react-radio-group'; + +import { darkTheme, styled } from '../../theme'; + +export const StyledItem = styled(Radio.Item, { + padding: '0', + width: '16px', + height: '16px', + borderRadius: '100%', + cursor: 'pointer', + backgroundColor: 'transparent', + $$borderColor: '$colors$neutral600', + [`.${darkTheme} &`]: { + $$borderColor: '$colors$neutral700', + }, + border: '1px solid $$borderColor', + '&[data-state="checked"]': { + $$color: '$colors$secondary500', + [`.${darkTheme} &`]: { + $$color: '$colors$secondary400', + }, + backgroundColor: '$$color', + borderColor: '$$color', + }, +}); + +export const StyledIndicator = styled(Radio.Indicator, { + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + width: '100%', + height: '100%', + position: 'relative', + '&::after': { + content: '', + display: 'block', + width: '8px', + height: '8px', + borderRadius: '50%', + backgroundColor: '$background', + }, +}); diff --git a/widget/ui/src/components/Radio/Radio.tsx b/widget/ui/src/components/Radio/Radio.tsx index 60b6a32407..16f7c1900f 100644 --- a/widget/ui/src/components/Radio/Radio.tsx +++ b/widget/ui/src/components/Radio/Radio.tsx @@ -1,100 +1,14 @@ -import React from 'react'; -import * as RadioGroup from '@radix-ui/react-radio-group'; -import { styled } from '../../theme'; -import { Typography } from '../Typography'; -import { CSSProperties } from '@stitches/react'; - -const StyledRoot = styled(RadioGroup.Root, { - variants: { - direction: { - horizontal: { - display: 'flex', - flexDirection: 'row', - flexWrap: 'wrap', - }, - vertical: { - display: 'grid', - gridGap: '$24', - }, - }, - }, -}); - -const ItemContainer = styled('div', { - display: 'flex', - alignItems: 'center', - marginRight: '$8', -}); -const StyledItem = styled(RadioGroup.Item, { - padding: '0', - width: '20px', - height: '20px', - borderRadius: '100%', - cursor: 'pointer', - backgroundColor: '$background', - border: '1px solid $neutrals400', - - '&:hover': { - borderColor: '$neutrals600', - }, -}); +import type { PropTypes } from './Radio.types'; -const Container = styled('div', { - display: 'flex', -}); - -const StyledIndicator = styled(RadioGroup.Indicator, { - display: 'flex', - alignItems: 'center', - justifyContent: 'center', - width: '100%', - height: '100%', - position: 'relative', - '&::after': { - content: '', - display: 'block', - width: '10px', - height: '10px', - borderRadius: '50%', - backgroundColor: '$success', - }, -}); - -const Label = styled('label', { - paddingLeft: '$8', - cursor: 'pointer', - color: '$foreground', -}); +import React from 'react'; -export interface PropTypes { - options: { label: string; value: string }[]; - value: string; - onChange: (value: string) => void; - direction?: 'vertical' | 'horizontal'; - style?: CSSProperties; -} +import { StyledIndicator, StyledItem } from './Radio.styles'; export function Radio(props: PropTypes) { - const { value, onChange, direction = 'vertical', style } = props; + const { value } = props; return ( - - - {props.options.map((option, index) => ( - - - - - - - ))} - - + + + ); } diff --git a/widget/ui/src/components/Radio/Radio.types.tsx b/widget/ui/src/components/Radio/Radio.types.tsx new file mode 100644 index 0000000000..4263346007 --- /dev/null +++ b/widget/ui/src/components/Radio/Radio.types.tsx @@ -0,0 +1,3 @@ +export interface PropTypes { + value: string; +} diff --git a/widget/ui/src/components/RadioGroup/RadioGroup.stories.tsx b/widget/ui/src/components/RadioGroup/RadioGroup.stories.tsx new file mode 100644 index 0000000000..532684de74 --- /dev/null +++ b/widget/ui/src/components/RadioGroup/RadioGroup.stories.tsx @@ -0,0 +1,31 @@ +import type { PropTypes } from './RadioGroup.types'; +import type { Meta } from '@storybook/react'; + +import React from 'react'; + +import { RadioGroup } from './RadioGroup'; + +export default { + title: 'Components/RadioGroup', + component: RadioGroup, + args: { + options: [ + { value: 'one', label: 'One' }, + { value: 'two', label: 'Two' }, + { value: 'three', label: 'Three' }, + ], + direction: 'horizontal', + defaultValue: 'one', + }, + argTypes: { + options: { + defaultValue: [ + { value: 'one', label: 'One' }, + { value: 'two', label: 'Two' }, + { value: 'three', label: 'Three' }, + ], + }, + }, +} as Meta; + +export const Main = (args: PropTypes) => ; diff --git a/widget/ui/src/components/RadioGroup/RadioGroup.styles.tsx b/widget/ui/src/components/RadioGroup/RadioGroup.styles.tsx new file mode 100644 index 0000000000..af565b39d4 --- /dev/null +++ b/widget/ui/src/components/RadioGroup/RadioGroup.styles.tsx @@ -0,0 +1,38 @@ +import * as RadioGroup from '@radix-ui/react-radio-group'; + +import { styled } from '../../theme'; + +export const RadioRoot = styled(RadioGroup.Root, { + variants: { + direction: { + horizontal: { + display: 'flex', + flexDirection: 'row', + flexWrap: 'wrap', + }, + vertical: { + display: 'grid', + gridGap: '$24', + }, + }, + }, +}); + +export const ItemContainer = styled('div', { + display: 'flex', + alignItems: 'center', + marginRight: '$8', +}); + +export const Container = styled('div', { + display: 'flex', +}); + +export const Label = styled('label', { + paddingLeft: '$8', + cursor: 'pointer', + color: '$foreground', + '& > span': { + display: 'block', + }, +}); diff --git a/widget/ui/src/components/RadioGroup/RadioGroup.tsx b/widget/ui/src/components/RadioGroup/RadioGroup.tsx new file mode 100644 index 0000000000..2123266e35 --- /dev/null +++ b/widget/ui/src/components/RadioGroup/RadioGroup.tsx @@ -0,0 +1,37 @@ +import type { PropTypes } from './RadioGroup.types'; + +import React from 'react'; + +import { Radio } from '../Radio/Radio'; +import { Typography } from '../Typography'; + +import { + Container, + ItemContainer, + Label, + RadioRoot, +} from './RadioGroup.styles'; + +export function RadioGroup(props: PropTypes) { + const { value, onChange, direction = 'vertical', style, options } = props; + return ( + + + {options.map((option) => ( + + + + + ))} + + + ); +} diff --git a/widget/ui/src/components/RadioGroup/RadioGroup.types.tsx b/widget/ui/src/components/RadioGroup/RadioGroup.types.tsx new file mode 100644 index 0000000000..a7751be079 --- /dev/null +++ b/widget/ui/src/components/RadioGroup/RadioGroup.types.tsx @@ -0,0 +1,13 @@ +import type { PropTypes as RadioType } from '../Radio/Radio.types'; +import type { CSSProperties } from '@stitches/react'; + +export interface PropTypes { + options: { + label: string; + value: RadioType['value']; + }[]; + value: RadioType['value']; + onChange: (value: string) => void; + direction?: 'vertical' | 'horizontal'; + style?: CSSProperties; +} diff --git a/widget/ui/src/components/RadioGroup/index.ts b/widget/ui/src/components/RadioGroup/index.ts new file mode 100644 index 0000000000..0bb4a3b09a --- /dev/null +++ b/widget/ui/src/components/RadioGroup/index.ts @@ -0,0 +1,2 @@ +export { RadioGroup } from './RadioGroup'; +export { RadioRoot } from './RadioGroup.styles'; diff --git a/widget/embedded/src/components/RoutesOverview.tsx b/widget/ui/src/components/RoutesOverview/RoutesOverview.tsx similarity index 57% rename from widget/embedded/src/components/RoutesOverview.tsx rename to widget/ui/src/components/RoutesOverview/RoutesOverview.tsx index 6f58ecfd79..42a9ea60ad 100644 --- a/widget/embedded/src/components/RoutesOverview.tsx +++ b/widget/ui/src/components/RoutesOverview/RoutesOverview.tsx @@ -1,18 +1,23 @@ +import type { BestRouteResponse } from 'rango-sdk'; + import React from 'react'; -import { styled } from '@rango-dev/ui'; -import { BestRouteResponse } from 'rango-sdk'; -import { ChevronRightIcon } from '@rango-dev/ui'; -import { GasIcon } from '@rango-dev/ui'; -import { Spacer } from '@rango-dev/ui'; + +import { darkTheme, styled } from '../../theme'; +import { Divider } from '../Divider'; +import { AngleRightIcon, GasIcon } from '../Icon'; export const Container = styled('div', { display: 'flex', alignItems: 'center', justifyContent: 'space-between', padding: '$8', - borderRadius: '$5', - backgroundColor: '$neutrals300', - color: '$neutrals800', + borderRadius: '$xs', + backgroundColor: '$background', + $$color: '$colors$neutral600', + [`.${darkTheme} &`]: { + $$color: '$colors$neutral700', + }, + color: '$$color', fontSize: '$12', '.routes': { @@ -29,8 +34,10 @@ interface PropTypes { routes: BestRouteResponse | null; totalFee?: string; } -function RoutesOverview(props: PropTypes) { - if (!props.routes) return null; +export function RoutesOverview(props: PropTypes) { + if (!props.routes) { + return null; + } const swaps = props.routes.result?.swaps; return ( @@ -38,23 +45,22 @@ function RoutesOverview(props: PropTypes) {
{swaps?.map((swap, idx) => { const isLast = idx + 1 == swaps.length; + const key = `swap-${idx}`; return ( - <> +
{swap.from.symbol}
- + {isLast ?
{swap.to.symbol}
: null} - +
); })}
{props.totalFee ? (
- ${props.totalFee} + ${props.totalFee}
) : null} ); } - -export default RoutesOverview; diff --git a/widget/ui/src/components/RoutesOverview/index.ts b/widget/ui/src/components/RoutesOverview/index.ts new file mode 100644 index 0000000000..dc9326027b --- /dev/null +++ b/widget/ui/src/components/RoutesOverview/index.ts @@ -0,0 +1 @@ +export { RoutesOverview } from './RoutesOverview'; diff --git a/widget/ui/src/components/SecondaryPage/SecondaryPage.stories.tsx b/widget/ui/src/components/SecondaryPage/SecondaryPage.stories.tsx index eec252319b..2b1697eb90 100644 --- a/widget/ui/src/components/SecondaryPage/SecondaryPage.stories.tsx +++ b/widget/ui/src/components/SecondaryPage/SecondaryPage.stories.tsx @@ -1,7 +1,18 @@ -import { ComponentMeta } from '@storybook/react'; +import type { PropTypes } from './SecondaryPage'; +import type { Meta } from '@storybook/react'; + +import React from 'react'; + import { SecondaryPage } from './SecondaryPage'; export default { - title: 'Components/Secondary Page', + title: 'Components/Secondary Page (Deprecated)', component: SecondaryPage, -} as ComponentMeta; + args: { + textField: true, + textFieldPlaceholder: 'Search', + title: 'Secondary Page', + }, +} as Meta; + +export const Main = (args: PropTypes) => ; diff --git a/widget/ui/src/components/SecondaryPage/SecondaryPage.tsx b/widget/ui/src/components/SecondaryPage/SecondaryPage.tsx index f039f2208e..33d03f3891 100644 --- a/widget/ui/src/components/SecondaryPage/SecondaryPage.tsx +++ b/widget/ui/src/components/SecondaryPage/SecondaryPage.tsx @@ -1,4 +1,7 @@ -import React, { ReactNode, useState } from 'react'; +import type { ReactNode } from 'react'; + +import React, { useState } from 'react'; + import { styled } from '../../theme'; import { Divider } from '../Divider'; import { Header } from '../Header'; @@ -35,14 +38,27 @@ const TextFieldContainer = styled('div', { padding: '1px', }); +/** + * @deprecated will be removed in v2 + */ export function SecondaryPage(props: PropTypes) { - const { title, Footer, TopButton, onBack, hasHeader = true } = props; + const { + title, + Footer, + TopButton, + // onBack, + hasHeader = true, + } = props; const [searchedFor, setSearchedFor] = useState(''); return ( <> {hasHeader && ( -
+
)} @@ -52,7 +68,9 @@ export function SecondaryPage(props: PropTypes) { size="large" prefix={} placeholder={props.textFieldPlaceholder} - onChange={(event) => setSearchedFor(event.target.value)} + onChange={(event: React.ChangeEvent) => + setSearchedFor(event.target.value) + } value={searchedFor} autoFocus /> diff --git a/widget/ui/src/components/SelectableCategoryList/SelectableCategoryList.helpers.ts b/widget/ui/src/components/SelectableCategoryList/SelectableCategoryList.helpers.ts new file mode 100644 index 0000000000..65fbe6925d --- /dev/null +++ b/widget/ui/src/components/SelectableCategoryList/SelectableCategoryList.helpers.ts @@ -0,0 +1,62 @@ +import { type BlockchainMeta, TransactionType } from 'rango-sdk'; + +import { + CosmosCategoryIcon, + EvmCategoryIcon, + OtherCategoryIcon, + UtxoCategoryIcon, +} from '../../icons'; + +import { BlockchainCategories } from './SelectableCategoryList.types'; + +export const blockchainCategoryIcons = { + [BlockchainCategories.EVM]: EvmCategoryIcon, + [BlockchainCategories.COSMOS]: CosmosCategoryIcon, + [BlockchainCategories.UTXO]: UtxoCategoryIcon, + [BlockchainCategories.OTHER]: OtherCategoryIcon, +}; + +export const blockchainCategoryLabel = { + [BlockchainCategories.ALL]: 'All', + [BlockchainCategories.EVM]: 'EVM', + [BlockchainCategories.COSMOS]: 'Cosmos', + [BlockchainCategories.UTXO]: 'UTXO', + [BlockchainCategories.OTHER]: 'Other', +}; + +const filterByType = (blockchain: BlockchainMeta, type: string): boolean => { + switch (type) { + case BlockchainCategories.ALL: + return true; + case BlockchainCategories.UTXO: + return blockchain.type === TransactionType.TRANSFER; + case BlockchainCategories.OTHER: + return ( + blockchain.type !== TransactionType.TRANSFER && + blockchain.type !== TransactionType.COSMOS && + blockchain.type !== TransactionType.EVM + ); + default: + return blockchain.type === type; + } +}; + +export const hasAnyCategory = ( + list: BlockchainMeta[], + blockchainType: string +) => list.some((blockchain) => filterByType(blockchain, blockchainType)); + +export const getCountCategories = (list: BlockchainMeta[]) => { + const categoriesToCheck = Object.values(BlockchainCategories).filter( + (category) => category !== BlockchainCategories.ALL + ); + + const categoriesCount = categoriesToCheck.reduce((count, category) => { + const isCategoryPresent = list.some((blockchain) => + filterByType(blockchain, category) + ); + return count + (isCategoryPresent ? 1 : 0); + }, 0); + + return categoriesCount; +}; diff --git a/widget/ui/src/components/SelectableCategoryList/SelectableCategoryList.styles.ts b/widget/ui/src/components/SelectableCategoryList/SelectableCategoryList.styles.ts new file mode 100644 index 0000000000..cf0f33b3b9 --- /dev/null +++ b/widget/ui/src/components/SelectableCategoryList/SelectableCategoryList.styles.ts @@ -0,0 +1,21 @@ +import { styled } from '../../theme'; + +export const Container = styled('div', { + display: 'grid', + gap: '$10', + gridTemplateColumns: 'auto 1fr 1fr 1fr 1fr', +}); + +export const ImageContent = styled('div', { + display: 'flex', + position: 'relative', + alignItems: 'center', + justifyContent: 'center', + paddingTop: '$10', +}); +export const FirstImage = styled('img', { + position: 'absolute', + top: -2, + width: 15, + height: 15, +}); diff --git a/widget/ui/src/components/SelectableCategoryList/SelectableCategoryList.tsx b/widget/ui/src/components/SelectableCategoryList/SelectableCategoryList.tsx new file mode 100644 index 0000000000..598bb9748d --- /dev/null +++ b/widget/ui/src/components/SelectableCategoryList/SelectableCategoryList.tsx @@ -0,0 +1,77 @@ +/* eslint-disable @typescript-eslint/no-magic-numbers */ +import type { PropTypes } from './SelectableCategoryList.types'; + +import { i18n } from '@lingui/core'; +import React from 'react'; + +import { Divider, Skeleton, Typography } from '..'; +import { BlockchainsChip } from '../BlockchainsChip'; + +import { + blockchainCategoryIcons, + blockchainCategoryLabel, + hasAnyCategory, +} from './SelectableCategoryList.helpers'; +import { Container } from './SelectableCategoryList.styles'; +import { BlockchainCategories } from './SelectableCategoryList.types'; + +export function SelectableCategoryList(props: PropTypes) { + const { setCategory, category, isLoading, blockchains } = props; + const categories = Object.keys( + BlockchainCategories + ) as BlockchainCategories[]; + return ( + + {isLoading && + Array.from(Array(5), (_, index) => ( + + ))} + {!isLoading && + categories.map((blockchainCategory) => { + const Logo = + blockchainCategory !== BlockchainCategories.ALL + ? blockchainCategoryIcons[blockchainCategory] + : null; + + const hasBlockchain = hasAnyCategory(blockchains, blockchainCategory); + + return ( + hasBlockchain && ( + setCategory(blockchainCategory)}> + {Logo && ( + <> + + + + )} + + {i18n.t({ + id: '{blockchainCategory}', + values: { + blockchainCategory: + blockchainCategoryLabel[blockchainCategory], + }, + })} + + + ) + ); + })} + + ); +} diff --git a/widget/ui/src/components/SelectableCategoryList/SelectableCategoryList.types.ts b/widget/ui/src/components/SelectableCategoryList/SelectableCategoryList.types.ts new file mode 100644 index 0000000000..374f757211 --- /dev/null +++ b/widget/ui/src/components/SelectableCategoryList/SelectableCategoryList.types.ts @@ -0,0 +1,16 @@ +import type { BlockchainMeta } from 'rango-sdk'; + +export interface PropTypes { + setCategory: (type: string) => void; + category: string; + blockchains: BlockchainMeta[]; + isLoading?: boolean; +} + +export enum BlockchainCategories { + ALL = 'ALL', + EVM = 'EVM', + COSMOS = 'COSMOS', + UTXO = 'UTXO', + OTHER = 'OTHER', +} diff --git a/widget/ui/src/components/SelectableCategoryList/index.ts b/widget/ui/src/components/SelectableCategoryList/index.ts new file mode 100644 index 0000000000..8d5000ad77 --- /dev/null +++ b/widget/ui/src/components/SelectableCategoryList/index.ts @@ -0,0 +1,3 @@ +export { SelectableCategoryList } from './SelectableCategoryList'; +export { BlockchainCategories } from './SelectableCategoryList.types'; +export { getCountCategories } from './SelectableCategoryList.helpers'; diff --git a/widget/ui/src/components/SelectableWalletList/SelectableWalletList.stories.tsx b/widget/ui/src/components/SelectableWalletList/SelectableWalletList.stories.tsx index eda67d184e..8b414c1082 100644 --- a/widget/ui/src/components/SelectableWalletList/SelectableWalletList.stories.tsx +++ b/widget/ui/src/components/SelectableWalletList/SelectableWalletList.stories.tsx @@ -1,13 +1,15 @@ +import type { PropTypes } from './SelectableWalletList'; +import type { Meta } from '@storybook/react'; + import React from 'react'; -import { ComponentMeta } from '@storybook/react'; -import { SelectableWalletList, PropTypes } from './SelectableWalletList'; import { data } from './mock'; +import { SelectableWalletList } from './SelectableWalletList'; export default { - title: 'Components/SelectableWalletList', + title: 'Components/SelectableWalletList(Deprecated)', component: SelectableWalletList, -} as ComponentMeta; +} as Meta; export const Main = (props: PropTypes) => ( diff --git a/widget/ui/src/components/SelectableWalletList/SelectableWalletList.tsx b/widget/ui/src/components/SelectableWalletList/SelectableWalletList.tsx index 41358dd787..6f7453a28c 100644 --- a/widget/ui/src/components/SelectableWalletList/SelectableWalletList.tsx +++ b/widget/ui/src/components/SelectableWalletList/SelectableWalletList.tsx @@ -1,9 +1,11 @@ -import React, { PropsWithChildren, useEffect, useState } from 'react'; +import type { PropsWithChildren } from 'react'; + +import React, { useEffect, useState } from 'react'; + import { styled } from '../../theme'; -import { SelectableWallet } from '../../types'; -import { Typography } from '../Typography'; -import { getConciseAddress } from '../../helper'; +import { getConciseAddress } from '../../utils'; import { Image } from '../common'; +import { Typography } from '../Typography'; const Row = styled('div', { display: 'flex', @@ -14,7 +16,7 @@ const Circle = styled('div', { width: 12, height: 12, borderRadius: 6, - border: '1px solid $neutrals400', + border: '1px solid $neutral400', position: 'absolute', top: 12, right: 12, @@ -24,7 +26,7 @@ const Circle = styled('div', { borderColor: '$success', }, false: { - borderColor: '$neutrals400', + borderColor: '$neutral400', }, }, }, @@ -40,14 +42,14 @@ const SolidCircle = styled('div', { backgroundColor: '$success', }, false: { - backgroundColor: '$neutrals400', + backgroundColor: '$neutral400', }, }, }, }); const Container = styled('div', { border: '1.5px solid', - borderRadius: '$5', + borderRadius: '$xs', padding: '$12', flexBasis: 'calc(33.33% - 10px)', margin: 5, @@ -65,16 +67,16 @@ const Container = styled('div', { color: '$success', }, false: { - borderColor: '$neutrals400', - color: '$neutrals400', + borderColor: '$neutral400', + color: '$neutral400', }, }, }, }); export interface PropTypes { - list: SelectableWallet[]; - onChange: (w: SelectableWallet) => void; + list: any[]; + onChange: (w: any) => void; } export function SelectableWalletList({ @@ -84,7 +86,7 @@ export function SelectableWalletList({ const [active, setActive] = useState( list.find((item) => item.selected)?.walletType || '' ); - const onClick = (w: SelectableWallet) => { + const onClick = (w: any) => { setActive(w.walletType); onChange(w); }; @@ -101,15 +103,17 @@ export function SelectableWalletList({ + // eslint-disable-next-line react/no-array-index-key + key={index}> {w.walletType} - {w.name} - + + {w.name} + + {getConciseAddress(w.address)} - + {checked && } ); diff --git a/widget/ui/src/components/SelectableWalletList/mock.ts b/widget/ui/src/components/SelectableWalletList/mock.ts index b72e6f44ee..a88517734a 100644 --- a/widget/ui/src/components/SelectableWalletList/mock.ts +++ b/widget/ui/src/components/SelectableWalletList/mock.ts @@ -1,11 +1,10 @@ -import { Network, WalletType } from '@rango-dev/wallets-shared'; -import { SelectableWallet } from '../../types'; +import { Networks, WalletTypes } from '@rango-dev/wallets-shared'; -export const data: SelectableWallet[] = [ +export const data = [ { - chain: Network.BTC, - name: Network.BTC, - walletType: WalletType.META_MASK, + chain: Networks.BTC, + name: Networks.BTC, + walletType: WalletTypes.META_MASK, address: '0x5423e28219d6d568dcf62a8134d623e6f4a1c2df', image: 'https://app.rango.exchange/wallets/metamask.svg', selected: true, diff --git a/widget/ui/src/components/Settings/Settings.stories.tsx b/widget/ui/src/components/Settings/Settings.stories.tsx deleted file mode 100644 index 8b052abdfa..0000000000 --- a/widget/ui/src/components/Settings/Settings.stories.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import React from 'react'; -import { ComponentMeta } from '@storybook/react'; -import { Settings, PropTypes } from './Settings'; -import { SwapContainer } from '../SwapContainer/SwapContainer'; -import { liquiditySources } from '../LiquiditySourceList/mockData'; - -export default { - title: 'Settings', - component: Settings, - argTypes: { - slippages: { - defaultValue: [0.5, 1, 3, 5, 8, 13, 20], - }, - selectedSlippage: { defaultValue: 3 }, - liquiditySources: { - defaultValue: liquiditySources, - }, - selectedLiquiditySources: { - defaultValue: liquiditySources.slice(0, 5), - }, - minSlippage: { - defaultValue: 1, - }, - maxSlippage: { - defaultValue: 10, - }, - }, -} as ComponentMeta; - -export const Main = (args: PropTypes) => ( - - - -); diff --git a/widget/ui/src/components/Settings/Settings.tsx b/widget/ui/src/components/Settings/Settings.tsx deleted file mode 100644 index d9d6b0110c..0000000000 --- a/widget/ui/src/components/Settings/Settings.tsx +++ /dev/null @@ -1,209 +0,0 @@ -import { styled } from '../../theme'; -import React, { useState } from 'react'; -import { AngleRightIcon } from '../Icon'; -import { SecondaryPage } from '../SecondaryPage/SecondaryPage'; -import { Typography } from '../Typography'; -import { Chip } from '../Chip'; -import { LiquiditySource, LoadingStatus } from '../../types/meta'; -import { TextField } from '../TextField'; -import { Radio } from '../Radio'; -import { Switch } from '../Switch'; -import { Button } from '../Button'; - -const BaseContainer = styled('div', { - borderRadius: '$5', - backgroundColor: '$neutrals300', - padding: '$16', -}); - -const Title = styled(Typography, { marginBottom: '$16' }); - -const SlippageChipsContainer = styled('div', { - display: 'grid', - rowGap: '$16', - gridTemplateColumns: 'repeat(auto-fill, 64px)', -}); - -const LiquiditySourceContainer = styled(BaseContainer, { - display: 'flex', - justifyContent: 'space-between', - marginTop: '$16', - cursor: 'pointer', -}); -const InfiniteContainer = styled(BaseContainer, { - display: 'flex', - justifyContent: 'space-between', - marginTop: '$16', -}); - -const StyledAngleRight = styled(AngleRightIcon, { marginLeft: '$8' }); - -const LiquiditySourceNumber = styled('div', { - display: 'flex', - alignItems: 'center', - justifyContent: 'center', -}); - -const ThemesContainer = styled(BaseContainer, { - marginTop: '$16', -}); - -const Head = styled('div', { - display: 'flex', - justifyContent: 'space-between', - alignItems: 'center', - paddingBottom: '$16', -}); - -type Theme = 'dark' | 'light' | 'auto'; - -export interface PropTypes { - slippages: number[]; - selectedSlippage: number; - customSlippage: number; - maxSlippage: number; - minSlippage: number; - liquiditySources: LiquiditySource[]; - onLiquiditySourcesClick: () => void; - selectedLiquiditySources: LiquiditySource[]; - onSlippageChange: (slippage: number) => void; - onCustomSlippageChange: (customSlippage: number | null) => void; - selectedTheme: Theme; - onThemeChange: (theme: Theme) => void; - onBack: () => void; - infiniteApprove: boolean; - toggleInfiniteApprove: (infinite: boolean) => void; - loadingStatus: LoadingStatus; -} - -export function Settings(props: PropTypes) { - const { - slippages, - selectedLiquiditySources, - liquiditySources, - onSlippageChange, - onLiquiditySourcesClick, - onBack, - customSlippage, - onCustomSlippageChange, - maxSlippage, - minSlippage, - selectedTheme, - onThemeChange, - toggleInfiniteApprove, - infiniteApprove, - loadingStatus, - } = props; - - const [selectedSlippage, setSelectedSlippage] = useState( - props.selectedSlippage - ); - - const changeSlippage = (slippage: number) => { - setSelectedSlippage(slippage); - onSlippageChange(slippage); - }; - - const PageContent = ( - <> - - - Slippage tolerance - {customSlippage ? ( - - {customSlippage}% Custom - - ) : undefined} - - - {slippages.map((slippage, index) => ( - { - if (customSlippage) onCustomSlippageChange(null); - changeSlippage(slippage); - }} - selected={!customSlippage && slippage === selectedSlippage} - label={`${slippage.toString()}%`} - style={{ - marginRight: '8px', - }} - /> - ))} - { - const parsedValue = parseFloat(event.target.value); - if ( - !parsedValue || - (parsedValue >= minSlippage && parsedValue <= maxSlippage) - ) - onCustomSlippageChange(parsedValue); - }} - suffix={ - customSlippage && % - } - size="small" - placeholder="Custom %" - style={{ - width: '128px', - flexGrow: 'initial', - }} - /> - - - - Theme - onThemeChange(value as Theme)} - direction="horizontal" - style={{ marginTop: '$24' }} - /> - - - Infinite Approval - - - - - - - ); - - return ( - - {PageContent} - - ); -} diff --git a/widget/ui/src/components/Settings/index.ts b/widget/ui/src/components/Settings/index.ts deleted file mode 100644 index ec5d9791b6..0000000000 --- a/widget/ui/src/components/Settings/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { Settings } from './Settings'; diff --git a/widget/ui/src/components/Skeleton/Skeleton.stories.tsx b/widget/ui/src/components/Skeleton/Skeleton.stories.tsx index b747988318..1f449b82ad 100644 --- a/widget/ui/src/components/Skeleton/Skeleton.stories.tsx +++ b/widget/ui/src/components/Skeleton/Skeleton.stories.tsx @@ -1,24 +1,52 @@ -import { ComponentMeta } from '@storybook/react'; +import type { PropTypes } from './Skeleton.types'; +import type { Meta } from '@storybook/react'; + import React from 'react'; -import { Skeleton, PropTypes } from './Skeleton'; + +import { Divider } from '../Divider'; +import { Typography } from '../Typography'; + +import { Skeleton } from './Skeleton'; export default { title: 'Components/Skeleton', component: Skeleton, + args: { + width: 50, + height: 50, + }, argTypes: { - width: { - name: 'width', - control: { type: 'select' }, - options: [20, 24, 36, 48], - defaultValue: 20, + variant: { + name: 'variant', + defaultValue: 'rounded', + control: { + type: 'select', + options: ['text', 'circular', 'rectangular', 'rounded'], + }, }, - height: { - name: 'height', - control: { type: 'select' }, - options: [20, 24, 36, 48], - defaultValue: 20, + + size: { + name: 'size', + defaultValue: 'small', + control: { + type: 'select', + options: ['small', 'medium', 'large'], + }, }, }, -} as ComponentMeta; +} as Meta; -export const Main = (props: PropTypes) => ; +export const Main = (args: PropTypes) => ( + <> + + + + + + + + + + + +); diff --git a/widget/ui/src/components/Skeleton/Skeleton.styles.ts b/widget/ui/src/components/Skeleton/Skeleton.styles.ts new file mode 100644 index 0000000000..ddfa3ac1dd --- /dev/null +++ b/widget/ui/src/components/Skeleton/Skeleton.styles.ts @@ -0,0 +1,66 @@ +import { darkTheme, keyframes, styled } from '../../theme'; + +const waveSquares = keyframes({ + '0%': { + backgroundPosition: '-468px 0', + }, + '100%': { + backgroundPosition: '468px 0', + }, +}); +// #2B3462 -0.15%, rgba(43, 52, 98, 0.20) 99.85% +export const SkeletonContainer = styled('div', { + $$background: + 'linear-gradient(90deg, $colors$info300 20%, rgba(200, 226, 255, 0.20) 70%, $colors$info300 100%)', + [`.${darkTheme} &`]: { + $$background: + 'linear-gradient(90deg, $colors$secondary600 0%,rgba(43, 52, 98, 0.20) 70%, $colors$secondary600 100%)', + }, + background: '$$background', + backgroundSize: '800px 100px', + animation: `${waveSquares} 2s infinite ease-out`, + variants: { + variant: { + text: { + borderRadius: '$sm', + }, + circular: { + borderRadius: '$lg', + }, + rectangular: {}, + rounded: { + borderRadius: '$sm', + }, + }, + + size: { + small: {}, + medium: {}, + large: {}, + }, + }, + + compoundVariants: [ + { + size: 'small', + variant: 'text', + css: { + height: '$8', + }, + }, + { + size: 'medium', + variant: 'text', + css: { + height: '$12', + }, + }, + { + size: 'large', + variant: 'text', + css: { + height: '$16', + }, + }, + ], +}); diff --git a/widget/ui/src/components/Skeleton/Skeleton.tsx b/widget/ui/src/components/Skeleton/Skeleton.tsx index 45f4332402..a0d3edf49e 100644 --- a/widget/ui/src/components/Skeleton/Skeleton.tsx +++ b/widget/ui/src/components/Skeleton/Skeleton.tsx @@ -1,66 +1,17 @@ -import React from 'react'; -import { keyframes, styled } from '../../theme'; +import type { PropTypes } from './Skeleton.types'; -const waveSquares = keyframes({ - '0%': { - backgroundPosition: '-468px 0', - }, - '100%': { - backgroundPosition: '468px 0', - }, -}); +import React from 'react'; -const SkeletonContainer = styled('div', { - borderRadius: '$5', - backgroundColor: '$neutrals300', - background: `linear-gradient(to right, rgba(130, 130, 130, 0.2) 8%, rgba(130, 130, 130, 0.3) 18%, rgba(130, 130, 130, 0.2) 33%)`, - backgroundSize: '800px 100px', - animation: `${waveSquares} 2s infinite ease-out`, - variants: { - width: { - 16: { - width: '$16', - }, - 20: { - width: '$20', - }, - 24: { - width: '$24', - }, - 36: { - width: '$36', - }, - 48: { - width: '$48', - }, - }, - height: { - 16: { - height: '$16', - }, - 20: { - height: '$20', - }, - 24: { - height: '$24', - }, - 36: { - height: '$36', - }, - 48: { - height: '$48', - }, - 94: { - height: 94, - }, - }, - }, -}); -export interface PropTypes { - width?: 20 | 24 | 36 | 48; - height?: 20 | 24 | 36 | 48 | 94; -} +import { SkeletonContainer } from './Skeleton.styles'; -export function Skeleton({ width = 20, height = 20 }: PropTypes) { - return ; +export function Skeleton(props: PropTypes) { + const { width = '100%' } = props; + const customCss = + props.variant !== 'text' + ? { + width, + height: props.height, + } + : { width }; + return ; } diff --git a/widget/ui/src/components/Skeleton/Skeleton.types.ts b/widget/ui/src/components/Skeleton/Skeleton.types.ts new file mode 100644 index 0000000000..495b3a717e --- /dev/null +++ b/widget/ui/src/components/Skeleton/Skeleton.types.ts @@ -0,0 +1,20 @@ +import type { SkeletonContainer } from './Skeleton.styles'; +import type * as Stitches from '@stitches/react'; + +type BaseProps = Stitches.VariantProps; +type BaseVariants = Exclude; +type BaseSizes = Exclude; + +type TextVariant = { + variant: 'text'; + size: BaseSizes; + width?: number; +}; + +type OtherVariant = { + variant: Exclude; + width?: number; + height: number; +}; + +export type PropTypes = TextVariant | OtherVariant; diff --git a/widget/ui/src/components/Spacer/Spacer.stories.tsx b/widget/ui/src/components/Spacer/Spacer.stories.tsx deleted file mode 100644 index a9f2b653e3..0000000000 --- a/widget/ui/src/components/Spacer/Spacer.stories.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import { ComponentMeta } from '@storybook/react'; -import React from 'react'; -import { Typography } from '../Typography'; -import { Spacer, PropTypes } from './Spacer'; - -export default { - title: 'Components/Spacer', - component: Spacer, - argTypes: { - size: { - name: 'size', - control: { type: 'select' }, - options: [12, 16, 18, 20], - defaultValue: 12, - }, - direction: { - name: 'direction', - control: { type: 'select' }, - options: ['vertical', 'horizontal'], - defaultValue: 'horizontal', - }, - }, -} as ComponentMeta; - -export const Main = (props: PropTypes) => ( -
- spacer - - spacer -
-); diff --git a/widget/ui/src/components/Spacer/Spacer.tsx b/widget/ui/src/components/Spacer/Spacer.tsx deleted file mode 100644 index 2401b45dea..0000000000 --- a/widget/ui/src/components/Spacer/Spacer.tsx +++ /dev/null @@ -1,128 +0,0 @@ -import React from 'react'; -import { styled } from '../../theme'; - -const SpacerContainer = styled('div', { - variants: { - size: { - 4: {}, - 8: {}, - 12: {}, - 16: {}, - 18: {}, - 20: {}, - 24: {}, - }, - direction: { - vertical: {}, - horizontal: {}, - }, - }, - compoundVariants: [ - { - size: 4, - direction: 'horizontal', - css: { - width: '$4', - }, - }, - { - size: 4, - direction: 'vertical', - css: { - height: '$4', - }, - }, - { - size: 8, - direction: 'horizontal', - css: { - width: '$8', - }, - }, - { - size: 8, - direction: 'vertical', - css: { - height: '$8', - }, - }, - { - size: 12, - direction: 'horizontal', - css: { - width: '$12', - }, - }, - { - size: 12, - direction: 'vertical', - css: { - height: '$12', - }, - }, - { - size: 16, - direction: 'horizontal', - css: { - width: '$16', - }, - }, - { - size: 16, - direction: 'vertical', - css: { - height: '$16', - }, - }, - { - size: 18, - direction: 'horizontal', - css: { - width: '$18', - }, - }, - { - size: 18, - direction: 'vertical', - css: { - height: '$18', - }, - }, - { - size: 20, - direction: 'horizontal', - css: { - width: '$20', - }, - }, - { - size: 20, - direction: 'vertical', - css: { - height: '$20', - }, - }, - { - size: 24, - direction: 'horizontal', - css: { - width: '$24', - }, - }, - { - size: 24, - direction: 'vertical', - css: { - height: '$24', - }, - }, - ], -}); -export interface PropTypes { - size?: 4 | 8 | 12 | 16 | 18 | 20 | 24; - direction?: 'vertical' | 'horizontal'; -} - -export function Spacer({ size = 12, direction = 'horizontal' }: PropTypes) { - return ; -} diff --git a/widget/ui/src/components/Spacer/index.ts b/widget/ui/src/components/Spacer/index.ts deleted file mode 100644 index e7a837e9eb..0000000000 --- a/widget/ui/src/components/Spacer/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { Spacer } from './Spacer'; diff --git a/widget/ui/src/components/Spinner/Spinner.stories.tsx b/widget/ui/src/components/Spinner/Spinner.stories.tsx index d67d8fcd19..2562cb101a 100644 --- a/widget/ui/src/components/Spinner/Spinner.stories.tsx +++ b/widget/ui/src/components/Spinner/Spinner.stories.tsx @@ -1,10 +1,14 @@ -import { ComponentMeta } from '@storybook/react'; +import { Meta } from '@storybook/react'; import React from 'react'; import { Spinner, PropTypes } from './Spinner'; export default { title: 'Components/Spinner', component: Spinner, + args: { + color: 'primary', + size: 16, + }, argTypes: { color: { name: 'color', @@ -20,6 +24,6 @@ export default { defaultValue: 16, }, }, -} as ComponentMeta; +} as Meta; export const Main = (props: PropTypes) => ; diff --git a/widget/ui/src/components/Spinner/Spinner.tsx b/widget/ui/src/components/Spinner/Spinner.tsx index 2c9079d09e..d646ba0794 100644 --- a/widget/ui/src/components/Spinner/Spinner.tsx +++ b/widget/ui/src/components/Spinner/Spinner.tsx @@ -1,4 +1,9 @@ +import type { SvgIconProps } from '../SvgIcon'; +import type * as Stitches from '@stitches/react'; + import React from 'react'; + +import { LoadingIcon } from '../../icons'; import { keyframes, styled } from '../../theme'; const spin = keyframes({ @@ -8,54 +13,25 @@ const spin = keyframes({ }); const SpinnerContainer = styled('div', { - borderRadius: '50%', position: 'relative', - border: `2px solid $neutrals300`, - borderRight: `2px solid`, animation: `${spin} 1.5s linear infinite`, - margin: `0px $8`, - variants: { - color: { - primary: { - borderRightColor: '$primary', - }, - error: { - borderRightColor: '$error', - }, - warning: { - borderRightColor: '$warning', - }, - success: { - borderRightColor: '$success', - }, - black: { - borderRightColor: '$black', - }, - white: { - borderRightColor: '$white', - }, - }, - size: { - 16: { - width: '$16', - height: '$16', - }, - 20: { - width: '$20', - height: '$20', - }, - 24: { - width: '$24', - height: '$24', - }, - }, - }, + display: 'flex', + justifyContent: 'center', + alignItems: 'center', }); + export interface PropTypes { - size?: 16 | 20 | 24; - color?: 'primary' | 'error' | 'warning' | 'success' | 'black' | 'white'; + // eslint-disable-next-line @typescript-eslint/no-magic-numbers + size?: 12 | 16 | 20 | 24 | 30; + color?: SvgIconProps['color']; + css?: Stitches.CSS; } -export function Spinner({ size = 16, color = 'primary' }: PropTypes) { - return ; +export function Spinner(props: PropTypes) { + const { size, color, css = {} } = props; + return ( + + + + ); } diff --git a/widget/ui/src/components/StatusDrawer/StatusDrawer.stories.tsx b/widget/ui/src/components/StatusDrawer/StatusDrawer.stories.tsx deleted file mode 100644 index 524370e4de..0000000000 --- a/widget/ui/src/components/StatusDrawer/StatusDrawer.stories.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import React, { useState } from 'react'; -import { ComponentMeta } from '@storybook/react'; -import { StatusDrawer, PropTypes } from './StatusDrawer'; -import { SwapContainer } from '../SwapContainer'; - -export default { - name: 'Components/StatusDrawer', - component: StatusDrawer, - argTypes: { - status: { - name: 'status', - control: { type: 'select' }, - options: ['continue', 'success', 'failed'], - defaultValue: 'success', - }, - title: { - name: 'title', - control: { type: 'text' }, - defaultValue: 'Swap successful', - }, - subtitle: { - name: 'subtitle', - control: { type: 'text' }, - defaultValue: - 'There are now 0.0493 BNB in 0x542...C2Df wallet on BSC chain.', - }, - }, -} as ComponentMeta; - -export const Main = (args: PropTypes) => { - const [open, setOpen] = useState(false); - return ( - - - setOpen(false)} /> - - ); -}; diff --git a/widget/ui/src/components/StatusDrawer/StatusDrawer.tsx b/widget/ui/src/components/StatusDrawer/StatusDrawer.tsx deleted file mode 100644 index f6f2e4511f..0000000000 --- a/widget/ui/src/components/StatusDrawer/StatusDrawer.tsx +++ /dev/null @@ -1,82 +0,0 @@ -import React from 'react'; -import { styled } from '../../theme'; -import { Button } from '../Button'; -import { Drawer } from '../Drawer'; -import { CheckCircleIcon, InfoCircleIcon, WarningIcon } from '../Icon'; -import { Spacer } from '../Spacer'; -import { Typography } from '../Typography'; - -export interface PropTypes { - open: boolean; - onClose: () => void; - status: 'continue' | 'success' | 'failed'; - title: string; - subtitle: string; - onSubmit?: (event: React.MouseEvent) => void; - onCancel?: (event: React.MouseEvent) => void; -} -const Header = styled('div', { - textAlign: 'center', - display: 'flex', - justifyContent: 'center', - alignItems: 'center', - marginBottom: '$16', -}); -const Footer = styled('div', { - padding: '$20', - display: 'flex', - alignItems: 'center', -}); -export function StatusDrawer({ - status = 'success', - title, - subtitle, - onSubmit, - onCancel, - ...props -}: PropTypes) { - return ( - -
- {status === 'success' ? ( - - ) : status === 'failed' ? ( - - ) : ( - - )} - {title} -
- {subtitle} - - } - footer={ -
- {status !== 'failed' && ( - - )} - - -
- } - anchor="bottom" - {...props} - /> - ); -} diff --git a/widget/ui/src/components/StatusDrawer/index.ts b/widget/ui/src/components/StatusDrawer/index.ts deleted file mode 100644 index 1232c83eaa..0000000000 --- a/widget/ui/src/components/StatusDrawer/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { StatusDrawer } from './StatusDrawer'; diff --git a/widget/ui/src/components/StepDetail/StepDetail.stories.tsx b/widget/ui/src/components/StepDetail/StepDetail.stories.tsx index f12d422613..8bfb81e17e 100644 --- a/widget/ui/src/components/StepDetail/StepDetail.stories.tsx +++ b/widget/ui/src/components/StepDetail/StepDetail.stories.tsx @@ -1,10 +1,17 @@ import React from 'react'; -import { ComponentMeta } from '@storybook/react'; +import { Meta } from '@storybook/react'; import { StepDetail, PropTypes } from './StepDetail'; export default { title: 'Components/StepDetail', component: StepDetail, + args: { + logo: 'https://api.rango.exchange/tokens/COSMOS/JUNO.png', + chainLogo: 'https://api.rango.exchange/swappers/osmosis.png', + amount: '1', + symbol: 'JUNO', + blockchain: 'OSMOSIS', + }, argTypes: { logo: { name: 'logo', @@ -32,6 +39,6 @@ export default { defaultValue: 'OSMOSIS', }, }, -} as ComponentMeta; +} as Meta; export const Main = (props: PropTypes) => ; diff --git a/widget/ui/src/components/StepDetail/StepDetail.tsx b/widget/ui/src/components/StepDetail/StepDetail.tsx index e173e47b73..9077715d1d 100644 --- a/widget/ui/src/components/StepDetail/StepDetail.tsx +++ b/widget/ui/src/components/StepDetail/StepDetail.tsx @@ -1,4 +1,7 @@ -import React, { PropsWithChildren } from 'react'; +import type { PropsWithChildren } from 'react'; + +import React from 'react'; + import { styled } from '../../theme'; import { Typography } from '../Typography'; @@ -30,7 +33,7 @@ const ChainLogo = styled('div', { padding: '$2', borderRadius: '50%', backgroundColor: '$background', - border: '1px solid $neutrals400', + border: '1px solid $neutral400', img: { width: '100%', @@ -74,7 +77,7 @@ const Detail = styled('div', { }, }); const SubTitle = styled(Typography, { - color: '$neutrals600', + color: '$neutral800', display: 'block', paddingLeft: '$8', }); @@ -112,28 +115,28 @@ export function StepDetail(props: PropsWithChildren) { {amount && ( + variant={direction === 'vertical' ? 'body' : 'title'} + size="medium"> {amount} )} {!amount && estimatedAmount && ( + variant={direction === 'vertical' ? 'body' : 'title'} + size="medium" + color={'$neutral800'}> {estimatedAmount} )}   + variant={direction === 'vertical' ? 'body' : 'title'} + size="medium" + noWrap> {symbol} - + on {blockchain} diff --git a/widget/ui/src/components/StepDetails/StepDetails.stories.tsx b/widget/ui/src/components/StepDetails/StepDetails.stories.tsx new file mode 100644 index 0000000000..47e1709ca6 --- /dev/null +++ b/widget/ui/src/components/StepDetails/StepDetails.stories.tsx @@ -0,0 +1,23 @@ +import type { Meta, StoryObj } from '@storybook/react'; + +import React from 'react'; + +import { Alert } from '../Alert'; + +import { step1 } from './mock'; +import { StepDetails } from './StepDetails'; + +const meta: Meta = { + component: StepDetails, +}; + +export default meta; +type Story = StoryObj; + +export const Main: Story = { + args: { + step: { ...step1, alerts: }, + type: 'swap-progress', + state: 'completed', + }, +}; diff --git a/widget/ui/src/components/StepDetails/StepDetails.styles.ts b/widget/ui/src/components/StepDetails/StepDetails.styles.ts new file mode 100644 index 0000000000..1d324e040b --- /dev/null +++ b/widget/ui/src/components/StepDetails/StepDetails.styles.ts @@ -0,0 +1,141 @@ +import { css } from '@stitches/react'; + +import { darkTheme, styled } from '../../theme'; + +export const Container = styled('div', { + width: '100%', + position: 'relative', + padding: '0 0.5rem', + boxSizing: 'border-box', + border: '1px solid transparent', + variants: { + type: { + 'quote-details': { border: 'none' }, + 'swap-progress': { + $$color: '$colors$neutral100', + [`.${darkTheme} &`]: { + $$color: '$colors$neutral300', + }, + borderRadius: '$xm', + padding: '$10 $15', + marginBottom: '15px', + }, + }, + state: { + default: { + borderColor: 'transparent', + }, + 'in-progress': { borderColor: '$info500' }, + completed: { + borderColor: '$success500', + }, + warning: { borderColor: '$warning500' }, + error: { borderColor: '$error500' }, + }, + }, + '& .swapper__description': { + fontWeight: '$medium', + }, + '& div:nth-child(3)': { display: 'flex', flexDirection: 'column', flex: 1 }, +}); + +export const SwapperImage = styled('div', { + borderRadius: '100%', + width: '24px', + height: '24px', + overflow: 'hidden', + border: '1.5px solid transparent', + variants: { + state: { + default: { + borderColor: 'transparent', + }, + 'in-progress': { borderColor: '$info500' }, + completed: { + borderColor: '$success500', + }, + warning: { borderColor: '$warning500' }, + error: { borderColor: '$error500' }, + }, + }, +}); + +export const Alerts = styled('div', { + width: '100%', + variants: { + pb: { + true: { + paddingBottom: '35px', + }, + }, + }, +}); + +export const DashedLine = styled('div', { + borderLeft: '1px dashed black', + minHeight: '64px', + margin: '0 11.5px', + alignSelf: 'stretch', + variants: { + invisible: { + true: { + visibility: 'hidden', + minHeight: 'unset', + }, + }, + }, +}); + +export const StepSeparator = styled('div', { + borderLeft: '1px dashed transparent', + margin: '0 $10', + alignSelf: 'stretch', + display: 'block', + height: '15px', + position: 'absolute', + top: '-16px', + left: '16px', + variants: { + state: { + default: { + borderColor: 'transparent', + }, + 'in-progress': { borderColor: '$info500' }, + completed: { + borderColor: '$success500', + }, + warning: { borderColor: '$warning500' }, + error: { borderColor: '$error500' }, + }, + }, +}); + +export const tokensContainerStyles = css({ + width: '100%', +}); + +export const swapperStyles = css({ + display: 'flex', + alignItems: 'center', +}); + +export const stepInfoStyles = css({ + display: 'flex', + flex: '1', + width: '100%', + alignItems: 'start', + variants: { + tx: { + true: { + paddingLeft: '36px', + }, + }, + }, +}); + +export const tokensStyles = css({ + display: 'flex', + paddingTop: '$5', + paddingBottom: '$10', + alignItems: 'center', +}); diff --git a/widget/ui/src/components/StepDetails/StepDetails.tsx b/widget/ui/src/components/StepDetails/StepDetails.tsx new file mode 100644 index 0000000000..d2b0b3df5a --- /dev/null +++ b/widget/ui/src/components/StepDetails/StepDetails.tsx @@ -0,0 +1,125 @@ +import type { StepDetailsProps } from './StepDetails.types'; + +import { i18n } from '@lingui/core'; +import React, { forwardRef, memo, useEffect, useRef } from 'react'; + +import { ChainToken } from '../../components/ChainToken/ChainToken'; +import { NextIcon } from '../../icons'; +import { Image } from '../common'; +import { Divider } from '../Divider'; +import { Tooltip } from '../Tooltip'; +import { Typography } from '../Typography'; + +import { + Alerts, + Container, + DashedLine, + stepInfoStyles, + StepSeparator, + SwapperImage, + swapperStyles, + tokensContainerStyles, + tokensStyles, +} from './StepDetails.styles'; + +const StepDetailsComponent = forwardRef( + (props, parentRef) => { + const { + step, + hasSeparator, + type, + state, + isFocused, + tabIndex, + tooltipContainer, + } = props; + const containerRef = useRef(null); + const isCompleted = state === 'completed' || state === 'error'; + useEffect(() => { + const parentElement = (parentRef as React.RefObject) + ?.current; + const childElement = containerRef.current; + if (isFocused && childElement && parentElement) { + parentElement.scrollTop = + childElement.offsetTop - parentElement.offsetTop; + } + }, [isFocused]); + + return ( + +
+ {type === 'swap-progress' && hasSeparator && ( + + )} + + + + + {i18n.t({ + id: 'Swap on {fromChain} via {swapper}', + values: { + fromChain: step.from.chain.displayName, + swapper: step.swapper.displayName, + }, + })} + +
+
+ +
+
+ + + {`${step.from.price.value} ${step.from.token.displayName}`} + + + + + + {`${isCompleted ? '' : '~'}${ + step.to.price.value + } ${step.to.token.displayName}`} + +
+ + {step.alerts} + +
+
+
+ ); + } +); + +StepDetailsComponent.displayName = 'StepDetailsComponent'; + +export const StepDetails = memo(StepDetailsComponent); diff --git a/widget/ui/src/components/StepDetails/StepDetails.types.ts b/widget/ui/src/components/StepDetails/StepDetails.types.ts new file mode 100644 index 0000000000..6bb28cc1ff --- /dev/null +++ b/widget/ui/src/components/StepDetails/StepDetails.types.ts @@ -0,0 +1,26 @@ +import type { ReactNode } from 'react'; +import type { SwapInputProps } from 'src/containers/SwapInput/SwapInput.types'; + +type BaseStep = Pick; + +export type Step = { + swapper: SwapInputProps['chain']; + from: BaseStep; + to: BaseStep; + error?: { + title?: string; + description?: string; + }; + alerts?: ReactNode; + state?: 'error' | 'warning'; +}; + +export type StepDetailsProps = { + step: Step; + hasSeparator: boolean; + type: 'quote-details' | 'swap-progress'; + state?: 'default' | 'in-progress' | 'completed' | 'warning' | 'error'; + isFocused?: boolean; + tabIndex?: number; + tooltipContainer?: HTMLElement; +}; diff --git a/widget/ui/src/components/StepDetails/index.ts b/widget/ui/src/components/StepDetails/index.ts new file mode 100644 index 0000000000..a87d98336a --- /dev/null +++ b/widget/ui/src/components/StepDetails/index.ts @@ -0,0 +1,2 @@ +export { StepDetails } from './StepDetails'; +export type { StepDetailsProps, Step } from './StepDetails.types'; diff --git a/widget/ui/src/components/StepDetails/mock.ts b/widget/ui/src/components/StepDetails/mock.ts new file mode 100644 index 0000000000..e8edce0175 --- /dev/null +++ b/widget/ui/src/components/StepDetails/mock.ts @@ -0,0 +1,35 @@ +import type { Step } from './StepDetails.types'; + +export const step1: Step = { + swapper: { + displayName: 'MayaProtocol', + image: 'https://api.rango.exchange/swappers/maya.jpg', + }, + from: { + token: { + displayName: 'BTC', + image: 'https://api.rango.exchange/tokens/BTC/BTC.png', + }, + chain: { + displayName: 'BTC', + image: 'https://api.rango.exchange/tokens/BTC/BTC.png', + }, + price: { + value: '1.00000000', + }, + }, + to: { + chain: { + displayName: 'ETH', + image: 'https://api.rango.exchange/blockchains/ethereum.svg', + }, + token: { + displayName: 'ETH', + + image: 'https://api.rango.exchange/tokens/ETH/ETH.png', + }, + price: { + value: '14.863736725876758517', + }, + }, +}; diff --git a/widget/ui/src/components/SvgIcon/SvgIcon.style.ts b/widget/ui/src/components/SvgIcon/SvgIcon.style.ts new file mode 100644 index 0000000000..822e5e4cb9 --- /dev/null +++ b/widget/ui/src/components/SvgIcon/SvgIcon.style.ts @@ -0,0 +1,35 @@ +import { styled } from '../../theme'; + +export const SvgWithColor = styled('svg', { + variants: { + color: { + primary: { + color: '$primary500', + }, + secondary: { + color: '$secondary500', + }, + error: { + color: '$error500', + }, + warning: { + color: '$warning500', + }, + success: { + color: '$success500', + }, + black: { + color: '$foreground', + }, + white: { + color: '$background', + }, + info: { + color: '$info500', + }, + gray: { + color: '$neutral700', + }, + }, + }, +}); diff --git a/widget/ui/src/components/SvgIcon/SvgIcon.tsx b/widget/ui/src/components/SvgIcon/SvgIcon.tsx new file mode 100644 index 0000000000..6ed2d4fcd6 --- /dev/null +++ b/widget/ui/src/components/SvgIcon/SvgIcon.tsx @@ -0,0 +1,22 @@ +import type { SvgIconPropsWithChildren } from './SvgIcon.types'; + +import React from 'react'; + +import { SvgWithColor } from './SvgIcon.style'; + +export function SvgIcon(props: SvgIconPropsWithChildren) { + // eslint-disable-next-line @typescript-eslint/no-magic-numbers + const { size = '1em', color, children } = props; + const originalSvgProps = children?.props; + const commonProps = { + ...originalSvgProps, + width: size, + height: size, + color: color, + className: '_icon', + }; + + return ( + {children?.props.children} + ); +} diff --git a/widget/ui/src/components/SvgIcon/SvgIcon.types.ts b/widget/ui/src/components/SvgIcon/SvgIcon.types.ts new file mode 100644 index 0000000000..9c5c2ae120 --- /dev/null +++ b/widget/ui/src/components/SvgIcon/SvgIcon.types.ts @@ -0,0 +1,16 @@ +export interface SvgIconProps { + size?: number; + color?: + | 'primary' + | 'secondary' + | 'error' + | 'warning' + | 'success' + | 'black' + | 'white' + | 'info' + | 'gray'; +} +export type SvgIconPropsWithChildren = SvgIconProps & { + children?: React.ReactElement; +}; diff --git a/widget/ui/src/components/SvgIcon/index.ts b/widget/ui/src/components/SvgIcon/index.ts new file mode 100644 index 0000000000..89c76f6556 --- /dev/null +++ b/widget/ui/src/components/SvgIcon/index.ts @@ -0,0 +1,2 @@ +export { SvgIcon } from './SvgIcon'; +export type { SvgIconPropsWithChildren, SvgIconProps } from './SvgIcon.types'; diff --git a/widget/ui/src/components/SwapContainer/SwapContainer.stories.tsx b/widget/ui/src/components/SwapContainer/SwapContainer.stories.tsx deleted file mode 100644 index 2e55dd0313..0000000000 --- a/widget/ui/src/components/SwapContainer/SwapContainer.stories.tsx +++ /dev/null @@ -1,13 +0,0 @@ -import React from 'react'; -import { ComponentMeta } from '@storybook/react'; - -import { SwapContainer, PropTypes } from './SwapContainer'; - -export default { - title: 'Components/Swap Box', - component: SwapContainer, -} as ComponentMeta; - -export const Main = (args: PropTypes) => ( - -); diff --git a/widget/ui/src/components/SwapContainer/SwapContainer.tsx b/widget/ui/src/components/SwapContainer/SwapContainer.tsx index 8cbaa30601..30d61b21d5 100644 --- a/widget/ui/src/components/SwapContainer/SwapContainer.tsx +++ b/widget/ui/src/components/SwapContainer/SwapContainer.tsx @@ -1,24 +1,32 @@ -import { CSSProperties } from '@stitches/react'; -import React, { PropsWithChildren } from 'react'; +import type { CSSProperties } from '@stitches/react'; +import type { PropsWithChildren } from 'react'; + +import React from 'react'; + import { styled } from '../../theme'; const MainContainer = styled('div', { position: 'relative', display: 'flex', flexDirection: 'column', - borderRadius: '$10', - boxShadow: '$s', width: '100%', + borderRadius: '$xl', + boxShadow: '15px 15px 15px 0px rgba(0, 0, 0, 0.05)', + minWidth: '375px', - maxWidth: '512px', - padding: '$16', + maxWidth: '390px', boxSizing: 'border-box', - backgroundColor: '$background', + backgroundColor: '$neutral100', + overflow: 'hidden', + '& *': { + boxSizing: 'border-box', + listStyleType: 'none', + }, variants: { fixedHeight: { true: { - height: '595px', - maxHeight: '595px', + height: '633px', + maxHeight: '633px', }, false: { height: 'auto', diff --git a/widget/ui/src/components/SwapDetail/SwapDetail.stories.tsx b/widget/ui/src/components/SwapDetail/SwapDetail.stories.tsx deleted file mode 100644 index 912d354802..0000000000 --- a/widget/ui/src/components/SwapDetail/SwapDetail.stories.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import React from 'react'; -import { ComponentMeta } from '@storybook/react'; -import { SwapDetail, PropTypes } from './SwapDetail'; -import { swap } from './mock'; - -export default { - title: 'Components/Swap Detail', - component: SwapDetail, - argTypes: { - status: { - name: 'status', - control: { type: 'select' }, - options: ['running', 'failed', 'success'], - defaultValue: 'running', - }, - }, -} as ComponentMeta; - -export const Main = (props: PropTypes) => ; diff --git a/widget/ui/src/components/SwapDetail/SwapDetail.tsx b/widget/ui/src/components/SwapDetail/SwapDetail.tsx deleted file mode 100644 index 4cd8ebee6d..0000000000 --- a/widget/ui/src/components/SwapDetail/SwapDetail.tsx +++ /dev/null @@ -1,104 +0,0 @@ -import React, { PropsWithChildren } from 'react'; -import { PendingSwap } from '../../containers/History/types'; -import { styled } from '../../theme'; -import { Button } from '../Button'; -import { ArrowRightIcon } from '../Icon'; -import { Spacer } from '../Spacer'; -import { Spinner } from '../Spinner'; -import { Token } from './Token'; -import { limitDecimalPlaces } from '../../helper'; - -const Container = styled('div', { - position: 'relative', - display: 'flex', - justifyContent: 'space-between', - alignItems: 'center', - padding: '$16 0', - borderBottom: '1px solid $neutrals300', - - '& > .info': { - display: 'flex', - alignItems: 'center', - }, - - '.status': { - textTransform: 'uppercase', - fontWeight: 'bold', - fontSize: '$12', - }, - - '&.failed .status': { - color: '$error', - }, - '&.success .status': { - color: '$success', - }, -}); - -export interface PropTypes { - swap: PendingSwap; - status: 'running' | 'failed' | 'success'; - onClick: (requestId: string) => void; -} - -export function SwapDetail({ - swap, - status, - onClick, -}: PropsWithChildren) { - const firstStep = swap.steps[0]; - const lastStep = swap.steps[swap.steps.length - 1]; - - return ( - - ); -} diff --git a/widget/ui/src/components/SwapDetail/Token.tsx b/widget/ui/src/components/SwapDetail/Token.tsx deleted file mode 100644 index b3e550f6d5..0000000000 --- a/widget/ui/src/components/SwapDetail/Token.tsx +++ /dev/null @@ -1,73 +0,0 @@ -import React from 'react'; -import { styled } from '../../theme'; -import { Spacer } from '../Spacer'; -import { Image } from '../common'; - -const TokenContainer = styled('div', { - display: 'flex', - alignItems: 'center', - width: '160px', - - '& .amount': { - fontWeight: 'bold', - }, - '& .estimated': { - color: '$neutrals600', - }, -}); - -const TokenImage = styled('div', { - position: 'relative', - - '.overlay': { - position: 'absolute', - right: -4, - bottom: -4, - width: '$16', - height: '$16', - padding: '$2', - borderRadius: '50%', - display: 'flex', - justifyContent: 'center', - alignItems: 'center', - backgroundColor: '$background', - border: '1px solid $neutrals400', - }, -}); - -interface PropTypes { - data: { - token: { - logo: string; - symbol: string; - }; - blockchain: { - logo: string; - name: string; - }; - amount: string; - estimatedAmount?: string; - }; -} -export function Token(props: PropTypes) { - const { - data: { token, blockchain, amount, estimatedAmount }, - } = props; - return ( - - - -
- {blockchain.name} -
-
- - {!!amount && {props.data.amount}} - {!amount && estimatedAmount && ( - {props.data.estimatedAmount} - )} - - {token.symbol} -
- ); -} diff --git a/widget/ui/src/components/SwapDetail/index.ts b/widget/ui/src/components/SwapDetail/index.ts deleted file mode 100644 index 86b6d38f23..0000000000 --- a/widget/ui/src/components/SwapDetail/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { SwapDetail } from './SwapDetail'; diff --git a/widget/embedded/src/components/SwapDetailsPlaceholder.tsx b/widget/ui/src/components/SwapDetailsPlaceholder/SwapDetailsPlaceholder.tsx similarity index 63% rename from widget/embedded/src/components/SwapDetailsPlaceholder.tsx rename to widget/ui/src/components/SwapDetailsPlaceholder/SwapDetailsPlaceholder.tsx index 3b18377abd..1458f64d45 100644 --- a/widget/embedded/src/components/SwapDetailsPlaceholder.tsx +++ b/widget/ui/src/components/SwapDetailsPlaceholder/SwapDetailsPlaceholder.tsx @@ -1,5 +1,8 @@ +import { i18n } from '@lingui/core'; import React from 'react'; -import { SecondaryPage, Spinner, Alert, styled } from '@rango-dev/ui'; + +import { Alert, SecondaryPage, Spinner } from '../..'; +import { styled } from '../../theme'; const PlaceholderContainer = styled('div', { height: '450px' }); @@ -21,7 +24,10 @@ export function SwapDetailsPlaceholder(props: PropTypes) { const { requestId, loading, onBack } = props; return ( - + {loading ? ( @@ -29,8 +35,11 @@ export function SwapDetailsPlaceholder(props: PropTypes) { ) : ( )} diff --git a/widget/ui/src/components/SwapDetailsPlaceholder/index.ts b/widget/ui/src/components/SwapDetailsPlaceholder/index.ts new file mode 100644 index 0000000000..087c70f260 --- /dev/null +++ b/widget/ui/src/components/SwapDetailsPlaceholder/index.ts @@ -0,0 +1 @@ +export { SwapDetailsPlaceholder } from './SwapDetailsPlaceholder'; diff --git a/widget/ui/src/components/SwapListItem/SwapListItem.helpers.ts b/widget/ui/src/components/SwapListItem/SwapListItem.helpers.ts new file mode 100644 index 0000000000..4ed818f5bf --- /dev/null +++ b/widget/ui/src/components/SwapListItem/SwapListItem.helpers.ts @@ -0,0 +1,51 @@ +import type { Status } from './SwapListItem.types'; + +import { i18n } from '@lingui/core'; + +export function getStatus(status: Status): string { + switch (status) { + case 'failed': + return i18n.t('Failed'); + case 'success': + return i18n.t('Complete'); + default: + return i18n.t('In progress'); + } +} + +export function formattedDateAndTime( + time: string, + onlyShowTime?: boolean +): string { + if (!time) { + return ''; + } + + const date = new Date(Number(time)); + const HOURS_IN_HALF_DAY = 12; // Constant for 12 hours + const MINUTES_IN_SINGLE_DIGIT = 10; // Constant for 10 minutes + + if (!onlyShowTime) { + const options: Intl.DateTimeFormatOptions = { + year: 'numeric', + month: 'long', + day: 'numeric', + }; + return date.toLocaleDateString(undefined, options); + } + + const hours = date.getHours(); + const minutes = date.getMinutes(); + const period = hours >= HOURS_IN_HALF_DAY ? 'pm' : 'am'; + + const formattedHours = + hours % HOURS_IN_HALF_DAY === 0 + ? HOURS_IN_HALF_DAY + : hours % HOURS_IN_HALF_DAY; + const formattedMinutes = + minutes < MINUTES_IN_SINGLE_DIGIT ? `0${minutes}` : minutes; + + const formattedTime = `${formattedHours}:${formattedMinutes} ${period}`; + + return formattedTime; +} diff --git a/widget/ui/src/components/SwapListItem/SwapListItem.stories.tsx b/widget/ui/src/components/SwapListItem/SwapListItem.stories.tsx new file mode 100644 index 0000000000..39d4e3b58d --- /dev/null +++ b/widget/ui/src/components/SwapListItem/SwapListItem.stories.tsx @@ -0,0 +1,32 @@ +import type { PropTypes } from './SwapListItem.types'; +import type { Meta } from '@storybook/react'; + +import React from 'react'; + +import { swap, swapTokenData } from './mock'; +import { SwapListItem } from './SwapListItem'; + +export default { + title: 'Components/Swap List Item', + component: SwapListItem, + args: { + status: 'running', + }, + argTypes: { + status: { + name: 'status', + control: { type: 'select' }, + options: ['running', 'failed', 'success'], + defaultValue: 'running', + }, + }, +} as Meta; + +export const Main = (props: PropTypes) => ( + +); diff --git a/widget/ui/src/components/SwapListItem/SwapListItem.styles.ts b/widget/ui/src/components/SwapListItem/SwapListItem.styles.ts new file mode 100644 index 0000000000..1a32bd1ad5 --- /dev/null +++ b/widget/ui/src/components/SwapListItem/SwapListItem.styles.ts @@ -0,0 +1,74 @@ +import { darkTheme, styled } from '../../theme'; + +export const Container = styled('div', { + display: 'flex', + justifyContent: 'space-between', + alignItems: 'flex-start', + flexDirection: 'column', + gap: 10, +}); + +export const Header = styled('div', { + display: 'flex', + padding: 0, + justifyContent: 'space-between', + alignItems: 'center', + alignSelf: 'stretch', +}); + +export const Main = styled('button', { + $$color: '$colors$neutral100', + [`.${darkTheme} &`]: { + $$color: '$colors$neutral300', + }, + backgroundColor: '$$color', + border: 'none', + width: '100%', + borderRadius: '$xm', + gap: 10, + padding: 15, + cursor: 'pointer', + fontFamily: 'inherit', + '&:hover': { + $$color: '$colors$info100', + [`.${darkTheme} &`]: { + $$color: '$colors$neutral100', + }, + backgroundColor: '$$color', + }, + '&:focus-visible': { + $$color: '$colors$info100', + [`.${darkTheme} &`]: { + $$color: '$colors$info700', + }, + backgroundColor: '$$color', + outline: 'none', + }, +}); + +export const Date = styled('div', { + display: 'flex', + padding: '$2', + alignItems: 'flex-start', +}); + +export const LoadingMain = styled('div', { + $$color: '$colors$neutral100', + [`.${darkTheme} &`]: { + $$color: '$colors$neutral300', + }, + backgroundColor: '$$color', + border: 'none', + width: '100%', + borderRadius: '$xm', + gap: 10, + padding: 15, +}); + +export const LoadingContainer = styled('div', { + display: 'flex', + justifyContent: 'space-between', + alignItems: 'flex-start', + flexDirection: 'column', + gap: 25, +}); diff --git a/widget/ui/src/components/SwapListItem/SwapListItem.tsx b/widget/ui/src/components/SwapListItem/SwapListItem.tsx new file mode 100644 index 0000000000..66fcdbdf74 --- /dev/null +++ b/widget/ui/src/components/SwapListItem/SwapListItem.tsx @@ -0,0 +1,69 @@ +import type { PropTypes } from './SwapListItem.types'; +import type { PropsWithChildren } from 'react'; + +import React from 'react'; + +import { Skeleton } from '../Skeleton'; +import { Typography } from '../Typography'; + +import { formattedDateAndTime, getStatus } from './SwapListItem.helpers'; +import { + Container, + Date, + Header, + LoadingContainer, + LoadingMain, + Main, +} from './SwapListItem.styles'; +import { StatusColors } from './SwapListItem.types'; +import { SwapToken } from './SwapToken'; + +export function SwapListItem(props: PropsWithChildren) { + if ('isLoading' in props) { + return ( + + +
+ + +
+ +
+
+ ); + } + + const { + onClick, + requestId, + creationTime, + onlyShowTime, + status, + swapTokenData, + tooltipContainer, + } = props; + return ( +
+ +
+ + + {formattedDateAndTime(creationTime, onlyShowTime)} + + + + {getStatus(status)} + +
+ +
+
+ ); +} diff --git a/widget/ui/src/components/SwapListItem/SwapListItem.types.ts b/widget/ui/src/components/SwapListItem/SwapListItem.types.ts new file mode 100644 index 0000000000..9ce8a66d58 --- /dev/null +++ b/widget/ui/src/components/SwapListItem/SwapListItem.types.ts @@ -0,0 +1,48 @@ +export type Status = 'running' | 'failed' | 'success'; + +export interface SwapListItemProps { + requestId: string; + creationTime: string; + status: Status; + onClick: (requestId: string) => void; + swapTokenData: SwapTokenData; + onlyShowTime?: boolean; + tooltipContainer?: HTMLElement; +} + +export interface LoadingProps { + isLoading: true; +} + +export type PropTypes = SwapListItemProps | LoadingProps; + +export const StatusColors = { + failed: 'error500', + running: 'info500', + success: 'success500', +}; + +export interface SwapTokenData { + from: { + token: { + image: string; + displayName: string; + }; + blockchain: { + image: string; + }; + amount: string; + }; + + to: { + token: { + image: string; + displayName: string; + }; + blockchain: { + image: string; + }; + amount: string; + realAmount: string; + }; +} diff --git a/widget/ui/src/components/SwapListItem/SwapToken.styles.ts b/widget/ui/src/components/SwapListItem/SwapToken.styles.ts new file mode 100644 index 0000000000..f36ab528e2 --- /dev/null +++ b/widget/ui/src/components/SwapListItem/SwapToken.styles.ts @@ -0,0 +1,76 @@ +import { styled } from '../../theme'; + +export const TokenContainer = styled('div', { + display: 'flex', + padding: 0, + alignItems: 'center', + gap: 10, +}); + +export const Images = styled('div', { + display: 'flex', + padding: 0, + alignItems: 'center', + alignSelf: 'stretch', +}); + +export const Layout = styled('div', { + display: 'flex', + alignItems: 'flex-start', + variants: { + direction: { + column: { + flexDirection: 'column', + flex: '1 0 0', + }, + row: { + padding: 0, + }, + }, + }, +}); + +export const TopSection = styled('div', { + display: 'flex', + alignItems: 'center', + alignSelf: 'stretch', +}); + +export const TokenInfo = styled('div', { + display: 'flex', + padding: 0, + flexDirection: 'column', + justifyContent: 'center', + alignItems: 'flex-start', +}); + +export const Icon = styled('div', { + display: 'flex', + padding: '$4', + width: '$32', + height: '$32', + + justifyContent: 'center', + alignItems: 'center', +}); + +export const LayoutLoading = styled('div', { + display: 'flex', + alignItems: 'center', + justifyContent: 'center', +}); + +export const IconLoading = styled('div', { + display: 'flex', + width: '$24', + height: '$24', + justifyContent: 'center', + alignItems: 'center', +}); + +export const LoadingContainer = styled('div', { + display: 'flex', + padding: 0, + alignItems: 'center', + gap: 25, +}); diff --git a/widget/ui/src/components/SwapListItem/SwapToken.tsx b/widget/ui/src/components/SwapListItem/SwapToken.tsx new file mode 100644 index 0000000000..3b53e408cd --- /dev/null +++ b/widget/ui/src/components/SwapListItem/SwapToken.tsx @@ -0,0 +1,155 @@ +import type { PropTypes } from './SwapToken.types'; + +import { i18n } from '@lingui/core'; +import React from 'react'; + +import { NextIcon } from '../../icons'; +import { ChainToken } from '../ChainToken'; +import { Divider } from '../Divider'; +import { Skeleton } from '../Skeleton'; +import { Tooltip } from '../Tooltip'; +import { Typography } from '../Typography'; + +import { + Icon, + IconLoading, + Images, + Layout, + LayoutLoading, + TokenContainer, + TokenInfo, + TopSection, +} from './SwapToken.styles'; + +export function SwapToken(props: PropTypes) { + if ('isLoading' in props) { + return ( + + +
+ +
+
+ +
+
+ + + + + + + + + + + + + + + +
+ ); + } + + const { + data: { + from: { + token: fromToken, + amount: fromAmount, + blockchain: fromBlockchain, + }, + to: { + token: toToken, + amount: toAmount, + blockchain: toBlockchain, + realAmount, + }, + }, + status, + tooltipContainer, + } = props; + + return ( + + +
+ +
+
+ +
+
+ {status === 'running' ? ( + + + + {fromToken.displayName} + + + + + + {toToken.displayName} + + + + {i18n.t('Waiting for bridge transaction')} + + + ) : ( + + + + {fromToken.displayName} + + {!!fromAmount && ( + + + {fromAmount} + + + )} + + + + + + + {toToken.displayName} + + + + {toAmount} + + + + + )} +
+ ); +} diff --git a/widget/ui/src/components/SwapListItem/SwapToken.types.ts b/widget/ui/src/components/SwapListItem/SwapToken.types.ts new file mode 100644 index 0000000000..8196c59903 --- /dev/null +++ b/widget/ui/src/components/SwapListItem/SwapToken.types.ts @@ -0,0 +1,9 @@ +import type { LoadingProps, Status, SwapTokenData } from './SwapListItem.types'; + +export interface SwapTokenProps { + data: SwapTokenData; + status: Status; + tooltipContainer?: HTMLElement; +} + +export type PropTypes = SwapTokenProps | LoadingProps; diff --git a/widget/ui/src/components/SwapListItem/index.ts b/widget/ui/src/components/SwapListItem/index.ts new file mode 100644 index 0000000000..b20bae497c --- /dev/null +++ b/widget/ui/src/components/SwapListItem/index.ts @@ -0,0 +1 @@ +export { SwapListItem } from './SwapListItem'; diff --git a/widget/ui/src/components/SwapDetail/mock.ts b/widget/ui/src/components/SwapListItem/mock.ts similarity index 88% rename from widget/ui/src/components/SwapDetail/mock.ts rename to widget/ui/src/components/SwapListItem/mock.ts index 84d9528ad9..f269dd27a1 100644 --- a/widget/ui/src/components/SwapDetail/mock.ts +++ b/widget/ui/src/components/SwapListItem/mock.ts @@ -1,6 +1,12 @@ -// @ts-nocheck -import { RoutingResultType, TransactionType } from 'rango-sdk'; -import { PendingSwap } from '../../containers/History/types'; +/* eslint-disable @typescript-eslint/no-magic-numbers */ +import type { SwapTokenData } from './SwapListItem.types'; +import type { PendingSwap } from 'rango-types'; + +import { + MessageSeverity, + RoutingResultType, + TransactionType, +} from 'rango-types'; export const swap: PendingSwap = { creationTime: '1673164511955', @@ -16,7 +22,7 @@ export const swap: PendingSwap = { status: 'running', isPaused: false, extraMessage: null, - extraMessageSeverity: 'info', + extraMessageSeverity: MessageSeverity.info, extraMessageDetail: '', extraMessageErrorCode: null, networkStatusExtraMessage: null, @@ -70,6 +76,7 @@ export const swap: PendingSwap = { expenseType: 'FROM_SOURCE_WALLET', name: 'Network Fee', amount: '0', + price: null, }, ], estimatedTimeInSeconds: 45, @@ -145,6 +152,7 @@ export const swap: PendingSwap = { includesDestinationTx: false, maxRequiredSign: 1, warnings: [], + internalSwaps: null, }, ], }, @@ -159,16 +167,20 @@ export const swap: PendingSwap = { 'ibc/46b44899322f3cd854d2d46deef881958467cdd4b3b10086da49296bbed94bed', fromDecimals: 6, fromAmountPrecision: null, + fromAmountRestrictionType: 'EXCLUSIVE', + estimatedTimeInSeconds: 5, fromAmountMinValue: null, fromAmountMaxValue: null, toBlockchainLogo: 'https://api.rango.exchange/swappers/osmosis.png', fromBlockchainLogo: 'https://api.rango.exchange/swappers/osmosis.png', + fromUsdPrice: null, toBlockchain: 'OSMOSIS', fromLogo: 'https://api.rango.exchange/tokens/COSMOS/JUNO.png', toSymbol: 'OSMO', toSymbolAddress: null, toDecimals: 6, toLogo: 'https://api.rango.exchange/i/mJQPS2', + toUsdPrice: null, startTransactionTime: 1673164519916, swapperId: 'Osmosis', swapperLogo: 'https://api.rango.exchange/swappers/osmosis.png', @@ -184,6 +196,13 @@ export const swap: PendingSwap = { description: null, }, ], + starknetApprovalTransaction: null, + starknetTransaction: null, + tronApprovalTransaction: null, + tonTransaction: null, + tronTransaction: null, + feeInUsd: null, + executedTransactionTime: null, cosmosTransaction: { type: TransactionType.COSMOS, fromWalletAddress: 'osmo1unf2rcytjxfpz8x8ar63h4qeftadptg5t0nqcl', @@ -271,6 +290,31 @@ export const swap: PendingSwap = { transferTransaction: null, diagnosisUrl: null, internalSteps: null, + internalSwaps: null, }, ], }; + +export const swapTokenData: SwapTokenData = { + from: { + token: { + image: 'https://api.rango.exchange/tokens/COSMOS/JUNO.png', + displayName: 'JUNO', + }, + blockchain: { + image: 'https://api.rango.exchange/swappers/osmosis.png', + }, + amount: '1.1', + }, + to: { + token: { + image: 'https://api.rango.exchange/i/mJQPS2', + displayName: 'OSMO', + }, + blockchain: { + image: 'https://api.rango.exchange/swappers/osmosis.png', + }, + amount: '0.7', + realAmount: '0.7', + }, +}; diff --git a/widget/ui/src/components/Switch/Switch.stories.tsx b/widget/ui/src/components/Switch/Switch.stories.tsx index 1d207efc59..d86be21535 100644 --- a/widget/ui/src/components/Switch/Switch.stories.tsx +++ b/widget/ui/src/components/Switch/Switch.stories.tsx @@ -1,8 +1,9 @@ -import { ComponentMeta } from '@storybook/react'; +import { Meta } from '@storybook/react'; import React from 'react'; -import { Switch, PropTypes } from './Switch'; +import { Switch } from './Switch'; +import { PropTypes } from './Switch.types'; -export default { title: 'Switch', component: Switch } as ComponentMeta< +export default { title: 'Components/Switch', component: Switch } as Meta< typeof Switch >; diff --git a/widget/ui/src/components/Switch/Switch.styles.tsx b/widget/ui/src/components/Switch/Switch.styles.tsx new file mode 100644 index 0000000000..529d51d54c --- /dev/null +++ b/widget/ui/src/components/Switch/Switch.styles.tsx @@ -0,0 +1,48 @@ +import * as RadixSwitch from '@radix-ui/react-switch'; + +import { darkTheme, styled } from '../../theme'; + +export const StyledSwitchRoot = styled(RadixSwitch.Root, { + boxSizing: 'border-box', + boxShadow: 'none', + width: '24px', + height: '16px', + $$color: '$colors$neutral600', + [`.${darkTheme} &`]: { + $$color: '$colors$neutral700', + }, + backgroundColor: '$$color', + border: 'none', + borderRadius: '99999px', + padding: '0', + cursor: 'pointer', + transition: 'all 0.35s', + + '&[data-state="checked"]': { + $$color: '$colors$secondary500', + [`.${darkTheme} &`]: { + $$color: '$colors$secondary400', + }, + backgroundColor: '$$color', + borderColor: '$$color', + }, + '-webkit-tap-highlight-color': 'rgba(0, 0, 0, 0)', +}); + +export const StyledSwitchThumb = styled(RadixSwitch.Thumb, { + boxSizing: 'border-box', + position: 'relative', + left: '$2', + display: 'block', + width: '12px', + height: '12px', + backgroundColor: '$background', + borderColor: '$secondary100', + transition: ' transform 300ms', + borderRadius: '999999px', + willChange: 'transform', + + '&[data-state="checked"]': { + transform: 'translateX(8px)', + }, +}); diff --git a/widget/ui/src/components/Switch/Switch.tsx b/widget/ui/src/components/Switch/Switch.tsx index 9728b95302..bd941ae3f9 100644 --- a/widget/ui/src/components/Switch/Switch.tsx +++ b/widget/ui/src/components/Switch/Switch.tsx @@ -1,49 +1,8 @@ -import React from 'react'; -import * as RadixSwitch from '@radix-ui/react-switch'; - -import { styled } from '../../theme'; - -const StyledSwitchRoot = styled(RadixSwitch.Root, { - boxSizing: 'border-box', - boxShadow: 'none', - borderStyle: 'solid', - width: '42px', - height: '22px', - backgroundColor: '$neutrals600', - borderColor: '$neutrals600', - borderRadius: '99999px', - position: 'relative', - padding: '0', - cursor: 'pointer', - - '&[data-state="checked"]': { - backgroundColor: '$success', - borderColor: '$success', - }, - '-webkit-tap-highlight-color': 'rgba(0, 0, 0, 0)', -}); +import type { PropTypes } from './Switch.types'; -const StyledSwitchThumb = styled(RadixSwitch.Thumb, { - position: 'absolute', - top: '0', - boxSizing: 'border-box', - display: 'block', - width: '18px', - height: '18px', - backgroundColor: '$white', - transition: ' transform 300ms', - borderRadius: '999999px', - willChange: 'transform', - - '&[data-state="checked"]': { - transform: 'translateX(20px)', - }, -}); +import React from 'react'; -export interface PropTypes { - checked: boolean; - onChange?: (checked: boolean) => void; -} +import { StyledSwitchRoot, StyledSwitchThumb } from './Switch.styles'; export function Switch(props: PropTypes) { const { checked, onChange } = props; diff --git a/widget/ui/src/components/Switch/Switch.types.tsx b/widget/ui/src/components/Switch/Switch.types.tsx new file mode 100644 index 0000000000..a88c3575c6 --- /dev/null +++ b/widget/ui/src/components/Switch/Switch.types.tsx @@ -0,0 +1,4 @@ +export interface PropTypes { + checked: boolean; + onChange?: (checked: boolean) => void; +} diff --git a/widget/ui/src/components/TextField/TextField.stories.tsx b/widget/ui/src/components/TextField/TextField.stories.tsx index 9eaf27c4fd..1cc968b760 100644 --- a/widget/ui/src/components/TextField/TextField.stories.tsx +++ b/widget/ui/src/components/TextField/TextField.stories.tsx @@ -1,13 +1,17 @@ +import type { PropTypes } from './TextField.types'; +import type { Meta } from '@storybook/react'; + import React from 'react'; -import { ComponentMeta } from '@storybook/react'; -import { TextField, PropTypes } from './TextField'; -import { SearchIcon } from '../Icon'; +import { SearchIcon } from '../../icons'; + +import { TextField } from './TextField'; export default { title: 'Components/Text Field', component: TextField, + argTypes: { disabled: { name: 'disabled', @@ -18,14 +22,19 @@ export default { type: 'string', }, }, -} as ComponentMeta; + args: { + variant: 'contained', + placeholder: 'test', + fullWidth: false, + }, +} as Meta; export const Main = (args: PropTypes) => ; export const WithPrefix = (args: PropTypes) => ( - } /> + } /> ); export const WithSuffix = (args: PropTypes) => ( - } /> + } /> ); diff --git a/widget/ui/src/components/TextField/TextField.styles.ts b/widget/ui/src/components/TextField/TextField.styles.ts new file mode 100644 index 0000000000..d5aac961d0 --- /dev/null +++ b/widget/ui/src/components/TextField/TextField.styles.ts @@ -0,0 +1,123 @@ +import { darkTheme, styled } from '../../theme'; + +export const InputContainer = styled('div', { + borderRadius: '$xs', + display: 'flex', + justifyContent: 'center', + alignItems: 'center', + variants: { + fullWidth: { + true: { + width: '100%', + }, + false: { + width: 'fit-content', + }, + }, + size: { + small: { + padding: '$5 $15', + }, + large: { + padding: '$10', + borderRadius: '$xl', + }, + }, + variant: { + contained: { + $$color: '$colors$neutral100', + [`.${darkTheme} &`]: { + $$color: '$colors$neutral300', + }, + backgroundColor: '$$color', + '&:hover': { + $$color: '$colors$info100', + [`.${darkTheme} &`]: { + $$color: '$colors$neutral100', + }, + backgroundColor: '$$color', + }, + }, + outlined: { + backgroundColor: 'transparent', + border: '1px solid $neutral100', + '&:hover': { + $$color: '$colors$info100', + [`.${darkTheme} &`]: { + $$color: '$colors$neutral400', + }, + borderColor: '$$color', + }, + }, + ghost: { + background: 'transparent', + }, + }, + + disabled: { + true: {}, + false: {}, + }, + }, + + compoundVariants: [ + { + variant: 'contained', + disabled: true, + css: { + '&:hover': { + backgroundColor: '$neutral100', + }, + }, + }, + { + variant: 'outlined', + disabled: true, + css: { + '&:hover': { + borderColor: '$neutral100', + }, + }, + }, + ], +}); + +export const Input = styled('input', { + flexGrow: 1, + color: '$foreground', + fontSize: '$14', + lineHeight: '$20', + fontWeight: 400, + border: 'none', + outline: 'none', + fontFamily: 'inherit', + variants: { + suffix: { + true: { marginRight: '$10' }, + }, + }, + backgroundColor: 'transparent', + '-webkit-appearance': 'none', + margin: 0, + '&:disabled': { + cursor: 'not-allowed', + }, + '&::-webkit-outer-spin-button, &::-webkit-inner-spin-button': { + '-webkit-appearance': 'none', + margin: 0, + }, + '&[type="number"]': { + '-moz-appearance': 'textfield', + }, + + '&::placeholder, &::-webkit-input-placeholder': { + color: '$neutral700', + }, + '&:focus-visible': { + outline: 'none', + }, +}); + +export const Label = styled('label', { + display: 'inline-block', +}); diff --git a/widget/ui/src/components/TextField/TextField.tsx b/widget/ui/src/components/TextField/TextField.tsx index 1f23160e12..27b0a82575 100644 --- a/widget/ui/src/components/TextField/TextField.tsx +++ b/widget/ui/src/components/TextField/TextField.tsx @@ -1,149 +1,58 @@ -import React, { PropsWithChildren, RefObject } from 'react'; +import type { PropTypes, Ref } from './TextField.types'; +import type { PropsWithChildren } from 'react'; -import { styled } from '../../theme'; +import React from 'react'; -const InputContainer = styled('div', { - backgroundColor: '$background', - padding: '1px', - boxSizing: 'border-box', - border: '1px solid $neutrals400', - borderRadius: '$5', - height: '$48', - display: 'flex', - flexGrow: 1, - position: 'relative', - alignItems: 'center', - color: '$foreground', - overflowX: 'hidden', - transition: 'border-color ease .3s', - '&:focus-within': { - borderColor: '$success', - outline: '1px solid $success', - }, - variants: { - size: { - small: { - height: '$32', - }, - medium: { - height: '$40', - }, - large: { - height: '$48', - }, - }, - disabled: { - true: { - backgroundColor: '$neutrals300', - cursor: 'not-allowed', - filter: 'grayscale(100%)', - }, - }, - prefix: { - true: { - paddingLeft: '$16', - }, - false: { - paddingLeft: '$0', - }, - }, - suffix: { - true: { - paddingRight: '$16', - }, - false: { - paddingRight: '$0', - }, - }, - }, - defaultVariants: { - size: 'medium', - }, -}); +import { Divider } from '../Divider'; +import { Typography } from '../Typography'; -const Input = styled('input', { - color: '$foreground', - paddingLeft: '$16', - paddingRight: '$16', - flexGrow: 1, - width: '100%', - border: 'none', - borderRadius: '$5', - outline: 'none', - fontSize: '$l', - backgroundColor: 'transparent', - '-webkit-appearance': 'none', - margin: 0, - '&:disabled': { - cursor: 'not-allowed', - }, - '&::-webkit-outer-spin-button, &::-webkit-inner-spin-button': { - '-webkit-appearance': 'none', - margin: 0, - }, - '&[type="number"]': { - '-moz-appearance': 'textfield', - }, -}); -const Label = styled('label', { - display: 'inline-block', - fontSize: '$14', - color: '$foreground', - marginBottom: '$4', -}); +import { Input, InputContainer, Label } from './TextField.styles'; -export type PropTypes = { - label?: string; - prefix?: React.ReactNode; - suffix?: React.ReactNode; - size?: 'small' | 'medium' | 'large'; -} & Omit, 'prefix' | 'size'> & { - ref?: - | ((instance: HTMLInputElement | null) => void) - | React.RefObject - | null - | undefined; - }; - -export const TextField = React.forwardRef( - ( - props: PropsWithChildren, - ref: - | RefObject - | ((instance: HTMLInputElement | null) => void) - | null - | undefined - ) => { - const { label, prefix, suffix, children, size, style, ...inputAttributes } = - props; - return ( - <> - {label && ( -
diff --git a/widget/ui/src/components/TokenPreview/index.ts b/widget/ui/src/components/TokenPreview/index.ts new file mode 100644 index 0000000000..3038fffc0a --- /dev/null +++ b/widget/ui/src/components/TokenPreview/index.ts @@ -0,0 +1 @@ +export { TokenPreview } from './TokenPreview'; diff --git a/widget/ui/src/components/Tooltip/Tooltip.stories.tsx b/widget/ui/src/components/Tooltip/Tooltip.stories.tsx index 2510d37919..91db328dd9 100644 --- a/widget/ui/src/components/Tooltip/Tooltip.stories.tsx +++ b/widget/ui/src/components/Tooltip/Tooltip.stories.tsx @@ -1,12 +1,19 @@ +import type { PropTypes } from './Tooltip.types'; +import type { Meta } from '@storybook/react'; + import React from 'react'; -import { ComponentMeta } from '@storybook/react'; -import { Tooltip, PropTypes } from './Tooltip'; import { AddWalletIcon } from '../Icon'; +import { Tooltip } from './Tooltip'; + export default { title: 'Components/Tooltip', component: Tooltip, + args: { + content: 'I am a tooltip', + side: 'top', + }, argTypes: { content: { name: 'content', @@ -22,29 +29,13 @@ export default { color: { name: 'color', control: { type: 'select' }, - options: [ - 'primary', - 'error', - 'warning', - 'success', - 'black', - 'white', - 'gray', - ], - defaultValue: 'gray', + options: ['primary', 'error', 'warning', 'success'], }, }, -} as ComponentMeta; +} as Meta; export const Main = (props: PropTypes) => ( -
+
diff --git a/widget/ui/src/components/Tooltip/Tooltip.styles.ts b/widget/ui/src/components/Tooltip/Tooltip.styles.ts new file mode 100644 index 0000000000..4edd7e72c8 --- /dev/null +++ b/widget/ui/src/components/Tooltip/Tooltip.styles.ts @@ -0,0 +1,22 @@ +import * as RadixTooltip from '@radix-ui/react-tooltip'; + +import { styled } from '../../theme'; +import { Typography } from '../Typography'; + +export const TooltipContent = styled(RadixTooltip.Content, { + zIndex: '999999', +}); + +export const TooltipTypography = styled(Typography, { + borderRadius: '$md', + padding: '$5 $10', + boxShadow: + 'inset 0 0 0.5px 1px rgba(255, 255, 255, 0.075), 0 0 0 1px rgba(0, 0, 0, 0.05), 0 0.3px 0.4px rgba(0, 0, 0, 0.02), 0.9px 1.5px rgba(0, 0, 0, 0.045), 0 3.5px 6px rgba(0, 0, 0, 0.09)', + backgroundColor: '$neutral100', +}); + +export const TriggerContent = styled('div', { + display: 'flex', + justifyContent: 'center', + alignItems: 'center', +}); diff --git a/widget/ui/src/components/Tooltip/Tooltip.tsx b/widget/ui/src/components/Tooltip/Tooltip.tsx index fa1e70569d..6805a9921b 100644 --- a/widget/ui/src/components/Tooltip/Tooltip.tsx +++ b/widget/ui/src/components/Tooltip/Tooltip.tsx @@ -1,113 +1,37 @@ -import * as RadixTooltip from '@radix-ui/react-tooltip'; -import { styled } from '../../theme'; -import React, { PropsWithChildren } from 'react'; - -export interface PropTypes { - content: string; - side?: 'top' | 'right' | 'bottom' | 'left'; - color?: - | 'primary' - | 'error' - | 'warning' - | 'success' - | 'gray' - | 'white' - | 'black'; -} -const TooltipTrigger = styled(RadixTooltip.Trigger, { - border: 0, - padding: 0, +import type { PropTypes } from './Tooltip.types'; +import type { PropsWithChildren } from 'react'; - backgroundColor: 'transparent', -}); -const TooltipContent = styled(RadixTooltip.Content, { - borderRadius: '$5', - padding: '$4 $8', - fontSize: '$14', - animationDuration: '400ms', - animationTimingFunction: 'cubic-bezier(0.16, 1, 0.3, 1)', - willChange: 'transform, opacity', - variants: { - color: { - primary: { - backgroundColor: '$primary', - color: '$white', - }, - error: { - backgroundColor: '$error', - color: '$white', - }, - warning: { - backgroundColor: '$warning', - color: '$white', - }, - success: { - backgroundColor: '$success', - color: '$white', - }, - gray: { - backgroundColor: '$neutrals300', - color: '$black', - }, - black: { - backgroundColor: '$black', - color: '$white', - }, - white: { - backgroundColor: '$white', - color: '$black', - }, - }, - }, -}); -const TooltipArrow = styled(RadixTooltip.Arrow, { - variants: { - color: { - primary: { - fill: '$primary', - }, - error: { - fill: '$error', - }, - warning: { - fill: '$warning', - }, - success: { - fill: '$success', - }, - gray: { - fill: '$neutrals300', - }, - black: { - fill: '$black', - }, - white: { - fill: '$white', - }, - }, - }, -}); +import * as RadixTooltip from '@radix-ui/react-tooltip'; +import React from 'react'; -const ChildrenWrapper = styled('div', { - display: 'inline-block', -}); +import { + TooltipContent, + TooltipTypography, + TriggerContent, +} from './Tooltip.styles'; -export function Tooltip({ - children, - content, - side = 'top', - color = 'gray', -}: PropsWithChildren) { +export function Tooltip(props: PropsWithChildren) { + const { + children, + content, + color, + sideOffset, + container, + open, + side = 'top', + style, + } = props; return ( - - - - {children} - - - - {content} - + + + + {children} + + + + + {content} + diff --git a/widget/ui/src/components/Tooltip/Tooltip.types.ts b/widget/ui/src/components/Tooltip/Tooltip.types.ts new file mode 100644 index 0000000000..4ad4db4876 --- /dev/null +++ b/widget/ui/src/components/Tooltip/Tooltip.types.ts @@ -0,0 +1,15 @@ +import type * as RadixTooltip from '@radix-ui/react-tooltip'; +import type { CSSProperties } from '@stitches/react'; +import type { ComponentProps, ReactNode } from 'react'; + +type RadixTooltipContentProps = ComponentProps; + +export interface PropTypes { + content: ReactNode; + side?: RadixTooltipContentProps['side']; + color?: 'primary' | 'error' | 'warning' | 'success'; + sideOffset?: RadixTooltipContentProps['sideOffset']; + container?: HTMLElement; + open?: boolean; + style?: CSSProperties; +} diff --git a/widget/ui/src/components/Tooltip/useEventListener.ts b/widget/ui/src/components/Tooltip/useEventListener.ts new file mode 100644 index 0000000000..af40a519e1 --- /dev/null +++ b/widget/ui/src/components/Tooltip/useEventListener.ts @@ -0,0 +1,54 @@ +import { RefObject, useEffect, useRef } from 'react'; + +function useEventListener( + eventName: K, + handler: (event: WindowEventMap[K]) => void +): void; +function useEventListener< + K extends keyof HTMLElementEventMap, + T extends HTMLElement = HTMLDivElement +>( + eventName: K, + handler: (event: HTMLElementEventMap[K]) => void, + element: RefObject +): void; + +function useEventListener< + KW extends keyof WindowEventMap, + KH extends keyof HTMLElementEventMap, + T extends HTMLElement | void = void +>( + eventName: KW | KH, + handler: ( + event: WindowEventMap[KW] | HTMLElementEventMap[KH] | Event + ) => void, + element?: RefObject +) { + const savedHandler = useRef(); + + useEffect(() => { + // Define the listening target + const targetElement: T | Window = element?.current || window; + if (!(targetElement && targetElement.addEventListener)) return; + + // Update saved handler if necessary + if (savedHandler.current !== handler) { + savedHandler.current = handler; + } + + // Create event listener that calls handler function stored in ref + const eventListener: typeof handler = (event) => { + if (savedHandler?.current) { + savedHandler.current(event); + } + }; + + targetElement.addEventListener(eventName, eventListener); + + return () => { + targetElement.removeEventListener(eventName, eventListener); + }; + }, [eventName, element, handler]); +} + +export default useEventListener; diff --git a/widget/ui/src/components/Typography/Typography.stories.tsx b/widget/ui/src/components/Typography/Typography.stories.tsx index 5651a0744b..440a363b0e 100644 --- a/widget/ui/src/components/Typography/Typography.stories.tsx +++ b/widget/ui/src/components/Typography/Typography.stories.tsx @@ -1,7 +1,9 @@ +import type { PropTypes } from './Typography.types'; +import type { Meta } from '@storybook/react'; + import React from 'react'; -import { ComponentMeta } from '@storybook/react'; -import { Typography, PropTypes } from './Typography'; +import { Typography } from './Typography'; export default { title: 'Components/Typography', @@ -34,39 +36,90 @@ export default { control: { type: 'boolean' }, }, }, -} as ComponentMeta; +} satisfies Meta; export const Main = (props: PropTypes) => (
- - Heading 1 - - - Heading 2 - - - Heading 3 - - - Heading 4 - - - Heading 5 - - - Heading 6 - - - Body 1 - - - Body 2 - - - Body 3 - - - Caption - +
+ + Display Large + + {', '} + + Display Medium + + {', '} + + Display Small + +
+ +
+ + Headline Large + + {', '} + + Headline Medium + + {', '} + + Headline Small + + {', '} + + Headline Xsmall + +
+ +
+ + Title Large + + {', '} + + Title Medium + + {', '} + + Title Xmedium + + {', '} + + Title Small + +
+ +
+ + Label Large + + {', '} + + Label Medium + + {', '} + + Label Small + +
+ +
+ + Body Large + + {', '} + + Body Medium + + {', '} + + Body Small + + {', '} + + Body Xsmall + +
); diff --git a/widget/ui/src/components/Typography/Typography.styles.tsx b/widget/ui/src/components/Typography/Typography.styles.tsx new file mode 100644 index 0000000000..2ab79a0df1 --- /dev/null +++ b/widget/ui/src/components/Typography/Typography.styles.tsx @@ -0,0 +1,262 @@ +import { styled } from '../../theme'; + +export const TypographyContainer = styled('span', { + display: 'inline-block', + variants: { + variant: { + display: {}, + headline: {}, + title: {}, + label: {}, + body: {}, + }, + size: { + large: {}, + medium: {}, + xmedium: {}, + small: {}, + xsmall: {}, + }, + align: { + center: { + textAlign: 'center', + }, + left: { + textAlign: 'left', + }, + right: { + textAlign: 'right', + }, + }, + noWrap: { + true: { + whiteSpace: 'nowrap', + }, + }, + ml: { + 2: { + marginLeft: '$2', + }, + 4: { + marginLeft: '$4', + }, + 8: { + marginLeft: '$8', + }, + 12: { + marginLeft: '$12', + }, + }, + mt: { + 2: { + marginTop: '$2', + }, + 4: { + marginTop: '$4', + }, + 8: { + marginTop: '$8', + }, + 12: { + marginTop: '$12', + }, + }, + mr: { + 2: { + marginRight: '$2', + }, + 4: { + marginRight: '$4', + }, + 8: { + marginRight: '$8', + }, + 12: { + marginRight: '$12', + }, + }, + mb: { + 2: { + marginBottom: '$2', + }, + 4: { + marginBottom: '$4', + }, + 8: { + marginBottom: '$8', + }, + 12: { + marginBottom: '$12', + }, + }, + }, + + compoundVariants: [ + { + size: 'large', + variant: 'display', + css: { + fontSize: '$48', + fontWeight: '$semiBold', + lineHeight: '$64', + }, + }, + { + size: 'medium', + variant: 'display', + css: { + fontSize: '$40', + fontWeight: '$semiBold', + lineHeight: '$52', + }, + }, + { + size: 'small', + variant: 'display', + css: { + fontSize: '$36', + fontWeight: '$semiBold', + lineHeight: '$44', + }, + }, + + { + size: 'large', + variant: 'headline', + css: { + fontSize: '$32', + fontWeight: '$semiBold', + lineHeight: '$40', + }, + }, + { + size: 'medium', + variant: 'headline', + css: { + fontSize: '$38', + fontWeight: '$semiBold', + lineHeight: '$36', + }, + }, + { + size: 'small', + variant: 'headline', + css: { + fontSize: '$22', + fontWeight: '$semiBold', + lineHeight: '$30', + }, + }, + { + size: 'xsmall', + variant: 'headline', + css: { + fontSize: '$20', + fontWeight: '$semiBold', + lineHeight: '$28', + }, + }, + + { + size: 'large', + variant: 'title', + css: { + fontSize: '$22', + fontWeight: '$medium', + lineHeight: '$28', + }, + }, + { + size: 'medium', + variant: 'title', + css: { + fontSize: '$18', + fontWeight: '$medium', + lineHeight: '$26', + }, + }, + { + size: 'xmedium', + variant: 'title', + css: { + fontSize: '$16', + fontWeight: '$medium', + lineHeight: '$24', + }, + }, + { + size: 'small', + variant: 'title', + css: { + fontSize: '$14', + fontWeight: '$medium', + lineHeight: '$20', + }, + }, + + { + size: 'large', + variant: 'label', + css: { + fontSize: '$14', + fontWeight: '$medium', + lineHeight: '$20', + }, + }, + { + size: 'medium', + variant: 'label', + css: { + fontSize: '$12', + fontWeight: '$medium', + lineHeight: '$16', + }, + }, + { + size: 'small', + variant: 'label', + css: { + fontSize: '$10', + fontWeight: '$medium', + lineHeight: '$16', + }, + }, + + { + size: 'large', + variant: 'body', + css: { + fontSize: '$16', + fontWeight: '$regular', + lineHeight: '$24', + }, + }, + { + size: 'medium', + variant: 'body', + css: { + fontSize: '$14', + fontWeight: '$regular', + lineHeight: '$20', + }, + }, + { + size: 'small', + variant: 'body', + css: { + fontSize: '$12', + fontWeight: '$regular', + lineHeight: '$16', + }, + }, + { + size: 'xsmall', + variant: 'body', + css: { + fontSize: '$10', + fontWeight: '$regular', + lineHeight: '$12', + }, + }, + ], +}); diff --git a/widget/ui/src/components/Typography/Typography.tsx b/widget/ui/src/components/Typography/Typography.tsx index 5a2173ed9a..4c09225484 100644 --- a/widget/ui/src/components/Typography/Typography.tsx +++ b/widget/ui/src/components/Typography/Typography.tsx @@ -1,200 +1,9 @@ -import { CSSProperties } from '@stitches/react'; -import React, { PropsWithChildren } from 'react'; -import { styled } from '../../theme'; +import type { PropTypes } from './Typography.types'; +import type { PropsWithChildren } from 'react'; -const TypographyContainer = styled('span', { - margin: 0, - display: 'inline-block', - variants: { - variant: { - h1: { - fontSize: '$36', - fontWeight: '$700', - '@md': { - fontSize: '$40', - }, - '@lg': { - fontSize: '$48', - }, - }, - h2: { - fontSize: '$32', - fontWeight: '$700', - '@md': { - fontSize: '$36', - }, - '@lg': { - fontSize: '$40', - }, - }, - h3: { - fontSize: '$20', - fontWeight: '$700', - '@md': { - fontSize: '$24', - }, - '@lg': { - fontSize: '$32', - }, - }, - h4: { - fontSize: '$18', - fontWeight: '$600', - '@md': { - fontSize: '$20', - }, - '@lg': { - fontSize: '$24', - }, - }, - h5: { - fontSize: '$16', - fontWeight: '$600', - }, - h6: { - fontSize: '$14', - fontWeight: '$500', - '@md': { - fontSize: '$16', - }, - '@lg': { - fontSize: '$18', - }, - }, - title: { - fontSize: '$14', - fontWeight: '$500', - '@md': { - fontSize: '$15', - } - }, - body1: { - fontSize: '$14', - fontWeight: '$400', - '@md': { - fontSize: '$16', - }, - '@lg': { - fontSize: '$18', - }, - }, - body2: { - fontSize: '$14', - fontWeight: '$400', - // '@lg': { - // fontSize: '$14', - // }, - }, - body3: { - fontSize: '$12', - fontWeight: '$400', - }, - caption: { - fontSize: '$10', - fontWeight: '$400', - '@lg': { - fontSize: '$12', - }, - }, - }, - align: { - center: { - textAlign: 'center', - }, - left: { - textAlign: 'left', - }, - right: { - textAlign: 'right', - }, - }, - noWrap: { - true: { - whiteSpace: 'nowrap', - }, - }, - ml: { - 2: { - marginLeft: '$2', - }, - 4: { - marginLeft: '$4', - }, - 8: { - marginLeft: '$8', - }, - 12: { - marginLeft: '$12', - }, - }, - mt: { - 2: { - marginTop: '$2', - }, - 4: { - marginTop: '$4', - }, - 8: { - marginTop: '$8', - }, - 12: { - marginTop: '$12', - }, - }, - mr: { - 2: { - marginRight: '$2', - }, - 4: { - marginRight: '$4', - }, - 8: { - marginRight: '$8', - }, - 12: { - marginRight: '$12', - }, - }, - mb: { - 2: { - marginBottom: '$2', - }, - 4: { - marginBottom: '$4', - }, - 8: { - marginBottom: '$8', - }, - 12: { - marginBottom: '$12', - }, - }, - }, -}); +import React from 'react'; -export interface PropTypes { - variant: - | 'h1' - | 'h2' - | 'h3' - | 'h4' - | 'h5' - | 'h6' - | 'title' - | 'body1' - | 'body2' - | 'body3' - | 'caption'; - align?: 'center' | 'left' | 'right'; - noWrap?: boolean; - mt?: 2 | 4 | 8 | 12; - mb?: 2 | 4 | 8 | 12; - ml?: 2 | 4 | 8 | 12; - mr?: 2 | 4 | 8 | 12; - className?: string; - style?: CSSProperties; - color?: string; -} +import { TypographyContainer } from './Typography.styles'; export function Typography({ children, @@ -209,16 +18,12 @@ export function Typography({ : { color: '$foreground', }; - return ( + {...props}> {children} ); } - -Typography.toString = () => '._typography'; diff --git a/widget/ui/src/components/Typography/Typography.types.tsx b/widget/ui/src/components/Typography/Typography.types.tsx new file mode 100644 index 0000000000..e1813c094b --- /dev/null +++ b/widget/ui/src/components/Typography/Typography.types.tsx @@ -0,0 +1,28 @@ +import type { TypographyContainer } from './Typography.styles'; +import type * as Stitches from '@stitches/react'; + +type BaseProps = Stitches.VariantProps; +type BaseSizes = Exclude; +type BaseVariants = Exclude; +type BaseAlign = Exclude; + +// eslint-disable-next-line @typescript-eslint/no-magic-numbers +type margin = 2 | 4 | 8 | 12; + +export interface PropTypes { + variant: BaseVariants; + size: BaseSizes; + align?: BaseAlign; + noWrap?: boolean; + // @depreacted It will be removed + mt?: margin; + // @depreacted It will be removed + mb?: margin; + // @depreacted It will be removed + ml?: margin; + // @depreacted It will be removed + mr?: margin; + className?: string; + style?: Stitches.CSSProperties; + color?: string; +} diff --git a/widget/ui/src/components/VirtualizedList/VirtualizedList.tsx b/widget/ui/src/components/VirtualizedList/VirtualizedList.tsx index 9c74dc96e9..a62b6c900c 100644 --- a/widget/ui/src/components/VirtualizedList/VirtualizedList.tsx +++ b/widget/ui/src/components/VirtualizedList/VirtualizedList.tsx @@ -1,27 +1,15 @@ -import React, { PropsWithChildren } from 'react'; -import { ReactElementType, VariableSizeList as List } from 'react-window'; -import InfiniteLoader from 'react-window-infinite-loader'; -import AutoSizer from 'react-virtualized-auto-sizer'; -import { CSSProperties } from '@stitches/react'; - -export type VirtualizedListItem = ({ - index, - style, -}: { - index: number; - style: CSSProperties | undefined; -}) => JSX.Element | null; +import type { PropTypes } from './VirtualizedList.types'; +import type { CSSProperties } from '@stitches/react'; +import type { PropsWithChildren } from 'react'; -type PropTypes = { - itemCount: number; - hasNextPage: boolean; - loadNextPage: () => void; - Item: VirtualizedListItem; - innerElementType: ReactElementType | undefined; - size: number; -}; +import React from 'react'; +import AutoSizer from 'react-virtualized-auto-sizer'; +import { VariableSizeList as List } from 'react-window'; +import InfiniteLoader from 'react-window-infinite-loader'; export function VirtualizedList(props: PropsWithChildren) { + // TODO: react/prop-types problem + // eslint-disable-next-line react/prop-types const { itemCount, hasNextPage, loadNextPage, Item, innerElementType, size } = props; @@ -29,13 +17,12 @@ export function VirtualizedList(props: PropsWithChildren) { return ( - {({ width, height }) => ( + {({ width, height }: { width: number; height: number }) => ( + threshold={1}> {({ onItemsRendered, ref }) => { return ( ) { itemCount={itemCount} height={height || 0} width={width || 0} - onItemsRendered={onItemsRendered} - > + onItemsRendered={onItemsRendered}> {({ index, style }) => isItemLoaded(index) ? ( diff --git a/widget/ui/src/components/VirtualizedList/VirtualizedList.types.ts b/widget/ui/src/components/VirtualizedList/VirtualizedList.types.ts new file mode 100644 index 0000000000..05681d5d7d --- /dev/null +++ b/widget/ui/src/components/VirtualizedList/VirtualizedList.types.ts @@ -0,0 +1,19 @@ +import type { CSSProperties } from '@stitches/react'; +import type { ReactElementType } from 'react-window'; + +export type VirtualizedListItem = ({ + index, + style, +}: { + index: number; + style: CSSProperties | undefined; +}) => JSX.Element | null; + +export type PropTypes = { + itemCount: number; + hasNextPage: boolean; + loadNextPage: () => void; + Item: VirtualizedListItem; + innerElementType: ReactElementType | undefined; + size: number; +}; diff --git a/widget/ui/src/components/VirtualizedList/index.ts b/widget/ui/src/components/VirtualizedList/index.ts new file mode 100644 index 0000000000..86da8e271e --- /dev/null +++ b/widget/ui/src/components/VirtualizedList/index.ts @@ -0,0 +1 @@ +export { VirtualizedList } from './VirtualizedList'; diff --git a/widget/ui/src/components/Wallet/ClickableWallet.stories.tsx b/widget/ui/src/components/Wallet/ClickableWallet.stories.tsx new file mode 100644 index 0000000000..593ede21ab --- /dev/null +++ b/widget/ui/src/components/Wallet/ClickableWallet.stories.tsx @@ -0,0 +1,23 @@ +import type { Meta, StoryObj } from '@storybook/react'; + +import { Wallet } from './Wallet'; +import { WalletState } from './Wallet.types'; + +const meta: Meta = { + component: Wallet, +}; + +export default meta; +type Story = StoryObj; + +export const Main: Story = { + args: { + title: 'Trust Wallet', + image: 'https://api.rango.exchange/blockchains/zksync.png', + onClick: (type) => { + console.log('Clicked on', type); + }, + type: 'wallet-connect-2', + state: WalletState.CONNECTED, + }, +}; diff --git a/widget/ui/src/components/Wallet/ClickableWallet.tsx b/widget/ui/src/components/Wallet/ClickableWallet.tsx new file mode 100644 index 0000000000..32c7a73bce --- /dev/null +++ b/widget/ui/src/components/Wallet/ClickableWallet.tsx @@ -0,0 +1,71 @@ +import type { WalletPropTypes } from './Wallet.types'; + +import { detectInstallLink } from '@rango-dev/wallets-shared'; +import React from 'react'; + +import { Image } from '../common'; +import { Divider } from '../Divider'; +import { Skeleton } from '../Skeleton'; +import { Tooltip } from '../Tooltip'; +import { Typography } from '../Typography'; + +import { makeInfo } from './Wallet.helpers'; +import { + LoadingButton, + Text, + Title, + WalletButton, + WalletImageContainer, +} from './Wallet.styles'; +import { WalletState } from './Wallet.types'; + +function Wallet(props: WalletPropTypes) { + const { title, type, image, onClick, isLoading } = props; + const info = makeInfo(props.state); + + if (isLoading) { + return ( + + + + + + + + ); + } + + return ( + + { + if (props.state === WalletState.NOT_INSTALLED) { + window.open(detectInstallLink(props.link), '_blank'); + } else { + onClick(type); + } + }}> + + + + + + + {title} + + + + {info.description} + + + + + ); +} + +export default Wallet; diff --git a/widget/ui/src/components/Wallet/Content.tsx b/widget/ui/src/components/Wallet/Content.tsx new file mode 100644 index 0000000000..e992ae54cc --- /dev/null +++ b/widget/ui/src/components/Wallet/Content.tsx @@ -0,0 +1,35 @@ +import type { ContentProps } from './Wallet.types'; + +import React from 'react'; + +import { Image } from '../common'; +import { Typography } from '../Typography'; + +import { Text, WalletImageContainer } from './Wallet.styles'; + +function Content(props: ContentProps) { + const { image, title, description, descriptionColor = 'neutral800' } = props; + return ( + <> + + + + + + + {title} + + + + {description} + + + + ); +} + +export default Content; diff --git a/widget/ui/src/components/Wallet/SelectableWallet.stories.tsx b/widget/ui/src/components/Wallet/SelectableWallet.stories.tsx new file mode 100644 index 0000000000..07c48ac340 --- /dev/null +++ b/widget/ui/src/components/Wallet/SelectableWallet.stories.tsx @@ -0,0 +1,23 @@ +import type { Meta, StoryObj } from '@storybook/react'; + +import { SelectableWallet } from './SelectableWallet'; + +const meta: Meta = { + component: SelectableWallet, +}; + +export default meta; +type Story = StoryObj; + +export const Main: Story = { + args: { + title: 'Trust Wallet', + description: '0x......', + image: 'https://api.rango.exchange/blockchains/zksync.png', + onClick: (type) => { + console.log('Clicked on', type); + }, + selected: true, + type: 'wallet-connect-2', + }, +}; diff --git a/widget/ui/src/components/Wallet/SelectableWallet.tsx b/widget/ui/src/components/Wallet/SelectableWallet.tsx new file mode 100644 index 0000000000..1dfda6d0ab --- /dev/null +++ b/widget/ui/src/components/Wallet/SelectableWallet.tsx @@ -0,0 +1,49 @@ +import { detectInstallLink } from '@rango-dev/wallets-shared'; +import React from 'react'; + +import { Image } from '../common'; +import { Typography } from '../Typography'; + +import { makeInfo } from './Wallet.helpers'; +import { + Text, + Title, + WalletButton, + WalletImageContainer, +} from './Wallet.styles'; +import { type SelectablePropTypes, WalletState } from './Wallet.types'; + +export function SelectableWallet(props: SelectablePropTypes) { + const { title, type, image, onClick, selected, description, state } = props; + const info = makeInfo(props.state); + return ( + { + if (props.state === WalletState.NOT_INSTALLED) { + window.open(detectInstallLink(props.link), '_blank'); + } else { + onClick(type); + } + }}> + + + + + + + {title} + + + + {description || info.description} + + + + ); +} diff --git a/widget/ui/src/components/Wallet/State.tsx b/widget/ui/src/components/Wallet/State.tsx deleted file mode 100644 index a9b5a627bb..0000000000 --- a/widget/ui/src/components/Wallet/State.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import React, { Fragment } from 'react'; -import { styled } from '../../theme'; -import { DisconnectIcon, DownloadIcon } from '../Icon'; -import { Spinner } from '../Spinner'; -import { WalletState } from '../../types/wallet'; -import { InstallObjects, detectInstallLink } from '@rango-dev/wallets-shared'; - -const StateIconContainer = styled('span', { - display: 'flex', - justifyContent: 'center', - alignItems: 'center', -}); - -export const State = ({ - walletState, - installLink, -}: { - walletState: WalletState; - installLink: InstallObjects | string; -}) => ( - - {walletState !== WalletState.DISCONNECTED && ( - - {walletState === WalletState.NOT_INSTALLED && ( - - - - )} - {walletState === WalletState.CONNECTING && } - {walletState === WalletState.CONNECTED && } - - )} - -); diff --git a/widget/ui/src/components/Wallet/Wallet.helpers.ts b/widget/ui/src/components/Wallet/Wallet.helpers.ts new file mode 100644 index 0000000000..ec2d184b63 --- /dev/null +++ b/widget/ui/src/components/Wallet/Wallet.helpers.ts @@ -0,0 +1,36 @@ +import type { Info } from './Wallet.types'; + +import { i18n } from '@lingui/core'; + +import { WalletState } from './Wallet.types'; + +export function makeInfo(state: WalletState): Info { + switch (state) { + case WalletState.CONNECTED: + return { + color: 'success500', + description: i18n.t('Connected'), + tooltipText: i18n.t('Disconnect'), + }; + case WalletState.NOT_INSTALLED: + return { + color: 'info500', + description: i18n.t('Install'), + tooltipText: i18n.t('Install'), + }; + case WalletState.CONNECTING: + return { + color: 'neutral600', + description: i18n.t('Connecting...'), + tooltipText: i18n.t('Connecting'), + }; + case WalletState.DISCONNECTED: + return { + color: 'neutral600', + description: i18n.t('Disconnected'), + tooltipText: i18n.t('Connect'), + }; + default: + throw new Error(i18n.t('you need to pass a correct state to Wallet.')); + } +} diff --git a/widget/ui/src/components/Wallet/Wallet.stories.tsx b/widget/ui/src/components/Wallet/Wallet.stories.tsx deleted file mode 100644 index 06f270ab62..0000000000 --- a/widget/ui/src/components/Wallet/Wallet.stories.tsx +++ /dev/null @@ -1,36 +0,0 @@ -import React from 'react'; -import { ComponentMeta } from '@storybook/react'; - -import { PropTypes, Wallet } from './Wallet'; -import { WalletState } from '../../types/wallet'; - -export default { - title: 'Wallet chip', - component: Wallet, - argTypes: { - title: { - name: 'title', - type: 'string', - defaultValue: 'Coinbase', - }, - image: { - name: 'image', - type: 'string', - defaultValue: 'https://app.rango.exchange/wallets/coinbase.svg', - }, - disabled: { - name: 'disabled', - type: 'boolean', - defaultValue: false, - }, - state: { - name: 'wallet state', - control: { - type: 'select', - }, - options: Object.values(WalletState), - }, - }, -} as ComponentMeta; - -export const Main = (args: PropTypes) => ; diff --git a/widget/ui/src/components/Wallet/Wallet.styles.ts b/widget/ui/src/components/Wallet/Wallet.styles.ts new file mode 100644 index 0000000000..422e60d612 --- /dev/null +++ b/widget/ui/src/components/Wallet/Wallet.styles.ts @@ -0,0 +1,76 @@ +import { darkTheme, styled } from '../../theme'; +import { Typography } from '../Typography'; + +export const WalletImageContainer = styled('div', { + '& img': { + borderRadius: '50%', + }, +}); + +export const Title = styled(Typography, { + textTransform: 'capitalize', +}); + +export const Text = styled('div', { + display: 'flex', + flexDirection: 'column', + marginTop: '$10', +}); + +export const WalletButton = styled('button', { + borderRadius: '$xm', + padding: '$10', + border: '0', + display: 'flex', + flexDirection: 'column', + $$color: '$colors$neutral100', + [`.${darkTheme} &`]: { + $$color: '$colors$neutral300', + }, + backgroundColor: '$$color', + alignItems: 'center', + cursor: 'pointer', + width: 100, + position: 'relative', + fontFamily: 'inherit', + '&:hover': { + $$color: '$colors$info100', + [`.${darkTheme} &`]: { + $$color: '$colors$neutral100', + }, + backgroundColor: '$$color', + }, + '&:focus-visible': { + $$color: '$colors$info100', + [`.${darkTheme} &`]: { + $$color: '$colors$info700', + }, + backgroundColor: '$$color', + outline: 0, + }, + variants: { + selected: { + true: { + outlineWidth: 1, + $$outline: '$colors$secondary500', + [`.${darkTheme} &`]: { + $$outline: '$colors$secondary400', + }, + outlineColor: '$$outline', + outlineStyle: 'solid', + }, + }, + }, +}); + +export const LoadingButton = styled('div', { + borderRadius: '$xm', + padding: '$10 0', + border: '0', + display: 'flex', + flexDirection: 'column', + backgroundColor: '$neutral100', + alignItems: 'center', + justifyContent: 'center', + width: 110, +}); diff --git a/widget/ui/src/components/Wallet/Wallet.tsx b/widget/ui/src/components/Wallet/Wallet.tsx index 913e7dd786..7c90ce9f66 100644 --- a/widget/ui/src/components/Wallet/Wallet.tsx +++ b/widget/ui/src/components/Wallet/Wallet.tsx @@ -1,72 +1,2 @@ -import { detectInstallLink, WalletType } from '@rango-dev/wallets-shared'; -import React from 'react'; - -import { styled } from '../../theme'; -import { WalletInfo, WalletState } from '../../types/wallet'; -import { Button } from '../Button/Button'; -import { Typography } from '../Typography'; -import { State } from './State'; -import { Image } from '../common'; - -const WalletImageContainer = styled('div', { - paddingRight: '$12', -}); -const Text = styled('div', { - display: 'flex', - flexDirection: 'column', -}); - -const ExtendedButton = styled(Button, { - variants: { - type: { - primary: { - outline: '1px solid $primary', - borderColor: '$primary', - - '&:hover': { - borderColor: '$primary', - }, - }, - }, - }, -}); - -export type PropTypes = WalletInfo & { - onClick: (walletType: WalletType) => void; -}; - -export function Wallet(props: PropTypes) { - const { name, type, image, state, onClick, installLink } = props; - - return ( - { - if (state === WalletState.NOT_INSTALLED) { - window.open(detectInstallLink(installLink), '_blank'); - } else onClick(type); - }} - align="start" - variant="outlined" - size="large" - prefix={ - - - - } - suffix={} - > - - - {name} - - {state === WalletState.CONNECTED ? ( - - Connected - - ) : null} - - - ); -} +export { default as Wallet } from './ClickableWallet'; +export { SelectableWallet } from './SelectableWallet'; diff --git a/widget/ui/src/components/Wallet/Wallet.types.ts b/widget/ui/src/components/Wallet/Wallet.types.ts new file mode 100644 index 0000000000..e6fe7d25c5 --- /dev/null +++ b/widget/ui/src/components/Wallet/Wallet.types.ts @@ -0,0 +1,46 @@ +import type { InstallObjects, WalletType } from '@rango-dev/wallets-shared'; + +export enum WalletState { + NOT_INSTALLED = 'not_installed', + DISCONNECTED = 'disconnected', + CONNECTING = 'connecting', + CONNECTED = 'connected', +} + +export type WalletInfo = { + state: WalletState; + link: InstallObjects | string; + title: string; + image: string; + type: string; +}; + +export interface Info { + color: string; + description: string; + tooltipText: string; +} + +export interface ContentProps { + image: string; + title: string; + description: string; + descriptionColor?: string; +} + +export interface WalletPropTypes { + state: WalletState; + title: string; + image: string; + link: InstallObjects | string; + type: WalletType; + onClick: (type: WalletType) => void; + selected?: boolean; + description?: string; + isLoading?: boolean; + container?: HTMLElement; +} + +export type SelectablePropTypes = WalletPropTypes & { + selected: boolean; +}; diff --git a/widget/ui/src/components/Wallet/index.ts b/widget/ui/src/components/Wallet/index.ts index 7df19835ed..3179cf2d11 100644 --- a/widget/ui/src/components/Wallet/index.ts +++ b/widget/ui/src/components/Wallet/index.ts @@ -1 +1,3 @@ export * from './Wallet'; +export type { WalletInfo } from './Wallet.types'; +export { WalletState } from './Wallet.types'; diff --git a/widget/ui/src/components/common/FilledCircle.tsx b/widget/ui/src/components/common/FilledCircle.tsx index cc30ea0293..3cc493626e 100644 --- a/widget/ui/src/components/common/FilledCircle.tsx +++ b/widget/ui/src/components/common/FilledCircle.tsx @@ -3,6 +3,6 @@ import { styled } from '../../theme'; export const FilledCircle = styled('span', { width: '10px', height: '10px', - backgroundColor: '$primary', + backgroundColor: '$primary500', borderRadius: '99999px', }); diff --git a/widget/ui/src/components/common/Image.tsx b/widget/ui/src/components/common/Image.tsx index eecc1e11d6..b80db5fa8b 100644 --- a/widget/ui/src/components/common/Image.tsx +++ b/widget/ui/src/components/common/Image.tsx @@ -1,7 +1,8 @@ import React from 'react'; + import { styled } from '../../theme'; -const ImageContainer = styled('div', { +export const ImageContainer = styled('div', { display: 'flex', justifyContent: 'center', alignItems: 'center', @@ -10,18 +11,43 @@ const ImageContainer = styled('div', { height: '100%', objectFit: 'contain', }, + '.circular': { + borderRadius: '$lg', + }, }); type PropTypes = { size: number; + useAsPlaceholder?: boolean; + backgroundColor?: string; + borderRadius?: string; + type?: 'circular' | 'rectangular'; } & React.ImgHTMLAttributes; export function Image(props: PropTypes) { - const { size, ...otherProps } = props; + const { + size, + useAsPlaceholder, + backgroundColor = '$secondary100', + type, + ...otherProps + } = props; + + const borderRadius = type === 'circular' ? '$lg' : '$xs'; return ( - - + + {!useAsPlaceholder && ( + + )} ); } diff --git a/widget/ui/src/components/common/index.ts b/widget/ui/src/components/common/index.ts index 15731dedf7..71fabca9bb 100644 --- a/widget/ui/src/components/common/index.ts +++ b/widget/ui/src/components/common/index.ts @@ -1,2 +1,2 @@ export { FilledCircle } from './FilledCircle'; -export { Image } from './Image'; +export { Image, ImageContainer } from './Image'; diff --git a/widget/ui/src/components/common/styles.ts b/widget/ui/src/components/common/styles.ts new file mode 100644 index 0000000000..7b2f6067d0 --- /dev/null +++ b/widget/ui/src/components/common/styles.ts @@ -0,0 +1,35 @@ +import * as Collapsible from '@radix-ui/react-collapsible'; + +import { keyframes, styled } from '../../theme'; + +const slideDown = keyframes({ + from: { + height: 0, + }, + to: { + height: 'var(--radix-collapsible-content-height)', + }, +}); + +const slideUp = keyframes({ + from: { + height: 'var(--radix-collapsible-content-height)', + }, + to: { + height: 0, + }, +}); + +export const CollapsibleContent = styled(Collapsible.Content, { + overflow: 'hidden', + variants: { + open: { + true: { + animation: `${slideDown} 300ms ease-out`, + }, + false: { + animation: `${slideUp} 300ms ease-out`, + }, + }, + }, +}); diff --git a/widget/ui/src/components/index.ts b/widget/ui/src/components/index.ts index b3e09e58c6..4006c6ed4a 100644 --- a/widget/ui/src/components/index.ts +++ b/widget/ui/src/components/index.ts @@ -1,31 +1,51 @@ -export * from './BestRoute'; -export * from './BlockchainSelector'; +export * from './I18nManager'; +export * from './Alert'; +export * from './BlockchainsChip'; +export * from './BottomLogo'; export * from './Button'; +export * from './IconButton'; +export * from './Collapsible'; +export * from './ChangeSlippageButton'; export * from './Checkbox'; export * from './Chip'; -export * from './ConnectWalletsModal'; -export * from './Icon'; -export * from './LiquiditySourcesSelector'; +export * from './common'; +export * from './Divider'; +export * from './Drawer'; +export * from './Header'; export * from './Modal'; +export * from './MessageBox'; +export * from './PercentageChange'; +export * from './RadioGroup'; +export * from './RoutesOverview'; export * from './SecondaryPage'; export * from './SelectableWalletList'; -export * from './Settings'; -export * from './Spacer'; +export * from './Wallet'; +export * from './SelectableCategoryList'; export * from './Spinner'; export * from './StepDetail'; export * from './SwapContainer'; -export * from './SwapDetail'; +export * from './SwapListItem'; +export * from './SwapDetailsPlaceholder'; export * from './Switch'; export * from './TextField'; -export * from './TokenSelector'; +export * from './TokenList'; +export * from './TokenPreview'; export * from './Tooltip'; export * from './Typography'; export * from './Wallet'; -export * from './Alert'; -export * from './ColorPicker'; export * from './Radio'; -export * from './TokenList'; -export * from './common'; -export * from './Drawer'; -export * from './Header'; -export * from './Divider'; +export * from './PriceImpact'; +export * from './ChainToken'; +export * from './Skeleton'; +export * from './VirtualizedList'; +export * from './ListItemButton'; +export * from './List'; +export * from './ListItem'; +export * from './NotFound'; +export * from './MessageBox'; +export * from './IconButton'; +export * from './QuoteCost'; +export * from './TokenAmount'; +export * from './StepDetails'; +export * from './Popover'; +export * from './Flags'; diff --git a/widget/ui/src/containers/BlockchainSelector/BlockchainSelector.stories.tsx b/widget/ui/src/containers/BlockchainSelector/BlockchainSelector.stories.tsx new file mode 100644 index 0000000000..2eed460d22 --- /dev/null +++ b/widget/ui/src/containers/BlockchainSelector/BlockchainSelector.stories.tsx @@ -0,0 +1,41 @@ +import React from 'react'; +import { Meta } from '@storybook/react'; +import { BlockchainSelector, PropTypes } from './BlockchainSelector'; +import { blockchainMeta } from '../../components/BlockchainsList/mockData'; +import { SwapContainer } from '../../components/SwapContainer/SwapContainer'; + +export default { + title: 'Containers/Blockchain Selector', + component: BlockchainSelector, + args: { + type: 'Source', + loadingStatus: 'success', + }, + argTypes: { + type: { + name: 'type', + defaultValue: 'Source', + control: { + type: 'select', + options: ['Source', 'Destination'], + }, + }, + loadingStatus: { + name: 'loadingStatus', + control: { + type: 'select', + options: ['loading', 'success', 'failed'], + }, + }, + }, +} as Meta; + +export const Main = (args: PropTypes) => ( + + + +); diff --git a/widget/ui/src/components/BlockchainSelector/BlockchainSelector.tsx b/widget/ui/src/containers/BlockchainSelector/BlockchainSelector.tsx similarity index 77% rename from widget/ui/src/components/BlockchainSelector/BlockchainSelector.tsx rename to widget/ui/src/containers/BlockchainSelector/BlockchainSelector.tsx index dee38f66c7..844446f5f1 100644 --- a/widget/ui/src/components/BlockchainSelector/BlockchainSelector.tsx +++ b/widget/ui/src/containers/BlockchainSelector/BlockchainSelector.tsx @@ -1,14 +1,16 @@ +import type { LoadingStatus } from '../../types/meta'; +import type { CSSProperties } from '@stitches/react'; +import type { BlockchainMeta } from 'rango-sdk'; + import React from 'react'; -import { BlockchainMeta } from 'rango-sdk'; -import { BlockchainsList } from '../BlockchainsList'; -import { SecondaryPage } from '../SecondaryPage/SecondaryPage'; -import { Spinner } from '../Spinner'; + +import { LoadingFailedAlert } from '../../components/Alert/LoadingFailedAlert'; +import { NotFoundAlert } from '../../components/Alert/NotFoundAlert'; +import { BlockchainsList } from '../../components/BlockchainsList'; +import { SecondaryPage } from '../../components/SecondaryPage/SecondaryPage'; +import { Spinner } from '../../components/Spinner'; import { styled } from '../../theme'; -import { CSSProperties } from '@stitches/react'; -import { containsText } from '../../helper'; -import { LoadingStatus } from '../../types/meta'; -import { LoadingFailedAlert } from '../Alert/LoadingFailedAlert'; -import { NotFoundAlert } from '../Alert/NotFoundAlert'; +import { containsText } from '../../utils'; import { LoaderContainer } from '../TokenSelector/TokenSelector'; const ListContainer = styled('div', { @@ -54,10 +56,9 @@ export function BlockchainSelector(props: PropTypes) { + textFieldPlaceholder="Search blockchains by name" + title={`Select ${type} Blockchain`} + onBack={onBack}> {(searchedFor) => { const filteredBlockchains = filterBlockchains(list, searchedFor); return ( diff --git a/widget/ui/src/components/BlockchainSelector/index.ts b/widget/ui/src/containers/BlockchainSelector/index.ts similarity index 100% rename from widget/ui/src/components/BlockchainSelector/index.ts rename to widget/ui/src/containers/BlockchainSelector/index.ts diff --git a/widget/ui/src/containers/ConfirmSwap/ConfirmSwap.stories.tsx b/widget/ui/src/containers/ConfirmSwap/ConfirmSwap.stories.tsx deleted file mode 100644 index 4a92628a00..0000000000 --- a/widget/ui/src/containers/ConfirmSwap/ConfirmSwap.stories.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import React from 'react'; -import { ComponentMeta } from '@storybook/react'; -import { ConfirmSwap, PropTypes } from './ConfirmSwap'; -import { exampleFor5Wallets, wallets } from './mock'; - -export default { - title: 'Containers/ConfirmSwap', - component: ConfirmSwap, - argTypes: { - requiredWallets: { - defaultValue: ['BSC', 'OSMOSIS'], - }, - }, -} as ComponentMeta; - -export const Main = (props: PropTypes) => ( - -); - -export const With5Wallets = (props: PropTypes) => ( - -); diff --git a/widget/ui/src/containers/ConfirmSwap/ConfirmSwap.tsx b/widget/ui/src/containers/ConfirmSwap/ConfirmSwap.tsx deleted file mode 100644 index 081e170dc9..0000000000 --- a/widget/ui/src/containers/ConfirmSwap/ConfirmSwap.tsx +++ /dev/null @@ -1,180 +0,0 @@ -import React, { PropsWithChildren, ReactNode } from 'react'; -import { Alert, Spacer } from '../../components'; -import { Button } from '../../components/Button'; -import { SecondaryPage } from '../../components/SecondaryPage/SecondaryPage'; -import { SelectableWalletList } from '../../components/SelectableWalletList'; -import { Typography } from '../../components/Typography'; -import { styled } from '../../theme'; -import { SelectableWallet } from '../../types'; - -const MainContainer = styled('div', { - overflowY: 'auto', -}); - -const Section = styled('div', { - paddingBottom: '$32', - marginBottom: '$32', - borderBottom: '1px solid $neutrals400', -}); - -const Footer = styled('div', { - display: 'flex', - alignItems: 'center', -}); - -const AlertContainer = styled('div', { - padding: '$16 0', -}); - -const ConfirmButton = styled(Button, { - marginTop: '$16', -}); - -const Container = styled('div', { - paddingBottom: '$24', - - '.title': { - paddingBottom: '$8', - display: 'flex', - alignItems: 'center', - }, - '.num': { - backgroundColor: '$neutrals300', - display: 'inline-flex', - width: '24px', - height: '24px', - color: '$neutrals800', - borderRadius: '50%', - fontSize: '$14', - border: '1px solid $neutrals400', - justifyContent: 'center', - alignItems: 'center', - }, -}); - -const Alerts = styled('div', { paddingBottom: '$16' }); - -type Message = string | ReactNode - -export interface PropTypes { - onBack: () => void; - onConfirm?: (event: React.MouseEvent) => void; - confirmDisabled?: boolean; - loading?: boolean; - requiredWallets: string[]; - selectableWallets: SelectableWallet[]; - onChange: (w: SelectableWallet) => void; - isExperimentalChain?: (wallet: string) => boolean; - handleConnectChain?: (wallet: string) => void; - previewInputs?: ReactNode; - previewRoutes?: ReactNode; - confirmButtonTitle: string; - errors?: Message[]; - warnings?: Message[]; - extraMessages?: ReactNode; -} -export function ConfirmSwap(props: PropsWithChildren) { - const { - onBack, - loading, - onConfirm, - requiredWallets, - selectableWallets, - onChange, - confirmDisabled, - isExperimentalChain, - handleConnectChain, - confirmButtonTitle, - errors, - warnings, - extraMessages, - } = props; - - return ( - - - {confirmButtonTitle} - - - } - > - -
- {extraMessages || null} - - {errors?.map((error, index) => ( - <> - - - - ))} - {warnings?.map((warning, index) => ( - <> - - - - ))} - -
- {props.previewInputs || props.previewRoutes ? ( -
- {props.previewInputs} - {!!props.previewRoutes ? ( - - ) : null} - {props.previewRoutes} -
- ) : null} - - {requiredWallets.map((wallet, index) => { - const list = selectableWallets.filter((w) => wallet === w.chain); - return ( - -
-
{index + 1}
- - Your {wallet} Wallet -
- {list.length === 0 && ( - <> - - - You need to connect a compatible wallet with {wallet}. - - - {isExperimentalChain?.(wallet) && ( - - )} - - )} - {list.length != 0 && ( - - )} -
- ); - })} -
-
- ); -} diff --git a/widget/ui/src/containers/ConfirmSwap/index.ts b/widget/ui/src/containers/ConfirmSwap/index.ts deleted file mode 100644 index 8e886e4a00..0000000000 --- a/widget/ui/src/containers/ConfirmSwap/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { ConfirmSwap } from './ConfirmSwap'; diff --git a/widget/ui/src/containers/ConfirmSwap/mock.ts b/widget/ui/src/containers/ConfirmSwap/mock.ts deleted file mode 100644 index 74d0a57ae5..0000000000 --- a/widget/ui/src/containers/ConfirmSwap/mock.ts +++ /dev/null @@ -1,223 +0,0 @@ -// @ts-nocheck -import { WalletType } from '@rango-dev/wallets-shared'; -import { RoutingResultType } from 'rango-sdk'; -import { BestRouteType } from '../../types/swaps'; -import { SelectableWallet } from '../../types'; - -export const bestRoute: BestRouteType = { - from: { blockchain: 'BSC', symbol: 'BNB', address: null }, - to: { blockchain: 'AVAX_CCHAIN', symbol: 'AVAX', address: null }, - requestAmount: '0.3', - requestId: '228529e3-27d7-4fa9-ab84-bb2b90eade6f', - result: { - resultType: RoutingResultType.OK, - outputAmount: '5.685715974132648891', - swaps: [ - { - swapperId: 'AnySwap Aggregator', - swapperType: 'AGGREGATOR', - swapperLogo: 'https://api.rango.exchange/swappers/multichain.png', - - from: { - symbol: 'BNB', - logo: 'https://api.rango.exchange/i/Y3v1KW', - blockchainLogo: 'https://api.rango.exchange/blockchains/binance.svg', - - address: null, - blockchain: 'BSC', - decimals: 18, - usdPrice: 279.2738558274085, - }, - to: { - symbol: 'WETH.E', - logo: 'https://api.rango.exchange/i/j9xgdC', - blockchainLogo: - 'https://api.rango.exchange/blockchains/avax_cchain.svg', - - address: '0x49d5c2bdffac6ce2bfdb6640f4f80f226bc10bab', - blockchain: 'AVAX_CCHAIN', - decimals: 18, - usdPrice: 1329.24, - }, - fromAmount: '0.300000000000000000', - fromAmountPrecision: null, - fromAmountMinValue: '0.047579322466294684272760', - fromAmountMaxValue: '79302.26195302606417382090', - fromAmountRestrictionType: 'INCLUSIVE', - toAmount: '0.062064305934309070', - fee: [ - { - asset: { blockchain: 'BSC', symbol: 'BNB', address: null }, - expenseType: 'FROM_SOURCE_WALLET', - amount: '0.001388002000000000', - name: 'Network Fee', - }, - ], - estimatedTimeInSeconds: 300, - swapChainType: 'INTRA_CHAIN', - routes: null, - recommendedSlippage: null, - timeStat: { min: 162, avg: 260, max: 467 }, - includesDestinationTx: false, - maxRequiredSign: 1, - warnings: [], - }, - { - swapperId: 'PangolinSwap', - swapperLogo: 'https://api.rango.exchange/swappers/pangolin.png', - swapperType: 'DEX', - from: { - symbol: 'WETH.E', - logo: 'https://api.rango.exchange/i/j9xgdC', - address: '0x49d5c2bdffac6ce2bfdb6640f4f80f226bc10bab', - blockchain: 'AVAX_CCHAIN', - decimals: 18, - usdPrice: 1329.24, - blockchainLogo: - 'https://api.rango.exchange/blockchains/avax_cchain.svg', - }, - to: { - symbol: 'AVAX', - logo: 'https://api.rango.exchange/i/kX4edQ', - address: null, - blockchain: 'AVAX_CCHAIN', - decimals: 18, - usdPrice: 12.5, - blockchainLogo: - 'https://api.rango.exchange/blockchains/avax_cchain.svg', - }, - fromAmount: '0.062064305934309070', - fromAmountPrecision: null, - fromAmountMinValue: null, - fromAmountMaxValue: null, - fromAmountRestrictionType: 'EXCLUSIVE', - toAmount: '5.685715974132648891', - fee: [ - { - asset: { - blockchain: 'AVAX_CCHAIN', - symbol: 'WETH.E', - address: '0x49d5c2bdffac6ce2bfdb6640f4f80f226bc10bab', - }, - name: 'Network Fee', - expenseType: 'DECREASE_FROM_OUTPUT', - amount: - '0.00018619291780292721387591870688029381530892436558133340440690517425537109375', - }, - { - asset: { blockchain: 'AVAX_CCHAIN', symbol: 'AVAX', address: null }, - expenseType: 'FROM_SOURCE_WALLET', - amount: '0.005370022532678750', - name: 'Network Fee', - }, - ], - estimatedTimeInSeconds: 45, - swapChainType: 'INTER_CHAIN', - routes: [ - { - nodes: [ - { - nodes: [ - { - marketName: 'PangolinSwap', - marketId: 'PangolinSwap', - percent: 1.0, - }, - ], - from: 'WETH.e', - fromLogo: '', - fromAddress: '0x49d5c2bdffac6ce2bfdb6640f4f80f226bc10bab', - fromBlockchain: 'AVAX_CCHAIN', - to: 'WAVAX', - toLogo: '', - toAddress: '0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7', - toBlockchain: 'AVAX_CCHAIN', - }, - ], - }, - ], - recommendedSlippage: null, - timeStat: { min: 6, avg: 39, max: 317 }, - includesDestinationTx: false, - maxRequiredSign: 1, - warnings: [], - }, - ], - }, - validationStatus: null, - missingBlockchains: [], - diagnosisMessages: [], - walletNotSupportingFromBlockchain: false, - processingLimitReached: false, -}; - -export const wallets: SelectableWallet[] = [ - { - walletType: WalletType.META_MASK, - address: '0x5423e28219d6d568dcf62a8134d623e6f4a1c2df', - image: 'https://app.rango.exchange/wallets/metamask.svg', - chain: 'BSC', - selected: false, - }, - { - walletType: WalletType.OKX, - address: '0x2702d89c1c8658b49c45dd460deebcc45faec03c', - image: 'https://app.rango.exchange/wallets/okx.png', - chain: 'BSC', - selected: false, - }, - - { - walletType: WalletType.KEPLR, - address: 'osmo1unf2rcytjxfpz8x8ar63h4qeftadptg5t0nqcl', - image: 'https://app.rango.exchange/wallets/keplr.png', - chain: 'OSMOSIS', - selected: false, - }, -]; - -export const exampleFor5Wallets: SelectableWallet[] = [ - { - walletType: WalletType.META_MASK, - address: '0x5423e28219d6d568dcf62a8134d623e6f4a1c2df', - image: 'https://app.rango.exchange/wallets/metamask.svg', - selected: false, - chain: 'BSC', - }, - { - walletType: WalletType.OKX, - address: '0x2702d89c1c8658b49c45dd460deebcc45faec03c', - image: 'https://app.rango.exchange/wallets/okx.png', - selected: false, - chain: 'BSC', - }, - { - walletType: WalletType.EXODUS, - address: '0x2702d89c1c8658b49c45dd460deebcc45faec03c', - image: 'https://app.rango.exchange/wallets/exodus.png', - selected: false, - chain: 'BSC', - }, - { - walletType: WalletType.MATH, - address: '0x2702d89c1c8658b49c45dd460deebcc45faec03c', - image: 'https://app.rango.exchange/wallets/math-wallet.png', - selected: false, - chain: 'BSC', - }, - { - walletType: WalletType.CLOVER, - address: '0x2702d89c1c8658b49c45dd460deebcc45faec03c', - image: 'https://app.rango.exchange/wallets/clover.jpeg', - selected: false, - chain: 'BSC', - }, - - { - walletType: WalletType.KEPLR, - address: 'osmo1unf2rcytjxfpz8x8ar63h4qeftadptg5t0nqcl', - image: 'https://app.rango.exchange/wallets/keplr.png', - selected: false, - chain: 'OSMOSIS', - }, -]; diff --git a/widget/ui/src/containers/ConnectWalletsModal/ConnectWallets.stories.tsx b/widget/ui/src/containers/ConnectWalletsModal/ConnectWallets.stories.tsx new file mode 100644 index 0000000000..2f8fa02f2e --- /dev/null +++ b/widget/ui/src/containers/ConnectWalletsModal/ConnectWallets.stories.tsx @@ -0,0 +1,24 @@ +import React, { useState } from 'react'; +import { Meta } from '@storybook/react'; +import { ConnectWalletsModal, PropTypes } from './ConnectWalletsModal'; +import { walletsInfo } from './mockData'; + +export default { + title: 'Containers/Connect Wallets Modal', + component: ConnectWalletsModal, +} as Meta; + +export const Main = (args: PropTypes) => { + const [open, setOpen] = useState(false); + return ( +
+ + setOpen(false)} + /> +
+ ); +}; diff --git a/widget/ui/src/components/ConnectWalletsModal/ConnectWalletsModal.tsx b/widget/ui/src/containers/ConnectWalletsModal/ConnectWalletsModal.tsx similarity index 57% rename from widget/ui/src/components/ConnectWalletsModal/ConnectWalletsModal.tsx rename to widget/ui/src/containers/ConnectWalletsModal/ConnectWalletsModal.tsx index 5093ed260f..a51f27b920 100644 --- a/widget/ui/src/components/ConnectWalletsModal/ConnectWalletsModal.tsx +++ b/widget/ui/src/containers/ConnectWalletsModal/ConnectWalletsModal.tsx @@ -1,9 +1,11 @@ +import type { WalletInfo } from '../../components'; +import type { WalletType } from '@rango-dev/wallets-shared'; + +import { i18n } from '@lingui/core'; import React from 'react'; + +import { Modal, Wallet } from '../../components'; import { styled } from '../../theme'; -import { WalletInfo } from '../../types/wallet'; -import { Modal } from '../Modal'; -import { WalletType } from '@rango-dev/wallets-shared'; -import { Wallet } from '../Wallet'; export interface PropTypes { open: boolean; @@ -17,26 +19,23 @@ const ModalContent = styled('div', { display: 'grid', gap: '$8', gridTemplateColumns: 'repeat(2, minmax(0, 1fr))', + overflow: 'auto', }); export function ConnectWalletsModal(props: PropTypes) { const { open, list, onSelect, onClose } = props; - const Content = ( - - {list.map((info, index) => ( - - ))} - - ); - return ( + containerStyle={{ width: '75%', maxWidth: '30rem', height: '60%' }}> + + {list.map((info) => ( + + ))} + + ); } diff --git a/widget/ui/src/components/ConnectWalletsModal/index.ts b/widget/ui/src/containers/ConnectWalletsModal/index.ts similarity index 100% rename from widget/ui/src/components/ConnectWalletsModal/index.ts rename to widget/ui/src/containers/ConnectWalletsModal/index.ts diff --git a/widget/ui/src/containers/ConnectWalletsModal/mockData.ts b/widget/ui/src/containers/ConnectWalletsModal/mockData.ts new file mode 100644 index 0000000000..e2164420ff --- /dev/null +++ b/widget/ui/src/containers/ConnectWalletsModal/mockData.ts @@ -0,0 +1,118 @@ +import { WalletInfo, WalletState } from '../../components'; +import { WalletTypes } from '@rango-dev/wallets-shared'; + +export const walletsInfo: WalletInfo[] = [ + { + image: 'https://app.rango.exchange/wallets/coinbase.svg', + title: 'Coinbase', + state: WalletState.DISCONNECTED, + link: '', + type: WalletTypes.COINBASE, + }, + { + image: 'https://app.rango.exchange/wallets/coinbase.svg', + title: 'Coinbase', + state: WalletState.CONNECTED, + link: '', + type: WalletTypes.COINBASE, + }, + { + image: 'https://app.rango.exchange/wallets/coinbase.svg', + title: 'Coinbase', + state: WalletState.CONNECTING, + link: '', + type: WalletTypes.COINBASE, + }, + { + image: 'https://app.rango.exchange/wallets/coinbase.svg', + title: 'Coinbase', + state: WalletState.NOT_INSTALLED, + type: WalletTypes.COINBASE, + + link: 'https://chrome.google.com/webstore/detail/coinbase-wallet-extension/hnfanknocfeofbddgcijnmhnfnkdnaad?hl=en', + }, + { + image: 'https://app.rango.exchange/wallets/coinbase.svg', + title: 'Coinbase', + state: WalletState.DISCONNECTED, + link: '', + type: WalletTypes.COINBASE, + }, + { + image: 'https://app.rango.exchange/wallets/coinbase.svg', + title: 'Coinbase', + state: WalletState.CONNECTED, + link: '', + type: WalletTypes.COINBASE, + }, + { + image: 'https://app.rango.exchange/wallets/coinbase.svg', + title: 'Coinbase', + state: WalletState.DISCONNECTED, + link: '', + type: WalletTypes.COINBASE, + }, + { + image: 'https://app.rango.exchange/wallets/coinbase.svg', + title: 'Coinbase', + state: WalletState.DISCONNECTED, + link: '', + type: WalletTypes.COINBASE, + }, + { + image: 'https://app.rango.exchange/wallets/coinbase.svg', + title: 'Coinbase', + state: WalletState.DISCONNECTED, + link: '', + type: WalletTypes.COINBASE, + }, + { + image: 'https://app.rango.exchange/wallets/coinbase.svg', + title: 'Coinbase', + state: WalletState.DISCONNECTED, + link: '', + type: WalletTypes.COINBASE, + }, + { + image: 'https://app.rango.exchange/wallets/coinbase.svg', + title: 'Coinbase', + state: WalletState.DISCONNECTED, + link: '', + type: WalletTypes.COINBASE, + }, + { + image: 'https://app.rango.exchange/wallets/coinbase.svg', + title: 'Coinbase', + state: WalletState.DISCONNECTED, + link: '', + type: WalletTypes.COINBASE, + }, + { + image: 'https://app.rango.exchange/wallets/coinbase.svg', + title: 'Coinbase', + state: WalletState.DISCONNECTED, + link: '', + type: WalletTypes.COINBASE, + }, + { + image: 'https://app.rango.exchange/wallets/coinbase.svg', + title: 'Coinbase', + state: WalletState.DISCONNECTED, + link: '', + type: WalletTypes.COINBASE, + }, + { + image: 'https://app.rango.exchange/wallets/coinbase.svg', + title: 'Coinbase', + state: WalletState.DISCONNECTED, + link: '', + type: WalletTypes.COINBASE, + }, + { + image: 'https://app.rango.exchange/wallets/coinbase.svg', + title: 'Coinbase', + state: WalletState.DISCONNECTED, + link: '', + type: WalletTypes.COINBASE, + }, +]; diff --git a/widget/ui/src/containers/History/History.stories.tsx b/widget/ui/src/containers/History/History.stories.tsx deleted file mode 100644 index 7ae56235a8..0000000000 --- a/widget/ui/src/containers/History/History.stories.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import React from 'react'; -import { ComponentMeta } from '@storybook/react'; - -import { History, PropTypes } from './History'; -import { pendingSwap } from './mock'; - -export default { - title: 'Containers/History', - component: History, -} as ComponentMeta; - -export const Main = (props: PropTypes) => ( - -); diff --git a/widget/ui/src/containers/History/History.tsx b/widget/ui/src/containers/History/History.tsx deleted file mode 100644 index 96a23d7bdb..0000000000 --- a/widget/ui/src/containers/History/History.tsx +++ /dev/null @@ -1,72 +0,0 @@ -import React, { PropsWithChildren } from 'react'; -import { Spinner } from '../../components'; -import { SecondaryPage } from '../../components/SecondaryPage'; -import { containsText } from '../../helper'; -import { styled } from '../../theme'; -import { PendingSwap } from './types'; -import { NotFoundAlert } from '../../components/Alert/NotFoundAlert'; -import { LoaderContainer } from '../../components/TokenSelector/TokenSelector'; -import { SwapsGroup, PropTypes as SwapsGroupPropTypes } from './SwapsGroup'; - -const Container = styled('div', { - overflowY: 'auto', -}); -const filteredHistory = ( - list: PendingSwap[], - searchedFor: string -): PendingSwap[] => { - return list.filter((swap) => { - const firstStep = swap.steps[0]; - const lastStep = swap.steps[swap.steps.length - 1]; - return ( - containsText(firstStep.fromBlockchain, searchedFor) || - containsText(firstStep.fromSymbol, searchedFor) || - containsText(lastStep.toBlockchain, searchedFor) || - containsText(lastStep.toSymbol, searchedFor) || - containsText(swap.requestId, searchedFor) - ); - }); -}; - -export type PropTypes = SwapsGroupPropTypes & { loading: boolean }; - -export function History(props: PropsWithChildren) { - const { list = [], onBack, onSwapClick, groupBy, loading } = props; - - return ( - - {(searchedFor) => { - const filterSwaps = filteredHistory(list, searchedFor); - return ( - <> - {loading && ( - - - - )} - - {!loading && ( - <> - {filterSwaps.length ? ( - - ) : ( - - )} - - )} - - - ); - }} - - ); -} diff --git a/widget/ui/src/containers/History/SwapsGroup.tsx b/widget/ui/src/containers/History/SwapsGroup.tsx deleted file mode 100644 index 86feb15433..0000000000 --- a/widget/ui/src/containers/History/SwapsGroup.tsx +++ /dev/null @@ -1,59 +0,0 @@ -import { PendingSwap } from '@rango-dev/queue-manager-rango-preset'; -import React from 'react'; -import { Typography, SwapDetail, Divider } from '../../components'; -import { styled } from '../../theme'; - -const Group = styled('div', { - '.group-title': { - textTransform: 'uppercase', - }, -}); - -export type GroupBy = (list: PendingSwap[]) => { - title: string; - swaps: PendingSwap[]; -}[]; - -export interface PropTypes { - list: PendingSwap[]; - onBack: () => void; - onSwapClick: (requestId: string) => void; - groupBy?: GroupBy; -} - -export function SwapsGroup(props: Omit) { - const { list, onSwapClick, groupBy } = props; - const groups = groupBy ? groupBy(list) : [{ title: 'History', swaps: list }]; - - return ( - <> - {groups - .filter((group) => group.swaps.length > 0) - .map((group, index) => ( - <> - - - {group.title} - - {group.swaps.map((swap: PendingSwap, index: number) => ( - <> - - - - ))} - - - - ))} - - ); -} diff --git a/widget/ui/src/containers/History/index.ts b/widget/ui/src/containers/History/index.ts deleted file mode 100644 index 1b57c1eff4..0000000000 --- a/widget/ui/src/containers/History/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { History } from './History'; -export { SwapsGroup, GroupBy } from './SwapsGroup'; diff --git a/widget/ui/src/containers/History/mock.ts b/widget/ui/src/containers/History/mock.ts deleted file mode 100644 index 57c4e6e5e0..0000000000 --- a/widget/ui/src/containers/History/mock.ts +++ /dev/null @@ -1,826 +0,0 @@ -// @ts-nocheck -import { RoutingResultType, TransactionType } from 'rango-sdk'; -import { PendingSwap } from './types'; - -export const pendingSwap: PendingSwap[] = [ - { - creationTime: '1673164511955', - finishTime: '1673164550137', - requestId: '51e211d9-d61c-45d2-a4d4-1f9f7f90ee85', - inputAmount: '1', - wallets: { - OSMOSIS: { - walletType: 'keplr', - address: 'osmo1unf2rcytjxfpz8x8ar63h4qeftadptg5t0nqcl', - }, - }, - status: 'running', - isPaused: false, - extraMessage: null, - extraMessageSeverity: 'info', - extraMessageDetail: '', - extraMessageErrorCode: null, - networkStatusExtraMessage: null, - networkStatusExtraMessageDetail: null, - lastNotificationTime: null, - settings: { - slippage: '1.0', - disabledSwappersIds: [], - disabledSwappersGroups: [], - }, - simulationResult: { - resultType: RoutingResultType.OK, - outputAmount: '1.540670', - swaps: [ - { - swapperId: 'Osmosis', - swapperType: 'DEX', - swapperLogo: '', - from: { - symbol: 'JUNO', - logo: 'https://api.rango.exchange/tokens/COSMOS/JUNO.png', - address: - 'ibc/46b44899322f3cd854d2d46deef881958467cdd4b3b10086da49296bbed94bed', - blockchain: 'OSMOSIS', - blockchainLogo: '', - decimals: 6, - usdPrice: 1.1091996179668873, - }, - to: { - symbol: 'OSMO', - logo: 'https://api.rango.exchange/i/mJQPS2', - address: null, - blockchain: 'OSMOSIS', - decimals: 6, - blockchainLogo: '', - usdPrice: 0.7192435454440882, - }, - fromAmount: '1.000000', - fromAmountPrecision: null, - fromAmountMinValue: null, - fromAmountMaxValue: null, - fromAmountRestrictionType: 'EXCLUSIVE', - toAmount: '1.540670', - fee: [ - { - asset: { - blockchain: 'OSMOSIS', - symbol: 'OSMO', - address: null, - }, - expenseType: 'FROM_SOURCE_WALLET', - amount: '0', - name: 'Network Fee', - }, - ], - estimatedTimeInSeconds: 45, - swapChainType: 'INTRA_CHAIN', - routes: [ - { - nodes: [ - { - nodes: [ - { - marketName: 'pool#498', - marketId: null, - percent: 1, - }, - ], - from: 'JUNO', - fromLogo: 'https://api.rango.exchange/tokens/COSMOS/JUNO.png', - fromAddress: - 'ibc/46b44899322f3cd854d2d46deef881958467cdd4b3b10086da49296bbed94bed', - fromBlockchain: 'OSMOSIS', - to: 'ATOM', - toLogo: 'https://api.rango.exchange/tokens/COSMOS/ATOM.png', - toAddress: - 'ibc/27394fb092d2eccd56123c74f36e4c1f926001ceada9ca97ea622b25f41e5eb2', - toBlockchain: 'OSMOSIS', - }, - { - nodes: [ - { - marketName: 'pool#8', - marketId: null, - percent: 1, - }, - ], - from: 'ATOM', - fromLogo: 'https://api.rango.exchange/tokens/COSMOS/ATOM.png', - fromAddress: - 'ibc/27394fb092d2eccd56123c74f36e4c1f926001ceada9ca97ea622b25f41e5eb2', - fromBlockchain: 'OSMOSIS', - to: 'IRIS', - toLogo: 'https://api.rango.exchange/tokens/COSMOS/IRIS.png', - toAddress: - 'ibc/7c4d60aa95e5a7558b0a364860979ca34b7ff8aaf255b87af9e879374470cec0', - toBlockchain: 'OSMOSIS', - }, - { - nodes: [ - { - marketName: 'pool#7', - marketId: null, - percent: 1, - }, - ], - from: 'IRIS', - fromLogo: 'https://api.rango.exchange/tokens/COSMOS/IRIS.png', - fromAddress: - 'ibc/7c4d60aa95e5a7558b0a364860979ca34b7ff8aaf255b87af9e879374470cec0', - fromBlockchain: 'OSMOSIS', - to: 'OSMO', - toLogo: 'https://api.rango.exchange/tokens/COSMOS/OSMO.png', - toAddress: null, - toBlockchain: 'OSMOSIS', - }, - ], - }, - ], - recommendedSlippage: null, - timeStat: { - min: 6, - avg: 40, - max: 241, - }, - includesDestinationTx: false, - maxRequiredSign: 1, - warnings: [], - }, - ], - }, - validateBalanceOrFee: true, - steps: [ - { - id: 1, - fromBlockchain: 'OSMOSIS', - fromSymbol: 'JUNO', - fromSymbolAddress: - 'ibc/46b44899322f3cd854d2d46deef881958467cdd4b3b10086da49296bbed94bed', - fromDecimals: 6, - fromAmountPrecision: null, - fromAmountMinValue: null, - fromAmountMaxValue: null, - toBlockchainLogo: 'https://api.rango.exchange/swappers/osmosis.png', - fromBlockchainLogo: 'https://api.rango.exchange/swappers/osmosis.png', - toBlockchain: 'OSMOSIS', - fromLogo: 'https://api.rango.exchange/tokens/COSMOS/JUNO.png', - toSymbol: 'OSMO', - toSymbolAddress: null, - swapperType: 'DEX', - toDecimals: 6, - toLogo: 'https://api.rango.exchange/i/mJQPS2', - startTransactionTime: 1673164519916, - swapperId: 'Osmosis', - swapperLogo: '', - expectedOutputAmountHumanReadable: '1.540670', - outputAmount: '1.540658', - status: 'running', - networkStatus: null, - executedTransactionId: - '0f8f17eecc863c2d6be65ef52cfe3128ff3cd7baeddf133160bea8ccdfbf876b', - explorerUrl: [ - { - url: 'https://www.mintscan.io/osmosis/txs/0f8f17eecc863c2d6be65ef52cfe3128ff3cd7baeddf133160bea8ccdfbf876b', - description: null, - }, - ], - cosmosTransaction: { - type: TransactionType.COSMOS, - fromWalletAddress: 'osmo1unf2rcytjxfpz8x8ar63h4qeftadptg5t0nqcl', - blockChain: 'OSMOSIS', - data: { - chainId: 'osmosis-1', - account_number: 102721, - sequence: '308', - msgs: [ - { - __type: 'OsmosisSwapMessage', - type: 'osmosis/gamm/swap-exact-amount-in', - value: { - sender: 'osmo1unf2rcytjxfpz8x8ar63h4qeftadptg5t0nqcl', - routes: [ - { - pool_id: '498', - token_out_denom: - 'ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2', - }, - { - pool_id: '8', - token_out_denom: - 'ibc/7C4D60AA95E5A7558B0A364860979CA34B7FF8AAF255B87AF9E879374470CEC0', - }, - { - pool_id: '7', - token_out_denom: 'uosmo', - }, - ], - token_in: { - denom: - 'ibc/46B44899322F3CD854D2D46DEEF881958467CDD4B3B10086DA49296BBED94BED', - amount: '1000000', - }, - token_out_min_amount: '1525264', - }, - }, - ], - protoMsgs: [ - { - type_url: '/osmosis.gamm.v1beta1.MsgSwapExactAmountIn', - value: [ - 10, 43, 111, 115, 109, 111, 49, 117, 110, 102, 50, 114, 99, - 121, 116, 106, 120, 102, 112, 122, 56, 120, 56, 97, 114, 54, - 51, 104, 52, 113, 101, 102, 116, 97, 100, 112, 116, 103, 53, - 116, 48, 110, 113, 99, 108, 18, 73, 8, -14, 3, 18, 68, 105, - 98, 99, 47, 50, 55, 51, 57, 52, 70, 66, 48, 57, 50, 68, 50, - 69, 67, 67, 68, 53, 54, 49, 50, 51, 67, 55, 52, 70, 51, 54, - 69, 52, 67, 49, 70, 57, 50, 54, 48, 48, 49, 67, 69, 65, 68, - 65, 57, 67, 65, 57, 55, 69, 65, 54, 50, 50, 66, 50, 53, 70, - 52, 49, 69, 53, 69, 66, 50, 18, 72, 8, 8, 18, 68, 105, 98, 99, - 47, 55, 67, 52, 68, 54, 48, 65, 65, 57, 53, 69, 53, 65, 55, - 53, 53, 56, 66, 48, 65, 51, 54, 52, 56, 54, 48, 57, 55, 57, - 67, 65, 51, 52, 66, 55, 70, 70, 56, 65, 65, 70, 50, 53, 53, - 66, 56, 55, 65, 70, 57, 69, 56, 55, 57, 51, 55, 52, 52, 55, - 48, 67, 69, 67, 48, 18, 9, 8, 7, 18, 5, 117, 111, 115, 109, - 111, 26, 79, 10, 68, 105, 98, 99, 47, 52, 54, 66, 52, 52, 56, - 57, 57, 51, 50, 50, 70, 51, 67, 68, 56, 53, 52, 68, 50, 68, - 52, 54, 68, 69, 69, 70, 56, 56, 49, 57, 53, 56, 52, 54, 55, - 67, 68, 68, 52, 66, 51, 66, 49, 48, 48, 56, 54, 68, 65, 52, - 57, 50, 57, 54, 66, 66, 69, 68, 57, 52, 66, 69, 68, 18, 7, 49, - 48, 48, 48, 48, 48, 48, 34, 7, 49, 53, 50, 53, 50, 54, 52, - ], - }, - ], - memo: '', - source: null, - fee: { - gas: '900000', - amount: [ - { - denom: 'uosmo', - amount: '0', - }, - ], - }, - signType: 'AMINO', - rpcUrl: 'sample_rpc', - }, - rawTransfer: null, - }, - solanaTransaction: null, - evmTransaction: null, - evmApprovalTransaction: null, - transferTransaction: null, - diagnosisUrl: null, - internalSteps: null, - }, - ], - }, - { - creationTime: '1673164511955', - finishTime: '1673164550137', - requestId: '51e211d9-d61c-45d2-a4d4-1f9f7f90ee85', - inputAmount: '1', - wallets: { - OSMOSIS: { - walletType: 'keplr', - address: 'osmo1unf2rcytjxfpz8x8ar63h4qeftadptg5t0nqcl', - }, - }, - status: 'failed', - isPaused: false, - extraMessage: null, - extraMessageSeverity: 'info', - extraMessageDetail: '', - extraMessageErrorCode: null, - networkStatusExtraMessage: null, - networkStatusExtraMessageDetail: null, - lastNotificationTime: null, - settings: { - slippage: '1.0', - disabledSwappersIds: [], - disabledSwappersGroups: [], - }, - simulationResult: { - resultType: RoutingResultType.OK, - outputAmount: '1.540670', - swaps: [ - { - swapperId: 'Osmosis', - swapperLogo: '', - swapperType: 'DEX', - from: { - symbol: 'JUNO', - logo: 'https://api.rango.exchange/tokens/COSMOS/JUNO.png', - address: - 'ibc/46b44899322f3cd854d2d46deef881958467cdd4b3b10086da49296bbed94bed', - blockchain: 'OSMOSIS', - blockchainLogo: '', - decimals: 6, - usdPrice: 1.1091996179668873, - }, - to: { - symbol: 'OSMO', - logo: 'https://api.rango.exchange/i/mJQPS2', - address: null, - blockchain: 'OSMOSIS', - decimals: 6, - blockchainLogo: '', - usdPrice: 0.7192435454440882, - }, - fromAmount: '1.000000', - fromAmountPrecision: null, - fromAmountMinValue: null, - fromAmountMaxValue: null, - fromAmountRestrictionType: 'EXCLUSIVE', - toAmount: '1.540670', - fee: [ - { - asset: { - blockchain: 'OSMOSIS', - symbol: 'OSMO', - address: null, - }, - expenseType: 'FROM_SOURCE_WALLET', - amount: '0', - name: 'Network Fee', - }, - ], - estimatedTimeInSeconds: 45, - swapChainType: 'INTRA_CHAIN', - routes: [ - { - nodes: [ - { - nodes: [ - { - marketName: 'pool#498', - marketId: null, - percent: 1, - }, - ], - from: 'JUNO', - fromLogo: 'https://api.rango.exchange/tokens/COSMOS/JUNO.png', - fromAddress: - 'ibc/46b44899322f3cd854d2d46deef881958467cdd4b3b10086da49296bbed94bed', - fromBlockchain: 'OSMOSIS', - to: 'ATOM', - toLogo: 'https://api.rango.exchange/tokens/COSMOS/ATOM.png', - toAddress: - 'ibc/27394fb092d2eccd56123c74f36e4c1f926001ceada9ca97ea622b25f41e5eb2', - toBlockchain: 'OSMOSIS', - }, - { - nodes: [ - { - marketName: 'pool#8', - marketId: null, - percent: 1, - }, - ], - from: 'ATOM', - fromLogo: 'https://api.rango.exchange/tokens/COSMOS/ATOM.png', - fromAddress: - 'ibc/27394fb092d2eccd56123c74f36e4c1f926001ceada9ca97ea622b25f41e5eb2', - fromBlockchain: 'OSMOSIS', - to: 'IRIS', - toLogo: 'https://api.rango.exchange/tokens/COSMOS/IRIS.png', - toAddress: - 'ibc/7c4d60aa95e5a7558b0a364860979ca34b7ff8aaf255b87af9e879374470cec0', - toBlockchain: 'OSMOSIS', - }, - { - nodes: [ - { - marketName: 'pool#7', - marketId: null, - percent: 1, - }, - ], - from: 'IRIS', - fromLogo: 'https://api.rango.exchange/tokens/COSMOS/IRIS.png', - fromAddress: - 'ibc/7c4d60aa95e5a7558b0a364860979ca34b7ff8aaf255b87af9e879374470cec0', - fromBlockchain: 'OSMOSIS', - to: 'OSMO', - toLogo: 'https://api.rango.exchange/tokens/COSMOS/OSMO.png', - toAddress: null, - toBlockchain: 'OSMOSIS', - }, - ], - }, - ], - recommendedSlippage: null, - timeStat: { - min: 6, - avg: 40, - max: 241, - }, - includesDestinationTx: false, - maxRequiredSign: 1, - warnings: [], - }, - ], - }, - validateBalanceOrFee: true, - steps: [ - { - id: 1, - fromBlockchain: 'OSMOSIS', - fromSymbol: 'JUNO', - fromSymbolAddress: - 'ibc/46b44899322f3cd854d2d46deef881958467cdd4b3b10086da49296bbed94bed', - fromDecimals: 6, - fromAmountPrecision: null, - fromAmountMinValue: null, - fromAmountMaxValue: null, - toBlockchainLogo: 'https://api.rango.exchange/swappers/osmosis.png', - fromBlockchainLogo: 'https://api.rango.exchange/swappers/osmosis.png', - toBlockchain: 'OSMOSIS', - fromLogo: 'https://api.rango.exchange/tokens/COSMOS/JUNO.png', - toSymbol: 'OSMO', - toSymbolAddress: null, - toDecimals: 6, - toLogo: 'https://api.rango.exchange/i/mJQPS2', - startTransactionTime: 1673164519916, - swapperId: 'Osmosis', - swapperType: 'DEX', - swapperLogo: '', - expectedOutputAmountHumanReadable: '1.540670', - outputAmount: '1.540658', - status: 'failed', - networkStatus: null, - executedTransactionId: - '0f8f17eecc863c2d6be65ef52cfe3128ff3cd7baeddf133160bea8ccdfbf876b', - explorerUrl: [ - { - url: 'https://www.mintscan.io/osmosis/txs/0f8f17eecc863c2d6be65ef52cfe3128ff3cd7baeddf133160bea8ccdfbf876b', - description: null, - }, - ], - cosmosTransaction: { - type: TransactionType.COSMOS, - fromWalletAddress: 'osmo1unf2rcytjxfpz8x8ar63h4qeftadptg5t0nqcl', - blockChain: 'OSMOSIS', - data: { - chainId: 'osmosis-1', - account_number: 102721, - sequence: '308', - msgs: [ - { - __type: 'OsmosisSwapMessage', - type: 'osmosis/gamm/swap-exact-amount-in', - value: { - sender: 'osmo1unf2rcytjxfpz8x8ar63h4qeftadptg5t0nqcl', - routes: [ - { - pool_id: '498', - token_out_denom: - 'ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2', - }, - { - pool_id: '8', - token_out_denom: - 'ibc/7C4D60AA95E5A7558B0A364860979CA34B7FF8AAF255B87AF9E879374470CEC0', - }, - { - pool_id: '7', - token_out_denom: 'uosmo', - }, - ], - token_in: { - denom: - 'ibc/46B44899322F3CD854D2D46DEEF881958467CDD4B3B10086DA49296BBED94BED', - amount: '1000000', - }, - token_out_min_amount: '1525264', - }, - }, - ], - protoMsgs: [ - { - type_url: '/osmosis.gamm.v1beta1.MsgSwapExactAmountIn', - value: [ - 10, 43, 111, 115, 109, 111, 49, 117, 110, 102, 50, 114, 99, - 121, 116, 106, 120, 102, 112, 122, 56, 120, 56, 97, 114, 54, - 51, 104, 52, 113, 101, 102, 116, 97, 100, 112, 116, 103, 53, - 116, 48, 110, 113, 99, 108, 18, 73, 8, -14, 3, 18, 68, 105, - 98, 99, 47, 50, 55, 51, 57, 52, 70, 66, 48, 57, 50, 68, 50, - 69, 67, 67, 68, 53, 54, 49, 50, 51, 67, 55, 52, 70, 51, 54, - 69, 52, 67, 49, 70, 57, 50, 54, 48, 48, 49, 67, 69, 65, 68, - 65, 57, 67, 65, 57, 55, 69, 65, 54, 50, 50, 66, 50, 53, 70, - 52, 49, 69, 53, 69, 66, 50, 18, 72, 8, 8, 18, 68, 105, 98, 99, - 47, 55, 67, 52, 68, 54, 48, 65, 65, 57, 53, 69, 53, 65, 55, - 53, 53, 56, 66, 48, 65, 51, 54, 52, 56, 54, 48, 57, 55, 57, - 67, 65, 51, 52, 66, 55, 70, 70, 56, 65, 65, 70, 50, 53, 53, - 66, 56, 55, 65, 70, 57, 69, 56, 55, 57, 51, 55, 52, 52, 55, - 48, 67, 69, 67, 48, 18, 9, 8, 7, 18, 5, 117, 111, 115, 109, - 111, 26, 79, 10, 68, 105, 98, 99, 47, 52, 54, 66, 52, 52, 56, - 57, 57, 51, 50, 50, 70, 51, 67, 68, 56, 53, 52, 68, 50, 68, - 52, 54, 68, 69, 69, 70, 56, 56, 49, 57, 53, 56, 52, 54, 55, - 67, 68, 68, 52, 66, 51, 66, 49, 48, 48, 56, 54, 68, 65, 52, - 57, 50, 57, 54, 66, 66, 69, 68, 57, 52, 66, 69, 68, 18, 7, 49, - 48, 48, 48, 48, 48, 48, 34, 7, 49, 53, 50, 53, 50, 54, 52, - ], - }, - ], - memo: '', - source: null, - fee: { - gas: '900000', - amount: [ - { - denom: 'uosmo', - amount: '0', - }, - ], - }, - signType: 'AMINO', - rpcUrl: 'sample_rpc', - }, - rawTransfer: null, - }, - solanaTransaction: null, - evmTransaction: null, - evmApprovalTransaction: null, - transferTransaction: null, - diagnosisUrl: null, - internalSteps: null, - }, - ], - }, - { - creationTime: '1673164511955', - finishTime: '1673164550137', - requestId: '51e211d9-d61c-45d2-a4d4-1f9f7f90ee85', - inputAmount: '1', - wallets: { - OSMOSIS: { - walletType: 'keplr', - address: 'osmo1unf2rcytjxfpz8x8ar63h4qeftadptg5t0nqcl', - }, - }, - status: 'success', - isPaused: false, - extraMessage: null, - extraMessageSeverity: 'info', - extraMessageDetail: '', - extraMessageErrorCode: null, - networkStatusExtraMessage: null, - networkStatusExtraMessageDetail: null, - lastNotificationTime: null, - settings: { - slippage: '1.0', - disabledSwappersIds: [], - disabledSwappersGroups: [], - }, - simulationResult: { - resultType: RoutingResultType.OK, - outputAmount: '1.540670', - swaps: [ - { - swapperId: 'Osmosis', - swapperType: 'DEX', - swapperLogo: '', - - from: { - symbol: 'JUNO', - logo: 'https://api.rango.exchange/tokens/COSMOS/JUNO.png', - address: - 'ibc/46b44899322f3cd854d2d46deef881958467cdd4b3b10086da49296bbed94bed', - blockchain: 'OSMOSIS', - blockchainLogo: '', - decimals: 6, - usdPrice: 1.1091996179668873, - }, - to: { - symbol: 'OSMO', - logo: 'https://api.rango.exchange/i/mJQPS2', - address: null, - blockchain: 'OSMOSIS', - decimals: 6, - blockchainLogo: '', - usdPrice: 0.7192435454440882, - }, - fromAmount: '1.000000', - fromAmountPrecision: null, - fromAmountMinValue: null, - fromAmountMaxValue: null, - fromAmountRestrictionType: 'EXCLUSIVE', - toAmount: '1.540670', - fee: [ - { - asset: { - blockchain: 'OSMOSIS', - symbol: 'OSMO', - address: null, - }, - expenseType: 'FROM_SOURCE_WALLET', - amount: '0', - name: 'Network Fee', - }, - ], - estimatedTimeInSeconds: 45, - swapChainType: 'INTRA_CHAIN', - routes: [ - { - nodes: [ - { - nodes: [ - { - marketName: 'pool#498', - marketId: null, - percent: 1, - }, - ], - from: 'JUNO', - fromLogo: 'https://api.rango.exchange/tokens/COSMOS/JUNO.png', - fromAddress: - 'ibc/46b44899322f3cd854d2d46deef881958467cdd4b3b10086da49296bbed94bed', - fromBlockchain: 'OSMOSIS', - to: 'ATOM', - toLogo: 'https://api.rango.exchange/tokens/COSMOS/ATOM.png', - toAddress: - 'ibc/27394fb092d2eccd56123c74f36e4c1f926001ceada9ca97ea622b25f41e5eb2', - toBlockchain: 'OSMOSIS', - }, - { - nodes: [ - { - marketName: 'pool#8', - marketId: null, - percent: 1, - }, - ], - from: 'ATOM', - fromLogo: 'https://api.rango.exchange/tokens/COSMOS/ATOM.png', - fromAddress: - 'ibc/27394fb092d2eccd56123c74f36e4c1f926001ceada9ca97ea622b25f41e5eb2', - fromBlockchain: 'OSMOSIS', - to: 'IRIS', - toLogo: 'https://api.rango.exchange/tokens/COSMOS/IRIS.png', - toAddress: - 'ibc/7c4d60aa95e5a7558b0a364860979ca34b7ff8aaf255b87af9e879374470cec0', - toBlockchain: 'OSMOSIS', - }, - { - nodes: [ - { - marketName: 'pool#7', - marketId: null, - percent: 1, - }, - ], - from: 'IRIS', - fromLogo: 'https://api.rango.exchange/tokens/COSMOS/IRIS.png', - fromAddress: - 'ibc/7c4d60aa95e5a7558b0a364860979ca34b7ff8aaf255b87af9e879374470cec0', - fromBlockchain: 'OSMOSIS', - to: 'OSMO', - toLogo: 'https://api.rango.exchange/tokens/COSMOS/OSMO.png', - toAddress: null, - toBlockchain: 'OSMOSIS', - }, - ], - }, - ], - recommendedSlippage: null, - timeStat: { - min: 6, - avg: 40, - max: 241, - }, - includesDestinationTx: false, - maxRequiredSign: 1, - warnings: [], - }, - ], - }, - validateBalanceOrFee: true, - steps: [ - { - id: 1, - fromBlockchain: 'OSMOSIS', - fromSymbol: 'JUNO', - fromSymbolAddress: - 'ibc/46b44899322f3cd854d2d46deef881958467cdd4b3b10086da49296bbed94bed', - fromDecimals: 6, - fromAmountPrecision: null, - fromAmountMinValue: null, - fromAmountMaxValue: null, - toBlockchainLogo: 'https://api.rango.exchange/swappers/osmosis.png', - fromBlockchainLogo: 'https://api.rango.exchange/swappers/osmosis.png', - toBlockchain: 'OSMOSIS', - fromLogo: 'https://api.rango.exchange/tokens/COSMOS/JUNO.png', - toSymbol: 'OSMO', - toSymbolAddress: null, - toDecimals: 6, - toLogo: 'https://api.rango.exchange/i/mJQPS2', - startTransactionTime: 1673164519916, - swapperId: 'Osmosis', - swapperType: 'DEX', - swapperLogo: '', - expectedOutputAmountHumanReadable: '1.540670', - outputAmount: '1.540658', - status: 'success', - networkStatus: null, - executedTransactionId: - '0f8f17eecc863c2d6be65ef52cfe3128ff3cd7baeddf133160bea8ccdfbf876b', - explorerUrl: [ - { - url: 'https://www.mintscan.io/osmosis/txs/0f8f17eecc863c2d6be65ef52cfe3128ff3cd7baeddf133160bea8ccdfbf876b', - description: null, - }, - ], - cosmosTransaction: { - type: TransactionType.COSMOS, - fromWalletAddress: 'osmo1unf2rcytjxfpz8x8ar63h4qeftadptg5t0nqcl', - blockChain: 'OSMOSIS', - data: { - chainId: 'osmosis-1', - account_number: 102721, - sequence: '308', - msgs: [ - { - __type: 'OsmosisSwapMessage', - type: 'osmosis/gamm/swap-exact-amount-in', - value: { - sender: 'osmo1unf2rcytjxfpz8x8ar63h4qeftadptg5t0nqcl', - routes: [ - { - pool_id: '498', - token_out_denom: - 'ibc/27394FB092D2ECCD56123C74F36E4C1F926001CEADA9CA97EA622B25F41E5EB2', - }, - { - pool_id: '8', - token_out_denom: - 'ibc/7C4D60AA95E5A7558B0A364860979CA34B7FF8AAF255B87AF9E879374470CEC0', - }, - { - pool_id: '7', - token_out_denom: 'uosmo', - }, - ], - token_in: { - denom: - 'ibc/46B44899322F3CD854D2D46DEEF881958467CDD4B3B10086DA49296BBED94BED', - amount: '1000000', - }, - token_out_min_amount: '1525264', - }, - }, - ], - protoMsgs: [ - { - type_url: '/osmosis.gamm.v1beta1.MsgSwapExactAmountIn', - value: [ - 10, 43, 111, 115, 109, 111, 49, 117, 110, 102, 50, 114, 99, - 121, 116, 106, 120, 102, 112, 122, 56, 120, 56, 97, 114, 54, - 51, 104, 52, 113, 101, 102, 116, 97, 100, 112, 116, 103, 53, - 116, 48, 110, 113, 99, 108, 18, 73, 8, -14, 3, 18, 68, 105, - 98, 99, 47, 50, 55, 51, 57, 52, 70, 66, 48, 57, 50, 68, 50, - 69, 67, 67, 68, 53, 54, 49, 50, 51, 67, 55, 52, 70, 51, 54, - 69, 52, 67, 49, 70, 57, 50, 54, 48, 48, 49, 67, 69, 65, 68, - 65, 57, 67, 65, 57, 55, 69, 65, 54, 50, 50, 66, 50, 53, 70, - 52, 49, 69, 53, 69, 66, 50, 18, 72, 8, 8, 18, 68, 105, 98, 99, - 47, 55, 67, 52, 68, 54, 48, 65, 65, 57, 53, 69, 53, 65, 55, - 53, 53, 56, 66, 48, 65, 51, 54, 52, 56, 54, 48, 57, 55, 57, - 67, 65, 51, 52, 66, 55, 70, 70, 56, 65, 65, 70, 50, 53, 53, - 66, 56, 55, 65, 70, 57, 69, 56, 55, 57, 51, 55, 52, 52, 55, - 48, 67, 69, 67, 48, 18, 9, 8, 7, 18, 5, 117, 111, 115, 109, - 111, 26, 79, 10, 68, 105, 98, 99, 47, 52, 54, 66, 52, 52, 56, - 57, 57, 51, 50, 50, 70, 51, 67, 68, 56, 53, 52, 68, 50, 68, - 52, 54, 68, 69, 69, 70, 56, 56, 49, 57, 53, 56, 52, 54, 55, - 67, 68, 68, 52, 66, 51, 66, 49, 48, 48, 56, 54, 68, 65, 52, - 57, 50, 57, 54, 66, 66, 69, 68, 57, 52, 66, 69, 68, 18, 7, 49, - 48, 48, 48, 48, 48, 48, 34, 7, 49, 53, 50, 53, 50, 54, 52, - ], - }, - ], - memo: '', - source: null, - fee: { - gas: '900000', - amount: [ - { - denom: 'uosmo', - amount: '0', - }, - ], - }, - signType: 'AMINO', - rpcUrl: 'sample_rpc', - }, - rawTransfer: null, - }, - solanaTransaction: null, - evmTransaction: null, - evmApprovalTransaction: null, - transferTransaction: null, - diagnosisUrl: null, - internalSteps: null, - }, - ], - }, -]; diff --git a/widget/ui/src/containers/History/types.tsx b/widget/ui/src/containers/History/types.tsx deleted file mode 100644 index 04d081210c..0000000000 --- a/widget/ui/src/containers/History/types.tsx +++ /dev/null @@ -1,47 +0,0 @@ -import { - CosmosTransaction, - EvmTransaction, - SolanaTransaction, - SwapExplorerUrl, - SwapperStatusStep, - Transfer, -} from 'rango-sdk'; -import { PendingSwapNetworkStatus, StepStatus } from '../../types/swaps'; -export { PendingSwap } from '@rango-dev/queue-manager-rango-preset'; - -export type PendingSwapStep = { - id: number; - fromBlockchain: string; - fromSymbol: string; - fromSymbolAddress: string | null; - fromDecimals: number; - fromAmountPrecision: string | null; - fromAmountMinValue: string | null; - fromAmountMaxValue: string | null; - fromLogo: string; - fromBlockchainLogo: string; - toBlockchainLogo: string; - toBlockchain: string; - toSymbol: string; - toSymbolAddress: string | null; - toDecimals: number; - toLogo: string; - swapperId: string; - swapperLogo: string; - swapperType: string; - feeInUsd: string; - expectedOutputAmountHumanReadable: string | null; - startTransactionTime: number; - outputAmount: string; - status: StepStatus; - networkStatus: PendingSwapNetworkStatus | null; - executedTransactionId: string | null; - explorerUrl: SwapExplorerUrl[] | null; - evmApprovalTransaction: EvmTransaction | null; - evmTransaction: EvmTransaction | null; - cosmosTransaction: CosmosTransaction | null; - transferTransaction: Transfer | null; - solanaTransaction: SolanaTransaction | null; - diagnosisUrl: string | null; - internalSteps: SwapperStatusStep[] | null; -}; diff --git a/widget/ui/src/containers/HomePanel/HomePanel.tsx b/widget/ui/src/containers/HomePanel/HomePanel.tsx new file mode 100644 index 0000000000..22b8c77aee --- /dev/null +++ b/widget/ui/src/containers/HomePanel/HomePanel.tsx @@ -0,0 +1,202 @@ +import type { ConnectedWallet } from '../..'; +import type { LoadingStatus, TokenWithBalance } from '../../types/meta'; +import type { BestRouteResponse, BlockchainMeta, SwapResult } from 'rango-sdk'; + +import { i18n } from '@lingui/core'; +import React from 'react'; + +import { + Alert, + BottomLogo, + Button, + Header, + TokenInfo, + Typography, +} from '../..'; +import { styled } from '../../theme'; + +const Container = styled('div', { + display: 'flex', + flexDirection: 'column', +}); + +const FromContainer = styled('div', { + position: 'relative', + paddingBottom: '$12', +}); + +const BestRouteContainer = styled('div', { + width: '100%', + paddingTop: '$16', +}); + +const Alerts = styled('div', { + width: '100%', + paddingTop: '$16', +}); + +const Footer = styled('div', { + display: 'flex', + flexDirection: 'column', + width: '100%', + paddingTop: '$16', +}); + +interface HomePanelProps { + bestRoute: BestRouteResponse | null; + bestRouteError: string; + fetchBestRoute: () => void; + onClickHistory: () => void; + onClickSettings: () => void; + fromBlockchain: BlockchainMeta | null; + toBlockchain: BlockchainMeta | null; + fromToken: TokenWithBalance | null; + toToken: TokenWithBalance | null; + setInputAmount: (amount: string) => void; + outputAmount: string; + outputUsdValue: string; + inputUsdValue: string; + inputAmount: string; + loadingStatus: LoadingStatus; + showBestRoute: boolean; + fetchingBestRoute: boolean; + swapButtonTitle: string; + swapButtonDisabled: boolean; + swapButtonClick: () => void; + onChainClick: (route: 'from-chain' | 'to-chain') => void; + onTokenClick: (route: 'from-token' | 'to-token') => void; + connectedWallets: ConnectedWallet[]; + highFee: boolean; + errorMessage: string; + hasLimitError: (bestRoute: BestRouteResponse | null) => boolean; + swap: SwapResult | null; + swapFromAmount: string | null; + fromAmountRangeError: string; + recommendation: string; + totalFeeInUsd: string; + swithFromAndToComponent: React.ReactNode; + percentageChange: string; + tokenBalanceReal: string; + tokenBalance: string; + totalTime: string; + bestRouteData: BestRouteResponse | null; + showPercentageChange: boolean; +} + +/** + * @deprecated Will be removed in v2 + */ +export function HomePanel({ + bestRoute, + fromBlockchain, + toBlockchain, + fromToken, + toToken, + setInputAmount, + outputAmount, + inputAmount, + loadingStatus, + showBestRoute, + fetchingBestRoute, + outputUsdValue, + inputUsdValue, + swapButtonTitle, + swapButtonDisabled, + swapButtonClick, + onChainClick, + onTokenClick, + connectedWallets, + errorMessage, + hasLimitError, + swap, + fromAmountRangeError, + recommendation, + swithFromAndToComponent, + percentageChange, + tokenBalanceReal, + tokenBalance, + swapFromAmount, + showPercentageChange, +}: HomePanelProps) { + return ( + +
} /> + + <> + onChainClick('from-chain')} + onTokenClick={() => onTokenClick('from-token')} + tokenBalanceReal={tokenBalanceReal} + tokenBalance={tokenBalance} + /> + {swithFromAndToComponent} + + + onChainClick('to-chain')} + onTokenClick={() => onTokenClick('to-token')} + tokenBalanceReal={tokenBalanceReal} + tokenBalance={tokenBalance} + showPercentageChange={showPercentageChange} + /> + {showBestRoute && } + {(errorMessage || hasLimitError(bestRoute)) && ( + + {errorMessage && {errorMessage}} + {hasLimitError(bestRoute) && ( + + <> + + {`${fromAmountRangeError}, Yours: ${swapFromAmount} ${swap?.from.symbol}`} + + + {recommendation} + + + + )} + + )} +
+ + +
+ + ); +} diff --git a/widget/ui/src/containers/HomePanel/index.ts b/widget/ui/src/containers/HomePanel/index.ts new file mode 100644 index 0000000000..b9ab892073 --- /dev/null +++ b/widget/ui/src/containers/HomePanel/index.ts @@ -0,0 +1 @@ +export { HomePanel } from './HomePanel'; diff --git a/widget/ui/src/containers/SwapHistory/SwapHistory.stories.tsx b/widget/ui/src/containers/SwapHistory/SwapHistory.stories.tsx index a3b6c7a5e8..8f4a813c63 100644 --- a/widget/ui/src/containers/SwapHistory/SwapHistory.stories.tsx +++ b/widget/ui/src/containers/SwapHistory/SwapHistory.stories.tsx @@ -1,12 +1,15 @@ +import type { PropTypes } from './SwapHistory'; +import type { Meta } from '@storybook/react'; + import React from 'react'; -import { ComponentMeta } from '@storybook/react'; -import { PropTypes, SwapHistory } from './SwapHistory'; + import { pendingSwap } from './mock'; +import { SwapHistory } from './SwapHistory'; export default { - title: 'Swap History', + title: 'Containers/Swap History', component: SwapHistory, -} as ComponentMeta; +} as Meta; export const Main = (args: PropTypes) => ( diff --git a/widget/ui/src/containers/SwapHistory/SwapHistory.tsx b/widget/ui/src/containers/SwapHistory/SwapHistory.tsx index 68db6b29d5..b46d9e6608 100644 --- a/widget/ui/src/containers/SwapHistory/SwapHistory.tsx +++ b/widget/ui/src/containers/SwapHistory/SwapHistory.tsx @@ -1,26 +1,39 @@ +import type { PropTypes as SwapMessagesPropTypes } from './SwapMessages'; +import type { PendingSwap } from 'rango-types'; + import React, { useState } from 'react'; + import { - StepDetail, - SecondaryPage, - GasIcon, - Typography, - CheckCircleIcon, - InfoCircleIcon, - Spacer, - Button, Alert, - Drawer, - Spinner, + Button, Divider, + Drawer, Image, + SecondaryPage, + Spinner, + StepDetail, + Typography, } from '../../components'; -import { styled } from '../../theme'; -import { PendingSwap } from '../History/types'; -import { pulse } from '../../components/BestRoute/BestRoute'; import { - SwapMessages, - PropTypes as SwapMessagesPropTypes, -} from './SwapMessages'; + CheckCircleIcon, + GasIcon, + InfoCircleIcon, +} from '../../components/Icon'; +import { keyframes, styled } from '../../theme'; + +import { SwapMessages } from './SwapMessages'; + +export const pulse = keyframes({ + '0%': { + opacity: 1, + }, + '50%': { + opacity: 0.3, + }, + '100%': { + opacity: 1, + }, +}); export const SwapperContainer = styled('div', { display: 'flex', @@ -48,12 +61,12 @@ export const BodyError = styled('div', { }); export const ErrorMsg = styled(Typography, { - color: '$error', + color: '$error500', }); export const FeeContainer = styled('div', { paddingLeft: '$16', - color: '$neutrals800' + color: '$neutral600', }); export const Fee = styled('div', { @@ -88,7 +101,7 @@ export const ArrowDown = styled('div', { }); const StyledAnchor = styled('a', { - color: '$primary', + color: '$primary500', fontWeight: '$600', }); @@ -96,7 +109,7 @@ const SwapInfoContainer = styled('div', { display: 'flex', flexDirection: 'column', paddingBottom: '$16', - borderBottom: '1px solid $neutrals300', + borderBottom: '1px solid $background', }); const InternalDetailsContainer = styled('div', { @@ -117,7 +130,7 @@ const DescriptionContainer = styled('div', { }); const Description = styled(Typography, { - color: '$success', + color: '$success500', paddingLeft: '$4', }); @@ -137,12 +150,12 @@ const Row = styled('div', { padding: '$8 0', '.name': { - color: '$neutrals600', + color: '$neutral800', }, '.value': { display: 'flex', alignItems: 'center', - color: '$neutrals800', + color: '$neutral600', justifyContent: 'flex-end', }, '.status': { @@ -150,10 +163,10 @@ const Row = styled('div', { textTransform: 'uppercase', }, '.status.failed': { - color: '$error', + color: '$error500', }, '.status.success': { - color: '$success', + color: '$success500', }, }); @@ -169,7 +182,7 @@ const RequestId = styled('div', { const ExtraDetails = styled('div', { padding: '0', - color: '$neutrals600', + color: '$neutral800', fontSize: '$10', }); @@ -198,7 +211,6 @@ export function SwapHistory(props: PropTypes) { onCancel, date, onRetry, - previewInputs, ...extraMessageProps } = props; const [showDrawer, setShowDrawer] = useState(false); @@ -215,8 +227,7 @@ export function SwapHistory(props: PropTypes) { variant="outlined" fullWidth type="error" - onClick={setShowDrawer.bind(null, true)} - > + onClick={setShowDrawer.bind(null, true)}> Cancel )} @@ -225,14 +236,12 @@ export function SwapHistory(props: PropTypes) { variant="contained" fullWidth type="primary" - onClick={onRetry} - > + onClick={onRetry}> Try again )} - } - > + }>
@@ -240,11 +249,10 @@ export function SwapHistory(props: PropTypes) { Request Id: + onClick={onCopy.bind(null, pendingSwap?.requestId)}> {pendingSwap?.requestId} - - @@ -265,164 +273,166 @@ export function SwapHistory(props: PropTypes) { */}
- {/*{previewInputs} */} - {extraMessageProps.shortMessage && ( )} - {pendingSwap?.steps.map((step, index) => ( -
- {index === 0 && ( - - { + const key = `step-${index}`; + return ( +
+ {index === 0 && ( + + + + + )} + + + {step.swapperId} - - - )} - - - {step.swapperId} - - - {step.swapperType === 'DEX' ? 'Swap' : 'Bridge'} via{' '} - {step.swapperId} - - - - -   ${step.feeInUsd} estimated gas fee + + + {step.swapperType === 'DEX' ? 'Swap' : 'Bridge'} via{' '} + {step.swapperId} - - - -
- - -
- {!!step.explorerUrl && ( -
- {step.explorerUrl.map((item, index) => ( - - - - - - - {!item.description ? ( - View transaction - ) : ( - - {item.description - .substring(0, 1) - .toUpperCase()} - {item.description.substring(1)} Tx - - )} - - - - - ))} -
- )} - {step.status === 'failed' && ( - - - - - Step failed - - - - )} -
-
+ + + +   ${step.feeInUsd} estimated gas fee + + + + +
+ + +
+ {!!step.explorerUrl && ( +
+ {step.explorerUrl.map((item, index) => { + const internalKey = `internal-${index}`; + const anchorKey = `anchor-${index}`; + + return ( + + + + + + + {!item.description ? ( + View transaction + ) : ( + + {item.description + .substring(0, 1) + .toUpperCase()} + {item.description.substring(1)} Tx + + )} + + + + + ); + })} +
+ )} + {step.status === 'failed' && ( + + + + + Step failed + + + + )} +
+
+
+ {index + 1 === pendingSwap.steps.length && } +
- {index + 1 === pendingSwap.steps.length && } - -
- ))} + ); + })} - - Warning: Cancel doesn't revert your transaction if you've - already signed and sent a transaction to the blockchain. It only - stops next steps from being executed. - - - } footer={
+ }}> - +
} - container={document.getElementById('swap-box')!} - /> + container={document.getElementById('swap-box')}> + + + Warning: Cancel doesn't revert your transaction if you've + already signed and sent a transaction to the blockchain. It only + stops next steps from being executed. + + +
); } diff --git a/widget/ui/src/containers/SwapHistory/SwapMessages.tsx b/widget/ui/src/containers/SwapHistory/SwapMessages.tsx index 284157a496..b2be419aac 100644 --- a/widget/ui/src/containers/SwapHistory/SwapMessages.tsx +++ b/widget/ui/src/containers/SwapHistory/SwapMessages.tsx @@ -1,10 +1,14 @@ +/* eslint-disable @typescript-eslint/no-magic-numbers */ import React, { useState } from 'react'; + import { Alert, Button, Typography } from '../../components'; import { styled } from '../../theme'; const getAlertType = (messageType: PropTypes['type']) => { - if (!messageType || messageType === 'info') return 'secondary'; - else return messageType; + if (!messageType || messageType === 'info') { + return 'info'; + } + return messageType; }; const DetailedMessage = styled('div', { @@ -55,8 +59,7 @@ export const SwapMessages: React.FC = (props) => { ), @@ -66,16 +69,19 @@ export const SwapMessages: React.FC = (props) => { ), - })} - > + })}> {!!detailedMessage.content ? ( - + {shouldShowMoreDetailsButton && !expandedMessage ? detailedMessage.content.substring(0, allowedNumberOfChars) + (allowedNumberOfChars > 0 ? '...' : '') @@ -86,28 +92,32 @@ export const SwapMessages: React.FC = (props) => { {!!lastConvertedTokenInFailedSwap && ( <>

- - Don't worry, your fund is  + + Do not worry, your fund is  - + Safe

- + It is converted to   {lastConvertedTokenInFailedSwap.outputAmount}   - + {lastConvertedTokenInFailedSwap.symbol}  - on your  - + + on your  + + {lastConvertedTokenInFailedSwap.blockchain}  - wallet + + wallet +

)} diff --git a/widget/ui/src/containers/SwapHistory/mock.ts b/widget/ui/src/containers/SwapHistory/mock.ts index b8292ff463..a53c3482e8 100644 --- a/widget/ui/src/containers/SwapHistory/mock.ts +++ b/widget/ui/src/containers/SwapHistory/mock.ts @@ -1,6 +1,8 @@ -// @ts-nocheck +/* eslint-disable @typescript-eslint/no-magic-numbers */ +import type { PendingSwap } from 'rango-types'; + import { RoutingResultType, TransactionType } from 'rango-sdk'; -import { PendingSwap } from '../History/types'; +import { MessageSeverity } from 'rango-types'; export const pendingSwap: PendingSwap = { creationTime: '1673164511955', @@ -16,7 +18,7 @@ export const pendingSwap: PendingSwap = { status: 'running', isPaused: false, extraMessage: null, - extraMessageSeverity: 'info', + extraMessageSeverity: MessageSeverity.info, extraMessageDetail: '', extraMessageErrorCode: null, networkStatusExtraMessage: null, @@ -41,7 +43,7 @@ export const pendingSwap: PendingSwap = { address: 'ibc/46b44899322f3cd854d2d46deef881958467cdd4b3b10086da49296bbed94bed', blockchain: 'OSMOSIS', - blockchainLogo: '', + blockchainLogo: 'https://api.rango.exchange/swappers/osmosis.png', decimals: 6, usdPrice: 1.1091996179668873, }, @@ -51,7 +53,7 @@ export const pendingSwap: PendingSwap = { address: null, blockchain: 'OSMOSIS', decimals: 6, - blockchainLogo: '', + blockchainLogo: 'https://api.rango.exchange/swappers/osmosis.png', usdPrice: 0.7192435454440882, }, fromAmount: '1.000000', @@ -68,8 +70,9 @@ export const pendingSwap: PendingSwap = { address: null, }, expenseType: 'FROM_SOURCE_WALLET', - amount: '0', name: 'Network Fee', + amount: '0', + price: null, }, ], estimatedTimeInSeconds: 45, @@ -145,6 +148,7 @@ export const pendingSwap: PendingSwap = { includesDestinationTx: false, maxRequiredSign: 1, warnings: [], + internalSwaps: null, }, ], }, @@ -154,24 +158,28 @@ export const pendingSwap: PendingSwap = { id: 1, fromBlockchain: 'OSMOSIS', fromSymbol: 'JUNO', + swapperType: 'test', fromSymbolAddress: 'ibc/46b44899322f3cd854d2d46deef881958467cdd4b3b10086da49296bbed94bed', fromDecimals: 6, fromAmountPrecision: null, + fromAmountRestrictionType: 'EXCLUSIVE', + estimatedTimeInSeconds: 5, fromAmountMinValue: null, fromAmountMaxValue: null, + fromUsdPrice: null, toBlockchainLogo: 'https://api.rango.exchange/swappers/osmosis.png', fromBlockchainLogo: 'https://api.rango.exchange/swappers/osmosis.png', toBlockchain: 'OSMOSIS', fromLogo: 'https://api.rango.exchange/tokens/COSMOS/JUNO.png', toSymbol: 'OSMO', toSymbolAddress: null, - swapperType: 'DEX', toDecimals: 6, toLogo: 'https://api.rango.exchange/i/mJQPS2', + toUsdPrice: null, startTransactionTime: 1673164519916, swapperId: 'Osmosis', - swapperLogo: '', + swapperLogo: 'https://api.rango.exchange/swappers/osmosis.png', expectedOutputAmountHumanReadable: '1.540670', outputAmount: '1.540658', status: 'running', @@ -184,6 +192,13 @@ export const pendingSwap: PendingSwap = { description: null, }, ], + starknetApprovalTransaction: null, + starknetTransaction: null, + tronApprovalTransaction: null, + tonTransaction: null, + tronTransaction: null, + feeInUsd: null, + executedTransactionTime: null, cosmosTransaction: { type: TransactionType.COSMOS, fromWalletAddress: 'osmo1unf2rcytjxfpz8x8ar63h4qeftadptg5t0nqcl', @@ -271,6 +286,7 @@ export const pendingSwap: PendingSwap = { transferTransaction: null, diagnosisUrl: null, internalSteps: null, + internalSwaps: null, }, ], }; diff --git a/widget/ui/src/containers/SwapInput/SwapInput.stories.tsx b/widget/ui/src/containers/SwapInput/SwapInput.stories.tsx new file mode 100644 index 0000000000..d485ea2041 --- /dev/null +++ b/widget/ui/src/containers/SwapInput/SwapInput.stories.tsx @@ -0,0 +1,40 @@ +import type { SwapInputProps } from './SwapInput.types'; +import type { Meta } from '@storybook/react'; + +import React from 'react'; + +import { SwapInput } from './SwapInput'; + +const meta: Meta = { + title: 'Containers/Swap Input', + component: SwapInput, + args: { + chain: { + image: 'https://api.rango.exchange/blockchains/bsc.svg', + displayName: 'BSC', + }, + token: { + displayName: 'BNB', + image: 'https://api.rango.exchange/tokens/ETH/BNB.png', + }, + label: 'From', + price: { value: '0.5', usdValue: '151.2' }, + }, +}; + +export default meta; + +export const SwapFrom = (args: SwapInputProps) => ( + +); + +export const SwapTo = (args: SwapInputProps) => ( + +); diff --git a/widget/ui/src/containers/SwapInput/SwapInput.styles.ts b/widget/ui/src/containers/SwapInput/SwapInput.styles.ts new file mode 100644 index 0000000000..d2c051b257 --- /dev/null +++ b/widget/ui/src/containers/SwapInput/SwapInput.styles.ts @@ -0,0 +1,115 @@ +import { Button, TextField, Typography } from '../../components'; +import { css, darkTheme, styled } from '../../theme'; + +export const textStyles = css(); + +export const Container = styled('div', { + $$color: '$colors$neutral100', + [`.${darkTheme} &`]: { + $$color: '$colors$neutral300', + }, + backgroundColor: '$$color', + borderRadius: '$xm', + padding: '$15', + variants: { + sharpBottomStyle: { + true: { + borderBottomLeftRadius: '$0', + borderBottomRightRadius: '$0', + }, + }, + }, + [`& .${textStyles}`]: { + $$color: '$colors$neutral600', + [`.${darkTheme} &`]: { + $$color: '$colors$neutral700', + }, + color: '$$color', + }, +}); + +export const InputAmount = styled(TextField, { + width: '100%', + padding: '0', + fontSize: '$18', + lineHeight: '$26', + fontWeight: '$medium', + textAlign: 'right', + '&:disabled': { + cursor: 'unset', + }, +}); +export const MaxButton = styled(Button, { + $$color: '$colors$info300', + [`.${darkTheme} &`]: { + $$color: '$colors$secondary800', + }, + backgroundColor: '$$color', +}); + +export const ValueTypography = styled('div', { + display: 'flex', + width: '100%', + textAlign: 'right', + whiteSpace: 'nowrap', + overflow: 'hidden', + textOverflow: 'ellipsis', + variants: { + hasWarning: { + true: { + '& ._typography': { + color: '$warning500', + }, + }, + false: { + '& ._typography': { + $$color: '$colors$neutral600', + [`.${darkTheme} &`]: { + $$color: '$colors$neutral700', + }, + color: '$$color', + }, + }, + }, + }, +}); + +export const formStyles = css({ + display: 'flex', + justifyContent: 'space-between', + alignItems: 'center', +}); + +export const labelStyles = css({ + display: 'flex', + justifyContent: 'space-between', + alignItems: 'center', +}); + +export const balanceStyles = css({ + display: 'flex', + justifyContent: 'center', + alignItems: 'center', +}); + +export const amountStyles = css({ + width: '45%', + maxWidth: '170px', + display: 'flex', + flexDirection: 'column', + justifyContent: 'center', + alignItems: 'end', + flexGrow: 1, +}); + +export const labelContainerStyles = css({ + paddingBottom: '$5', +}); + +export const UsdPrice = styled(Typography, { + width: '100%', + textAlign: 'right', + whiteSpace: 'nowrap', + overflow: 'hidden', + textOverflow: 'ellipsis', +}); diff --git a/widget/ui/src/containers/SwapInput/SwapInput.tsx b/widget/ui/src/containers/SwapInput/SwapInput.tsx new file mode 100644 index 0000000000..f54e162ab3 --- /dev/null +++ b/widget/ui/src/containers/SwapInput/SwapInput.tsx @@ -0,0 +1,148 @@ +import type { SwapInputProps } from './SwapInput.types'; + +import { i18n } from '@lingui/core'; +import React from 'react'; + +import { + Divider, + PriceImpact, + Skeleton, + Tooltip, + Typography, +} from '../../components'; + +import { + amountStyles, + balanceStyles, + Container, + formStyles, + InputAmount, + labelContainerStyles, + labelStyles, + MaxButton, + textStyles, + UsdPrice, + ValueTypography, +} from './SwapInput.styles'; +import { TokenSection } from './TokenSection'; + +export function SwapInput(props: SwapInputProps) { + const showBalance = + 'balance' in props && !props.loading && !props.loadingBalance; + const showBalanceSkeleton = + 'balance' in props && (props.loading || props.loadingBalance); + return ( + +
+
+ + {props.label} + + {showBalance && ( +
+ + {i18n.t('Balance')}: {props.balance} + + + + {i18n.t('Max')} + + +
+ )} + {showBalanceSkeleton && ( +
+ +
+ )} +
+
+
+ +
+ {props.loading || (props.mode === 'To' && props.fetchingQuote) ? ( + <> + + + + + ) : ( + <> + + ) => + props.onInputChange(event.target.value), + })} + /> + + {'percentageChange' in props ? ( + + ) : ( + + + + {props.price.usdValue + ? `~$${props.price.usdValue}` + : props.price.error} + + + + )} + + )} +
+
+
+ ); +} diff --git a/widget/ui/src/containers/SwapInput/SwapInput.types.ts b/widget/ui/src/containers/SwapInput/SwapInput.types.ts new file mode 100644 index 0000000000..abf41602b0 --- /dev/null +++ b/widget/ui/src/containers/SwapInput/SwapInput.types.ts @@ -0,0 +1,43 @@ +import type { PriceImpactWarningLevel } from '../../components/PriceImpact/PriceImpact.types'; + +export type BaseProps = { + chain: { + displayName: string; + image: string; + }; + token: { + displayName: string; + image: string; + }; + price: { + value: string; + usdValue?: string; + realValue?: string; + realUsdValue?: string; + error?: string; + }; + loading?: boolean; + error?: boolean; + disabled?: boolean; + label: string; + sharpBottomStyle?: boolean; + onClickToken: () => void; + tooltipContainer?: HTMLElement; +}; + +type FromProps = { + mode: 'From'; + balance?: string; + loadingBalance: boolean; + onSelectMaxBalance: () => void; + onInputChange: (inputAmount: string) => void; +}; + +type ToProps = { + mode: 'To'; + fetchingQuote?: boolean; + percentageChange: string | null; + warningLevel: PriceImpactWarningLevel; +}; + +export type SwapInputProps = BaseProps & (FromProps | ToProps); diff --git a/widget/ui/src/containers/SwapInput/TokenSection.styles.ts b/widget/ui/src/containers/SwapInput/TokenSection.styles.ts new file mode 100644 index 0000000000..9d07c6dcbb --- /dev/null +++ b/widget/ui/src/containers/SwapInput/TokenSection.styles.ts @@ -0,0 +1,64 @@ +import { Button } from '../../components'; +import { css, darkTheme, styled } from '../../theme'; + +export const Container = styled(Button, { + maxWidth: '180px', + minWidth: '130px', + flexGrow: 1, + backgroundColor: 'transparent', + color: '$neutral700', + '&:disabled': { + color: '$neutral600', + }, + '&:focus-visible': { + $$color: '$colors$info100', + [`.${darkTheme} &`]: { + $$color: '$colors$info700', + }, + backgroundColor: '$$color !important', + outline: 0, + }, + '&:disabled:hover': { + backgroundColor: 'transparent', + }, + '&:hover': { + $$color: '$colors$info100', + [`.${darkTheme} &`]: { + $$color: '$colors$neutral400', + }, + backgroundColor: '$$color !important', + }, +}); + +export const chainNameStyles = css(); + +export const TokenSectionContainer = styled('div', { + maxWidth: '170px', + padding: '$2 $5', + display: 'flex', + borderRadius: '$xs', + justifyContent: 'start', + boxSizing: 'border-box', + alignItems: 'center', + [`& .${chainNameStyles}`]: { + $$color: '$colors$neutral600', + [`.${darkTheme} &`]: { + $$color: '$colors$neutral700', + }, + color: '$$color', + }, +}); + +export const tokenChainStyles = css({ + display: 'flex', + flexDirection: 'column', + justifyContent: 'center', + alignItems: 'start', + paddingLeft: '$10', + flexGrow: 1, +}); + +export const skeletonStyles = css({ + width: '100%', + padding: '$5 $0', +}); diff --git a/widget/ui/src/containers/SwapInput/TokenSection.tsx b/widget/ui/src/containers/SwapInput/TokenSection.tsx new file mode 100644 index 0000000000..aca60833ab --- /dev/null +++ b/widget/ui/src/containers/SwapInput/TokenSection.tsx @@ -0,0 +1,62 @@ +import type { TokenSectionProps } from './TokenSection.types'; + +import { i18n } from '@lingui/core'; +import React from 'react'; + +import { ChainToken, Divider, Skeleton, Typography } from '../../components'; + +import { + chainNameStyles, + Container, + skeletonStyles, + tokenChainStyles, + TokenSectionContainer, +} from './TokenSection.styles'; + +export function TokenSection(props: TokenSectionProps) { + const { + error, + chainImage, + tokenImage, + tokenSymbol, + chain, + onClick, + loading, + } = props; + return ( + + + +
+ {loading ? ( +
+ + + +
+ ) : ( + <> + + {error || (!loading && !tokenSymbol) + ? i18n.t('Token') + : tokenSymbol} + + + {error || (!loading && !chain) ? i18n.t('Chain') : chain} + + + )} +
+
+
+ ); +} diff --git a/widget/ui/src/containers/SwapInput/TokenSection.types.ts b/widget/ui/src/containers/SwapInput/TokenSection.types.ts new file mode 100644 index 0000000000..51517a58f5 --- /dev/null +++ b/widget/ui/src/containers/SwapInput/TokenSection.types.ts @@ -0,0 +1,9 @@ +export type TokenSectionProps = { + chainImage: string; + tokenImage: string; + tokenSymbol: string; + chain: string; + error?: boolean; + onClick: () => void; + loading?: boolean; +}; diff --git a/widget/ui/src/containers/SwapInput/index.ts b/widget/ui/src/containers/SwapInput/index.ts new file mode 100644 index 0000000000..08eb02c72d --- /dev/null +++ b/widget/ui/src/containers/SwapInput/index.ts @@ -0,0 +1 @@ +export { SwapInput } from './SwapInput'; diff --git a/widget/embedded/src/components/TokenInfo.tsx b/widget/ui/src/containers/TokenInfo/TokenInfo.tsx similarity index 51% rename from widget/embedded/src/components/TokenInfo.tsx rename to widget/ui/src/containers/TokenInfo/TokenInfo.tsx index 33f1cc0a01..c42203ebfd 100644 --- a/widget/embedded/src/components/TokenInfo.tsx +++ b/widget/ui/src/containers/TokenInfo/TokenInfo.tsx @@ -1,56 +1,73 @@ +import type { ConnectedWallet } from '../..'; +import type { TokenWithBalance } from '../../types/meta'; +import type { BestRouteResponse, BlockchainMeta, Token } from 'rango-sdk'; + +import { i18n } from '@lingui/core'; +import { Trans } from '@lingui/react'; import React from 'react'; + import { - AngleDownIcon, Button, - InfoCircleIcon, - styled, + Divider, + Image, + PercentageChange, TextField, Typography, - Image, - Spacer, -} from '@rango-dev/ui'; -import { useMetaStore } from '../store/meta'; -import { BlockchainMeta, Token } from 'rango-sdk'; -import { useNavigate } from 'react-router-dom'; -import { useBestRouteStore } from '../store/bestRoute'; -import { numberToString } from '../utils/numbers'; -import BigNumber from 'bignumber.js'; -import { getBalanceFromWallet } from '../utils/wallets'; -import { useWalletsStore } from '../store/wallets'; -import { useTranslation } from 'react-i18next'; -import { PercentageChange } from './PercentageChange'; +} from '../..'; +import { AngleDownIcon, InfoCircleIcon } from '../../components/Icon'; +import { styled } from '../../theme'; type PropTypes = ( | { type: 'From'; - inputAmount: string; onAmountChange: (amount: string) => void; } | { type: 'To'; - outputAmount: BigNumber | null; - outputUsdValue: BigNumber | null; + outputAmount: string; + outputUsdValue: string; + percentageChange: string; + showPercentageChange: boolean; } -) & { chain: BlockchainMeta | null; token: Token | null }; +) & { + chain: BlockchainMeta | null; + token: Token | null; + loadingStatus: 'loading' | 'success' | 'failed'; + fromBlockchain: BlockchainMeta | null; + toBlockchain: BlockchainMeta | null; + inputUsdValue: string; + fromToken: TokenWithBalance | null; + setInputAmount: (amount: string) => void; + connectedWallets: ConnectedWallet[]; + inputAmount: string; + bestRoute: BestRouteResponse | null; + fetchingBestRoute: boolean; + onChainClick: () => void; + onTokenClick: () => void; + tokenBalanceReal: string; + tokenBalance: string; +}; const Box = styled('div', { display: 'flex', flexDirection: 'column', width: '100%', + overflow: 'hidden', }); const Container = styled('div', { boxSizing: 'border-box', - borderRadius: '$5', + borderRadius: '$xs', padding: '$8 $16 $16 $16', variants: { type: { filled: { - backgroundColor: '$neutrals300', + backgroundColor: '$background', }, outlined: { - border: '1px solid $neutrals300', + border: '1px solid $background', + backgroundColor: '$surface', }, }, }, @@ -104,15 +121,15 @@ const Options = styled('div', { const ImagePlaceholder = styled('span', { width: '24px', height: '24px', - backgroundColor: '$neutrals300', + backgroundColor: '$background', borderRadius: '99999px', }); const OutputContainer = styled('div', { windth: '100%', height: '$48', - borderRadius: '$5', - backgroundColor: '$background', + borderRadius: '$xs', + backgroundColor: '$surface', border: '1px solid transparent', position: 'relative', display: 'flex', @@ -122,50 +139,24 @@ const OutputContainer = styled('div', { }); export function TokenInfo(props: PropTypes) { - const { type, chain, token } = props; - const loadingStatus = useMetaStore.use.loadingStatus(); - const fromChain = useBestRouteStore.use.fromChain(); - const toChain = useBestRouteStore.use.toChain(); - const inputUsdValue = useBestRouteStore.use.inputUsdValue(); - const fromToken = useBestRouteStore.use.fromToken(); - const setInputAmount = useBestRouteStore.use.setInputAmount(); - const bestRoute = useBestRouteStore.use.bestRoute(); - const inputAmount = useBestRouteStore.use.inputAmount(); - const balances = useWalletsStore.use.balances(); - const fetchingBestRoute = useBestRouteStore.use.loading(); - const navigate = useNavigate(); - const { t } = useTranslation(); - - const tokenBalance = - !!fromChain && !!fromToken - ? numberToString( - getBalanceFromWallet( - balances, - fromChain?.name, - fromToken?.symbol, - fromToken?.address - )?.amount || '0', - 8 - ) - : '0'; - - const tokenBalanceReal = - !!fromChain && !!fromToken - ? numberToString( - getBalanceFromWallet( - balances, - fromChain?.name, - fromToken?.symbol, - fromToken?.address - )?.amount || '0', - getBalanceFromWallet( - balances, - fromChain?.name, - fromToken?.symbol, - fromToken?.address - )?.decimal - ) - : '0'; + const { + type, + chain, + token, + loadingStatus, + fromBlockchain, + toBlockchain, + fromToken, + setInputAmount, + inputUsdValue, + inputAmount, + bestRoute, + fetchingBestRoute, + onChainClick, + onTokenClick, + tokenBalanceReal, + tokenBalance, + } = props; const ItemSuffix = (
+ }}> {loadingStatus === 'failed' && }
@@ -182,40 +172,44 @@ export function TokenInfo(props: PropTypes) { return ( - +
- - {t(type)} + + {type === 'From' ? ( + + ) : ( + + )} - {props.type === 'From' ? ( + {type === 'From' ? (
{ - if (tokenBalance !== '0') + if (tokenBalance !== '0') { setInputAmount(tokenBalanceReal.split(',').join('')); - }} - > - {`${t( - 'Balance' - )}: ${tokenBalance} ${fromToken?.symbol || ''}`} - -
) : (
{`$${numberToString(props.outputUsdValue)}`} + variant="body" + size="xsmall" + color="neutral800">{`$${props.outputUsdValue}`}
)} @@ -223,9 +217,7 @@ export function TokenInfo(props: PropTypes) {
- + - +
- {props.type === 'From' ? ( + {type === 'From' ? ( + }}> {`$${numberToString(inputUsdValue)}`} + variant="body" + size="xsmall" + color="neutral600">{`$${inputUsdValue}`} } - value={props.inputAmount || ''} + value={inputAmount || ''} min={0} onChange={ - props.type === 'From' - ? (event) => { + type === 'From' + ? (event: React.ChangeEvent) => { props.onAmountChange(event.target.value); } : undefined @@ -308,10 +295,9 @@ export function TokenInfo(props: PropTypes) { /> ) : ( - + {fetchingBestRoute && '?'} - {!!bestRoute?.result && - `≈ ${numberToString(props.outputAmount)}`} + {!!bestRoute?.result && `≈ ${props.outputAmount}`} {(!inputAmount || inputAmount === '0') && '0'} diff --git a/widget/ui/src/containers/TokenInfo/index.ts b/widget/ui/src/containers/TokenInfo/index.ts new file mode 100644 index 0000000000..b6d3696cbf --- /dev/null +++ b/widget/ui/src/containers/TokenInfo/index.ts @@ -0,0 +1 @@ +export { TokenInfo } from './TokenInfo'; diff --git a/widget/ui/src/components/TokenSelector/TokenSelector.stories.tsx b/widget/ui/src/containers/TokenSelector/TokenSelector.stories.tsx similarity index 52% rename from widget/ui/src/components/TokenSelector/TokenSelector.stories.tsx rename to widget/ui/src/containers/TokenSelector/TokenSelector.stories.tsx index 58bcd6c714..5f3d4e5ae7 100644 --- a/widget/ui/src/components/TokenSelector/TokenSelector.stories.tsx +++ b/widget/ui/src/containers/TokenSelector/TokenSelector.stories.tsx @@ -1,17 +1,16 @@ import React from 'react'; -import { ComponentMeta } from '@storybook/react'; +import { Meta } from '@storybook/react'; import { TokenSelector, PropTypes } from './TokenSelector'; -import { tokensMeta } from '../TokenList/mockData'; +import { tokensMeta } from '../../components/TokenList/mockData'; export default { - title: 'Token Selector', + title: 'Containers/Token Selector', component: TokenSelector, - argTypes: { - type: { - defaultValue: 'Source', - }, + args: { + type: 'Source', + loadingStatus: 'success', }, -} as ComponentMeta; +} as Meta; export const Main = (args: PropTypes) => ( diff --git a/widget/ui/src/components/TokenSelector/TokenSelector.tsx b/widget/ui/src/containers/TokenSelector/TokenSelector.tsx similarity index 76% rename from widget/ui/src/components/TokenSelector/TokenSelector.tsx rename to widget/ui/src/containers/TokenSelector/TokenSelector.tsx index d73a61c5b6..6c3d152a84 100644 --- a/widget/ui/src/components/TokenSelector/TokenSelector.tsx +++ b/widget/ui/src/containers/TokenSelector/TokenSelector.tsx @@ -1,13 +1,13 @@ +import type { TokenWithAmount } from '../../components/TokenList/TokenList'; +import type { LoadingStatus } from '../../types/meta'; + import React from 'react'; -import { containsText } from '../../helper'; -import { SecondaryPage } from '../SecondaryPage/SecondaryPage'; -import { TokenList } from '../TokenList'; -import { TokenWithAmount } from '../TokenList/TokenList'; -import { LoadingStatus } from '../../types/meta'; -import { Spinner } from '../Spinner'; -import { LoadingFailedAlert } from '../Alert/LoadingFailedAlert'; -import { NotFoundAlert } from '../Alert/NotFoundAlert'; + +import { LoadingFailedAlert, SecondaryPage, Spinner } from '../../components'; +import { NotFoundAlert } from '../../components/Alert/NotFoundAlert'; +import { TokenList } from '../../components/TokenList/TokenList'; import { styled } from '../../theme'; +import { containsText } from '../../utils'; export const LoaderContainer = styled('div', { display: 'flex', @@ -42,10 +42,9 @@ export function TokenSelector(props: PropTypes) { + textFieldPlaceholder="Search tokens by name"> {(searchedFor) => { const filteredTokens = filterTokens(list, searchedFor); diff --git a/widget/ui/src/components/TokenSelector/index.ts b/widget/ui/src/containers/TokenSelector/index.ts similarity index 100% rename from widget/ui/src/components/TokenSelector/index.ts rename to widget/ui/src/containers/TokenSelector/index.ts diff --git a/widget/ui/src/containers/Warnings/BalanceErrors.tsx b/widget/ui/src/containers/Warnings/BalanceErrors.tsx new file mode 100644 index 0000000000..dff1adb635 --- /dev/null +++ b/widget/ui/src/containers/Warnings/BalanceErrors.tsx @@ -0,0 +1,40 @@ +import React from 'react'; + +import { Typography } from '../../components'; +import { styled } from '../../theme'; + +interface PropTypes { + messages: string[]; +} + +const List = styled('ul', { + padding: '$0 $0 $40 $0', + margin: 0, +}); + +const ListItem = styled('li', { + paddingBottom: '$10', +}); + +const Message = styled(Typography, { + display: 'block', +}); + +export function BalanceErrors({ messages }: PropTypes) { + return ( + <> + + {messages.map((warning, index) => { + const key = index + warning; + return ( + + + {warning} + + + ); + })} + + + ); +} diff --git a/widget/ui/src/containers/Warnings/HighSlippageWarning.tsx b/widget/ui/src/containers/Warnings/HighSlippageWarning.tsx new file mode 100644 index 0000000000..8129b92213 --- /dev/null +++ b/widget/ui/src/containers/Warnings/HighSlippageWarning.tsx @@ -0,0 +1,30 @@ +import { i18n } from '@lingui/core'; +import React from 'react'; + +import { Alert } from '../../components/Alert'; +import { ChangeSlippageButton } from '../../components/ChangeSlippageButton'; + +interface PropTypes { + selectedSlippage: number; + highSlippage: boolean; + changeSlippage: () => void; +} + +export function HighSlippageWarning(props: PropTypes) { + const { highSlippage, selectedSlippage, changeSlippage } = props; + + return ( + <> + {highSlippage && ( + }> + {i18n.t({ + id: ' Caution, your slippage is high (={selectedSlippage}). Your trade may be front run.', + values: { selectedSlippage }, + })} + + )} + + ); +} diff --git a/widget/ui/src/containers/Warnings/MinRequiredSlippage.tsx b/widget/ui/src/containers/Warnings/MinRequiredSlippage.tsx new file mode 100644 index 0000000000..f23d52b90a --- /dev/null +++ b/widget/ui/src/containers/Warnings/MinRequiredSlippage.tsx @@ -0,0 +1,30 @@ +import { i18n } from '@lingui/core'; +import React from 'react'; + +import { ChangeSlippageButton, Divider, Typography } from '../../components'; +import { styled } from '../../theme'; + +interface PropTypes { + minRequiredSlippage: string | null; + changeSlippage: () => void; +} + +const StyledMessage = styled(Typography, { + color: '$error500 !important', +}); + +export function MinRequiredSlippage({ + minRequiredSlippage, + changeSlippage, +}: PropTypes) { + return ( + + {i18n.t({ + id: 'We recommend you to increase slippage to at least {minRequiredSlippage} for this route.', + values: { minRequiredSlippage }, + })} + + + + ); +} diff --git a/widget/ui/src/containers/Warnings/index.ts b/widget/ui/src/containers/Warnings/index.ts new file mode 100644 index 0000000000..88c80ad4f9 --- /dev/null +++ b/widget/ui/src/containers/Warnings/index.ts @@ -0,0 +1,3 @@ +export { HighSlippageWarning } from './HighSlippageWarning'; +export { MinRequiredSlippage } from './MinRequiredSlippage'; +export { BalanceErrors } from './BalanceErrors'; diff --git a/widget/ui/src/containers/index.ts b/widget/ui/src/containers/index.ts index 16dc9ac34f..dabf9d8335 100644 --- a/widget/ui/src/containers/index.ts +++ b/widget/ui/src/containers/index.ts @@ -1,3 +1,8 @@ -export * from './ConfirmSwap'; -export * from './History'; +export * from './HomePanel'; export * from './SwapHistory'; +export * from './BlockchainSelector'; +export * from './ConnectWalletsModal'; +export * from './TokenInfo'; +export * from './TokenSelector'; +export * from './Warnings'; +export * from './SwapInput'; diff --git a/widget/ui/src/helper/index.ts b/widget/ui/src/helper/index.ts deleted file mode 100644 index 5c38cfa9b8..0000000000 --- a/widget/ui/src/helper/index.ts +++ /dev/null @@ -1,31 +0,0 @@ -export function containsText(text: string, searchText: string): boolean { - return text.toLowerCase().indexOf(searchText.toLowerCase()) > -1; -} - -export function getConciseAddress( - address: string | null, - maxChars = 8, - ellipsisLength = 3 -): string | null { - if (!address) return null; - if (address.length < 2 * maxChars + ellipsisLength) return address; - const start = Math.ceil((address.length - maxChars) / 2); - const end = address.length - maxChars; - return `${address.substr(start, maxChars)}${'.'.repeat( - ellipsisLength - )}${address.substr(end)}`; -} - -export function limitDecimalPlaces( - numberString: string, - maxDecimalPlaces = 4 -): string { - const number = parseFloat(numberString); - if (isNaN(number)) - return numberString; // Return the original string if it's not a valid number - else { - const multiplier = Math.pow(10, maxDecimalPlaces); - const roundedNumber = Math.round(number * multiplier) / multiplier; - return roundedNumber.toString(); - } -} diff --git a/widget/ui/src/hooks/index.ts b/widget/ui/src/hooks/index.ts new file mode 100644 index 0000000000..49841526aa --- /dev/null +++ b/widget/ui/src/hooks/index.ts @@ -0,0 +1 @@ +export { useCopyToClipboard } from './useCopyToClipboard'; diff --git a/widget/embedded/src/hooks/useCopyToClipboard.ts b/widget/ui/src/hooks/useCopyToClipboard.ts similarity index 88% rename from widget/embedded/src/hooks/useCopyToClipboard.ts rename to widget/ui/src/hooks/useCopyToClipboard.ts index af15182aaf..fb718b22f3 100644 --- a/widget/embedded/src/hooks/useCopyToClipboard.ts +++ b/widget/ui/src/hooks/useCopyToClipboard.ts @@ -1,7 +1,7 @@ import React from 'react'; import copy from 'copy-to-clipboard'; -export default function useCopyToClipboard(resetInterval?: number) { +export function useCopyToClipboard(resetInterval?: number) { const [isCopied, setCopied] = React.useState(false); const handleCopy = React.useCallback((text: string | number) => { diff --git a/widget/ui/src/icons/AutoTheme.tsx b/widget/ui/src/icons/AutoTheme.tsx new file mode 100644 index 0000000000..11e07be79e --- /dev/null +++ b/widget/ui/src/icons/AutoTheme.tsx @@ -0,0 +1,25 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgAutoTheme(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + + ); +} +export default SvgAutoTheme; diff --git a/widget/ui/src/icons/BorderRadius.tsx b/widget/ui/src/icons/BorderRadius.tsx new file mode 100644 index 0000000000..c47b5be52a --- /dev/null +++ b/widget/ui/src/icons/BorderRadius.tsx @@ -0,0 +1,21 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgBorderRadius(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + ); +} +export default SvgBorderRadius; diff --git a/widget/ui/src/icons/Chains.tsx b/widget/ui/src/icons/Chains.tsx new file mode 100644 index 0000000000..0a41135816 --- /dev/null +++ b/widget/ui/src/icons/Chains.tsx @@ -0,0 +1,19 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgChains(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + ); +} +export default SvgChains; diff --git a/widget/ui/src/icons/ChevronDown.tsx b/widget/ui/src/icons/ChevronDown.tsx new file mode 100644 index 0000000000..02171e7eb3 --- /dev/null +++ b/widget/ui/src/icons/ChevronDown.tsx @@ -0,0 +1,21 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgChevronDown(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + ); +} +export default SvgChevronDown; diff --git a/widget/ui/src/icons/ChevronLeft.tsx b/widget/ui/src/icons/ChevronLeft.tsx new file mode 100644 index 0000000000..33f284af31 --- /dev/null +++ b/widget/ui/src/icons/ChevronLeft.tsx @@ -0,0 +1,21 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgChevronLeft(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + ); +} +export default SvgChevronLeft; diff --git a/widget/ui/src/icons/ChevronRight.tsx b/widget/ui/src/icons/ChevronRight.tsx new file mode 100644 index 0000000000..75ac429c53 --- /dev/null +++ b/widget/ui/src/icons/ChevronRight.tsx @@ -0,0 +1,21 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgChevronRight(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + ); +} +export default SvgChevronRight; diff --git a/widget/ui/src/icons/ChevronUp.tsx b/widget/ui/src/icons/ChevronUp.tsx new file mode 100644 index 0000000000..1c200b2cfb --- /dev/null +++ b/widget/ui/src/icons/ChevronUp.tsx @@ -0,0 +1,21 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgChevronUp(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + ); +} +export default SvgChevronUp; diff --git a/widget/ui/src/icons/Close.tsx b/widget/ui/src/icons/Close.tsx new file mode 100644 index 0000000000..b2296205ce --- /dev/null +++ b/widget/ui/src/icons/Close.tsx @@ -0,0 +1,28 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgClose(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + + + + + + + + ); +} +export default SvgClose; diff --git a/widget/ui/src/icons/Colors.tsx b/widget/ui/src/icons/Colors.tsx new file mode 100644 index 0000000000..307642d119 --- /dev/null +++ b/widget/ui/src/icons/Colors.tsx @@ -0,0 +1,33 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgColors(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + + + ); +} +export default SvgColors; diff --git a/widget/ui/src/icons/Complete.tsx b/widget/ui/src/icons/Complete.tsx new file mode 100644 index 0000000000..6b51712a62 --- /dev/null +++ b/widget/ui/src/icons/Complete.tsx @@ -0,0 +1,19 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgComplete(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + ); +} +export default SvgComplete; diff --git a/widget/ui/src/icons/Copy.tsx b/widget/ui/src/icons/Copy.tsx new file mode 100644 index 0000000000..6adde92473 --- /dev/null +++ b/widget/ui/src/icons/Copy.tsx @@ -0,0 +1,19 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgCopy(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + ); +} +export default SvgCopy; diff --git a/widget/ui/src/icons/CosmosCategory.tsx b/widget/ui/src/icons/CosmosCategory.tsx new file mode 100644 index 0000000000..f74839e061 --- /dev/null +++ b/widget/ui/src/icons/CosmosCategory.tsx @@ -0,0 +1,137 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgCosmosCategory(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); +} +export default SvgCosmosCategory; diff --git a/widget/ui/src/icons/CustomColors.tsx b/widget/ui/src/icons/CustomColors.tsx new file mode 100644 index 0000000000..e5e3ee61ac --- /dev/null +++ b/widget/ui/src/icons/CustomColors.tsx @@ -0,0 +1,21 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgCustomColors(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + ); +} +export default SvgCustomColors; diff --git a/widget/ui/src/icons/DarkMode.tsx b/widget/ui/src/icons/DarkMode.tsx new file mode 100644 index 0000000000..09a6559f5f --- /dev/null +++ b/widget/ui/src/icons/DarkMode.tsx @@ -0,0 +1,19 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgDarkMode(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + ); +} +export default SvgDarkMode; diff --git a/widget/ui/src/icons/Delete.tsx b/widget/ui/src/icons/Delete.tsx new file mode 100644 index 0000000000..6880e85788 --- /dev/null +++ b/widget/ui/src/icons/Delete.tsx @@ -0,0 +1,33 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgDelete(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + + + + + + + + ); +} +export default SvgDelete; diff --git a/widget/ui/src/icons/Desktop.tsx b/widget/ui/src/icons/Desktop.tsx new file mode 100644 index 0000000000..eea9631c99 --- /dev/null +++ b/widget/ui/src/icons/Desktop.tsx @@ -0,0 +1,271 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgDesktop(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); +} +export default SvgDesktop; diff --git a/widget/ui/src/icons/Done.tsx b/widget/ui/src/icons/Done.tsx new file mode 100644 index 0000000000..fdd015d761 --- /dev/null +++ b/widget/ui/src/icons/Done.tsx @@ -0,0 +1,21 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgDone(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + ); +} +export default SvgDone; diff --git a/widget/ui/src/icons/Error.tsx b/widget/ui/src/icons/Error.tsx new file mode 100644 index 0000000000..a6537eb726 --- /dev/null +++ b/widget/ui/src/icons/Error.tsx @@ -0,0 +1,21 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgError(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + ); +} +export default SvgError; diff --git a/widget/ui/src/icons/EvmCategory.tsx b/widget/ui/src/icons/EvmCategory.tsx new file mode 100644 index 0000000000..c84e528c4e --- /dev/null +++ b/widget/ui/src/icons/EvmCategory.tsx @@ -0,0 +1,74 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgEvmCategory(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + + + + + + + + + + + + + + + + + + + + + + + ); +} +export default SvgEvmCategory; diff --git a/widget/ui/src/icons/ExternalLink.tsx b/widget/ui/src/icons/ExternalLink.tsx new file mode 100644 index 0000000000..9e5e6dca2b --- /dev/null +++ b/widget/ui/src/icons/ExternalLink.tsx @@ -0,0 +1,21 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgExternalLink(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + ); +} +export default SvgExternalLink; diff --git a/widget/ui/src/icons/Font.tsx b/widget/ui/src/icons/Font.tsx new file mode 100644 index 0000000000..70a4efb5f7 --- /dev/null +++ b/widget/ui/src/icons/Font.tsx @@ -0,0 +1,27 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgFont(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + + + ); +} +export default SvgFont; diff --git a/widget/ui/src/icons/Gas.tsx b/widget/ui/src/icons/Gas.tsx new file mode 100644 index 0000000000..e0b76e3160 --- /dev/null +++ b/widget/ui/src/icons/Gas.tsx @@ -0,0 +1,39 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgGas(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + + + + ); +} +export default SvgGas; diff --git a/widget/ui/src/icons/Gass.tsx b/widget/ui/src/icons/Gass.tsx new file mode 100644 index 0000000000..0ec74bcefc --- /dev/null +++ b/widget/ui/src/icons/Gass.tsx @@ -0,0 +1,39 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgGass(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + + + + ); +} +export default SvgGass; diff --git a/widget/ui/src/icons/Icons.stories.tsx b/widget/ui/src/icons/Icons.stories.tsx new file mode 100644 index 0000000000..c59692065f --- /dev/null +++ b/widget/ui/src/icons/Icons.stories.tsx @@ -0,0 +1,68 @@ +import type { SvgIconProps } from '../components/SvgIcon'; +import type { Meta } from '@storybook/react'; + +import React from 'react'; + +import { Typography } from '../components/Typography'; +import { styled } from '../theme'; + +import * as Icons from '.'; + +export default { + title: 'Components/Icons', + component: Icons.AutoThemeIcon, + args: { + size: 16, + color: 'black', + }, + argTypes: { + color: { + name: 'color', + control: { type: 'select' }, + options: [ + 'primary', + 'secondary', + 'error', + 'warning', + 'success', + 'black', + 'white', + 'gray', + 'info', + ], + }, + + size: { + name: 'size', + control: { type: 'select' }, + // eslint-disable-next-line @typescript-eslint/no-magic-numbers + options: [16, 18, 20, 24, 28, 32, 36, 40], + defaultValue: 16, + }, + }, +} as Meta; + +const Container = styled('div', { + display: 'grid', + gridTemplateColumns: 'auto auto auto auto auto', + gap: 15, +}); + +export const Main = (props: SvgIconProps) => ( + + {Object.keys(Icons).map((icon) => { + // eslint-disable-next-line + // @ts-ignore + const Component = Icons[icon]; + return ( +
+ +
+ + {icon} + +
+ ); + })} + +); diff --git a/widget/ui/src/icons/InProgress.tsx b/widget/ui/src/icons/InProgress.tsx new file mode 100644 index 0000000000..42a5583e4c --- /dev/null +++ b/widget/ui/src/icons/InProgress.tsx @@ -0,0 +1,34 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgInProgress(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + + + + + + + + + ); +} +export default SvgInProgress; diff --git a/widget/ui/src/icons/Info.tsx b/widget/ui/src/icons/Info.tsx new file mode 100644 index 0000000000..77a0315f0d --- /dev/null +++ b/widget/ui/src/icons/Info.tsx @@ -0,0 +1,29 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgInfo(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + + + ); +} +export default SvgInfo; diff --git a/widget/ui/src/icons/InfoError.tsx b/widget/ui/src/icons/InfoError.tsx new file mode 100644 index 0000000000..f90078360b --- /dev/null +++ b/widget/ui/src/icons/InfoError.tsx @@ -0,0 +1,19 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgInfoError(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + ); +} +export default SvgInfoError; diff --git a/widget/ui/src/icons/Language.tsx b/widget/ui/src/icons/Language.tsx new file mode 100644 index 0000000000..c91fc493c6 --- /dev/null +++ b/widget/ui/src/icons/Language.tsx @@ -0,0 +1,55 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgLanguage(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + + + + + + + + + + ); +} +export default SvgLanguage; diff --git a/widget/ui/src/icons/LightMode.tsx b/widget/ui/src/icons/LightMode.tsx new file mode 100644 index 0000000000..56f90ad380 --- /dev/null +++ b/widget/ui/src/icons/LightMode.tsx @@ -0,0 +1,19 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgLightMode(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + ); +} +export default SvgLightMode; diff --git a/widget/ui/src/icons/Link.tsx b/widget/ui/src/icons/Link.tsx new file mode 100644 index 0000000000..f89f424503 --- /dev/null +++ b/widget/ui/src/icons/Link.tsx @@ -0,0 +1,21 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgLink(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + ); +} +export default SvgLink; diff --git a/widget/ui/src/icons/Loading.tsx b/widget/ui/src/icons/Loading.tsx new file mode 100644 index 0000000000..3da9778c30 --- /dev/null +++ b/widget/ui/src/icons/Loading.tsx @@ -0,0 +1,63 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgLoading(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + + + + + + + + + + + + ); +} +export default SvgLoading; diff --git a/widget/ui/src/icons/LogoWithText.tsx b/widget/ui/src/icons/LogoWithText.tsx new file mode 100644 index 0000000000..64fe552993 --- /dev/null +++ b/widget/ui/src/icons/LogoWithText.tsx @@ -0,0 +1,159 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgLogoWithText(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); +} +export default SvgLogoWithText; diff --git a/widget/ui/src/icons/Next.tsx b/widget/ui/src/icons/Next.tsx new file mode 100644 index 0000000000..36dffb250c --- /dev/null +++ b/widget/ui/src/icons/Next.tsx @@ -0,0 +1,21 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgNext(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + ); +} +export default SvgNext; diff --git a/widget/ui/src/icons/NoNotification.tsx b/widget/ui/src/icons/NoNotification.tsx new file mode 100644 index 0000000000..0e885a269c --- /dev/null +++ b/widget/ui/src/icons/NoNotification.tsx @@ -0,0 +1,31 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgNoNotification(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + + + + + + ); +} +export default SvgNoNotification; diff --git a/widget/ui/src/icons/NoRoute.tsx b/widget/ui/src/icons/NoRoute.tsx new file mode 100644 index 0000000000..baf9594d62 --- /dev/null +++ b/widget/ui/src/icons/NoRoute.tsx @@ -0,0 +1,64 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgNoRoute(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + + + + + + + + + + ); +} +export default SvgNoRoute; diff --git a/widget/ui/src/icons/NotificationNumber.tsx b/widget/ui/src/icons/NotificationNumber.tsx new file mode 100644 index 0000000000..b851a60909 --- /dev/null +++ b/widget/ui/src/icons/NotificationNumber.tsx @@ -0,0 +1,41 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgNotificationNumber(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + + + + + + + + + + ); +} +export default SvgNotificationNumber; diff --git a/widget/ui/src/icons/Notifications.tsx b/widget/ui/src/icons/Notifications.tsx new file mode 100644 index 0000000000..c62e51abf9 --- /dev/null +++ b/widget/ui/src/icons/Notifications.tsx @@ -0,0 +1,21 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgNotifications(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + ); +} +export default SvgNotifications; diff --git a/widget/ui/src/icons/Number.tsx b/widget/ui/src/icons/Number.tsx new file mode 100644 index 0000000000..6139ac7830 --- /dev/null +++ b/widget/ui/src/icons/Number.tsx @@ -0,0 +1,24 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgNumber(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + + + ); +} +export default SvgNumber; diff --git a/widget/ui/src/icons/OtherCategory.tsx b/widget/ui/src/icons/OtherCategory.tsx new file mode 100644 index 0000000000..8db52f2350 --- /dev/null +++ b/widget/ui/src/icons/OtherCategory.tsx @@ -0,0 +1,72 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgOtherCategory(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + + + + + + + + + + + + + + + + + + + + + ); +} +export default SvgOtherCategory; diff --git a/widget/ui/src/icons/Pin.tsx b/widget/ui/src/icons/Pin.tsx new file mode 100644 index 0000000000..8337348b20 --- /dev/null +++ b/widget/ui/src/icons/Pin.tsx @@ -0,0 +1,31 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgPin(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + + + + + + + + ); +} +export default SvgPin; diff --git a/widget/ui/src/icons/Refresh.tsx b/widget/ui/src/icons/Refresh.tsx new file mode 100644 index 0000000000..82fa37967e --- /dev/null +++ b/widget/ui/src/icons/Refresh.tsx @@ -0,0 +1,19 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgRefresh(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + ); +} +export default SvgRefresh; diff --git a/widget/ui/src/icons/Reverse.tsx b/widget/ui/src/icons/Reverse.tsx new file mode 100644 index 0000000000..48f119ee5c --- /dev/null +++ b/widget/ui/src/icons/Reverse.tsx @@ -0,0 +1,39 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgReverse(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + + + + ); +} +export default SvgReverse; diff --git a/widget/ui/src/icons/Route.tsx b/widget/ui/src/icons/Route.tsx new file mode 100644 index 0000000000..20bf33d2dc --- /dev/null +++ b/widget/ui/src/icons/Route.tsx @@ -0,0 +1,33 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgRoute(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + + + ); +} +export default SvgRoute; diff --git a/widget/ui/src/icons/Search.tsx b/widget/ui/src/icons/Search.tsx new file mode 100644 index 0000000000..6b8a74a69e --- /dev/null +++ b/widget/ui/src/icons/Search.tsx @@ -0,0 +1,27 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgSearch(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + + ); +} +export default SvgSearch; diff --git a/widget/ui/src/icons/Settings.tsx b/widget/ui/src/icons/Settings.tsx new file mode 100644 index 0000000000..bca661cc4a --- /dev/null +++ b/widget/ui/src/icons/Settings.tsx @@ -0,0 +1,21 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgSettings(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + ); +} +export default SvgSettings; diff --git a/widget/ui/src/icons/Style.tsx b/widget/ui/src/icons/Style.tsx new file mode 100755 index 0000000000..e7ef48a964 --- /dev/null +++ b/widget/ui/src/icons/Style.tsx @@ -0,0 +1,43 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgStyle(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + + + + + + + + ); +} +export default SvgStyle; diff --git a/widget/ui/src/icons/Time.tsx b/widget/ui/src/icons/Time.tsx new file mode 100644 index 0000000000..07515d73ea --- /dev/null +++ b/widget/ui/src/icons/Time.tsx @@ -0,0 +1,33 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgTime(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + + + ); +} +export default SvgTime; diff --git a/widget/ui/src/icons/Transaction.tsx b/widget/ui/src/icons/Transaction.tsx new file mode 100644 index 0000000000..39a22e0d77 --- /dev/null +++ b/widget/ui/src/icons/Transaction.tsx @@ -0,0 +1,21 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgTransaction(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + ); +} +export default SvgTransaction; diff --git a/widget/ui/src/icons/UtxoCategory.tsx b/widget/ui/src/icons/UtxoCategory.tsx new file mode 100644 index 0000000000..5ba6b62259 --- /dev/null +++ b/widget/ui/src/icons/UtxoCategory.tsx @@ -0,0 +1,44 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgUtxoCategory(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + + + + + + + + + + + + + ); +} +export default SvgUtxoCategory; diff --git a/widget/ui/src/icons/Wallet.tsx b/widget/ui/src/icons/Wallet.tsx new file mode 100644 index 0000000000..64735e0bde --- /dev/null +++ b/widget/ui/src/icons/Wallet.tsx @@ -0,0 +1,33 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgWallet(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + + + + + + + + ); +} +export default SvgWallet; diff --git a/widget/ui/src/icons/Warning.tsx b/widget/ui/src/icons/Warning.tsx new file mode 100644 index 0000000000..6dd47d1664 --- /dev/null +++ b/widget/ui/src/icons/Warning.tsx @@ -0,0 +1,19 @@ +import type { SvgIconPropsWithChildren } from '../components/SvgIcon'; + +import React, { createElement } from 'react'; + +import { SvgIcon } from '../components/SvgIcon'; + +function SvgWarning(props: SvgIconPropsWithChildren) { + return createElement( + SvgIcon, + props, + + + + ); +} +export default SvgWarning; diff --git a/widget/ui/src/icons/index.ts b/widget/ui/src/icons/index.ts new file mode 100644 index 0000000000..85e04c646f --- /dev/null +++ b/widget/ui/src/icons/index.ts @@ -0,0 +1,49 @@ +export { default as AutoThemeIcon } from './AutoTheme'; +export { default as BorderRadiusIcon } from './BorderRadius'; +export { default as ChevronDownIcon } from './ChevronDown'; +export { default as ChevronLeftIcon } from './ChevronLeft'; +export { default as ChevronRightIcon } from './ChevronRight'; +export { default as ChevronUpIcon } from './ChevronUp'; +export { default as CloseIcon } from './Close'; +export { default as CompleteIcon } from './Complete'; +export { default as CopyIcon } from './Copy'; +export { default as CosmosCategoryIcon } from './CosmosCategory'; +export { default as CustomColorsIcon } from './CustomColors'; +export { default as DarkModeIcon } from './DarkMode'; +export { default as DeleteIcon } from './Delete'; +export { default as DesktopIcon } from './Desktop'; +export { default as DoneIcon } from './Done'; +export { default as EvmCategoryIcon } from './EvmCategory'; +export { default as ErrorIcon } from './Error'; +export { default as ExternalLinkIcon } from './ExternalLink'; +export { default as FontIcon } from './Font'; +export { default as GasIcon } from './Gas'; +export { default as InProgressIcon } from './InProgress'; +export { default as InfoErrorIcon } from './InfoError'; +export { default as InfoIcon } from './Info'; +export { default as LanguageIcon } from './Language'; +export { default as LightModeIcon } from './LightMode'; +export { default as LinkIcon } from './Link'; +export { default as LoadingIcon } from './Loading'; +export { default as LogoWithTextIcon } from './LogoWithText'; +export { default as NoRouteIcon } from './NoRoute'; +export { default as NextIcon } from './Next'; +export { default as NoNotificationIcon } from './NoNotification'; +export { default as NotificationNumberIcon } from './NotificationNumber'; +export { default as NotificationsIcon } from './Notifications'; +export { default as NumberIcon } from './Number'; +export { default as OtherCategoryIcon } from './OtherCategory'; +export { default as PinIcon } from './Pin'; +export { default as RefreshIcon } from './Refresh'; +export { default as ReverseIcon } from './Reverse'; +export { default as RouteIcon } from './Route'; +export { default as SearchIcon } from './Search'; +export { default as TimeIcon } from './Time'; +export { default as TransactionIcon } from './Transaction'; +export { default as UtxoCategoryIcon } from './UtxoCategory'; +export { default as WalletIcon } from './Wallet'; +export { default as WarningIcon } from './Warning'; +export { default as ChainsIcon } from './Chains'; +export { default as ColorsIcon } from './Colors'; +export { default as SettingsIcon } from './Settings'; +export { default as StyleIcon } from './Style'; diff --git a/widget/ui/src/index.ts b/widget/ui/src/index.ts index 75b8e56c9e..71eb64b428 100644 --- a/widget/ui/src/index.ts +++ b/widget/ui/src/index.ts @@ -2,3 +2,5 @@ export * from './components'; export * from './containers'; export * from './theme'; export * from './types'; +export * from './hooks'; +export * from './icons'; diff --git a/widget/ui/src/theme.ts b/widget/ui/src/theme.ts index f4f9642691..713ad2f7ae 100644 --- a/widget/ui/src/theme.ts +++ b/widget/ui/src/theme.ts @@ -1,87 +1,147 @@ // TSDX + stiches doesn't work with import statement and has a bug. -import { PropertyValue, CreateStitches } from '@stitches/react'; -import { DefaultThemeMap } from '@stitches/react/types/config'; +import type { PropertyValue } from '@stitches/react'; +import type { DefaultThemeMap } from '@stitches/react/types/config'; -// Solution: (https://github.com/stitchesjs/stitches/issues/833#issuecomment-950707025) -const { createStitches } = require('@stitches/react'); +import { createStitches } from '@stitches/react'; /* ----------------------- Values ----------------------- */ -const theme = { + +export const theme = { colors: { - primary: '#5FA425', - primary100: '#9FC87C', - primary200: '#8FBF66', - primary300: '#7FB651', - primary400: '#6FAD3B', - primary500: '#5FA425', - primary600: '#4C831E', - primary700: '#396216', - primary800: '#26420F', - primary900: '#132107', - neutrals200: '#FAFAFA', - neutrals300: '#EAEAEA', - neutrals400: '#999999', - neutrals500: '#888888', - neutrals600: '#666666', - neutrals700: '#444444', - neutrals800: '#333333', - neutrals900: '#111111', - background: '#fff', - foreground: '#000', - success: '#0070F3', - success100: '#D3E5FF', - success300: '#3291FF', - success500: '#0070F3', - success700: '#0761D1', - warning: '#F5A623', - warning100: '#FFEFCF', - warning300: '#F7B955', - warning500: '#F5A623', - warning700: '#AB570A', - error: '#FF0000', - error100: '#F7D4D6', - error300: '#FF3333', - error500: '#FF0000', - error700: '#E60000', - // Only use this color when you are going to use white for both dark and light theme. - white: '#fff', + primary: '#1C3CF1', + primary500: '#1C3CF1', + primary600: '#0B27C5', + + secondary: '#469BF5', + secondary100: '#E9F4FF', + secondary200: '#D6EAFF', + secondary300: '#C8E3FF', + secondary400: '#B5D9FF', + secondary500: '#469BF5', + secondary600: '#2284ED', + secondary700: '#242D5B', + secondary800: '#131C49', + secondary900: '#0E1744', + + neutral: '#E6E6E6', + neutral100: '#F9F9F9', + neutral200: '#F6F6F6', + neutral300: '#F2F2F2', + neutral400: '#EEEEEE', + neutral500: '#E6E6E6', + neutral600: '#A2A2A2', + neutral700: '#727272', + neutral800: '#1B1B1B', + neutral900: '#121212', + + error100: '#FDF3F3', + error300: '#FFD7D7', + error500: '#FF3B3B', + error600: '#432F2F', + error700: '#191212', + + warning100: '#FFF1D4', + warning300: '#FFD8B4', + warning500: '#F17606', + warning600: '#38271F', + warning700: '#1A1412', + + info: '#5BABFF', + info100: '#E9F3FF', + info300: '#C8E2FF', + info500: '#5BABFF', + info600: '#2E2E41', + info700: '#121521', + + success100: '#CEFAE6', + success300: '#BDECD7', + success500: '#06C270', + success600: '#1F2825', + success700: '#0F1412', + + background: '#FDFDFD', + foreground: '#010101', }, space: { + 0: '0rem', + 5: '0.313rem', + 10: '0.625rem', + 15: '0.938rem', + 20: '1.25rem', + 25: '1.563rem', + 30: '1.875rem', + 40: '2.5rem', + 46: '2.875rem', + 50: '3.125rem', + 60: '3.75rem', + 70: '4.375rem', + 80: '5rem', + 90: '5.625rem', + 100: '6.25rem', + + //These should be removed 2: '2px', 4: '4px', 6: '6px', 8: '8px', - 10: '10px', 12: '12px', 16: '16px', - 20: '20px', 24: '24px', 28: '28px', - 30: '30px', 32: '32px', }, + + radii: { + xs: '5px', + sm: '10px', + xm: '15px', + md: '25px', + xl: '35px', + lg: '40px', + primary: '20px', + secondary: `$md`, + }, + fontSizes: { - 10: '10px', - 12: '12px', - 14: '14px', - 16: '16px', - 18: '18px', - 20: '20px', - 24: '24px', - 32: '32px', - 36: '36px', - 40: '40px', - 48: '48px', + 10: '0.625rem', + 12: '0.75rem', + 14: '0.875rem', + 16: '1rem', + 18: '1.125rem', + 20: '1.25rem', + 22: '1.375rem', + 24: '1.5rem', + 28: '1.75rem', + 32: '2rem', + 36: '2.25rem', + 40: '2.5rem', + 48: '3rem', + }, + fonts: { + primary: 'Roboto', + widget: '$primary', }, - fonts: {}, fontWeights: { - 400: '400', - 500: '500', - 600: '600', - 700: '700', + regular: 400, + medium: 500, + semiBold: 600, + bold: 700, + }, + lineHeights: { + 12: '0.75rem', + 16: '1rem', + 20: '1.25rem', + 24: '1.5rem', + 26: '1.625rem', + 28: '1.75rem', + 30: '1.875rem', + 36: '2.25rem', + 40: '2.5rem', + 44: '2.75rem', + 52: '3.25rem', + 64: '4rem', }, - lineHeights: {}, letterSpacings: {}, sizes: { 4: '4px', @@ -89,20 +149,18 @@ const theme = { 8: '8px', 12: '12px', 16: '16px', + 18: '18px', 20: '20px', 24: '24px', 28: '28px', 32: '32px', 36: '36px', 40: '40px', + 45: '45px', 48: '48px', }, borderWidths: {}, borderStyles: {}, - radii: { - 5: '8px', - 10: '12px', - }, shadows: { s: '0px 3px 5px 3px #f0f2f5, 0px 6px 10px 3px #f0f2f5, 0px 1px 18px 3px #f0f2f5', }, @@ -120,43 +178,46 @@ const utils = { }), }; +export const darkColors = { + secondary: '#2284ED', + secondary400: '#469BF5', + secondary500: '#2284ED', + secondary600: '#2B3462', + + neutral: '#222222', + neutral900: '#E9E9E9', + neutral800: '#E6E6E6', + neutral700: '#B8B8B8', + neutral600: '#A2A2A2', + neutral500: '#222222', + neutral400: '#1B1B1B', + neutral300: '#121212', + neutral200: '#111111', + neutral100: '#101010', + + error500: '#FF5050', + + warning500: '#FF8A20', + + background: '#010101', + foreground: '#FDFDFD', +}; + /* ----------------------- End of Values ----------------------- */ -const typedCreateStiches = createStitches as CreateStitches; - -// Note: it seems there is a bug on tsdx and when it compiles the code, it goes through an error -// We can directly check it with `tsc` to see if the error is correct or not. -// We `ignore` it for now, to get safety check on VSCode. -// @ts-ignore -export const { styled, css, createTheme, keyframes, globalCss } = - typedCreateStiches< - '', - typeof media, - typeof theme, - DefaultThemeMap, - // TODO: Make `utils` typesafe as well. - {} - >({ +const typedCreateStiches = createStitches; + +export const { styled, css, createTheme, keyframes, globalCss, config } = + typedCreateStiches<'', typeof media, typeof theme, DefaultThemeMap>({ media, theme, utils, }); -export const lightTheme = createTheme({}); +export const lightTheme = createTheme('light-theme-ui', {}); -export const darkTheme = createTheme({ - colors: { - neutrals200: '#111111', - neutrals300: '#333333', - neutrals400: '#444444', - neutrals500: '#666666', - neutrals600: '#888888', - neutrals700: '#999999', - neutrals800: '#EAEAEA', - neutrals900: '#FAFAFA', - foreground: '#fff', - background: '#000', - }, +export const darkTheme = createTheme('dark-theme-ui', { + colors: darkColors, shadows: { s: '0px 3px 5px 3px #222, 0px 6px 10px 3px #222, 0px 1px 18px 3px #222', }, diff --git a/widget/ui/src/types/index.ts b/widget/ui/src/types/index.ts index 66329dcfa2..55e80d92e1 100644 --- a/widget/ui/src/types/index.ts +++ b/widget/ui/src/types/index.ts @@ -1,3 +1 @@ -export * from './wallet'; - -export { BestRouteWithFee } from './swaps'; +export type { ConnectedWallet } from './wallet'; diff --git a/widget/ui/src/types/meta.ts b/widget/ui/src/types/meta.ts index 5e0cb94e48..c4b6f3be10 100644 --- a/widget/ui/src/types/meta.ts +++ b/widget/ui/src/types/meta.ts @@ -1,3 +1,5 @@ +import type { Token } from 'rango-sdk'; + export type TokenMeta = { blockchain: string; symbol: string; @@ -20,3 +22,10 @@ export interface LiquiditySource { } export type LoadingStatus = 'loading' | 'success' | 'failed'; + +export interface TokenWithBalance extends Token { + balance?: { + amount: string; + usdValue: string; + }; +} diff --git a/widget/ui/src/types/swaps.ts b/widget/ui/src/types/swaps.ts index 900c6e6d3b..cb278f2053 100644 --- a/widget/ui/src/types/swaps.ts +++ b/widget/ui/src/types/swaps.ts @@ -1,44 +1,7 @@ -import { - BestRouteResponse, +import type { BlockchainValidationStatus, - SimulationResult, - SwapResult, WalletRequiredAssets, } from 'rango-sdk'; -export type SwapStatus = 'running' | 'failed' | 'success'; -export type MessageSeverity = 'error' | 'warning' | 'info' | 'success'; - -export type StepStatus = - | 'created' - | 'running' - | 'failed' - | 'success' - | 'waitingForApproval' - | 'approved'; - -export enum PendingSwapNetworkStatus { - WaitingForConnectingWallet = 'waitingForConnectingWallet', - WaitingForQueue = 'waitingForQueue', - WaitingForNetworkChange = 'waitingForNetworkChange', - NetworkChanged = 'networkChanged', -} - -export type WalletTypeAndAddress = { - walletType: string; - address: string; -}; -export type SwapSavedSettings = { - slippage: string; - disabledSwappersIds: string[]; - disabledSwappersGroups: string[]; -}; export type SimulationAssetAndAmount = WalletRequiredAssets; export type SimulationValidationStatus = BlockchainValidationStatus; -export type BestRouteType = BestRouteResponse; - -export type BestRouteWithFee = Omit & { - result: Omit & { - swaps: (SwapResult & { feeInUsd?: string })[]; - }; -}; diff --git a/widget/ui/src/types/wallet.ts b/widget/ui/src/types/wallet.ts index a10c036076..fc91620f2e 100644 --- a/widget/ui/src/types/wallet.ts +++ b/widget/ui/src/types/wallet.ts @@ -1,30 +1,26 @@ -import { InstallObjects, WalletType } from '@rango-dev/wallets-shared'; +import type { WalletType } from '@rango-dev/wallets-shared'; -export enum WalletState { - NOT_INSTALLED = 'not installed', - DISCONNECTED = 'disconnected', - CONNECTING = 'connecting', - CONNECTED = 'connected', +interface Wallet { + chain: string; + address: string; + walletType: WalletType; } -export type WalletInfo = { - state: - | WalletState.CONNECTED - | WalletState.DISCONNECTED - | WalletState.CONNECTING - | WalletState.NOT_INSTALLED; - installLink: InstallObjects | string; - name: string; - image: string; - type: WalletType; - showOnMobile: boolean; +export type TokenBalance = { + chain: string; + symbol: string; + ticker: string; + address: string | null; + rawAmount: string; + decimal: number | null; + amount: string; + logo: string | null; + usdPrice: number | null; }; -export interface SelectableWallet { - chain: string; - walletType: WalletType; - address: string; - image: string; - selected: boolean; - name: string; +export interface ConnectedWallet extends Wallet { + balances: TokenBalance[] | null; + loading: boolean; + error: boolean; + explorerUrl: string | null; } diff --git a/widget/ui/src/utils/index.ts b/widget/ui/src/utils/index.ts new file mode 100644 index 0000000000..158e2a21d7 --- /dev/null +++ b/widget/ui/src/utils/index.ts @@ -0,0 +1,23 @@ +/* eslint-disable @typescript-eslint/no-magic-numbers */ + +export function containsText(text: string, searchText: string): boolean { + return text.toLowerCase().indexOf(searchText.toLowerCase()) > -1; +} + +export function getConciseAddress( + address: string | null, + maxChars = 8, + ellipsisLength = 3 +): string | null { + if (!address) { + return null; + } + if (address.length < 2 * maxChars + ellipsisLength) { + return address; + } + const start = Math.ceil((address.length - maxChars) / 2); + const end = address.length - maxChars; + return `${address.substr(start, maxChars)}${'.'.repeat( + ellipsisLength + )}${address.substr(end)}`; +} diff --git a/widget/ui/svgo.config.js b/widget/ui/svgo.config.js new file mode 100644 index 0000000000..c823c3503d --- /dev/null +++ b/widget/ui/svgo.config.js @@ -0,0 +1,23 @@ +module.exports = { + multsipass: true, // boolean. false by default + datauri: 'enc', // 'base64' (default), 'enc' or 'unenc'. + js2svg: { + indent: 2, // string with spaces or number of spaces. 4 by default + pretty: true // boolean, false by default + }, + plugins: [ + // set of built-in plugins enabled by default + 'preset-default', + + // enable built-in plugins by name + 'prefixIds', + + // or by expanded notation which allows to configure plugin + { + name: 'sortAttrs', + params: { + xmlnsOrdser: 'alphabetical' + } + } + ] +}; diff --git a/widget/ui/svgs/configs/.svgrrc.default.cjs b/widget/ui/svgs/configs/.svgrrc.default.cjs new file mode 100755 index 0000000000..c09faf5ae8 --- /dev/null +++ b/widget/ui/svgs/configs/.svgrrc.default.cjs @@ -0,0 +1,29 @@ +module.exports = { + jsx: { + babelConfig: { + plugins: [ + [ + '@svgr/babel-plugin-remove-jsx-attribute', + { + elements: ['svg'], + attributes: ['id', 'width', 'height', 'class', 'title', 'fill'], + }, + ], + ], + }, + }, + icon: false, + plugins: ['@svgr/plugin-jsx', '@svgr/plugin-prettier'], + typescript: true, + outDir: 'src/icons', + expandProps: false, + prettier: true, + filenameCase: 'pascal', + jsxRuntime: 'automatic', + replaceAttrValues: { + '#373737': 'currentColor', + '#010101': 'currentColor', + }, + template: require('./template/react.cjs'), + indexTemplate: require('./template/index.cjs'), +}; diff --git a/widget/ui/svgs/configs/template/index.cjs b/widget/ui/svgs/configs/template/index.cjs new file mode 100644 index 0000000000..4e67544c78 --- /dev/null +++ b/widget/ui/svgs/configs/template/index.cjs @@ -0,0 +1,12 @@ +const path = require('path'); + +function defaultIndexTemplate(filePaths) { + const exportEntries = filePaths.map(({ path: filePath }) => { + const basename = path.basename(filePath, path.extname(filePath)); + const exportName = /^\d/.test(basename) ? `Svg${basename}` : basename; + return `export { default as ${exportName}Icon } from './${basename}'`; + }); + return exportEntries.join('\n'); +} + +module.exports = defaultIndexTemplate; diff --git a/widget/ui/svgs/configs/template/react.cjs b/widget/ui/svgs/configs/template/react.cjs new file mode 100644 index 0000000000..084b3dc1a1 --- /dev/null +++ b/widget/ui/svgs/configs/template/react.cjs @@ -0,0 +1,19 @@ +const template = (variables, options) => { + return options.tpl` + import React, {createElement} from 'react'; + import type {SvgIconPropsWithChildren} from '../components/SvgIcon'; + import {SvgIcon} from '../components/SvgIcon'; + + ${variables.imports}; + + ${variables.interfaces}; + + function ${variables.componentName}(props: SvgIconPropsWithChildren){ + return createElement(SvgIcon, props, ${variables.jsx}) + } + + ${variables.exports}; + `; +}; + +module.exports = template; diff --git a/widget/ui/svgs/resources/fill/Auto-Theme.svg b/widget/ui/svgs/resources/fill/Auto-Theme.svg new file mode 100644 index 0000000000..24872a593a --- /dev/null +++ b/widget/ui/svgs/resources/fill/Auto-Theme.svg @@ -0,0 +1,4 @@ + + + + diff --git a/widget/ui/svgs/resources/fill/Border-Radius.svg b/widget/ui/svgs/resources/fill/Border-Radius.svg new file mode 100644 index 0000000000..6a28ccdbf9 --- /dev/null +++ b/widget/ui/svgs/resources/fill/Border-Radius.svg @@ -0,0 +1,3 @@ + + + diff --git a/widget/ui/svgs/resources/fill/Chevron-Down.svg b/widget/ui/svgs/resources/fill/Chevron-Down.svg new file mode 100644 index 0000000000..972e0abebf --- /dev/null +++ b/widget/ui/svgs/resources/fill/Chevron-Down.svg @@ -0,0 +1,3 @@ + + + diff --git a/widget/ui/svgs/resources/fill/Chevron-Left.svg b/widget/ui/svgs/resources/fill/Chevron-Left.svg new file mode 100644 index 0000000000..679ee1b58a --- /dev/null +++ b/widget/ui/svgs/resources/fill/Chevron-Left.svg @@ -0,0 +1,3 @@ + + + diff --git a/widget/ui/svgs/resources/fill/Chevron-Right.svg b/widget/ui/svgs/resources/fill/Chevron-Right.svg new file mode 100644 index 0000000000..0104f355c9 --- /dev/null +++ b/widget/ui/svgs/resources/fill/Chevron-Right.svg @@ -0,0 +1,3 @@ + + + diff --git a/widget/ui/svgs/resources/fill/Chevron-Up.svg b/widget/ui/svgs/resources/fill/Chevron-Up.svg new file mode 100644 index 0000000000..b6b8d3e78a --- /dev/null +++ b/widget/ui/svgs/resources/fill/Chevron-Up.svg @@ -0,0 +1,3 @@ + + + diff --git a/widget/ui/svgs/resources/fill/Close.svg b/widget/ui/svgs/resources/fill/Close.svg new file mode 100644 index 0000000000..954243b0f7 --- /dev/null +++ b/widget/ui/svgs/resources/fill/Close.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/widget/ui/svgs/resources/fill/Complete.svg b/widget/ui/svgs/resources/fill/Complete.svg new file mode 100644 index 0000000000..fbed0b6539 --- /dev/null +++ b/widget/ui/svgs/resources/fill/Complete.svg @@ -0,0 +1,3 @@ + + + diff --git a/widget/ui/svgs/resources/fill/Copy.svg b/widget/ui/svgs/resources/fill/Copy.svg new file mode 100644 index 0000000000..24591f50a5 --- /dev/null +++ b/widget/ui/svgs/resources/fill/Copy.svg @@ -0,0 +1,3 @@ + + + diff --git a/widget/ui/svgs/resources/fill/CosmosCategory.svg b/widget/ui/svgs/resources/fill/CosmosCategory.svg new file mode 100644 index 0000000000..082ae1fd74 --- /dev/null +++ b/widget/ui/svgs/resources/fill/CosmosCategory.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widget/ui/svgs/resources/fill/Custom-Colors.svg b/widget/ui/svgs/resources/fill/Custom-Colors.svg new file mode 100644 index 0000000000..b56adbbfb7 --- /dev/null +++ b/widget/ui/svgs/resources/fill/Custom-Colors.svg @@ -0,0 +1,3 @@ + + + diff --git a/widget/ui/svgs/resources/fill/Dark-Mode.svg b/widget/ui/svgs/resources/fill/Dark-Mode.svg new file mode 100644 index 0000000000..81f6c896f1 --- /dev/null +++ b/widget/ui/svgs/resources/fill/Dark-Mode.svg @@ -0,0 +1,3 @@ + + + diff --git a/widget/ui/svgs/resources/fill/Delete.svg b/widget/ui/svgs/resources/fill/Delete.svg new file mode 100644 index 0000000000..384a4ec727 --- /dev/null +++ b/widget/ui/svgs/resources/fill/Delete.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/widget/ui/svgs/resources/fill/Desktop.svg b/widget/ui/svgs/resources/fill/Desktop.svg new file mode 100644 index 0000000000..061bbc2064 --- /dev/null +++ b/widget/ui/svgs/resources/fill/Desktop.svg @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widget/ui/svgs/resources/fill/Done.svg b/widget/ui/svgs/resources/fill/Done.svg new file mode 100644 index 0000000000..cfb4c2e155 --- /dev/null +++ b/widget/ui/svgs/resources/fill/Done.svg @@ -0,0 +1,3 @@ + + + diff --git a/widget/ui/svgs/resources/fill/EVMCategory.svg b/widget/ui/svgs/resources/fill/EVMCategory.svg new file mode 100644 index 0000000000..2727a37e0d --- /dev/null +++ b/widget/ui/svgs/resources/fill/EVMCategory.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widget/ui/svgs/resources/fill/Error.svg b/widget/ui/svgs/resources/fill/Error.svg new file mode 100644 index 0000000000..d2df43391d --- /dev/null +++ b/widget/ui/svgs/resources/fill/Error.svg @@ -0,0 +1,3 @@ + + + diff --git a/widget/ui/svgs/resources/fill/External link.svg b/widget/ui/svgs/resources/fill/External link.svg new file mode 100644 index 0000000000..9cef99dd33 --- /dev/null +++ b/widget/ui/svgs/resources/fill/External link.svg @@ -0,0 +1,3 @@ + + + diff --git a/widget/ui/svgs/resources/fill/Font.svg b/widget/ui/svgs/resources/fill/Font.svg new file mode 100644 index 0000000000..cb0b72ba55 --- /dev/null +++ b/widget/ui/svgs/resources/fill/Font.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/widget/ui/svgs/resources/fill/Gas.svg b/widget/ui/svgs/resources/fill/Gas.svg new file mode 100644 index 0000000000..1aef32abd2 --- /dev/null +++ b/widget/ui/svgs/resources/fill/Gas.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/widget/ui/svgs/resources/fill/InProgress.svg b/widget/ui/svgs/resources/fill/InProgress.svg new file mode 100644 index 0000000000..718ae86e82 --- /dev/null +++ b/widget/ui/svgs/resources/fill/InProgress.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/widget/ui/svgs/resources/fill/Info-Error.svg b/widget/ui/svgs/resources/fill/Info-Error.svg new file mode 100644 index 0000000000..a3eef53ece --- /dev/null +++ b/widget/ui/svgs/resources/fill/Info-Error.svg @@ -0,0 +1,3 @@ + + + diff --git a/widget/ui/svgs/resources/fill/Info.svg b/widget/ui/svgs/resources/fill/Info.svg new file mode 100644 index 0000000000..26ac26cdd1 --- /dev/null +++ b/widget/ui/svgs/resources/fill/Info.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/widget/ui/svgs/resources/fill/Language.svg b/widget/ui/svgs/resources/fill/Language.svg new file mode 100644 index 0000000000..b3b4f9e9e6 --- /dev/null +++ b/widget/ui/svgs/resources/fill/Language.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/widget/ui/svgs/resources/fill/Light-Mode.svg b/widget/ui/svgs/resources/fill/Light-Mode.svg new file mode 100644 index 0000000000..65e182c95d --- /dev/null +++ b/widget/ui/svgs/resources/fill/Light-Mode.svg @@ -0,0 +1,3 @@ + + + diff --git a/widget/ui/svgs/resources/fill/Link.svg b/widget/ui/svgs/resources/fill/Link.svg new file mode 100644 index 0000000000..9a064be592 --- /dev/null +++ b/widget/ui/svgs/resources/fill/Link.svg @@ -0,0 +1,3 @@ + + + diff --git a/widget/ui/svgs/resources/fill/Loading.svg b/widget/ui/svgs/resources/fill/Loading.svg new file mode 100644 index 0000000000..6a14fa68cd --- /dev/null +++ b/widget/ui/svgs/resources/fill/Loading.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/widget/ui/svgs/resources/fill/LogoWithText.svg b/widget/ui/svgs/resources/fill/LogoWithText.svg new file mode 100644 index 0000000000..e8eae06e6e --- /dev/null +++ b/widget/ui/svgs/resources/fill/LogoWithText.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/widget/ui/svgs/resources/fill/NO-Route.svg b/widget/ui/svgs/resources/fill/NO-Route.svg new file mode 100644 index 0000000000..b2d3367948 --- /dev/null +++ b/widget/ui/svgs/resources/fill/NO-Route.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/widget/ui/svgs/resources/fill/Next.svg b/widget/ui/svgs/resources/fill/Next.svg new file mode 100644 index 0000000000..5a874922c1 --- /dev/null +++ b/widget/ui/svgs/resources/fill/Next.svg @@ -0,0 +1,3 @@ + + + diff --git a/widget/ui/svgs/resources/fill/NoNotification.svg b/widget/ui/svgs/resources/fill/NoNotification.svg new file mode 100644 index 0000000000..97d5c520ae --- /dev/null +++ b/widget/ui/svgs/resources/fill/NoNotification.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/widget/ui/svgs/resources/fill/NotificationNumber.svg b/widget/ui/svgs/resources/fill/NotificationNumber.svg new file mode 100644 index 0000000000..891a9acec1 --- /dev/null +++ b/widget/ui/svgs/resources/fill/NotificationNumber.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/widget/ui/svgs/resources/fill/Notifications.svg b/widget/ui/svgs/resources/fill/Notifications.svg new file mode 100644 index 0000000000..6b48517d35 --- /dev/null +++ b/widget/ui/svgs/resources/fill/Notifications.svg @@ -0,0 +1,3 @@ + + + diff --git a/widget/ui/svgs/resources/fill/Number.svg b/widget/ui/svgs/resources/fill/Number.svg new file mode 100644 index 0000000000..91967d5d86 --- /dev/null +++ b/widget/ui/svgs/resources/fill/Number.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/widget/ui/svgs/resources/fill/OtherCategory.svg b/widget/ui/svgs/resources/fill/OtherCategory.svg new file mode 100644 index 0000000000..10600f4805 --- /dev/null +++ b/widget/ui/svgs/resources/fill/OtherCategory.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/widget/ui/svgs/resources/fill/Pin.svg b/widget/ui/svgs/resources/fill/Pin.svg new file mode 100644 index 0000000000..617dcc36c8 --- /dev/null +++ b/widget/ui/svgs/resources/fill/Pin.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/widget/ui/svgs/resources/fill/Refresh.svg b/widget/ui/svgs/resources/fill/Refresh.svg new file mode 100644 index 0000000000..49e59d82ad --- /dev/null +++ b/widget/ui/svgs/resources/fill/Refresh.svg @@ -0,0 +1,3 @@ + + + diff --git a/widget/ui/svgs/resources/fill/Reverse.svg b/widget/ui/svgs/resources/fill/Reverse.svg new file mode 100644 index 0000000000..06ea861627 --- /dev/null +++ b/widget/ui/svgs/resources/fill/Reverse.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/widget/ui/svgs/resources/fill/Route.svg b/widget/ui/svgs/resources/fill/Route.svg new file mode 100644 index 0000000000..181ce33f6a --- /dev/null +++ b/widget/ui/svgs/resources/fill/Route.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/widget/ui/svgs/resources/fill/Search.svg b/widget/ui/svgs/resources/fill/Search.svg new file mode 100644 index 0000000000..86abae5411 --- /dev/null +++ b/widget/ui/svgs/resources/fill/Search.svg @@ -0,0 +1,4 @@ + + + + diff --git a/widget/ui/svgs/resources/fill/Time.svg b/widget/ui/svgs/resources/fill/Time.svg new file mode 100644 index 0000000000..cc3765a124 --- /dev/null +++ b/widget/ui/svgs/resources/fill/Time.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/widget/ui/svgs/resources/fill/Transaction.svg b/widget/ui/svgs/resources/fill/Transaction.svg new file mode 100644 index 0000000000..116a4bc17b --- /dev/null +++ b/widget/ui/svgs/resources/fill/Transaction.svg @@ -0,0 +1,3 @@ + + + diff --git a/widget/ui/svgs/resources/fill/UTXOCategory.svg b/widget/ui/svgs/resources/fill/UTXOCategory.svg new file mode 100644 index 0000000000..24b6038fd6 --- /dev/null +++ b/widget/ui/svgs/resources/fill/UTXOCategory.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/widget/ui/svgs/resources/fill/Wallet.svg b/widget/ui/svgs/resources/fill/Wallet.svg new file mode 100644 index 0000000000..9f1bb3c326 --- /dev/null +++ b/widget/ui/svgs/resources/fill/Wallet.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/widget/ui/svgs/resources/fill/Warning.svg b/widget/ui/svgs/resources/fill/Warning.svg new file mode 100644 index 0000000000..761295ddeb --- /dev/null +++ b/widget/ui/svgs/resources/fill/Warning.svg @@ -0,0 +1,3 @@ + + + diff --git a/widget/ui/svgs/resources/fill/chains.svg b/widget/ui/svgs/resources/fill/chains.svg new file mode 100644 index 0000000000..7b9ca5f108 --- /dev/null +++ b/widget/ui/svgs/resources/fill/chains.svg @@ -0,0 +1,3 @@ + + + diff --git a/widget/ui/svgs/resources/fill/colors.svg b/widget/ui/svgs/resources/fill/colors.svg new file mode 100644 index 0000000000..19139d9b7b --- /dev/null +++ b/widget/ui/svgs/resources/fill/colors.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/widget/ui/svgs/resources/fill/settings.svg b/widget/ui/svgs/resources/fill/settings.svg new file mode 100644 index 0000000000..adab922ed4 --- /dev/null +++ b/widget/ui/svgs/resources/fill/settings.svg @@ -0,0 +1,3 @@ + + + diff --git a/widget/ui/svgs/resources/fill/style.svg b/widget/ui/svgs/resources/fill/style.svg new file mode 100644 index 0000000000..fe645c68aa --- /dev/null +++ b/widget/ui/svgs/resources/fill/style.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/widget/ui/tsconfig.json b/widget/ui/tsconfig.json index 2c85b2d991..cdb579dfcf 100644 --- a/widget/ui/tsconfig.json +++ b/widget/ui/tsconfig.json @@ -1,35 +1,15 @@ { // see https://www.typescriptlang.org/tsconfig to better understand tsconfigs + "extends": "../../tsconfig.lib.json", "include": ["src", "types"], "compilerOptions": { - "module": "esnext", + "outDir": "dist", "lib": ["dom", "esnext"], - "importHelpers": true, - // output .d.ts declaration files for consumers - "declaration": true, - // output .js.map sourcemap files for consumers - "sourceMap": true, // match output dir to input dir. e.g. dist/index instead of dist/src/index - "rootDir": "./src", - // stricter type-checking for stronger correctness. Recommended by TS - "strict": true, - // linter checks for common issues - "noImplicitReturns": true, - "noFallthroughCasesInSwitch": true, - // noUnused* overlap with @typescript-eslint/no-unused-vars, can disable if duplicative - "noUnusedLocals": true, - "noUnusedParameters": true, - // use Node's module resolution algorithm, instead of the legacy TS one - "moduleResolution": "node", + "baseUrl": ".", + "rootDirs": ["./src", "../../../translations"], + // transpile JSX to React.createElement - "jsx": "react", - // interop between ESM and CJS modules. Recommended by TS - "esModuleInterop": true, - // significant perf increase by skipping checking .d.ts files, particularly those in node_modules. Recommended by TS - "skipLibCheck": true, - // error out if import and file system have a casing mismatch. Recommended by TS - "forceConsistentCasingInFileNames": true, - // `tsdx build` ignores this option, but it is commonly used when type-checking separately with `tsc` - "noEmit": true, + "jsx": "react" } } diff --git a/yarn.lock b/yarn.lock index 1377239dea..161314578e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,126 +2,123 @@ # yarn lockfile v1 -"@ampproject/remapping@^2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" - integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== +"@aashutoshrathi/word-wrap@^1.2.3": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" + integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== + +"@adraffy/ens-normalize@1.10.0": + version "1.10.0" + resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.0.tgz#d2a39395c587e092d77cbbc80acf956a54f38bf7" + integrity sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q== + +"@ampproject/remapping@^2.2.0", "@ampproject/remapping@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" + integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== dependencies: - "@jridgewell/gen-mapping" "^0.1.0" + "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.21.4", "@babel/code-frame@^7.5.5", "@babel/code-frame@^7.8.3": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.21.4.tgz#d0fa9e4413aca81f2b23b9442797bda1826edb39" - integrity sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g== - dependencies: - "@babel/highlight" "^7.18.6" - -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.5", "@babel/compat-data@^7.21.4": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.21.4.tgz#457ffe647c480dff59c2be092fc3acf71195c87f" - integrity sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g== - -"@babel/core@7.12.9": - version "7.12.9" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.9.tgz#fd450c4ec10cdbb980e2928b7aa7a28484593fc8" - integrity sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.12.5" - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helpers" "^7.12.5" - "@babel/parser" "^7.12.7" - "@babel/template" "^7.12.7" - "@babel/traverse" "^7.12.9" - "@babel/types" "^7.12.7" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.19" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" +"@aw-web-design/x-default-browser@1.4.126": + version "1.4.126" + resolved "https://registry.yarnpkg.com/@aw-web-design/x-default-browser/-/x-default-browser-1.4.126.tgz#43e4bd8f0314ed907a8718d7e862a203af79bc16" + integrity sha512-Xk1sIhyNC/esHGGVjL/niHLowM0csl/kFO5uawBy4IrWwy0o1G8LGt3jP6nmWGz+USxeeqbihAmp/oVZju6wug== + dependencies: + default-browser-id "3.0.0" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.22.13", "@babel/code-frame@^7.23.4", "@babel/code-frame@^7.5.5": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.4.tgz#03ae5af150be94392cb5c7ccd97db5a19a5da6aa" + integrity sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA== + dependencies: + "@babel/highlight" "^7.23.4" + chalk "^2.4.2" + +"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9", "@babel/compat-data@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.3.tgz#3febd552541e62b5e883a25eb3effd7c7379db11" + integrity sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ== -"@babel/core@^7.1.0", "@babel/core@^7.12.10", "@babel/core@^7.12.3", "@babel/core@^7.18.6", "@babel/core@^7.20.2", "@babel/core@^7.20.7", "@babel/core@^7.4.4", "@babel/core@^7.7.5": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.4.tgz#c6dc73242507b8e2a27fd13a9c1814f9fa34a659" - integrity sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA== +"@babel/core@^7.1.0", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.13.16", "@babel/core@^7.18.6", "@babel/core@^7.20.2", "@babel/core@^7.20.7", "@babel/core@^7.21.0", "@babel/core@^7.21.3", "@babel/core@^7.22.0", "@babel/core@^7.22.5", "@babel/core@^7.22.9", "@babel/core@^7.4.4", "@babel/core@^7.7.5": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.3.tgz#5ec09c8803b91f51cc887dedc2654a35852849c9" + integrity sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew== dependencies: "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.21.4" - "@babel/generator" "^7.21.4" - "@babel/helper-compilation-targets" "^7.21.4" - "@babel/helper-module-transforms" "^7.21.2" - "@babel/helpers" "^7.21.0" - "@babel/parser" "^7.21.4" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.4" - "@babel/types" "^7.21.4" - convert-source-map "^1.7.0" + "@babel/code-frame" "^7.22.13" + "@babel/generator" "^7.23.3" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helpers" "^7.23.2" + "@babel/parser" "^7.23.3" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.3" + "@babel/types" "^7.23.3" + convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" - json5 "^2.2.2" - semver "^6.3.0" + json5 "^2.2.3" + semver "^6.3.1" -"@babel/generator@^7.12.11", "@babel/generator@^7.12.5", "@babel/generator@^7.18.6", "@babel/generator@^7.21.4": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.4.tgz#64a94b7448989f421f919d5239ef553b37bb26bc" - integrity sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA== +"@babel/generator@^7.12.11", "@babel/generator@^7.18.6", "@babel/generator@^7.21.1", "@babel/generator@^7.22.9", "@babel/generator@^7.23.3", "@babel/generator@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.4.tgz#4a41377d8566ec18f807f42962a7f3551de83d1c" + integrity sha512-esuS49Cga3HcThFNebGhlgsrVLkvhqvYDTzgjfFFlHJcIfLe5jFmRRfCQ1KuBfc4Jrtn3ndLgKWAKjBE+IraYQ== dependencies: - "@babel/types" "^7.21.4" + "@babel/types" "^7.23.4" "@jridgewell/gen-mapping" "^0.3.2" "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" -"@babel/helper-annotate-as-pure@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" - integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== +"@babel/helper-annotate-as-pure@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" + integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== dependencies: - "@babel/types" "^7.18.6" + "@babel/types" "^7.22.5" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz#acd4edfd7a566d1d51ea975dff38fd52906981bb" - integrity sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw== +"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz#5426b109cf3ad47b91120f8328d8ab1be8b0b956" + integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw== dependencies: - "@babel/helper-explode-assignable-expression" "^7.18.6" - "@babel/types" "^7.18.9" + "@babel/types" "^7.22.15" -"@babel/helper-compilation-targets@^7.10.4", "@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.21.4": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz#770cd1ce0889097ceacb99418ee6934ef0572656" - integrity sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg== +"@babel/helper-compilation-targets@^7.10.4", "@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.6": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz#0698fc44551a26cf29f18d4662d5bf545a6cfc52" + integrity sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw== dependencies: - "@babel/compat-data" "^7.21.4" - "@babel/helper-validator-option" "^7.21.0" - browserslist "^4.21.3" + "@babel/compat-data" "^7.22.9" + "@babel/helper-validator-option" "^7.22.15" + browserslist "^4.21.9" lru-cache "^5.1.1" - semver "^6.3.0" - -"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.21.0": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.4.tgz#3a017163dc3c2ba7deb9a7950849a9586ea24c18" - integrity sha512-46QrX2CQlaFRF4TkwfTt6nJD7IHq8539cCL7SDpqWSDeJKY1xylKKY5F/33mJhLZ3mFvKv2gGrVS6NkyF6qs+Q== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.21.0" - "@babel/helper-member-expression-to-functions" "^7.21.0" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-replace-supers" "^7.20.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" - "@babel/helper-split-export-declaration" "^7.18.6" - -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.20.5": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.4.tgz#40411a8ab134258ad2cf3a3d987ec6aa0723cee5" - integrity sha512-M00OuhU+0GyZ5iBBN9czjugzWrEq2vDpf/zCYHxxf93ul/Q5rv+a5h+/+0WnI1AebHNVtl5bFV0qsJoH23DbfA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" + semver "^6.3.1" + +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz#97a61b385e57fe458496fad19f8e63b63c867de4" + integrity sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-member-expression-to-functions" "^7.22.15" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.9" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + semver "^6.3.1" + +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1" + integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" regexpu-core "^5.3.1" + semver "^6.3.1" "@babel/helper-define-polyfill-provider@^0.0.3": version "0.0.3" @@ -137,222 +134,185 @@ resolve "^1.14.2" semver "^6.1.2" -"@babel/helper-define-polyfill-provider@^0.1.5": - version "0.1.5" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.1.5.tgz#3c2f91b7971b9fc11fe779c945c014065dea340e" - integrity sha512-nXuzCSwlJ/WKr8qxzW816gwyT6VZgiJG17zR40fou70yfAcqjoNyTLl/DQ+FExw5Hx5KNqshmN8Ldl/r2N7cTg== - dependencies: - "@babel/helper-compilation-targets" "^7.13.0" - "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/traverse" "^7.13.0" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - semver "^6.1.2" - -"@babel/helper-define-polyfill-provider@^0.3.3": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz#8612e55be5d51f0cd1f36b4a5a83924e89884b7a" - integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww== +"@babel/helper-define-polyfill-provider@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz#a71c10f7146d809f4a256c373f462d9bba8cf6ba" + integrity sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug== dependencies: - "@babel/helper-compilation-targets" "^7.17.7" - "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-compilation-targets" "^7.22.6" + "@babel/helper-plugin-utils" "^7.22.5" debug "^4.1.1" lodash.debounce "^4.0.8" resolve "^1.14.2" - semver "^6.1.2" -"@babel/helper-environment-visitor@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" - integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== +"@babel/helper-environment-visitor@^7.22.20", "@babel/helper-environment-visitor@^7.22.5": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== -"@babel/helper-explode-assignable-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz#41f8228ef0a6f1a036b8dfdfec7ce94f9a6bc096" - integrity sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg== +"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" + integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== dependencies: - "@babel/types" "^7.18.6" + "@babel/template" "^7.22.15" + "@babel/types" "^7.23.0" -"@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0", "@babel/helper-function-name@^7.21.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz#d552829b10ea9f120969304023cd0645fa00b1b4" - integrity sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg== +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== dependencies: - "@babel/template" "^7.20.7" - "@babel/types" "^7.21.0" + "@babel/types" "^7.22.5" -"@babel/helper-hoist-variables@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" - integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== +"@babel/helper-member-expression-to-functions@^7.22.15": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366" + integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== dependencies: - "@babel/types" "^7.18.6" + "@babel/types" "^7.23.0" + +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" + integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== + dependencies: + "@babel/types" "^7.22.15" -"@babel/helper-member-expression-to-functions@^7.20.7", "@babel/helper-member-expression-to-functions@^7.21.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz#319c6a940431a133897148515877d2f3269c3ba5" - integrity sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q== - dependencies: - "@babel/types" "^7.21.0" - -"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.18.6": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz#ac88b2f76093637489e718a90cec6cf8a9b029af" - integrity sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg== - dependencies: - "@babel/types" "^7.21.4" - -"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.20.11", "@babel/helper-module-transforms@^7.21.2": - version "7.21.2" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz#160caafa4978ac8c00ac66636cb0fa37b024e2d2" - integrity sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.20.2" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.19.1" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.2" - "@babel/types" "^7.21.2" - -"@babel/helper-optimise-call-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe" - integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA== +"@babel/helper-module-transforms@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" + integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-validator-identifier" "^7.22.20" + +"@babel/helper-optimise-call-expression@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" + integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" + integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== + +"@babel/helper-remap-async-to-generator@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0" + integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-wrap-function" "^7.22.20" + +"@babel/helper-replace-supers@^7.22.20", "@babel/helper-replace-supers@^7.22.9": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" + integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-member-expression-to-functions" "^7.22.15" + "@babel/helper-optimise-call-expression" "^7.22.5" + +"@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-skip-transparent-expression-wrappers@^7.20.0", "@babel/helper-skip-transparent-expression-wrappers@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" + integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-split-export-declaration@^7.22.6": + version "7.22.6" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" + integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-string-parser@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" + integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== + +"@babel/helper-validator-identifier@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== + +"@babel/helper-validator-option@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz#694c30dfa1d09a6534cdfcafbe56789d36aba040" + integrity sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA== + +"@babel/helper-wrap-function@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz#15352b0b9bfb10fc9c76f79f6342c00e3411a569" + integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw== + dependencies: + "@babel/helper-function-name" "^7.22.5" + "@babel/template" "^7.22.15" + "@babel/types" "^7.22.19" + +"@babel/helpers@^7.23.2": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.4.tgz#7d2cfb969aa43222032193accd7329851facf3c1" + integrity sha512-HfcMizYz10cr3h29VqyfGL6ZWIjTwWfvYBMsBVGwpcbhNGe3wQ1ZXZRPzZoAHhd9OqHadHqjQ89iVKINXnbzuw== dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-plugin-utils@7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" - integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" - integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== - -"@babel/helper-remap-async-to-generator@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519" - integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-wrap-function" "^7.18.9" - "@babel/types" "^7.18.9" - -"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz#243ecd2724d2071532b2c8ad2f0f9f083bcae331" - integrity sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-member-expression-to-functions" "^7.20.7" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.20.7" - "@babel/types" "^7.20.7" - -"@babel/helper-simple-access@^7.20.2": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" - integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== - dependencies: - "@babel/types" "^7.20.2" - -"@babel/helper-skip-transparent-expression-wrappers@^7.20.0": - version "7.20.0" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz#fbe4c52f60518cab8140d77101f0e63a8a230684" - integrity sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg== - dependencies: - "@babel/types" "^7.20.0" - -"@babel/helper-split-export-declaration@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" - integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-string-parser@^7.19.4": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" - integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== - -"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" - integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== - -"@babel/helper-validator-option@^7.18.6", "@babel/helper-validator-option@^7.21.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz#8224c7e13ace4bafdc4004da2cf064ef42673180" - integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ== - -"@babel/helper-wrap-function@^7.18.9": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz#75e2d84d499a0ab3b31c33bcfe59d6b8a45f62e3" - integrity sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q== - dependencies: - "@babel/helper-function-name" "^7.19.0" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.20.5" - "@babel/types" "^7.20.5" - -"@babel/helpers@^7.12.5", "@babel/helpers@^7.21.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.21.0.tgz#9dd184fb5599862037917cdc9eecb84577dc4e7e" - integrity sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA== - dependencies: - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.0" - "@babel/types" "^7.21.0" - -"@babel/highlight@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" - integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== - dependencies: - "@babel/helper-validator-identifier" "^7.18.6" - chalk "^2.0.0" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.4" + "@babel/types" "^7.23.4" + +"@babel/highlight@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" + integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== + dependencies: + "@babel/helper-validator-identifier" "^7.22.20" + chalk "^2.4.2" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.11.5", "@babel/parser@^7.12.11", "@babel/parser@^7.12.7", "@babel/parser@^7.14.7", "@babel/parser@^7.18.6", "@babel/parser@^7.20.7", "@babel/parser@^7.21.4", "@babel/parser@^7.7.0": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.4.tgz#94003fdfc520bbe2875d4ae557b43ddb6d880f17" - integrity sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw== +"@babel/parser@^7.1.0", "@babel/parser@^7.11.5", "@babel/parser@^7.13.16", "@babel/parser@^7.14.7", "@babel/parser@^7.18.6", "@babel/parser@^7.20.7", "@babel/parser@^7.21.2", "@babel/parser@^7.22.15", "@babel/parser@^7.22.7", "@babel/parser@^7.23.3", "@babel/parser@^7.23.4", "@babel/parser@^7.7.0": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.4.tgz#409fbe690c333bb70187e2de4021e1e47a026661" + integrity sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ== -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" - integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ== +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz#5cd1c87ba9380d0afb78469292c954fee5d2411a" + integrity sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz#d9c85589258539a22a901033853101a6198d4ef1" - integrity sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ== +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz#f6652bb16b94f8f9c20c50941e16e9756898dc5d" + integrity sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ== dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" - "@babel/plugin-proposal-optional-chaining" "^7.20.7" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-transform-optional-chaining" "^7.23.3" -"@babel/plugin-proposal-async-generator-functions@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz#bfb7276d2d573cb67ba379984a2334e262ba5326" - integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA== +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.3.tgz#20c60d4639d18f7da8602548512e9d3a4c8d7098" + integrity sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w== dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-remap-async-to-generator" "^7.18.9" - "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-proposal-class-properties@^7.12.1", "@babel/plugin-proposal-class-properties@^7.18.6", "@babel/plugin-proposal-class-properties@^7.4.4": +"@babel/plugin-proposal-class-properties@^7.13.0", "@babel/plugin-proposal-class-properties@^7.4.4": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== @@ -360,67 +320,7 @@ "@babel/helper-create-class-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-proposal-class-static-block@^7.21.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz#77bdd66fb7b605f3a61302d224bdfacf5547977d" - integrity sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.21.0" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-proposal-decorators@^7.12.12": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.21.0.tgz#70e0c89fdcd7465c97593edb8f628ba6e4199d63" - integrity sha512-MfgX49uRrFUTL/HvWtmx3zmpyzMMr4MTj3d527MLlr/4RTT9G/ytFFP7qet2uM2Ve03b+BkpWUpK+lRXnQ+v9w== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.21.0" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-replace-supers" "^7.20.7" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/plugin-syntax-decorators" "^7.21.0" - -"@babel/plugin-proposal-dynamic-import@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz#72bcf8d408799f547d759298c3c27c7e7faa4d94" - integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-proposal-export-default-from@^7.12.1": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.18.10.tgz#091f4794dbce4027c03cf4ebc64d3fb96b75c206" - integrity sha512-5H2N3R2aQFxkV4PIBUR/i7PUSwgTZjouJKzI8eKswfIjT0PhvzkPn0t0wIS5zn6maQuvtT0t1oHtMUz61LOuow== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/plugin-syntax-export-default-from" "^7.18.6" - -"@babel/plugin-proposal-export-namespace-from@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz#5f7313ab348cdb19d590145f9247540e94761203" - integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-json-strings@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz#7e8788c1811c393aff762817e7dbf1ebd0c05f0b" - integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-proposal-logical-assignment-operators@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz#dfbcaa8f7b4d37b51e8bfb46d94a5aea2bb89d83" - integrity sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1", "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": +"@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== @@ -428,43 +328,7 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-proposal-numeric-separator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" - integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-object-rest-spread@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz#def9bd03cea0f9b72283dac0ec22d289c7691069" - integrity sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-transform-parameters" "^7.12.1" - -"@babel/plugin-proposal-object-rest-spread@^7.12.1", "@babel/plugin-proposal-object-rest-spread@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a" - integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== - dependencies: - "@babel/compat-data" "^7.20.5" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.20.7" - -"@babel/plugin-proposal-optional-catch-binding@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" - integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-proposal-optional-chaining@^7.12.7", "@babel/plugin-proposal-optional-chaining@^7.20.7", "@babel/plugin-proposal-optional-chaining@^7.21.0": +"@babel/plugin-proposal-optional-chaining@^7.13.12": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea" integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA== @@ -473,31 +337,10 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-proposal-private-methods@^7.12.1", "@babel/plugin-proposal-private-methods@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" - integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-private-property-in-object@^7.12.1", "@babel/plugin-proposal-private-property-in-object@^7.21.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz#19496bd9883dd83c23c7d7fc45dcd9ad02dfa1dc" - integrity sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-create-class-features-plugin" "^7.21.0" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - -"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e" - integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" +"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": + version "7.21.0-placeholder-for-preset-env.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" + integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" @@ -527,13 +370,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-decorators@^7.21.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.21.0.tgz#d2b3f31c3e86fa86e16bb540b7660c55bd7d0e78" - integrity sha512-tIoPpGBR8UuM4++ccWN3gifhVvQu7ZizuR1fklhRJrd5ewgbkUS+0KVFeWWxELtn18NTLoW32XV7zyOgIAiz+w== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-dynamic-import@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" @@ -541,13 +377,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-export-default-from@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.18.6.tgz#8df076711a4818c4ce4f23e61d622b0ba2ff84bc" - integrity sha512-Kr//z3ujSVNx6E9z9ih5xXXMqK07VVTuqPmqGe6Mss/zW5XPeLZeSDZoP9ab/hT4wPKqAgjl2PnhPrcpk8Seew== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-export-namespace-from@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" @@ -555,21 +384,28 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-flow@^7.18.6": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.21.4.tgz#3e37fca4f06d93567c1cd9b75156422e90a67107" - integrity sha512-l9xd3N+XG4fZRxEP3vXdK6RW7vN1Uf5dxzRC/09wV86wqZ/YYQooBIGNsiRdfNR3/q2/5pPzV4B54J/9ctX5jw== +"@babel/plugin-syntax-flow@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.23.3.tgz#084564e0f3cc21ea6c70c44cff984a1c0509729a" + integrity sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA== dependencies: - "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-syntax-import-assertions@^7.20.0": - version "7.20.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz#bb50e0d4bea0957235390641209394e87bdb9cc4" - integrity sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ== +"@babel/plugin-syntax-import-assertions@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz#9c05a7f592982aff1a2768260ad84bcd3f0c77fc" + integrity sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw== dependencies: - "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-syntax-import-meta@^7.8.3": +"@babel/plugin-syntax-import-attributes@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz#992aee922cf04512461d7dae3ff6951b90a2dc06" + integrity sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-import-meta@^7.10.4", "@babel/plugin-syntax-import-meta@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== @@ -583,19 +419,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz#9d9d357cc818aa7ae7935917c1257f67677a0926" - integrity sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-jsx@^7.18.6", "@babel/plugin-syntax-jsx@^7.21.4": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.21.4.tgz#f264ed7bf40ffc9ec239edabc17a50c4f5b6fea2" - integrity sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ== +"@babel/plugin-syntax-jsx@^7.18.6", "@babel/plugin-syntax-jsx@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473" + integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== dependencies: - "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": version "7.10.4" @@ -618,7 +447,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-object-rest-spread@7.8.3", "@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": +"@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== @@ -653,347 +482,481 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-typescript@^7.20.0": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz#2751948e9b7c6d771a8efa59340c15d4a2891ff8" - integrity sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA== +"@babel/plugin-syntax-typescript@^7.20.0", "@babel/plugin-syntax-typescript@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz#24f460c85dbbc983cd2b9c4994178bcc01df958f" + integrity sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ== dependencies: - "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-arrow-functions@^7.12.1", "@babel/plugin-transform-arrow-functions@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz#bea332b0e8b2dab3dafe55a163d8227531ab0551" - integrity sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ== +"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" + integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== dependencies: - "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-async-to-generator@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz#dfee18623c8cb31deb796aa3ca84dda9cea94354" - integrity sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q== +"@babel/plugin-transform-arrow-functions@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz#94c6dcfd731af90f27a79509f9ab7fb2120fc38b" + integrity sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ== dependencies: - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-remap-async-to-generator" "^7.18.9" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-block-scoped-functions@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz#9187bf4ba302635b9d70d986ad70f038726216a8" - integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ== +"@babel/plugin-transform-async-generator-functions@^7.23.3": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.4.tgz#93ac8e3531f347fba519b4703f9ff2a75c6ae27a" + integrity sha512-efdkfPhHYTtn0G6n2ddrESE91fgXxjlqLsnUtPWnJs4a4mZIbUaK7ffqKIIUKXSHwcDvaCVX6GXkaJJFqtX7jw== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.20" + "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-transform-block-scoping@^7.12.12", "@babel/plugin-transform-block-scoping@^7.21.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz#e737b91037e5186ee16b76e7ae093358a5634f02" - integrity sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ== +"@babel/plugin-transform-async-to-generator@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz#d1f513c7a8a506d43f47df2bf25f9254b0b051fa" + integrity sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw== dependencies: - "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.20" -"@babel/plugin-transform-classes@^7.12.1", "@babel/plugin-transform-classes@^7.21.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz#f469d0b07a4c5a7dbb21afad9e27e57b47031665" - integrity sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.21.0" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-replace-supers" "^7.20.7" - "@babel/helper-split-export-declaration" "^7.18.6" +"@babel/plugin-transform-block-scoped-functions@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz#fe1177d715fb569663095e04f3598525d98e8c77" + integrity sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-block-scoping@^7.23.3": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz#b2d38589531c6c80fbe25e6b58e763622d2d3cf5" + integrity sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-class-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz#35c377db11ca92a785a718b6aa4e3ed1eb65dc48" + integrity sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-class-static-block@^7.23.3": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz#2a202c8787a8964dd11dfcedf994d36bfc844ab5" + integrity sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-transform-classes@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.3.tgz#73380c632c095b03e8503c24fd38f95ad41ffacb" + integrity sha512-FGEQmugvAEu2QtgtU0uTASXevfLMFfBeVCIIdcQhn/uBQsMTjBajdnAtanQlOcuihWh10PZ7+HWvc7NtBwP74w== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" + "@babel/helper-split-export-declaration" "^7.22.6" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz#704cc2fd155d1c996551db8276d55b9d46e4d0aa" - integrity sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ== +"@babel/plugin-transform-computed-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz#652e69561fcc9d2b50ba4f7ac7f60dcf65e86474" + integrity sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw== dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/template" "^7.20.7" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/template" "^7.22.15" -"@babel/plugin-transform-destructuring@^7.12.1", "@babel/plugin-transform-destructuring@^7.21.3": - version "7.21.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz#73b46d0fd11cd6ef57dea8a381b1215f4959d401" - integrity sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA== +"@babel/plugin-transform-destructuring@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz#8c9ee68228b12ae3dff986e56ed1ba4f3c446311" + integrity sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw== dependencies: - "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz#b286b3e7aae6c7b861e45bed0a2fafd6b1a4fef8" - integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg== +"@babel/plugin-transform-dotall-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz#3f7af6054882ede89c378d0cf889b854a993da50" + integrity sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-duplicate-keys@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz#687f15ee3cdad6d85191eb2a372c4528eaa0ae0e" - integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw== +"@babel/plugin-transform-duplicate-keys@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz#664706ca0a5dfe8d066537f99032fc1dc8b720ce" + integrity sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-exponentiation-operator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz#421c705f4521888c65e91fdd1af951bfefd4dacd" - integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw== +"@babel/plugin-transform-dynamic-import@^7.23.3": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz#c7629e7254011ac3630d47d7f34ddd40ca535143" + integrity sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-transform-flow-strip-types@^7.21.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.21.0.tgz#6aeca0adcb81dc627c8986e770bfaa4d9812aff5" - integrity sha512-FlFA2Mj87a6sDkW4gfGrQQqwY/dLlBAyJa2dJEZ+FHXUVHBflO2wyKvg+OOEzXfrKYIa4HWl0mgmbCzt0cMb7w== +"@babel/plugin-transform-exponentiation-operator@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz#ea0d978f6b9232ba4722f3dbecdd18f450babd18" + integrity sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ== dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-flow" "^7.18.6" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-for-of@^7.12.1", "@babel/plugin-transform-for-of@^7.21.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.0.tgz#964108c9988de1a60b4be2354a7d7e245f36e86e" - integrity sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ== +"@babel/plugin-transform-export-namespace-from@^7.23.3": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz#084c7b25e9a5c8271e987a08cf85807b80283191" + integrity sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ== dependencies: - "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-transform-function-name@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz#cc354f8234e62968946c61a46d6365440fc764e0" - integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ== +"@babel/plugin-transform-flow-strip-types@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.23.3.tgz#cfa7ca159cc3306fab526fc67091556b51af26ff" + integrity sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q== dependencies: - "@babel/helper-compilation-targets" "^7.18.9" - "@babel/helper-function-name" "^7.18.9" - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-flow" "^7.23.3" -"@babel/plugin-transform-literals@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz#72796fdbef80e56fba3c6a699d54f0de557444bc" - integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg== +"@babel/plugin-transform-for-of@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.3.tgz#afe115ff0fbce735e02868d41489093c63e15559" + integrity sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-member-expression-literals@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz#ac9fdc1a118620ac49b7e7a5d2dc177a1bfee88e" - integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA== +"@babel/plugin-transform-function-name@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz#8f424fcd862bf84cb9a1a6b42bc2f47ed630f8dc" + integrity sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-modules-amd@^7.20.11": - version "7.20.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz#3daccca8e4cc309f03c3a0c4b41dc4b26f55214a" - integrity sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g== +"@babel/plugin-transform-json-strings@^7.23.3": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz#a871d9b6bd171976efad2e43e694c961ffa3714d" + integrity sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg== dependencies: - "@babel/helper-module-transforms" "^7.20.11" - "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-transform-modules-commonjs@^7.21.2": - version "7.21.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz#6ff5070e71e3192ef2b7e39820a06fb78e3058e7" - integrity sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA== +"@babel/plugin-transform-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz#8214665f00506ead73de157eba233e7381f3beb4" + integrity sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ== dependencies: - "@babel/helper-module-transforms" "^7.21.2" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-simple-access" "^7.20.2" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-modules-systemjs@^7.20.11": - version "7.20.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz#467ec6bba6b6a50634eea61c9c232654d8a4696e" - integrity sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw== +"@babel/plugin-transform-logical-assignment-operators@^7.23.3": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz#e599f82c51d55fac725f62ce55d3a0886279ecb5" + integrity sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg== dependencies: - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-module-transforms" "^7.20.11" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-validator-identifier" "^7.19.1" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-transform-modules-umd@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz#81d3832d6034b75b54e62821ba58f28ed0aab4b9" - integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ== +"@babel/plugin-transform-member-expression-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz#e37b3f0502289f477ac0e776b05a833d853cabcc" + integrity sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag== dependencies: - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-named-capturing-groups-regex@^7.20.5": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz#626298dd62ea51d452c3be58b285d23195ba69a8" - integrity sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA== +"@babel/plugin-transform-modules-amd@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz#e19b55436a1416829df0a1afc495deedfae17f7d" + integrity sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.20.5" - "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-new-target@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz#d128f376ae200477f37c4ddfcc722a8a1b3246a8" - integrity sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw== +"@babel/plugin-transform-modules-commonjs@^7.13.8", "@babel/plugin-transform-modules-commonjs@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz#661ae831b9577e52be57dd8356b734f9700b53b4" + integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-simple-access" "^7.22.5" -"@babel/plugin-transform-object-super@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz#fb3c6ccdd15939b6ff7939944b51971ddc35912c" - integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA== +"@babel/plugin-transform-modules-systemjs@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz#fa7e62248931cb15b9404f8052581c302dd9de81" + integrity sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-replace-supers" "^7.18.6" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.20" -"@babel/plugin-transform-parameters@^7.12.1", "@babel/plugin-transform-parameters@^7.20.7", "@babel/plugin-transform-parameters@^7.21.3": - version "7.21.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz#18fc4e797cf6d6d972cb8c411dbe8a809fa157db" - integrity sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ== +"@babel/plugin-transform-modules-umd@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz#5d4395fccd071dfefe6585a4411aa7d6b7d769e9" + integrity sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg== dependencies: - "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-property-literals@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz#e22498903a483448e94e032e9bbb9c5ccbfc93a3" - integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg== +"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f" + integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-react-display-name@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz#8b1125f919ef36ebdfff061d664e266c666b9415" - integrity sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA== +"@babel/plugin-transform-new-target@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz#5491bb78ed6ac87e990957cea367eab781c4d980" + integrity sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-react-jsx-development@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz#dbe5c972811e49c7405b630e4d0d2e1380c0ddc5" - integrity sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA== +"@babel/plugin-transform-nullish-coalescing-operator@^7.23.3": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz#45556aad123fc6e52189ea749e33ce090637346e" + integrity sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA== dependencies: - "@babel/plugin-transform-react-jsx" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-transform-react-jsx@^7.12.12", "@babel/plugin-transform-react-jsx@^7.18.6": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.21.0.tgz#656b42c2fdea0a6d8762075d58ef9d4e3c4ab8a2" - integrity sha512-6OAWljMvQrZjR2DaNhVfRz6dkCAVV+ymcLUmaf8bccGOHn2v5rHJK3tTpij0BuhdYWP4LLaqj5lwcdlpAAPuvg== +"@babel/plugin-transform-numeric-separator@^7.23.3": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz#03d08e3691e405804ecdd19dd278a40cca531f29" + integrity sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q== dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-jsx" "^7.18.6" - "@babel/types" "^7.21.0" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-transform-react-pure-annotations@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz#561af267f19f3e5d59291f9950fd7b9663d0d844" - integrity sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ== +"@babel/plugin-transform-object-rest-spread@^7.23.3": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz#2b9c2d26bf62710460bdc0d1730d4f1048361b83" + integrity sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g== dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/compat-data" "^7.23.3" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.23.3" -"@babel/plugin-transform-regenerator@^7.20.5": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz#57cda588c7ffb7f4f8483cc83bdcea02a907f04d" - integrity sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ== +"@babel/plugin-transform-object-super@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz#81fdb636dcb306dd2e4e8fd80db5b2362ed2ebcd" + integrity sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA== dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - regenerator-transform "^0.15.1" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" -"@babel/plugin-transform-reserved-words@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz#b1abd8ebf8edaa5f7fe6bbb8d2133d23b6a6f76a" - integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA== +"@babel/plugin-transform-optional-catch-binding@^7.23.3": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz#318066de6dacce7d92fa244ae475aa8d91778017" + integrity sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-transform-shorthand-properties@^7.12.1", "@babel/plugin-transform-shorthand-properties@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9" - integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw== +"@babel/plugin-transform-optional-chaining@^7.23.3": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz#6acf61203bdfc4de9d4e52e64490aeb3e52bd017" + integrity sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-transform-spread@^7.12.1", "@babel/plugin-transform-spread@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz#c2d83e0b99d3bf83e07b11995ee24bf7ca09401e" - integrity sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw== +"@babel/plugin-transform-parameters@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af" + integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw== dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-sticky-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz#c6706eb2b1524028e317720339583ad0f444adcc" - integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q== +"@babel/plugin-transform-private-methods@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz#b2d7a3c97e278bfe59137a978d53b2c2e038c0e4" + integrity sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-template-literals@^7.12.1", "@babel/plugin-transform-template-literals@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz#04ec6f10acdaa81846689d63fae117dd9c243a5e" - integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA== +"@babel/plugin-transform-private-property-in-object@^7.23.3": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz#3ec711d05d6608fd173d9b8de39872d8dbf68bf5" + integrity sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-transform-typeof-symbol@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz#c8cea68263e45addcd6afc9091429f80925762c0" - integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw== +"@babel/plugin-transform-property-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz#54518f14ac4755d22b92162e4a852d308a560875" + integrity sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-typescript@^7.21.3": - version "7.21.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.21.3.tgz#316c5be579856ea890a57ebc5116c5d064658f2b" - integrity sha512-RQxPz6Iqt8T0uw/WsJNReuBpWpBqs/n7mNo18sKLoTbMp+UrEekhH+pKSVC7gWz+DNjo9gryfV8YzCiT45RgMw== +"@babel/plugin-transform-react-display-name@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz#70529f034dd1e561045ad3c8152a267f0d7b6200" + integrity sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw== dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-create-class-features-plugin" "^7.21.0" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-typescript" "^7.20.0" + "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-unicode-escapes@^7.18.10": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz#1ecfb0eda83d09bbcb77c09970c2dd55832aa246" - integrity sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ== +"@babel/plugin-transform-react-jsx-development@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz#e716b6edbef972a92165cd69d92f1255f7e73e87" + integrity sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-transform-react-jsx" "^7.22.5" -"@babel/plugin-transform-unicode-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz#194317225d8c201bbae103364ffe9e2cea36cdca" - integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA== +"@babel/plugin-transform-react-jsx@^7.22.15", "@babel/plugin-transform-react-jsx@^7.22.5": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz#393f99185110cea87184ea47bcb4a7b0c2e39312" + integrity sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-jsx" "^7.23.3" + "@babel/types" "^7.23.4" -"@babel/preset-env@^7.11.0", "@babel/preset-env@^7.12.11", "@babel/preset-env@^7.18.6": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.21.4.tgz#a952482e634a8dd8271a3fe5459a16eb10739c58" - integrity sha512-2W57zHs2yDLm6GD5ZpvNn71lZ0B/iypSdIeq25OurDKji6AdzV07qp4s3n1/x5BqtiGaTrPN3nerlSCaC5qNTw== +"@babel/plugin-transform-react-pure-annotations@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz#fabedbdb8ee40edf5da96f3ecfc6958e3783b93c" + integrity sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ== dependencies: - "@babel/compat-data" "^7.21.4" - "@babel/helper-compilation-targets" "^7.21.4" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-validator-option" "^7.21.0" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.20.7" - "@babel/plugin-proposal-async-generator-functions" "^7.20.7" - "@babel/plugin-proposal-class-properties" "^7.18.6" - "@babel/plugin-proposal-class-static-block" "^7.21.0" - "@babel/plugin-proposal-dynamic-import" "^7.18.6" - "@babel/plugin-proposal-export-namespace-from" "^7.18.9" - "@babel/plugin-proposal-json-strings" "^7.18.6" - "@babel/plugin-proposal-logical-assignment-operators" "^7.20.7" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" - "@babel/plugin-proposal-numeric-separator" "^7.18.6" - "@babel/plugin-proposal-object-rest-spread" "^7.20.7" - "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" - "@babel/plugin-proposal-optional-chaining" "^7.21.0" - "@babel/plugin-proposal-private-methods" "^7.18.6" - "@babel/plugin-proposal-private-property-in-object" "^7.21.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-regenerator@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz#141afd4a2057298602069fce7f2dc5173e6c561c" + integrity sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + regenerator-transform "^0.15.2" + +"@babel/plugin-transform-reserved-words@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz#4130dcee12bd3dd5705c587947eb715da12efac8" + integrity sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-shorthand-properties@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz#97d82a39b0e0c24f8a981568a8ed851745f59210" + integrity sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-spread@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz#41d17aacb12bde55168403c6f2d6bdca563d362c" + integrity sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-sticky-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz#dec45588ab4a723cb579c609b294a3d1bd22ff04" + integrity sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-template-literals@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz#5f0f028eb14e50b5d0f76be57f90045757539d07" + integrity sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-typeof-symbol@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz#9dfab97acc87495c0c449014eb9c547d8966bca4" + integrity sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-typescript@^7.23.3": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.4.tgz#da12914d17b3c4b307f32c5fd91fbfdf17d56f86" + integrity sha512-39hCCOl+YUAyMOu6B9SmUTiHUU0t/CxJNUmY3qRdJujbqi+lrQcL11ysYUsAvFWPBdhihrv1z0oRG84Yr3dODQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-typescript" "^7.23.3" + +"@babel/plugin-transform-unicode-escapes@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz#1f66d16cab01fab98d784867d24f70c1ca65b925" + integrity sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-property-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz#19e234129e5ffa7205010feec0d94c251083d7ad" + integrity sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz#26897708d8f42654ca4ce1b73e96140fbad879dc" + integrity sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-sets-regex@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz#4fb6f0a719c2c5859d11f6b55a050cc987f3799e" + integrity sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/preset-env@^7.11.0", "@babel/preset-env@^7.18.6", "@babel/preset-env@^7.21.4", "@babel/preset-env@^7.22.9": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.3.tgz#d299e0140a7650684b95c62be2db0ef8c975143e" + integrity sha512-ovzGc2uuyNfNAs/jyjIGxS8arOHS5FENZaNn4rtE7UdKMMkqHCvboHfcuhWLZNX5cB44QfcGNWjaevxMzzMf+Q== + dependencies: + "@babel/compat-data" "^7.23.3" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.15" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.23.3" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.23.3" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.23.3" + "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-class-properties" "^7.12.13" "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-syntax-dynamic-import" "^7.8.3" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.20.0" + "@babel/plugin-syntax-import-assertions" "^7.23.3" + "@babel/plugin-syntax-import-attributes" "^7.23.3" + "@babel/plugin-syntax-import-meta" "^7.10.4" "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" @@ -1003,93 +966,107 @@ "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-transform-arrow-functions" "^7.20.7" - "@babel/plugin-transform-async-to-generator" "^7.20.7" - "@babel/plugin-transform-block-scoped-functions" "^7.18.6" - "@babel/plugin-transform-block-scoping" "^7.21.0" - "@babel/plugin-transform-classes" "^7.21.0" - "@babel/plugin-transform-computed-properties" "^7.20.7" - "@babel/plugin-transform-destructuring" "^7.21.3" - "@babel/plugin-transform-dotall-regex" "^7.18.6" - "@babel/plugin-transform-duplicate-keys" "^7.18.9" - "@babel/plugin-transform-exponentiation-operator" "^7.18.6" - "@babel/plugin-transform-for-of" "^7.21.0" - "@babel/plugin-transform-function-name" "^7.18.9" - "@babel/plugin-transform-literals" "^7.18.9" - "@babel/plugin-transform-member-expression-literals" "^7.18.6" - "@babel/plugin-transform-modules-amd" "^7.20.11" - "@babel/plugin-transform-modules-commonjs" "^7.21.2" - "@babel/plugin-transform-modules-systemjs" "^7.20.11" - "@babel/plugin-transform-modules-umd" "^7.18.6" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.20.5" - "@babel/plugin-transform-new-target" "^7.18.6" - "@babel/plugin-transform-object-super" "^7.18.6" - "@babel/plugin-transform-parameters" "^7.21.3" - "@babel/plugin-transform-property-literals" "^7.18.6" - "@babel/plugin-transform-regenerator" "^7.20.5" - "@babel/plugin-transform-reserved-words" "^7.18.6" - "@babel/plugin-transform-shorthand-properties" "^7.18.6" - "@babel/plugin-transform-spread" "^7.20.7" - "@babel/plugin-transform-sticky-regex" "^7.18.6" - "@babel/plugin-transform-template-literals" "^7.18.9" - "@babel/plugin-transform-typeof-symbol" "^7.18.9" - "@babel/plugin-transform-unicode-escapes" "^7.18.10" - "@babel/plugin-transform-unicode-regex" "^7.18.6" - "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.21.4" - babel-plugin-polyfill-corejs2 "^0.3.3" - babel-plugin-polyfill-corejs3 "^0.6.0" - babel-plugin-polyfill-regenerator "^0.4.1" - core-js-compat "^3.25.1" - semver "^6.3.0" - -"@babel/preset-flow@^7.12.1": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.21.4.tgz#a5de2a1cafa61f0e0b3af9b30ff0295d38d3608f" - integrity sha512-F24cSq4DIBmhq4OzK3dE63NHagb27OPE3eWR+HLekt4Z3Y5MzIIUGF3LlLgV0gN8vzbDViSY7HnrReNVCJXTeA== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-validator-option" "^7.21.0" - "@babel/plugin-transform-flow-strip-types" "^7.21.0" - -"@babel/preset-modules@^0.1.5": - version "0.1.5" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" - integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== + "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" + "@babel/plugin-transform-arrow-functions" "^7.23.3" + "@babel/plugin-transform-async-generator-functions" "^7.23.3" + "@babel/plugin-transform-async-to-generator" "^7.23.3" + "@babel/plugin-transform-block-scoped-functions" "^7.23.3" + "@babel/plugin-transform-block-scoping" "^7.23.3" + "@babel/plugin-transform-class-properties" "^7.23.3" + "@babel/plugin-transform-class-static-block" "^7.23.3" + "@babel/plugin-transform-classes" "^7.23.3" + "@babel/plugin-transform-computed-properties" "^7.23.3" + "@babel/plugin-transform-destructuring" "^7.23.3" + "@babel/plugin-transform-dotall-regex" "^7.23.3" + "@babel/plugin-transform-duplicate-keys" "^7.23.3" + "@babel/plugin-transform-dynamic-import" "^7.23.3" + "@babel/plugin-transform-exponentiation-operator" "^7.23.3" + "@babel/plugin-transform-export-namespace-from" "^7.23.3" + "@babel/plugin-transform-for-of" "^7.23.3" + "@babel/plugin-transform-function-name" "^7.23.3" + "@babel/plugin-transform-json-strings" "^7.23.3" + "@babel/plugin-transform-literals" "^7.23.3" + "@babel/plugin-transform-logical-assignment-operators" "^7.23.3" + "@babel/plugin-transform-member-expression-literals" "^7.23.3" + "@babel/plugin-transform-modules-amd" "^7.23.3" + "@babel/plugin-transform-modules-commonjs" "^7.23.3" + "@babel/plugin-transform-modules-systemjs" "^7.23.3" + "@babel/plugin-transform-modules-umd" "^7.23.3" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" + "@babel/plugin-transform-new-target" "^7.23.3" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.23.3" + "@babel/plugin-transform-numeric-separator" "^7.23.3" + "@babel/plugin-transform-object-rest-spread" "^7.23.3" + "@babel/plugin-transform-object-super" "^7.23.3" + "@babel/plugin-transform-optional-catch-binding" "^7.23.3" + "@babel/plugin-transform-optional-chaining" "^7.23.3" + "@babel/plugin-transform-parameters" "^7.23.3" + "@babel/plugin-transform-private-methods" "^7.23.3" + "@babel/plugin-transform-private-property-in-object" "^7.23.3" + "@babel/plugin-transform-property-literals" "^7.23.3" + "@babel/plugin-transform-regenerator" "^7.23.3" + "@babel/plugin-transform-reserved-words" "^7.23.3" + "@babel/plugin-transform-shorthand-properties" "^7.23.3" + "@babel/plugin-transform-spread" "^7.23.3" + "@babel/plugin-transform-sticky-regex" "^7.23.3" + "@babel/plugin-transform-template-literals" "^7.23.3" + "@babel/plugin-transform-typeof-symbol" "^7.23.3" + "@babel/plugin-transform-unicode-escapes" "^7.23.3" + "@babel/plugin-transform-unicode-property-regex" "^7.23.3" + "@babel/plugin-transform-unicode-regex" "^7.23.3" + "@babel/plugin-transform-unicode-sets-regex" "^7.23.3" + "@babel/preset-modules" "0.1.6-no-external-plugins" + babel-plugin-polyfill-corejs2 "^0.4.6" + babel-plugin-polyfill-corejs3 "^0.8.5" + babel-plugin-polyfill-regenerator "^0.5.3" + core-js-compat "^3.31.0" + semver "^6.3.1" + +"@babel/preset-flow@^7.13.13", "@babel/preset-flow@^7.22.5": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.23.3.tgz#8084e08b9ccec287bd077ab288b286fab96ffab1" + integrity sha512-7yn6hl8RIv+KNk6iIrGZ+D06VhVY35wLVf23Cz/mMu1zOr7u4MMP4j0nZ9tLf8+4ZFpnib8cFYgB/oYg9hfswA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.15" + "@babel/plugin-transform-flow-strip-types" "^7.23.3" + +"@babel/preset-modules@0.1.6-no-external-plugins": + version "0.1.6-no-external-plugins" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a" + integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/preset-react@^7.12.10": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.18.6.tgz#979f76d6277048dc19094c217b507f3ad517dd2d" - integrity sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-validator-option" "^7.18.6" - "@babel/plugin-transform-react-display-name" "^7.18.6" - "@babel/plugin-transform-react-jsx" "^7.18.6" - "@babel/plugin-transform-react-jsx-development" "^7.18.6" - "@babel/plugin-transform-react-pure-annotations" "^7.18.6" - -"@babel/preset-typescript@^7.12.7", "@babel/preset-typescript@^7.18.6": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.21.4.tgz#b913ac8e6aa8932e47c21b01b4368d8aa239a529" - integrity sha512-sMLNWY37TCdRH/bJ6ZeeOH1nPuanED7Ai9Y/vH31IPqalioJ6ZNFUWONsakhv4r4n+I6gm5lmoE0olkgib/j/A== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-validator-option" "^7.21.0" - "@babel/plugin-syntax-jsx" "^7.21.4" - "@babel/plugin-transform-modules-commonjs" "^7.21.2" - "@babel/plugin-transform-typescript" "^7.21.3" - -"@babel/register@^7.12.1": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.21.0.tgz#c97bf56c2472e063774f31d344c592ebdcefa132" - integrity sha512-9nKsPmYDi5DidAqJaQooxIhsLJiNMkGr8ypQ8Uic7cIox7UCDsM7HuUGxdGT7mSDTYbqzIdsOWzfBton/YJrMw== +"@babel/preset-react@^7.18.6", "@babel/preset-react@^7.22.5": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.23.3.tgz#f73ca07e7590f977db07eb54dbe46538cc015709" + integrity sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.15" + "@babel/plugin-transform-react-display-name" "^7.23.3" + "@babel/plugin-transform-react-jsx" "^7.22.15" + "@babel/plugin-transform-react-jsx-development" "^7.22.5" + "@babel/plugin-transform-react-pure-annotations" "^7.23.3" + +"@babel/preset-typescript@^7.13.0", "@babel/preset-typescript@^7.18.6", "@babel/preset-typescript@^7.21.4": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz#14534b34ed5b6d435aa05f1ae1c5e7adcc01d913" + integrity sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.15" + "@babel/plugin-syntax-jsx" "^7.23.3" + "@babel/plugin-transform-modules-commonjs" "^7.23.3" + "@babel/plugin-transform-typescript" "^7.23.3" + +"@babel/register@^7.13.16": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.22.15.tgz#c2c294a361d59f5fa7bcc8b97ef7319c32ecaec7" + integrity sha512-V3Q3EqoQdn65RCgTLwauZaTfd1ShhwPmbBv+1dkZV/HpCGMKVyn6oFcRlI7RaKqiDQjX2Qd3AuoEguBgdjIKlg== dependencies: clone-deep "^4.0.1" find-cache-dir "^2.0.0" @@ -1109,50 +1086,50 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.4", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.17.2", "@babel/runtime@^7.17.8", "@babel/runtime@^7.19.4", "@babel/runtime@^7.20.6", "@babel/runtime@^7.20.7", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.0.tgz#5b55c9d394e5fcf304909a8b00c07dc217b56673" - integrity sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw== +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.12.13", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.17.2", "@babel/runtime@^7.17.8", "@babel/runtime@^7.20.13", "@babel/runtime@^7.20.6", "@babel/runtime@^7.21.0", "@babel/runtime@^7.23.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.4.tgz#36fa1d2b36db873d25ec631dcc4923fdc1cf2e2e" + integrity sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg== dependencies: - regenerator-runtime "^0.13.11" + regenerator-runtime "^0.14.0" "@babel/standalone@^7.4.5": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/standalone/-/standalone-7.21.4.tgz#f1a7131775df87c526cc393c36d013acd2b3c609" - integrity sha512-Rw4nGqH/iyVeYxARKcz7iGP+njkPsVqJ45TmXMONoGoxooWjXCAs+CUcLeAZdBGCLqgaPvHKCYvIaDT2Iq+KfA== - -"@babel/template@^7.12.7", "@babel/template@^7.18.10", "@babel/template@^7.20.7", "@babel/template@^7.3.3": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" - integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - -"@babel/traverse@^7.1.0", "@babel/traverse@^7.1.6", "@babel/traverse@^7.11.5", "@babel/traverse@^7.12.11", "@babel/traverse@^7.12.9", "@babel/traverse@^7.13.0", "@babel/traverse@^7.18.6", "@babel/traverse@^7.20.5", "@babel/traverse@^7.20.7", "@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2", "@babel/traverse@^7.21.4", "@babel/traverse@^7.7.0": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.4.tgz#a836aca7b116634e97a6ed99976236b3282c9d36" - integrity sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q== - dependencies: - "@babel/code-frame" "^7.21.4" - "@babel/generator" "^7.21.4" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.21.0" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.21.4" - "@babel/types" "^7.21.4" + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/standalone/-/standalone-7.23.4.tgz#e5266b448f7d5f834c8bfaf8b777d60f6507c626" + integrity sha512-cXT2Xi9YVJEi7kLjqoeZBXjrNt1PASOh4Zi3jp5yXT06Gt4ZeRETfYH9y5x3RQhFTpNxaA1300lzK1obiy6tcQ== + +"@babel/template@^7.22.15", "@babel/template@^7.3.3": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" + integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== + dependencies: + "@babel/code-frame" "^7.22.13" + "@babel/parser" "^7.22.15" + "@babel/types" "^7.22.15" + +"@babel/traverse@^7.1.0", "@babel/traverse@^7.1.6", "@babel/traverse@^7.11.5", "@babel/traverse@^7.18.6", "@babel/traverse@^7.22.8", "@babel/traverse@^7.23.3", "@babel/traverse@^7.23.4", "@babel/traverse@^7.7.0": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.4.tgz#c2790f7edf106d059a0098770fe70801417f3f85" + integrity sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg== + dependencies: + "@babel/code-frame" "^7.23.4" + "@babel/generator" "^7.23.4" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.23.4" + "@babel/types" "^7.23.4" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.12.11", "@babel/types@^7.12.7", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.2.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2", "@babel/types@^7.21.4", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.4.tgz#2d5d6bb7908699b3b416409ffd3b5daa25b030d4" - integrity sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA== +"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.21.2", "@babel/types@^7.21.3", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.3", "@babel/types@^7.23.4", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.4.tgz#7206a1810fc512a7f7f7d4dace4cb4c1c9dbfb8e" + integrity sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ== dependencies: - "@babel/helper-string-parser" "^7.19.4" - "@babel/helper-validator-identifier" "^7.19.1" + "@babel/helper-string-parser" "^7.23.4" + "@babel/helper-validator-identifier" "^7.22.20" to-fast-properties "^2.0.0" "@base2/pretty-print-object@1.0.1": @@ -1165,51 +1142,15 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@binance-chain/javascript-sdk@^4.1.1": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@binance-chain/javascript-sdk/-/javascript-sdk-4.2.0.tgz#9f05e39209d45344c998ad0fe9497f2533413545" - integrity sha512-TGBZ2M1e7XnDCsNfHvNf0Zj8diH81scUzhkiPJ+4cJRZmOZL4yBy6g9dhM4SLUAB3R8t87arexd2BD3C/sfjjQ== - dependencies: - "@babel/runtime" "^7.10.4" - "@ledgerhq/hw-transport-u2f" "^5.9.0" - "@ledgerhq/hw-transport-web-ble" "^5.9.0" - "@types/bech32" "^1.1.2" - "@types/big.js" "^4.0.5" - "@types/bn.js" "^4.11.6" - "@types/crypto-js" "^3.1.43" - "@types/elliptic" "^6.4.12" - "@types/jest" "^25.1.4" - "@types/ledgerhq__hw-transport" "^4.21.2" - "@types/lodash" "^4.14.149" - "@types/node" "^13.9.0" - "@types/pumpify" "^1.4.1" - "@types/tiny-secp256k1" "^1.0.0" - "@types/uuid" "^7.0.0" - axios "^0.19.0" - bech32 "^1.1.3" - big.js "^5.2.2" - bip32 "^2.0.5" - bip39 "^3.0.2" - bn.js "^4.11.8" - camelcase "^5.3.1" - crypto-browserify "^3.12.0" - crypto-js "^3.1.9-1" - elliptic "^6.0.0" - eslint-utils "^1.4.2" - events "^3.0.0" - is_js "^0.9.0" - lodash "^4.17.19" - minimist "^1.2.5" - ndjson "^1.5.0" - protocol-buffers-encodings "^1.1.0" - pumpify "^2.0.1" - secure-random "^1.1.2" - tiny-secp256k1 "^1.1.3" - url "^0.11.0" - uuid "^3.3.2" - websocket-stream "^5.5.0" - optionalDependencies: - "@ledgerhq/hw-transport-node-hid" "^5.10.0" +"@classic-terra/terra.proto@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@classic-terra/terra.proto/-/terra.proto-1.1.0.tgz#e314d89f59b49e79a04db25f66f658e5e5aa1890" + integrity sha512-bYhQG5LUaGF0KPRY9hYT/HEcd1QExZPQd6zLV/rQkCe/eDxfwFRLzZHpaaAdfWoAAZjsRWqJbUCqCg7gXBbJpw== + dependencies: + "@improbable-eng/grpc-web" "^0.14.1" + google-protobuf "^3.17.3" + long "^4.0.0" + protobufjs "~6.11.2" "@cnakazawa/watch@^1.0.3": version "1.0.4" @@ -1242,15 +1183,25 @@ "@cosmjs/math" "0.27.1" "@cosmjs/utils" "0.27.1" -"@cosmjs/amino@^0.29.5": - version "0.29.5" - resolved "https://registry.yarnpkg.com/@cosmjs/amino/-/amino-0.29.5.tgz#053b4739a90b15b9e2b781ccd484faf64bd49aec" - integrity sha512-Qo8jpC0BiziTSUqpkNatBcwtKNhCovUnFul9SlT/74JUCdLYaeG5hxr3q1cssQt++l4LvlcpF+OUXL48XjNjLw== +"@cosmjs/amino@^0.25.4", "@cosmjs/amino@^0.25.6": + version "0.25.6" + resolved "https://registry.yarnpkg.com/@cosmjs/amino/-/amino-0.25.6.tgz#cdf9632253bfab7b1d2ef967124953d7bf16351f" + integrity sha512-9dXN2W7LHjDtJUGNsQ9ok0DfxeN3ca/TXnxCR3Ikh/5YqBqxI8Gel1J9PQO9L6EheYyh045Wff4bsMaLjyEeqQ== dependencies: - "@cosmjs/crypto" "^0.29.5" - "@cosmjs/encoding" "^0.29.5" - "@cosmjs/math" "^0.29.5" - "@cosmjs/utils" "^0.29.5" + "@cosmjs/crypto" "^0.25.6" + "@cosmjs/encoding" "^0.25.6" + "@cosmjs/math" "^0.25.6" + "@cosmjs/utils" "^0.25.6" + +"@cosmjs/amino@^0.31.3": + version "0.31.3" + resolved "https://registry.yarnpkg.com/@cosmjs/amino/-/amino-0.31.3.tgz#0f4aa6bd68331c71bd51b187fa64f00eb075db0a" + integrity sha512-36emtUq895sPRX8PTSOnG+lhJDCVyIcE0Tr5ct59sUbgQiI14y43vj/4WAlJ/utSOxy+Zhj9wxcs4AZfu0BHsw== + dependencies: + "@cosmjs/crypto" "^0.31.3" + "@cosmjs/encoding" "^0.31.3" + "@cosmjs/math" "^0.31.3" + "@cosmjs/utils" "^0.31.3" "@cosmjs/crypto@0.27.1": version "0.27.1" @@ -1286,18 +1237,34 @@ sha.js "^2.4.11" unorm "^1.5.0" -"@cosmjs/crypto@^0.29.5": - version "0.29.5" - resolved "https://registry.yarnpkg.com/@cosmjs/crypto/-/crypto-0.29.5.tgz#ab99fc382b93d8a8db075780cf07487a0f9519fd" - integrity sha512-2bKkaLGictaNL0UipQCL6C1afaisv6k8Wr/GCLx9FqiyFkh9ZgRHDyetD64ZsjnWV/N/D44s/esI+k6oPREaiQ== +"@cosmjs/crypto@^0.25.6": + version "0.25.6" + resolved "https://registry.yarnpkg.com/@cosmjs/crypto/-/crypto-0.25.6.tgz#695d2d0d2195bdbdd5825d415385646244900bbb" + integrity sha512-ec+YcQLrg2ibcxtNrh4FqQnG9kG9IE/Aik2NH6+OXQdFU/qFuBTxSFcKDgzzBOChwlkXwydllM9Jjbp+dgIzRw== dependencies: - "@cosmjs/encoding" "^0.29.5" - "@cosmjs/math" "^0.29.5" - "@cosmjs/utils" "^0.29.5" + "@cosmjs/encoding" "^0.25.6" + "@cosmjs/math" "^0.25.6" + "@cosmjs/utils" "^0.25.6" + bip39 "^3.0.2" + bn.js "^4.11.8" + elliptic "^6.5.3" + js-sha3 "^0.8.0" + libsodium-wrappers "^0.7.6" + ripemd160 "^2.0.2" + sha.js "^2.4.11" + +"@cosmjs/crypto@^0.31.3": + version "0.31.3" + resolved "https://registry.yarnpkg.com/@cosmjs/crypto/-/crypto-0.31.3.tgz#c752cb6d682fdc735dcb45a2519f89c56ba16c26" + integrity sha512-vRbvM9ZKR2017TO73dtJ50KxoGcFzKtKI7C8iO302BQ5p+DuB+AirUg1952UpSoLfv5ki9O416MFANNg8UN/EQ== + dependencies: + "@cosmjs/encoding" "^0.31.3" + "@cosmjs/math" "^0.31.3" + "@cosmjs/utils" "^0.31.3" "@noble/hashes" "^1" bn.js "^5.2.0" elliptic "^6.5.4" - libsodium-wrappers "^0.7.6" + libsodium-wrappers-sumo "^0.7.11" "@cosmjs/encoding@0.27.1": version "0.27.1" @@ -1326,21 +1293,30 @@ bech32 "^1.1.4" readonly-date "^1.0.0" -"@cosmjs/encoding@^0.29.5": - version "0.29.5" - resolved "https://registry.yarnpkg.com/@cosmjs/encoding/-/encoding-0.29.5.tgz#009a4b1c596cdfd326f30ccfa79f5e56daa264f2" - integrity sha512-G4rGl/Jg4dMCw5u6PEZHZcoHnUBlukZODHbm/wcL4Uu91fkn5jVo5cXXZcvs4VCkArVGrEj/52eUgTZCmOBGWQ== +"@cosmjs/encoding@^0.25.6": + version "0.25.6" + resolved "https://registry.yarnpkg.com/@cosmjs/encoding/-/encoding-0.25.6.tgz#da741a33eaf063a6d3611d7d68db5ca3938e0ef5" + integrity sha512-0imUOB8XkUstI216uznPaX1hqgvLQ2Xso3zJj5IV5oJuNlsfDj9nt/iQxXWbJuettc6gvrFfpf+Vw2vBZSZ75g== dependencies: base64-js "^1.3.0" bech32 "^1.1.4" readonly-date "^1.0.0" -"@cosmjs/json-rpc@^0.29.5": - version "0.29.5" - resolved "https://registry.yarnpkg.com/@cosmjs/json-rpc/-/json-rpc-0.29.5.tgz#5e483a9bd98a6270f935adf0dfd8a1e7eb777fe4" - integrity sha512-C78+X06l+r9xwdM1yFWIpGl03LhB9NdM1xvZpQHwgCOl0Ir/WV8pw48y3Ez2awAoUBRfTeejPe4KvrE6NoIi/w== +"@cosmjs/encoding@^0.31.3": + version "0.31.3" + resolved "https://registry.yarnpkg.com/@cosmjs/encoding/-/encoding-0.31.3.tgz#2519d9c9ae48368424971f253775c4580b54c5aa" + integrity sha512-6IRtG0fiVYwyP7n+8e54uTx2pLYijO48V3t9TLiROERm5aUAIzIlz6Wp0NYaI5he9nh1lcEGJ1lkquVKFw3sUg== dependencies: - "@cosmjs/stream" "^0.29.5" + base64-js "^1.3.0" + bech32 "^1.1.4" + readonly-date "^1.0.0" + +"@cosmjs/json-rpc@^0.31.3": + version "0.31.3" + resolved "https://registry.yarnpkg.com/@cosmjs/json-rpc/-/json-rpc-0.31.3.tgz#11e5cf0f6d9ab426dff470bb8d68d5d31cd6ab13" + integrity sha512-7LVYerXjnm69qqYR3uA6LGCrBW2EO5/F7lfJxAmY+iII2C7xO3a0vAjMSt5zBBh29PXrJVS6c2qRP22W1Le2Wg== + dependencies: + "@cosmjs/stream" "^0.31.3" xstream "^11.14.0" "@cosmjs/launchpad@^0.24.0-alpha.25", "@cosmjs/launchpad@^0.24.1": @@ -1389,10 +1365,17 @@ dependencies: bn.js "^4.11.8" -"@cosmjs/math@^0.29.5": - version "0.29.5" - resolved "https://registry.yarnpkg.com/@cosmjs/math/-/math-0.29.5.tgz#722c96e080d6c2b62215ce9f4c70da7625b241b6" - integrity sha512-2GjKcv+A9f86MAWYLUkjhw1/WpRl2R1BTb3m9qPG7lzMA7ioYff9jY5SPCfafKdxM4TIQGxXQlYGewQL16O68Q== +"@cosmjs/math@^0.25.6": + version "0.25.6" + resolved "https://registry.yarnpkg.com/@cosmjs/math/-/math-0.25.6.tgz#25c7b106aaded889a5b80784693caa9e654b0c28" + integrity sha512-Fmyc9FJ8KMU34n7rdapMJrT/8rx5WhMw2F7WLBu7AVLcBh0yWsXIcMSJCoPHTOnMIiABjXsnrrwEaLrOOBfu6A== + dependencies: + bn.js "^4.11.8" + +"@cosmjs/math@^0.31.3": + version "0.31.3" + resolved "https://registry.yarnpkg.com/@cosmjs/math/-/math-0.31.3.tgz#767f7263d12ba1b9ed2f01f68d857597839fd957" + integrity sha512-kZ2C6glA5HDb9hLz1WrftAjqdTBb3fWQsRR+Us2HsjAYdeE6M3VdXMsYCP5M3yiihal1WDwAY2U7HmfJw7Uh4A== dependencies: bn.js "^5.2.0" @@ -1405,66 +1388,75 @@ long "^4.0.0" protobufjs "~6.10.2" -"@cosmjs/proto-signing@^0.29.5": - version "0.29.5" - resolved "https://registry.yarnpkg.com/@cosmjs/proto-signing/-/proto-signing-0.29.5.tgz#af3b62a46c2c2f1d2327d678b13b7262db1fe87c" - integrity sha512-QRrS7CiKaoETdgIqvi/7JC2qCwCR7lnWaUsTzh/XfRy3McLkEd+cXbKAW3cygykv7IN0VAEIhZd2lyIfT8KwNA== - dependencies: - "@cosmjs/amino" "^0.29.5" - "@cosmjs/crypto" "^0.29.5" - "@cosmjs/encoding" "^0.29.5" - "@cosmjs/math" "^0.29.5" - "@cosmjs/utils" "^0.29.5" - cosmjs-types "^0.5.2" +"@cosmjs/proto-signing@^0.25.4": + version "0.25.6" + resolved "https://registry.yarnpkg.com/@cosmjs/proto-signing/-/proto-signing-0.25.6.tgz#d9fc57b8e0a46cda97e192bd0435157b24949ff8" + integrity sha512-JpQ+Vnv9s6i3x8f3Jo0lJZ3VMnj3R5sMgX+8ti1LtB7qEYRR85qbDrEG9hDGIKqJJabvrAuCHnO6hYi0vJEJHA== + dependencies: + "@cosmjs/amino" "^0.25.6" long "^4.0.0" + protobufjs "~6.10.2" -"@cosmjs/socket@^0.29.5": - version "0.29.5" - resolved "https://registry.yarnpkg.com/@cosmjs/socket/-/socket-0.29.5.tgz#a48df6b4c45dc6a6ef8e47232725dd4aa556ac2d" - integrity sha512-5VYDupIWbIXq3ftPV1LkS5Ya/T7Ol/AzWVhNxZ79hPe/mBfv1bGau/LqIYOm2zxGlgm9hBHOTmWGqNYDwr9LNQ== +"@cosmjs/proto-signing@^0.31.3": + version "0.31.3" + resolved "https://registry.yarnpkg.com/@cosmjs/proto-signing/-/proto-signing-0.31.3.tgz#20440b7b96fb2cd924256a10e656fd8d4481cdcd" + integrity sha512-24+10/cGl6lLS4VCrGTCJeDRPQTn1K5JfknzXzDIHOx8THR31JxA7/HV5eWGHqWgAbudA7ccdSvEK08lEHHtLA== + dependencies: + "@cosmjs/amino" "^0.31.3" + "@cosmjs/crypto" "^0.31.3" + "@cosmjs/encoding" "^0.31.3" + "@cosmjs/math" "^0.31.3" + "@cosmjs/utils" "^0.31.3" + cosmjs-types "^0.8.0" + long "^4.0.0" + +"@cosmjs/socket@^0.31.3": + version "0.31.3" + resolved "https://registry.yarnpkg.com/@cosmjs/socket/-/socket-0.31.3.tgz#52086380f4de2fc3514b90b0484b4b1c4c50e39e" + integrity sha512-aqrDGGi7os/hsz5p++avI4L0ZushJ+ItnzbqA7C6hamFSCJwgOkXaOUs+K9hXZdX4rhY7rXO4PH9IH8q09JkTw== dependencies: - "@cosmjs/stream" "^0.29.5" + "@cosmjs/stream" "^0.31.3" isomorphic-ws "^4.0.1" ws "^7" xstream "^11.14.0" -"@cosmjs/stargate@^0.29.4": - version "0.29.5" - resolved "https://registry.yarnpkg.com/@cosmjs/stargate/-/stargate-0.29.5.tgz#d597af1c85a3c2af7b5bdbec34d5d40692cc09e4" - integrity sha512-hjEv8UUlJruLrYGJcUZXM/CziaINOKwfVm2BoSdUnNTMxGvY/jC1ABHKeZUYt9oXHxEJ1n9+pDqzbKc8pT0nBw== +"@cosmjs/stargate@^0.31.0": + version "0.31.3" + resolved "https://registry.yarnpkg.com/@cosmjs/stargate/-/stargate-0.31.3.tgz#a2b38e398097a00f897dbd8f02d4d347d8fed818" + integrity sha512-53NxnzmB9FfXpG4KjOUAYAvWLYKdEmZKsutcat/u2BrDXNZ7BN8jim/ENcpwXfs9/Og0K24lEIdvA4gsq3JDQw== dependencies: "@confio/ics23" "^0.6.8" - "@cosmjs/amino" "^0.29.5" - "@cosmjs/encoding" "^0.29.5" - "@cosmjs/math" "^0.29.5" - "@cosmjs/proto-signing" "^0.29.5" - "@cosmjs/stream" "^0.29.5" - "@cosmjs/tendermint-rpc" "^0.29.5" - "@cosmjs/utils" "^0.29.5" - cosmjs-types "^0.5.2" + "@cosmjs/amino" "^0.31.3" + "@cosmjs/encoding" "^0.31.3" + "@cosmjs/math" "^0.31.3" + "@cosmjs/proto-signing" "^0.31.3" + "@cosmjs/stream" "^0.31.3" + "@cosmjs/tendermint-rpc" "^0.31.3" + "@cosmjs/utils" "^0.31.3" + cosmjs-types "^0.8.0" long "^4.0.0" protobufjs "~6.11.3" xstream "^11.14.0" -"@cosmjs/stream@^0.29.5": - version "0.29.5" - resolved "https://registry.yarnpkg.com/@cosmjs/stream/-/stream-0.29.5.tgz#350981cac496d04939b92ee793b9b19f44bc1d4e" - integrity sha512-TToTDWyH1p05GBtF0Y8jFw2C+4783ueDCmDyxOMM6EU82IqpmIbfwcdMOCAm0JhnyMh+ocdebbFvnX/sGKzRAA== +"@cosmjs/stream@^0.31.3": + version "0.31.3" + resolved "https://registry.yarnpkg.com/@cosmjs/stream/-/stream-0.31.3.tgz#53428fd62487ec08fc3886a50a3feeb8b2af2e66" + integrity sha512-8keYyI7X0RjsLyVcZuBeNjSv5FA4IHwbFKx7H60NHFXszN8/MvXL6aZbNIvxtcIHHsW7K9QSQos26eoEWlAd+w== dependencies: xstream "^11.14.0" -"@cosmjs/tendermint-rpc@^0.29.5": - version "0.29.5" - resolved "https://registry.yarnpkg.com/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.29.5.tgz#f205c10464212bdf843f91bb2e4a093b618cb5c2" - integrity sha512-ar80twieuAxsy0x2za/aO3kBr2DFPAXDmk2ikDbmkda+qqfXgl35l9CVAAjKRqd9d+cRvbQyb5M4wy6XQpEV6w== - dependencies: - "@cosmjs/crypto" "^0.29.5" - "@cosmjs/encoding" "^0.29.5" - "@cosmjs/json-rpc" "^0.29.5" - "@cosmjs/math" "^0.29.5" - "@cosmjs/socket" "^0.29.5" - "@cosmjs/stream" "^0.29.5" - "@cosmjs/utils" "^0.29.5" +"@cosmjs/tendermint-rpc@^0.31.3": + version "0.31.3" + resolved "https://registry.yarnpkg.com/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.31.3.tgz#d1a2bc5b3c98743631c9b55888589d352403c9b3" + integrity sha512-s3TiWkPCW4QceTQjpYqn4xttUJH36mTPqplMl+qyocdqk5+X5mergzExU/pHZRWQ4pbby8bnR7kMvG4OC1aZ8g== + dependencies: + "@cosmjs/crypto" "^0.31.3" + "@cosmjs/encoding" "^0.31.3" + "@cosmjs/json-rpc" "^0.31.3" + "@cosmjs/math" "^0.31.3" + "@cosmjs/socket" "^0.31.3" + "@cosmjs/stream" "^0.31.3" + "@cosmjs/utils" "^0.31.3" axios "^0.21.2" readonly-date "^1.0.0" xstream "^11.14.0" @@ -1484,10 +1476,15 @@ resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.24.1.tgz#0adfefe63b7f17222bc2bc12f71296f35e7ad378" integrity sha512-VA3WFx1lMFb7esp9BqHWkDgMvHoA3D9w+uDRvWhVRpUpDc7RYHxMbWExASjz+gNblTCg556WJGzF64tXnf9tdQ== -"@cosmjs/utils@^0.29.5": - version "0.29.5" - resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.29.5.tgz#3fed1b3528ae8c5f1eb5d29b68755bebfd3294ee" - integrity sha512-m7h+RXDUxOzEOGt4P+3OVPX7PuakZT3GBmaM/Y2u+abN3xZkziykD/NvedYFvvCCdQo714XcGl33bwifS9FZPQ== +"@cosmjs/utils@^0.25.6": + version "0.25.6" + resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.25.6.tgz#934d9a967180baa66163847616a74358732227ca" + integrity sha512-ofOYiuxVKNo238vCPPlaDzqPXy2AQ/5/nashBo5rvPZJkxt9LciGfUEQWPCOb1BIJDNx2Dzu0z4XCf/dwzl0Dg== + +"@cosmjs/utils@^0.31.3": + version "0.31.3" + resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.31.3.tgz#f97bbfda35ad69e80cd5c7fe0a270cbda16db1ed" + integrity sha512-VBhAgzrrYdIe0O5IbKRqwszbQa7ZyQLx9nEQuHQ3HUplQW7P44COG/ye2n6AzCudtqxmwdX7nyX8ta1J07GoqA== "@cspotcode/source-map-support@^0.8.0": version "0.8.1" @@ -1501,16 +1498,21 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@edge-runtime/format@1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@edge-runtime/format/-/format-1.1.0.tgz#5a209221a8bae7791d6e465c480f146249d1e15f" - integrity sha512-MkLDDtPhXZIMx83NykdFmOpF7gVWIdd6GBHYb8V/E+PKWvD2pK/qWx9B30oN1iDJ2XBm0SGDjz02S8nDHI9lMQ== +"@edge-runtime/format@2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@edge-runtime/format/-/format-2.0.1.tgz#765295809ff6a0938da739e13ef327d95a418395" + integrity sha512-aE+9DtBvQyg349srixtXEUNauWtIv5HTKPy8Q9dvG1NvpldVIvvhcDBI+SuvDVM8kQl8phbYnp2NTNloBCn/Yg== "@edge-runtime/primitives@2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@edge-runtime/primitives/-/primitives-2.0.0.tgz#b4bf44f9cab36aee3027fe4c3ff3cc1d5713e155" integrity sha512-AXqUq1zruTJAICrllUvZcgciIcEGHdF6KJ3r6FM0n4k8LpFxZ62tPWVIJ9HKm+xt+ncTBUZxwgUaQ73QMUQEKw== +"@edge-runtime/primitives@2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@edge-runtime/primitives/-/primitives-2.1.2.tgz#8ff657f12a7f8c7fc4e3a0c10ec19356ef2d656d" + integrity sha512-SR04SMDybALlhIYIi0hiuEUwIl0b7Sn+RKwQkX6hydg4+AKMzBNDFhj2nqHDD1+xkHArV9EhmJIb6iGjShwSzg== + "@edge-runtime/vm@2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@edge-runtime/vm/-/vm-2.0.0.tgz#9170d2d03761eff4e27687888c4b2d9af1f94c7d" @@ -1518,6 +1520,13 @@ dependencies: "@edge-runtime/primitives" "2.0.0" +"@edge-runtime/vm@2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@edge-runtime/vm/-/vm-2.1.2.tgz#d760ce27b659c17c470b23453321769c08d213f5" + integrity sha512-j4H5S26NJhYOyjVMN8T/YJuwwslfnEX1P0j6N2Rq1FaubgNowdYunA9nlO7lg8Rgjv6dqJ2zKuM7GD1HFtNSGw== + dependencies: + "@edge-runtime/primitives" "2.1.2" + "@emotion/cache@^10.0.27": version "10.0.29" resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.29.tgz#87e7e64f412c060102d589fe7c6dc042e6f9d1e0" @@ -1555,9 +1564,9 @@ integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow== "@emotion/hash@^0.9.0": - version "0.9.0" - resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.0.tgz#c5153d50401ee3c027a57a177bc269b16d889cb7" - integrity sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ== + version "0.9.1" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.1.tgz#4ffb0055f7ef676ebc3a5a91fb621393294e2f43" + integrity sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ== "@emotion/is-prop-valid@0.8.8": version "0.8.8" @@ -1615,6 +1624,11 @@ resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed" integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg== +"@emotion/use-insertion-effect-with-fallbacks@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz#08de79f54eb3406f9daaf77c76e35313da963963" + integrity sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw== + "@emotion/utils@0.11.3": version "0.11.3" resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.11.3.tgz#a759863867befa7e583400d322652a3f44820924" @@ -1638,331 +1652,600 @@ resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.3.tgz#6af6d16be6d534d776a51fc215bfd81a68906d2c" integrity sha512-RolFVeinkeraDvN/OoRf1F/lP0KUfGNb5jxy/vkIMeRRChkrX/HTYN6TYZosRJs3a1+8wqpxAo5PI5hFmxyPRg== -"@esbuild/android-arm64@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.15.tgz#893ad71f3920ccb919e1757c387756a9bca2ef42" - integrity sha512-0kOB6Y7Br3KDVgHeg8PRcvfLkq+AccreK///B4Z6fNZGr/tNHX0z2VywCc7PTeWp+bPvjA5WMvNXltHw5QjAIA== +"@esbuild/android-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz#bafb75234a5d3d1b690e7c2956a599345e84a2fd" + integrity sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA== "@esbuild/android-arm64@0.17.6": version "0.17.6" resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.6.tgz#b11bd4e4d031bb320c93c83c137797b2be5b403b" integrity sha512-YnYSCceN/dUzUr5kdtUzB+wZprCafuD89Hs0Aqv9QSdwhYQybhXTaSTcrl6X/aWThn1a/j0eEpUBGOE7269REg== +"@esbuild/android-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622" + integrity sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ== + "@esbuild/android-arm@0.16.3": version "0.16.3" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.3.tgz#2a091222f3b1928e3246fb3c5202eaca88baab67" integrity sha512-mueuEoh+s1eRbSJqq9KNBQwI4QhQV6sRXIfTyLXSHGMpyew61rOK4qY21uKbXl1iBoMb0AdL1deWFCQVlN2qHA== -"@esbuild/android-arm@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.15.tgz#143e0d4e4c08c786ea410b9a7739779a9a1315d8" - integrity sha512-sRSOVlLawAktpMvDyJIkdLI/c/kdRTOqo8t6ImVxg8yT7LQDUYV5Rp2FKeEosLr6ZCja9UjYAzyRSxGteSJPYg== +"@esbuild/android-arm@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.19.tgz#5898f7832c2298bc7d0ab53701c57beb74d78b4d" + integrity sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A== "@esbuild/android-arm@0.17.6": version "0.17.6" resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.6.tgz#ac6b5674da2149997f6306b3314dae59bbe0ac26" integrity sha512-bSC9YVUjADDy1gae8RrioINU6e1lCkg3VGVwm0QQ2E1CWcC4gnMce9+B6RpxuSsrsXsk1yojn7sp1fnG8erE2g== +"@esbuild/android-arm@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz#fedb265bc3a589c84cc11f810804f234947c3682" + integrity sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw== + "@esbuild/android-x64@0.16.3": version "0.16.3" resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.3.tgz#a6d749c58b022d371dc40d50ac1bb4aebd1eb953" integrity sha512-SFpTUcIT1bIJuCCBMCQWq1bL2gPTjWoLZdjmIhjdcQHaUfV41OQfho6Ici5uvvkMmZRXIUGpM3GxysP/EU7ifQ== -"@esbuild/android-x64@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.15.tgz#d2d12a7676b2589864281b2274355200916540bc" - integrity sha512-MzDqnNajQZ63YkaUWVl9uuhcWyEyh69HGpMIrf+acR4otMkfLJ4sUCxqwbCyPGicE9dVlrysI3lMcDBjGiBBcQ== +"@esbuild/android-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.19.tgz#658368ef92067866d95fb268719f98f363d13ae1" + integrity sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww== "@esbuild/android-x64@0.17.6": version "0.17.6" resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.6.tgz#18c48bf949046638fc209409ff684c6bb35a5462" integrity sha512-MVcYcgSO7pfu/x34uX9u2QIZHmXAB7dEiLQC5bBl5Ryqtpj9lT2sg3gNDEsrPEmimSJW2FXIaxqSQ501YLDsZQ== +"@esbuild/android-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz#35cf419c4cfc8babe8893d296cd990e9e9f756f2" + integrity sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg== + "@esbuild/darwin-arm64@0.16.3": version "0.16.3" resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.3.tgz#92d1826ed2f21dcac5830b70d7215c6afbb744e2" integrity sha512-DO8WykMyB+N9mIDfI/Hug70Dk1KipavlGAecxS3jDUwAbTpDXj0Lcwzw9svkhxfpCagDmpaTMgxWK8/C/XcXvw== -"@esbuild/darwin-arm64@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.15.tgz#2e88e79f1d327a2a7d9d06397e5232eb0a473d61" - integrity sha512-7siLjBc88Z4+6qkMDxPT2juf2e8SJxmsbNVKFY2ifWCDT72v5YJz9arlvBw5oB4W/e61H1+HDB/jnu8nNg0rLA== +"@esbuild/darwin-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz#584c34c5991b95d4d48d333300b1a4e2ff7be276" + integrity sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg== "@esbuild/darwin-arm64@0.17.6": version "0.17.6" resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.6.tgz#b3fe19af1e4afc849a07c06318124e9c041e0646" integrity sha512-bsDRvlbKMQMt6Wl08nHtFz++yoZHsyTOxnjfB2Q95gato+Yi4WnRl13oC2/PJJA9yLCoRv9gqT/EYX0/zDsyMA== +"@esbuild/darwin-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz#08172cbeccf95fbc383399a7f39cfbddaeb0d7c1" + integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA== + "@esbuild/darwin-x64@0.16.3": version "0.16.3" resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.3.tgz#7fc3570c2b16e9ff4fc178593a0a4adb1ae8ea57" integrity sha512-uEqZQ2omc6BvWqdCiyZ5+XmxuHEi1SPzpVxXCSSV2+Sh7sbXbpeNhHIeFrIpRjAs0lI1FmA1iIOxFozKBhKgRQ== -"@esbuild/darwin-x64@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.15.tgz#9384e64c0be91388c57be6d3a5eaf1c32a99c91d" - integrity sha512-NbImBas2rXwYI52BOKTW342Tm3LTeVlaOQ4QPZ7XuWNKiO226DisFk/RyPk3T0CKZkKMuU69yOvlapJEmax7cg== +"@esbuild/darwin-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz#7751d236dfe6ce136cce343dce69f52d76b7f6cb" + integrity sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw== "@esbuild/darwin-x64@0.17.6": version "0.17.6" resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.6.tgz#f4dacd1ab21e17b355635c2bba6a31eba26ba569" integrity sha512-xh2A5oPrYRfMFz74QXIQTQo8uA+hYzGWJFoeTE8EvoZGHb+idyV4ATaukaUvnnxJiauhs/fPx3vYhU4wiGfosg== +"@esbuild/darwin-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz#d70d5790d8bf475556b67d0f8b7c5bdff053d85d" + integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ== + "@esbuild/freebsd-arm64@0.16.3": version "0.16.3" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.3.tgz#16735ce16f8c9a4e7289e9e259aa01a8d9874307" integrity sha512-nJansp3sSXakNkOD5i5mIz2Is/HjzIhFs49b1tjrPrpCmwgBmH9SSzhC/Z1UqlkivqMYkhfPwMw1dGFUuwmXhw== -"@esbuild/freebsd-arm64@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.15.tgz#2ad5a35bc52ebd9ca6b845dbc59ba39647a93c1a" - integrity sha512-Xk9xMDjBVG6CfgoqlVczHAdJnCs0/oeFOspFap5NkYAmRCT2qTn1vJWA2f419iMtsHSLm+O8B6SLV/HlY5cYKg== +"@esbuild/freebsd-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz#cacd171665dd1d500f45c167d50c6b7e539d5fd2" + integrity sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ== "@esbuild/freebsd-arm64@0.17.6": version "0.17.6" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.6.tgz#ea4531aeda70b17cbe0e77b0c5c36298053855b4" integrity sha512-EnUwjRc1inT4ccZh4pB3v1cIhohE2S4YXlt1OvI7sw/+pD+dIE4smwekZlEPIwY6PhU6oDWwITrQQm5S2/iZgg== +"@esbuild/freebsd-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz#98755cd12707f93f210e2494d6a4b51b96977f54" + integrity sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw== + "@esbuild/freebsd-x64@0.16.3": version "0.16.3" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.3.tgz#f4edd1464cb072799ed6b8ab5178478e71c13459" integrity sha512-TfoDzLw+QHfc4a8aKtGSQ96Wa+6eimljjkq9HKR0rHlU83vw8aldMOUSJTUDxbcUdcgnJzPaX8/vGWm7vyV7ug== -"@esbuild/freebsd-x64@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.15.tgz#b513a48446f96c75fda5bef470e64d342d4379cd" - integrity sha512-3TWAnnEOdclvb2pnfsTWtdwthPfOz7qAfcwDLcfZyGJwm1SRZIMOeB5FODVhnM93mFSPsHB9b/PmxNNbSnd0RQ== +"@esbuild/freebsd-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz#0769456eee2a08b8d925d7c00b79e861cb3162e4" + integrity sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ== "@esbuild/freebsd-x64@0.17.6": version "0.17.6" resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.6.tgz#1896170b3c9f63c5e08efdc1f8abc8b1ed7af29f" integrity sha512-Uh3HLWGzH6FwpviUcLMKPCbZUAFzv67Wj5MTwK6jn89b576SR2IbEp+tqUHTr8DIl0iDmBAf51MVaP7pw6PY5Q== +"@esbuild/freebsd-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz#c1eb2bff03915f87c29cece4c1a7fa1f423b066e" + integrity sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ== + "@esbuild/linux-arm64@0.16.3": version "0.16.3" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.3.tgz#4b7ae6fe3618d9a40d6ca39c6edc991ac1447203" integrity sha512-7I3RlsnxEFCHVZNBLb2w7unamgZ5sVwO0/ikE2GaYvYuUQs9Qte/w7TqWcXHtCwxvZx/2+F97ndiUQAWs47ZfQ== -"@esbuild/linux-arm64@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.15.tgz#9697b168175bfd41fa9cc4a72dd0d48f24715f31" - integrity sha512-T0MVnYw9KT6b83/SqyznTs/3Jg2ODWrZfNccg11XjDehIved2oQfrX/wVuev9N936BpMRaTR9I1J0tdGgUgpJA== +"@esbuild/linux-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz#38e162ecb723862c6be1c27d6389f48960b68edb" + integrity sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg== "@esbuild/linux-arm64@0.17.6": version "0.17.6" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.6.tgz#967dfb951c6b2de6f2af82e96e25d63747f75079" integrity sha512-bUR58IFOMJX523aDVozswnlp5yry7+0cRLCXDsxnUeQYJik1DukMY+apBsLOZJblpH+K7ox7YrKrHmJoWqVR9w== +"@esbuild/linux-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz#bad4238bd8f4fc25b5a021280c770ab5fc3a02a0" + integrity sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA== + "@esbuild/linux-arm@0.16.3": version "0.16.3" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.3.tgz#4b3e9f849822e16a76a70844c4db68075b259a58" integrity sha512-VwswmSYwVAAq6LysV59Fyqk3UIjbhuc6wb3vEcJ7HEJUtFuLK9uXWuFoH1lulEbE4+5GjtHi3MHX+w1gNHdOWQ== -"@esbuild/linux-arm@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.15.tgz#5b22062c54f48cd92fab9ffd993732a52db70cd3" - integrity sha512-MLTgiXWEMAMr8nmS9Gigx43zPRmEfeBfGCwxFQEMgJ5MC53QKajaclW6XDPjwJvhbebv+RzK05TQjvH3/aM4Xw== +"@esbuild/linux-arm@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz#1a2cd399c50040184a805174a6d89097d9d1559a" + integrity sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA== "@esbuild/linux-arm@0.17.6": version "0.17.6" resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.6.tgz#097a0ee2be39fed3f37ea0e587052961e3bcc110" integrity sha512-7YdGiurNt7lqO0Bf/U9/arrPWPqdPqcV6JCZda4LZgEn+PTQ5SMEI4MGR52Bfn3+d6bNEGcWFzlIxiQdS48YUw== +"@esbuild/linux-arm@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz#3e617c61f33508a27150ee417543c8ab5acc73b0" + integrity sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg== + "@esbuild/linux-ia32@0.16.3": version "0.16.3" resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.3.tgz#2ff3936b91bfff62f9ecf7f6411ef399b29ed22d" integrity sha512-X8FDDxM9cqda2rJE+iblQhIMYY49LfvW4kaEjoFbTTQ4Go8G96Smj2w3BRTwA8IHGoi9dPOPGAX63dhuv19UqA== -"@esbuild/linux-ia32@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.15.tgz#eb28a13f9b60b5189fcc9e98e1024f6b657ba54c" - integrity sha512-wp02sHs015T23zsQtU4Cj57WiteiuASHlD7rXjKUyAGYzlOKDAjqK6bk5dMi2QEl/KVOcsjwL36kD+WW7vJt8Q== +"@esbuild/linux-ia32@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz#e28c25266b036ce1cabca3c30155222841dc035a" + integrity sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ== "@esbuild/linux-ia32@0.17.6": version "0.17.6" resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.6.tgz#a38a789d0ed157495a6b5b4469ec7868b59e5278" integrity sha512-ujp8uoQCM9FRcbDfkqECoARsLnLfCUhKARTP56TFPog8ie9JG83D5GVKjQ6yVrEVdMie1djH86fm98eY3quQkQ== +"@esbuild/linux-ia32@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz#699391cccba9aee6019b7f9892eb99219f1570a7" + integrity sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA== + "@esbuild/linux-loong64@0.16.3": version "0.16.3" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.3.tgz#ff8aa59f49d9ccbc1ff952ba1f5cd01a534562df" integrity sha512-hIbeejCOyO0X9ujfIIOKjBjNAs9XD/YdJ9JXAy1lHA+8UXuOqbFe4ErMCqMr8dhlMGBuvcQYGF7+kO7waj2KHw== -"@esbuild/linux-loong64@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.15.tgz#32454bdfe144cf74b77895a8ad21a15cb81cfbe5" - integrity sha512-k7FsUJjGGSxwnBmMh8d7IbObWu+sF/qbwc+xKZkBe/lTAF16RqxRCnNHA7QTd3oS2AfGBAnHlXL67shV5bBThQ== +"@esbuild/linux-loong64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz#0f887b8bb3f90658d1a0117283e55dbd4c9dcf72" + integrity sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ== "@esbuild/linux-loong64@0.17.6": version "0.17.6" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.6.tgz#ae3983d0fb4057883c8246f57d2518c2af7cf2ad" integrity sha512-y2NX1+X/Nt+izj9bLoiaYB9YXT/LoaQFYvCkVD77G/4F+/yuVXYCWz4SE9yr5CBMbOxOfBcy/xFL4LlOeNlzYQ== +"@esbuild/linux-loong64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz#e6fccb7aac178dd2ffb9860465ac89d7f23b977d" + integrity sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg== + "@esbuild/linux-mips64el@0.16.3": version "0.16.3" resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.3.tgz#5dd5e118071c3912df69beedbfd11fb117f0fe5e" integrity sha512-znFRzICT/V8VZQMt6rjb21MtAVJv/3dmKRMlohlShrbVXdBuOdDrGb+C2cZGQAR8RFyRe7HS6klmHq103WpmVw== -"@esbuild/linux-mips64el@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.15.tgz#af12bde0d775a318fad90eb13a0455229a63987c" - integrity sha512-ZLWk6czDdog+Q9kE/Jfbilu24vEe/iW/Sj2d8EVsmiixQ1rM2RKH2n36qfxK4e8tVcaXkvuV3mU5zTZviE+NVQ== +"@esbuild/linux-mips64el@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz#f5d2a0b8047ea9a5d9f592a178ea054053a70289" + integrity sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A== "@esbuild/linux-mips64el@0.17.6": version "0.17.6" resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.6.tgz#15fbbe04648d944ec660ee5797febdf09a9bd6af" integrity sha512-09AXKB1HDOzXD+j3FdXCiL/MWmZP0Ex9eR8DLMBVcHorrWJxWmY8Nms2Nm41iRM64WVx7bA/JVHMv081iP2kUA== +"@esbuild/linux-mips64el@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz#eeff3a937de9c2310de30622a957ad1bd9183231" + integrity sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ== + "@esbuild/linux-ppc64@0.16.3": version "0.16.3" resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.3.tgz#36c62e24eae7fa3f0d921506da8fc1e6098a1364" integrity sha512-EV7LuEybxhXrVTDpbqWF2yehYRNz5e5p+u3oQUS2+ZFpknyi1NXxr8URk4ykR8Efm7iu04//4sBg249yNOwy5Q== -"@esbuild/linux-ppc64@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.15.tgz#34c5ed145b2dfc493d3e652abac8bd3baa3865a5" - integrity sha512-mY6dPkIRAiFHRsGfOYZC8Q9rmr8vOBZBme0/j15zFUKM99d4ILY4WpOC7i/LqoY+RE7KaMaSfvY8CqjJtuO4xg== +"@esbuild/linux-ppc64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz#876590e3acbd9fa7f57a2c7d86f83717dbbac8c7" + integrity sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg== "@esbuild/linux-ppc64@0.17.6": version "0.17.6" resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.6.tgz#38210094e8e1a971f2d1fd8e48462cc65f15ef19" integrity sha512-AmLhMzkM8JuqTIOhxnX4ubh0XWJIznEynRnZAVdA2mMKE6FAfwT2TWKTwdqMG+qEaeyDPtfNoZRpJbD4ZBv0Tg== +"@esbuild/linux-ppc64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz#2f7156bde20b01527993e6881435ad79ba9599fb" + integrity sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA== + "@esbuild/linux-riscv64@0.16.3": version "0.16.3" resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.3.tgz#f0fec8e7affb5bcc817fefc61a21cbb95539e393" integrity sha512-uDxqFOcLzFIJ+r/pkTTSE9lsCEaV/Y6rMlQjUI9BkzASEChYL/aSQjZjchtEmdnVxDKETnUAmsaZ4pqK1eE5BQ== -"@esbuild/linux-riscv64@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.15.tgz#87bd515e837f2eb004b45f9e6a94dc5b93f22b92" - integrity sha512-EcyUtxffdDtWjjwIH8sKzpDRLcVtqANooMNASO59y+xmqqRYBBM7xVLQhqF7nksIbm2yHABptoioS9RAbVMWVA== +"@esbuild/linux-riscv64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz#7f49373df463cd9f41dc34f9b2262d771688bf09" + integrity sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA== "@esbuild/linux-riscv64@0.17.6": version "0.17.6" resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.6.tgz#bc3c66d5578c3b9951a6ed68763f2a6856827e4a" integrity sha512-Y4Ri62PfavhLQhFbqucysHOmRamlTVK10zPWlqjNbj2XMea+BOs4w6ASKwQwAiqf9ZqcY9Ab7NOU4wIgpxwoSQ== +"@esbuild/linux-riscv64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz#6628389f210123d8b4743045af8caa7d4ddfc7a6" + integrity sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A== + "@esbuild/linux-s390x@0.16.3": version "0.16.3" resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.3.tgz#22e10edd6e91f53c2e1f60e46abd453d7794409b" integrity sha512-NbeREhzSxYwFhnCAQOQZmajsPYtX71Ufej3IQ8W2Gxskfz9DK58ENEju4SbpIj48VenktRASC52N5Fhyf/aliQ== -"@esbuild/linux-s390x@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.15.tgz#20bf7947197f199ddac2ec412029a414ceae3aa3" - integrity sha512-BuS6Jx/ezxFuHxgsfvz7T4g4YlVrmCmg7UAwboeyNNg0OzNzKsIZXpr3Sb/ZREDXWgt48RO4UQRDBxJN3B9Rbg== +"@esbuild/linux-s390x@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz#e2afd1afcaf63afe2c7d9ceacd28ec57c77f8829" + integrity sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q== "@esbuild/linux-s390x@0.17.6": version "0.17.6" resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.6.tgz#d7ba7af59285f63cfce6e5b7f82a946f3e6d67fc" integrity sha512-SPUiz4fDbnNEm3JSdUW8pBJ/vkop3M1YwZAVwvdwlFLoJwKEZ9L98l3tzeyMzq27CyepDQ3Qgoba44StgbiN5Q== +"@esbuild/linux-s390x@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz#255e81fb289b101026131858ab99fba63dcf0071" + integrity sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ== + "@esbuild/linux-x64@0.16.3": version "0.16.3" resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.3.tgz#38388b73fd9eebe45b073d7d8099b9c2e54f7139" integrity sha512-SDiG0nCixYO9JgpehoKgScwic7vXXndfasjnD5DLbp1xltANzqZ425l7LSdHynt19UWOcDjG9wJJzSElsPvk0w== -"@esbuild/linux-x64@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.15.tgz#31b93f9c94c195e852c20cd3d1914a68aa619124" - integrity sha512-JsdS0EgEViwuKsw5tiJQo9UdQdUJYuB+Mf6HxtJSPN35vez1hlrNb1KajvKWF5Sa35j17+rW1ECEO9iNrIXbNg== +"@esbuild/linux-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz#8a0e9738b1635f0c53389e515ae83826dec22aa4" + integrity sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw== "@esbuild/linux-x64@0.17.6": version "0.17.6" resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.6.tgz#ba51f8760a9b9370a2530f98964be5f09d90fed0" integrity sha512-a3yHLmOodHrzuNgdpB7peFGPx1iJ2x6m+uDvhP2CKdr2CwOaqEFMeSqYAHU7hG+RjCq8r2NFujcd/YsEsFgTGw== +"@esbuild/linux-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz#c7690b3417af318a9b6f96df3031a8865176d338" + integrity sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w== + "@esbuild/netbsd-x64@0.16.3": version "0.16.3" resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.3.tgz#e0270569567f1530b8dbe6d11d5b4930b9cc71ae" integrity sha512-AzbsJqiHEq1I/tUvOfAzCY15h4/7Ivp3ff/o1GpP16n48JMNAtbW0qui2WCgoIZArEHD0SUQ95gvR0oSO7ZbdA== -"@esbuild/netbsd-x64@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.15.tgz#8da299b3ac6875836ca8cdc1925826498069ac65" - integrity sha512-R6fKjtUysYGym6uXf6qyNephVUQAGtf3n2RCsOST/neIwPqRWcnc3ogcielOd6pT+J0RDR1RGcy0ZY7d3uHVLA== +"@esbuild/netbsd-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz#c29fb2453c6b7ddef9a35e2c18b37bda1ae5c462" + integrity sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q== "@esbuild/netbsd-x64@0.17.6": version "0.17.6" resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.6.tgz#e84d6b6fdde0261602c1e56edbb9e2cb07c211b9" integrity sha512-EanJqcU/4uZIBreTrnbnre2DXgXSa+Gjap7ifRfllpmyAU7YMvaXmljdArptTHmjrkkKm9BK6GH5D5Yo+p6y5A== +"@esbuild/netbsd-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz#30e8cd8a3dded63975e2df2438ca109601ebe0d1" + integrity sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A== + "@esbuild/openbsd-x64@0.16.3": version "0.16.3" resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.3.tgz#3b16642d443848bca605f33ee3978a1890911e6d" integrity sha512-gSABi8qHl8k3Cbi/4toAzHiykuBuWLZs43JomTcXkjMZVkp0gj3gg9mO+9HJW/8GB5H89RX/V0QP4JGL7YEEVg== -"@esbuild/openbsd-x64@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.15.tgz#04a1ec3d4e919714dba68dcf09eeb1228ad0d20c" - integrity sha512-mVD4PGc26b8PI60QaPUltYKeSX0wxuy0AltC+WCTFwvKCq2+OgLP4+fFd+hZXzO2xW1HPKcytZBdjqL6FQFa7w== +"@esbuild/openbsd-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz#95e75a391403cb10297280d524d66ce04c920691" + integrity sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g== "@esbuild/openbsd-x64@0.17.6": version "0.17.6" resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.6.tgz#cf4b9fb80ce6d280a673d54a731d9c661f88b083" integrity sha512-xaxeSunhQRsTNGFanoOkkLtnmMn5QbA0qBhNet/XLVsc+OVkpIWPHcr3zTW2gxVU5YOHFbIHR9ODuaUdNza2Vw== +"@esbuild/openbsd-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz#7812af31b205055874c8082ea9cf9ab0da6217ae" + integrity sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg== + "@esbuild/sunos-x64@0.16.3": version "0.16.3" resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.3.tgz#a838f247867380f0ae25ce1936dc5ab6f57b7734" integrity sha512-SF9Kch5Ete4reovvRO6yNjMxrvlfT0F0Flm+NPoUw5Z4Q3r1d23LFTgaLwm3Cp0iGbrU/MoUI+ZqwCv5XJijCw== -"@esbuild/sunos-x64@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.15.tgz#6694ebe4e16e5cd7dab6505ff7c28f9c1c695ce5" - integrity sha512-U6tYPovOkw3459t2CBwGcFYfFRjivcJJc1WC8Q3funIwX8x4fP+R6xL/QuTPNGOblbq/EUDxj9GU+dWKX0oWlQ== +"@esbuild/sunos-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz#722eaf057b83c2575937d3ffe5aeb16540da7273" + integrity sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg== "@esbuild/sunos-x64@0.17.6": version "0.17.6" resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.6.tgz#a6838e246079b24d962b9dcb8d208a3785210a73" integrity sha512-gnMnMPg5pfMkZvhHee21KbKdc6W3GR8/JuE0Da1kjwpK6oiFU3nqfHuVPgUX2rsOx9N2SadSQTIYV1CIjYG+xw== +"@esbuild/sunos-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz#d5c275c3b4e73c9b0ecd38d1ca62c020f887ab9d" + integrity sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ== + "@esbuild/win32-arm64@0.16.3": version "0.16.3" resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.3.tgz#bedd9bef5fb41f89ce2599f1761973cf6d6a67b6" integrity sha512-u5aBonZIyGopAZyOnoPAA6fGsDeHByZ9CnEzyML9NqntK6D/xl5jteZUKm/p6nD09+v3pTM6TuUIqSPcChk5gg== -"@esbuild/win32-arm64@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.15.tgz#1f95b2564193c8d1fee8f8129a0609728171d500" - integrity sha512-W+Z5F++wgKAleDABemiyXVnzXgvRFs+GVKThSI+mGgleLWluv0D7Diz4oQpgdpNzh4i2nNDzQtWbjJiqutRp6Q== +"@esbuild/win32-arm64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz#9aa9dc074399288bdcdd283443e9aeb6b9552b6f" + integrity sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag== "@esbuild/win32-arm64@0.17.6": version "0.17.6" resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.6.tgz#ace0186e904d109ea4123317a3ba35befe83ac21" integrity sha512-G95n7vP1UnGJPsVdKXllAJPtqjMvFYbN20e8RK8LVLhlTiSOH1sd7+Gt7rm70xiG+I5tM58nYgwWrLs6I1jHqg== +"@esbuild/win32-arm64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz#73bc7f5a9f8a77805f357fab97f290d0e4820ac9" + integrity sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg== + "@esbuild/win32-ia32@0.16.3": version "0.16.3" resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.3.tgz#49800aa812d8cc35ceef61e8d3b01224684cc0b1" integrity sha512-GlgVq1WpvOEhNioh74TKelwla9KDuAaLZrdxuuUgsP2vayxeLgVc+rbpIv0IYF4+tlIzq2vRhofV+KGLD+37EQ== -"@esbuild/win32-ia32@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.15.tgz#c362b88b3df21916ed7bcf75c6d09c6bf3ae354a" - integrity sha512-Muz/+uGgheShKGqSVS1KsHtCyEzcdOn/W/Xbh6H91Etm+wiIfwZaBn1W58MeGtfI8WA961YMHFYTthBdQs4t+w== +"@esbuild/win32-ia32@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz#95ad43c62ad62485e210f6299c7b2571e48d2b03" + integrity sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw== "@esbuild/win32-ia32@0.17.6": version "0.17.6" resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.6.tgz#7fb3f6d4143e283a7f7dffc98a6baf31bb365c7e" integrity sha512-96yEFzLhq5bv9jJo5JhTs1gI+1cKQ83cUpyxHuGqXVwQtY5Eq54ZEsKs8veKtiKwlrNimtckHEkj4mRh4pPjsg== +"@esbuild/win32-ia32@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz#ec93cbf0ef1085cc12e71e0d661d20569ff42102" + integrity sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g== + "@esbuild/win32-x64@0.16.3": version "0.16.3" resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.3.tgz#94047dae921949cfb308117d993c4b941291ae10" integrity sha512-5/JuTd8OWW8UzEtyf19fbrtMJENza+C9JoPIkvItgTBQ1FO2ZLvjbPO6Xs54vk0s5JB5QsfieUEshRQfu7ZHow== -"@esbuild/win32-x64@0.17.15": - version "0.17.15" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.15.tgz#c2e737f3a201ebff8e2ac2b8e9f246b397ad19b8" - integrity sha512-DjDa9ywLUUmjhV2Y9wUTIF+1XsmuFGvZoCmOWkli1XcNAh5t25cc7fgsCx4Zi/Uurep3TTLyDiKATgGEg61pkA== +"@esbuild/win32-x64@0.17.19": + version "0.17.19" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz#8cfaf2ff603e9aabb910e9c0558c26cf32744061" + integrity sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA== "@esbuild/win32-x64@0.17.6": version "0.17.6" resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.6.tgz#563ff4277f1230a006472664fa9278a83dd124da" integrity sha512-n6d8MOyUrNp6G4VSpRcgjs5xj4A91svJSaiwLIDWVWEsZtpN5FA9NlBbZHDmAJc2e8e6SF4tkBD3HAvPF+7igA== +"@esbuild/win32-x64@0.18.20": + version "0.18.20" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d" + integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ== + +"@eslint-community/eslint-utils@^4.2.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + dependencies: + eslint-visitor-keys "^3.3.0" + +"@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.6.1": + version "4.10.0" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" + integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== + +"@eslint/eslintrc@^2.1.3": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.3.tgz#797470a75fe0fbd5a53350ee715e85e87baff22d" + integrity sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.6.0" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@eslint/js@8.54.0": + version "8.54.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.54.0.tgz#4fab9a2ff7860082c304f750e94acd644cf984cf" + integrity sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ== + +"@ethereum-waffle/chai@4.0.10": + version "4.0.10" + resolved "https://registry.yarnpkg.com/@ethereum-waffle/chai/-/chai-4.0.10.tgz#6f600a40b6fdaed331eba42b8625ff23f3a0e59a" + integrity sha512-X5RepE7Dn8KQLFO7HHAAe+KeGaX/by14hn90wePGBhzL54tq4Y8JscZFu+/LCwCl6TnkAAy5ebiMoqJ37sFtWw== + dependencies: + "@ethereum-waffle/provider" "4.0.5" + debug "^4.3.4" + json-bigint "^1.0.0" + +"@ethereum-waffle/compiler@4.0.3": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@ethereum-waffle/compiler/-/compiler-4.0.3.tgz#069e2df24b879b8a7b78857bad6f8bf6ebc8a5b1" + integrity sha512-5x5U52tSvEVJS6dpCeXXKvRKyf8GICDwiTwUvGD3/WD+DpvgvaoHOL82XqpTSUHgV3bBq6ma5/8gKUJUIAnJCw== + dependencies: + "@resolver-engine/imports" "^0.3.3" + "@resolver-engine/imports-fs" "^0.3.3" + "@typechain/ethers-v5" "^10.0.0" + "@types/mkdirp" "^0.5.2" + "@types/node-fetch" "^2.6.1" + mkdirp "^0.5.1" + node-fetch "^2.6.7" + +"@ethereum-waffle/ens@4.0.3": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@ethereum-waffle/ens/-/ens-4.0.3.tgz#4a46ac926414f3c83b4e8cc2562c8e2aee06377a" + integrity sha512-PVLcdnTbaTfCrfSOrvtlA9Fih73EeDvFS28JQnT5M5P4JMplqmchhcZB1yg/fCtx4cvgHlZXa0+rOCAk2Jk0Jw== + +"@ethereum-waffle/mock-contract@4.0.4": + version "4.0.4" + resolved "https://registry.yarnpkg.com/@ethereum-waffle/mock-contract/-/mock-contract-4.0.4.tgz#f13fea29922d87a4d2e7c4fc8fe72ea04d2c13de" + integrity sha512-LwEj5SIuEe9/gnrXgtqIkWbk2g15imM/qcJcxpLyAkOj981tQxXmtV4XmQMZsdedEsZ/D/rbUAOtZbgwqgUwQA== + +"@ethereum-waffle/provider@4.0.5": + version "4.0.5" + resolved "https://registry.yarnpkg.com/@ethereum-waffle/provider/-/provider-4.0.5.tgz#8a65dbf0263f4162c9209608205dee1c960e716b" + integrity sha512-40uzfyzcrPh+Gbdzv89JJTMBlZwzya1YLDyim8mVbEqYLP5VRYWoGp0JMyaizgV3hMoUFRqJKVmIUw4v7r3hYw== + dependencies: + "@ethereum-waffle/ens" "4.0.3" + "@ganache/ethereum-options" "0.1.4" + debug "^4.3.4" + ganache "7.4.3" + +"@ethereumjs/block@^3.5.0", "@ethereumjs/block@^3.6.0", "@ethereumjs/block@^3.6.2": + version "3.6.3" + resolved "https://registry.yarnpkg.com/@ethereumjs/block/-/block-3.6.3.tgz#d96cbd7af38b92ebb3424223dbf773f5ccd27f84" + integrity sha512-CegDeryc2DVKnDkg5COQrE0bJfw/p0v3GBk2W5/Dj5dOVfEmb50Ux0GLnSPypooLnfqjwFaorGuT9FokWB3GRg== + dependencies: + "@ethereumjs/common" "^2.6.5" + "@ethereumjs/tx" "^3.5.2" + ethereumjs-util "^7.1.5" + merkle-patricia-tree "^4.2.4" + +"@ethereumjs/blockchain@^5.5.0": + version "5.5.3" + resolved "https://registry.yarnpkg.com/@ethereumjs/blockchain/-/blockchain-5.5.3.tgz#aa49a6a04789da6b66b5bcbb0d0b98efc369f640" + integrity sha512-bi0wuNJ1gw4ByNCV56H0Z4Q7D+SxUbwyG12Wxzbvqc89PXLRNR20LBcSUZRKpN0+YCPo6m0XZL/JLio3B52LTw== + dependencies: + "@ethereumjs/block" "^3.6.2" + "@ethereumjs/common" "^2.6.4" + "@ethereumjs/ethash" "^1.1.0" + debug "^4.3.3" + ethereumjs-util "^7.1.5" + level-mem "^5.0.1" + lru-cache "^5.1.1" + semaphore-async-await "^1.5.1" + +"@ethereumjs/common@2.6.0": + version "2.6.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.6.0.tgz#feb96fb154da41ee2cc2c5df667621a440f36348" + integrity sha512-Cq2qS0FTu6O2VU1sgg+WyU9Ps0M6j/BEMHN+hRaECXCV/r0aI78u4N6p52QW/BDVhwWZpCdrvG8X7NJdzlpNUA== + dependencies: + crc-32 "^1.2.0" + ethereumjs-util "^7.1.3" + +"@ethereumjs/common@^2.6.0", "@ethereumjs/common@^2.6.4", "@ethereumjs/common@^2.6.5": + version "2.6.5" + resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.6.5.tgz#0a75a22a046272579d91919cb12d84f2756e8d30" + integrity sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA== + dependencies: + crc-32 "^1.2.0" + ethereumjs-util "^7.1.5" + +"@ethereumjs/ethash@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/ethash/-/ethash-1.1.0.tgz#7c5918ffcaa9cb9c1dc7d12f77ef038c11fb83fb" + integrity sha512-/U7UOKW6BzpA+Vt+kISAoeDie1vAvY4Zy2KF5JJb+So7+1yKmJeJEHOGSnQIj330e9Zyl3L5Nae6VZyh2TJnAA== + dependencies: + "@ethereumjs/block" "^3.5.0" + "@types/levelup" "^4.3.0" + buffer-xor "^2.0.1" + ethereumjs-util "^7.1.1" + miller-rabin "^4.0.0" + +"@ethereumjs/tx@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.4.0.tgz#7eb1947eefa55eb9cf05b3ca116fb7a3dbd0bce7" + integrity sha512-WWUwg1PdjHKZZxPPo274ZuPsJCWV3SqATrEKQP1n2DrVYVP1aZIYpo/mFaA0BDoE0tIQmBeimRCEA0Lgil+yYw== + dependencies: + "@ethereumjs/common" "^2.6.0" + ethereumjs-util "^7.1.3" + +"@ethereumjs/tx@^3.4.0", "@ethereumjs/tx@^3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.5.2.tgz#197b9b6299582ad84f9527ca961466fce2296c1c" + integrity sha512-gQDNJWKrSDGu2w7w0PzVXVBNMzb7wwdDOmOqczmhNjqFxFuIbhVJDwiGEnxFNC2/b8ifcZzY7MLcluizohRzNw== + dependencies: + "@ethereumjs/common" "^2.6.4" + ethereumjs-util "^7.1.5" + +"@ethereumjs/vm@5.6.0": + version "5.6.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/vm/-/vm-5.6.0.tgz#e0ca62af07de820143674c30b776b86c1983a464" + integrity sha512-J2m/OgjjiGdWF2P9bj/4LnZQ1zRoZhY8mRNVw/N3tXliGI8ai1sI1mlDPkLpeUUM4vq54gH6n0ZlSpz8U/qlYQ== + dependencies: + "@ethereumjs/block" "^3.6.0" + "@ethereumjs/blockchain" "^5.5.0" + "@ethereumjs/common" "^2.6.0" + "@ethereumjs/tx" "^3.4.0" + async-eventemitter "^0.2.4" + core-js-pure "^3.0.1" + debug "^2.2.0" + ethereumjs-util "^7.1.3" + functional-red-black-tree "^1.0.1" + mcl-wasm "^0.7.1" + merkle-patricia-tree "^4.2.2" + rustbn.js "~0.2.0" + "@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" @@ -2305,31 +2588,129 @@ "@ethersproject/properties" "^5.7.0" "@ethersproject/strings" "^5.7.0" -"@floating-ui/core@^0.7.3": - version "0.7.3" - resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-0.7.3.tgz#d274116678ffae87f6b60e90f88cc4083eefab86" - integrity sha512-buc8BXHmG9l82+OQXOFU3Kr2XQx9ys01U/Q9HMIrZ300iLc8HLMgh7dcCqgYzAzf4BkoQvDcXf5Y+CuEZ5JBYg== +"@fal-works/esbuild-plugin-global-externals@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@fal-works/esbuild-plugin-global-externals/-/esbuild-plugin-global-externals-2.1.2.tgz#c05ed35ad82df8e6ac616c68b92c2282bd083ba4" + integrity sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ== -"@floating-ui/dom@^0.5.3": - version "0.5.4" - resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-0.5.4.tgz#4eae73f78bcd4bd553ae2ade30e6f1f9c73fe3f1" - integrity sha512-419BMceRLq0RrmTSDxn8hf9R3VCJv2K9PUfugh5JyEFmdjzDo+e8U5EdR8nzKq8Yj1htzLm3b6eQEEam3/rrtg== +"@floating-ui/core@^1.4.2": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.5.0.tgz#5c05c60d5ae2d05101c3021c1a2a350ddc027f8c" + integrity sha512-kK1h4m36DQ0UHGj5Ah4db7R0rHemTqqO0QLvUqi1/mUUp3LuAWbWxdxSIf/XsnH9VS6rRVPLJCncjRzUvyCLXg== + dependencies: + "@floating-ui/utils" "^0.1.3" + +"@floating-ui/dom@^1.5.1": + version "1.5.3" + resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.5.3.tgz#54e50efcb432c06c23cd33de2b575102005436fa" + integrity sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA== + dependencies: + "@floating-ui/core" "^1.4.2" + "@floating-ui/utils" "^0.1.3" + +"@floating-ui/react-dom@^2.0.0": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.0.4.tgz#b076fafbdfeb881e1d86ae748b7ff95150e9f3ec" + integrity sha512-CF8k2rgKeh/49UrnIBs4BdxPUV6vize/Db1d/YbCLyp9GiVZ0BEwf5AiDSxJRCr6yOkGqTFHtmrULxkEfYZ7dQ== dependencies: - "@floating-ui/core" "^0.7.3" + "@floating-ui/dom" "^1.5.1" -"@floating-ui/react-dom@0.7.2": - version "0.7.2" - resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-0.7.2.tgz#0bf4ceccb777a140fc535c87eb5d6241c8e89864" - integrity sha512-1T0sJcpHgX/u4I1OzIEhlcrvkUN8ln39nz7fMoE/2HDHrPiMFoOGR7++GYyfUmIQHkkrTinaeQsO3XWubjSvGg== +"@floating-ui/utils@^0.1.3": + version "0.1.6" + resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.1.6.tgz#22958c042e10b67463997bd6ea7115fe28cbcaf9" + integrity sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A== + +"@ganache/ethereum-address@0.1.4": + version "0.1.4" + resolved "https://registry.yarnpkg.com/@ganache/ethereum-address/-/ethereum-address-0.1.4.tgz#0e6d66f4a24f64bf687cb3ff7358fb85b9d9005e" + integrity sha512-sTkU0M9z2nZUzDeHRzzGlW724xhMLXo2LeX1hixbnjHWY1Zg1hkqORywVfl+g5uOO8ht8T0v+34IxNxAhmWlbw== dependencies: - "@floating-ui/dom" "^0.5.3" - use-isomorphic-layout-effect "^1.1.1" + "@ganache/utils" "0.1.4" + +"@ganache/ethereum-options@0.1.4": + version "0.1.4" + resolved "https://registry.yarnpkg.com/@ganache/ethereum-options/-/ethereum-options-0.1.4.tgz#6a559abb44225e2b8741a8f78a19a46714a71cd6" + integrity sha512-i4l46taoK2yC41FPkcoDlEVoqHS52wcbHPqJtYETRWqpOaoj9hAg/EJIHLb1t6Nhva2CdTO84bG+qlzlTxjAHw== + dependencies: + "@ganache/ethereum-address" "0.1.4" + "@ganache/ethereum-utils" "0.1.4" + "@ganache/options" "0.1.4" + "@ganache/utils" "0.1.4" + bip39 "3.0.4" + seedrandom "3.0.5" + +"@ganache/ethereum-utils@0.1.4": + version "0.1.4" + resolved "https://registry.yarnpkg.com/@ganache/ethereum-utils/-/ethereum-utils-0.1.4.tgz#fae4b5b9e642e751ff1fa0cd7316c92996317257" + integrity sha512-FKXF3zcdDrIoCqovJmHLKZLrJ43234Em2sde/3urUT/10gSgnwlpFmrv2LUMAmSbX3lgZhW/aSs8krGhDevDAg== + dependencies: + "@ethereumjs/common" "2.6.0" + "@ethereumjs/tx" "3.4.0" + "@ethereumjs/vm" "5.6.0" + "@ganache/ethereum-address" "0.1.4" + "@ganache/rlp" "0.1.4" + "@ganache/utils" "0.1.4" + emittery "0.10.0" + ethereumjs-abi "0.6.8" + ethereumjs-util "7.1.3" + +"@ganache/options@0.1.4": + version "0.1.4" + resolved "https://registry.yarnpkg.com/@ganache/options/-/options-0.1.4.tgz#325b07e6de85094667aaaaf3d653e32404a04b78" + integrity sha512-zAe/craqNuPz512XQY33MOAG6Si1Xp0hCvfzkBfj2qkuPcbJCq6W/eQ5MB6SbXHrICsHrZOaelyqjuhSEmjXRw== + dependencies: + "@ganache/utils" "0.1.4" + bip39 "3.0.4" + seedrandom "3.0.5" + +"@ganache/rlp@0.1.4": + version "0.1.4" + resolved "https://registry.yarnpkg.com/@ganache/rlp/-/rlp-0.1.4.tgz#f4043afda83e1a14a4f80607b103daf166a9b374" + integrity sha512-Do3D1H6JmhikB+6rHviGqkrNywou/liVeFiKIpOBLynIpvZhRCgn3SEDxyy/JovcaozTo/BynHumfs5R085MFQ== + dependencies: + "@ganache/utils" "0.1.4" + rlp "2.2.6" + +"@ganache/utils@0.1.4": + version "0.1.4" + resolved "https://registry.yarnpkg.com/@ganache/utils/-/utils-0.1.4.tgz#25d60d7689e3dda6a8a7ad70e3646f07c2c39a1f" + integrity sha512-oatUueU3XuXbUbUlkyxeLLH3LzFZ4y5aSkNbx6tjSIhVTPeh+AuBKYt4eQ73FFcTB3nj/gZoslgAh5CN7O369w== + dependencies: + emittery "0.10.0" + keccak "3.0.1" + seedrandom "3.0.5" + optionalDependencies: + "@trufflesuite/bigint-buffer" "1.1.9" "@gar/promisify@^1.0.1": version "1.1.3" resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== +"@humanwhocodes/config-array@^0.11.13": + version "0.11.13" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.13.tgz#075dc9684f40a531d9b26b0822153c1e832ee297" + integrity sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ== + dependencies: + "@humanwhocodes/object-schema" "^2.0.1" + debug "^4.1.1" + minimatch "^3.0.5" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/object-schema@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz#e5211452df060fa8522b55c7b3c0c4d1981cb044" + integrity sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw== + +"@hutson/parse-repository-url@^3.0.0": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz#98c23c950a3d9b6c8f0daed06da6c3af06981340" + integrity sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q== + "@hypnosphi/create-react-context@^0.3.1": version "0.3.1" resolved "https://registry.yarnpkg.com/@hypnosphi/create-react-context/-/create-react-context-0.3.1.tgz#f8bfebdc7665f5d426cba3753e0e9c7d3154d7c6" @@ -2343,6 +2724,18 @@ resolved "https://registry.yarnpkg.com/@icons/material/-/material-0.2.4.tgz#e90c9f71768b3736e76d7dd6783fc6c2afa88bc8" integrity sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw== +"@improbable-eng/grpc-web@^0.14.1": + version "0.14.1" + resolved "https://registry.yarnpkg.com/@improbable-eng/grpc-web/-/grpc-web-0.14.1.tgz#f4662f64dc89c0f956a94bb8a3b576556c74589c" + integrity sha512-XaIYuunepPxoiGVLLHmlnVminUGzBTnXr8Wv7khzmLWbNw4TCwJKX09GSMJlKhu/TRk6gms0ySFxewaETSBqgw== + dependencies: + browser-headers "^0.4.1" + +"@ioredis/commands@^1.1.1": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@ioredis/commands/-/commands-1.2.0.tgz#6d61b3097470af1fdbbe622795b8921d42018e11" + integrity sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg== + "@iov/crypto@2.1.0": version "2.1.0" resolved "https://registry.yarnpkg.com/@iov/crypto/-/crypto-2.1.0.tgz#10e91b6692e154958c11626dfd096a80e8a481a4" @@ -2385,6 +2778,18 @@ resolved "https://registry.yarnpkg.com/@iov/utils/-/utils-2.0.2.tgz#3527f376d26100e07ac823bf87bebd0f24680d1c" integrity sha512-4D8MEvTcFc/DVy5q25vHxRItmgJyeX85dixMH+MxdKr+yy71h3sYk+sVBEIn70uqGP7VqAJkGOPNFs08/XYELw== +"@isaacs/cliui@^8.0.2": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" + integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== + dependencies: + string-width "^5.1.2" + string-width-cjs "npm:string-width@^4.2.0" + strip-ansi "^7.0.1" + strip-ansi-cjs "npm:strip-ansi@^6.0.1" + wrap-ansi "^8.1.0" + wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" + "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" @@ -2507,6 +2912,13 @@ optionalDependencies: node-notifier "^6.0.0" +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== + dependencies: + "@sinclair/typebox" "^0.27.8" + "@jest/source-map@^25.5.0": version "25.5.0" resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-25.5.0.tgz#df5c20d6050aa292c2c6d3f0d2c7606af315bd1b" @@ -2559,26 +2971,26 @@ source-map "^0.6.1" write-file-atomic "^3.0.0" -"@jest/transform@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" - integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== +"@jest/transform@^29.3.1": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c" + integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^26.6.2" - babel-plugin-istanbul "^6.0.0" + "@babel/core" "^7.11.6" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" + babel-plugin-istanbul "^6.1.1" chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-regex-util "^26.0.0" - jest-util "^26.6.2" - micromatch "^4.0.2" - pirates "^4.0.1" + convert-source-map "^2.0.0" + fast-json-stable-stringify "^2.1.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + micromatch "^4.0.4" + pirates "^4.0.4" slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" + write-file-atomic "^4.0.2" "@jest/types@^25.5.0": version "25.5.0" @@ -2590,56 +3002,49 @@ "@types/yargs" "^15.0.0" chalk "^3.0.0" -"@jest/types@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" - integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== +"@jest/types@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" + integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== dependencies: + "@jest/schemas" "^29.6.3" "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^3.0.0" "@types/node" "*" - "@types/yargs" "^15.0.0" + "@types/yargs" "^17.0.8" chalk "^4.0.0" -"@jridgewell/gen-mapping@^0.1.0": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" - integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== - dependencies: - "@jridgewell/set-array" "^1.0.0" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" - integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== + version "0.3.3" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== dependencies: "@jridgewell/set-array" "^1.0.1" "@jridgewell/sourcemap-codec" "^1.4.10" "@jridgewell/trace-mapping" "^0.3.9" -"@jridgewell/resolve-uri@3.1.0", "@jridgewell/resolve-uri@^3.0.3": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" - integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== +"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" + integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== -"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": +"@jridgewell/set-array@^1.0.1": version "1.1.2" resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== -"@jridgewell/source-map@^0.3.2": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb" - integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== +"@jridgewell/source-map@^0.3.3": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.5.tgz#a3bb4d5c6825aab0d281268f47f6ad5853431e91" + integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== dependencies: "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" -"@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.14" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== "@jridgewell/trace-mapping@0.3.9": version "0.3.9" @@ -2649,38 +3054,18 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.17" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" - integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== - dependencies: - "@jridgewell/resolve-uri" "3.1.0" - "@jridgewell/sourcemap-codec" "1.4.14" - -"@json-rpc-tools/provider@^1.5.5": - version "1.7.6" - resolved "https://registry.yarnpkg.com/@json-rpc-tools/provider/-/provider-1.7.6.tgz#8a17c34c493fa892632e278fd9331104e8491ec6" - integrity sha512-z7D3xvJ33UfCGv77n40lbzOYjZKVM3k2+5cV7xS8G6SCvKTzMkhkUYuD/qzQUNT4cG/lv0e9mRToweEEVLVVmA== - dependencies: - "@json-rpc-tools/utils" "^1.7.6" - axios "^0.21.0" - safe-json-utils "^1.1.1" - ws "^7.4.0" - -"@json-rpc-tools/types@^1.7.6": - version "1.7.6" - resolved "https://registry.yarnpkg.com/@json-rpc-tools/types/-/types-1.7.6.tgz#5abd5fde01364a130c46093b501715bcce5bdc0e" - integrity sha512-nDSqmyRNEqEK9TZHtM15uNnDljczhCUdBmRhpNZ95bIPKEDQ+nTDmGMFd2lLin3upc5h2VVVd9tkTDdbXUhDIQ== +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.20" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz#72e45707cf240fa6b081d0366f8265b0cd10197f" + integrity sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q== dependencies: - keyvaluestorage-interface "^1.0.0" + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" -"@json-rpc-tools/utils@^1.7.6": - version "1.7.6" - resolved "https://registry.yarnpkg.com/@json-rpc-tools/utils/-/utils-1.7.6.tgz#67f04987dbaa2e7adb6adff1575367b75a9a9ba1" - integrity sha512-HjA8x/U/Q78HRRe19yh8HVKoZ+Iaoo3YZjakJYxR+rw52NHo6jM+VE9b8+7ygkCFXl/EHID5wh/MkXaE/jGyYw== - dependencies: - "@json-rpc-tools/types" "^1.7.6" - "@pedrouid/environment" "^1.0.1" +"@juggle/resize-observer@^3.3.1": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@juggle/resize-observer/-/resize-observer-3.4.0.tgz#08d6c5e20cf7e4cc02fd181c4b0c225cd31dbb60" + integrity sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA== "@keplr-wallet/cosmos@^0.9.12": version "0.9.16" @@ -2709,10 +3094,15 @@ elliptic "^6.5.3" sha.js "^2.4.11" +"@keplr-wallet/simple-fetch@^0.12.14": + version "0.12.44" + resolved "https://registry.yarnpkg.com/@keplr-wallet/simple-fetch/-/simple-fetch-0.12.44.tgz#168c48638f592fe4cc5fe03e57eccc46a06284d7" + integrity sha512-lwTfB6g9XxZR94EBsPFuQida9HLTi67iOQtSw3JUKS6UMUNR9NrvHHrEf6F+CdBpgv5TJ0yKKQGm8+KbUhPSnw== + "@keplr-wallet/types@^0.11.21": - version "0.11.52" - resolved "https://registry.yarnpkg.com/@keplr-wallet/types/-/types-0.11.52.tgz#a4dd652403d2ed5849a58ea7c4595034f7a5a0e3" - integrity sha512-2LyOnaZpyjw5DiyJIG/L73PD/n284GrvhGjAkaTKantx70VGNgH/3x0DwjKpevRRxcuJ+2+A0LkHgkXIpD7YhQ== + version "0.11.64" + resolved "https://registry.yarnpkg.com/@keplr-wallet/types/-/types-0.11.64.tgz#5a308c8c019b4e18f894e0f35f0904b60134d605" + integrity sha512-GgzeLDHHfZFyne3O7UIfFHj/uYqVbxAZI31RbBwt460OBbvwQzjrlZwvJW3vieWRAgxKSITjzEDBl2WneFTQdQ== dependencies: axios "^0.27.2" long "^4.0.0" @@ -2737,127 +3127,166 @@ big-integer "^1.6.48" utility-types "^3.10.0" -"@ledgerhq/devices@^5.51.1": - version "5.51.1" - resolved "https://registry.yarnpkg.com/@ledgerhq/devices/-/devices-5.51.1.tgz#d741a4a5d8f17c2f9d282fd27147e6fe1999edb7" - integrity sha512-4w+P0VkbjzEXC7kv8T1GJ/9AVaP9I6uasMZ/JcdwZBS3qwvKo5A5z9uGhP5c7TvItzcmPb44b5Mw2kT+WjUuAA== +"@lezer/common@^1.0.0": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@lezer/common/-/common-1.1.1.tgz#4a06a0e1b9214d7eb2ea4a9354d47a63044cee49" + integrity sha512-aAPB9YbvZHqAW+bIwiuuTDGB4DG0sYNRObGLxud8cW7osw1ZQxfDuTZ8KQiqfZ0QJGcR34CvpTMDXEyo/+Htgg== + +"@lezer/lr@^1.0.0": + version "1.3.14" + resolved "https://registry.yarnpkg.com/@lezer/lr/-/lr-1.3.14.tgz#59d4a3b25698bdac0ef182fa6eadab445fc4f29a" + integrity sha512-z5mY4LStlA3yL7aHT/rqgG614cfcvklS+8oFRFBYrs4YaWLJyKKM4+nN6KopToX0o9Hj6zmH6M5kinOYuy06ug== dependencies: - "@ledgerhq/errors" "^5.50.0" - "@ledgerhq/logs" "^5.50.0" - rxjs "6" - semver "^7.3.5" + "@lezer/common" "^1.0.0" -"@ledgerhq/errors@^5.34.0", "@ledgerhq/errors@^5.50.0": - version "5.50.0" - resolved "https://registry.yarnpkg.com/@ledgerhq/errors/-/errors-5.50.0.tgz#e3a6834cb8c19346efca214c1af84ed28e69dad9" - integrity sha512-gu6aJ/BHuRlpU7kgVpy2vcYk6atjB4iauP2ymF7Gk0ez0Y/6VSMVSJvubeEQN+IV60+OBK0JgeIZG7OiHaw8ow== - -"@ledgerhq/hw-transport-node-hid-noevents@^5.51.1": - version "5.51.1" - resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport-node-hid-noevents/-/hw-transport-node-hid-noevents-5.51.1.tgz#71f37f812e448178ad0bcc2258982150d211c1ab" - integrity sha512-9wFf1L8ZQplF7XOY2sQGEeOhpmBRzrn+4X43kghZ7FBDoltrcK+s/D7S+7ffg3j2OySyP6vIIIgloXylao5Scg== - dependencies: - "@ledgerhq/devices" "^5.51.1" - "@ledgerhq/errors" "^5.50.0" - "@ledgerhq/hw-transport" "^5.51.1" - "@ledgerhq/logs" "^5.50.0" - node-hid "2.1.1" - -"@ledgerhq/hw-transport-node-hid@^5.10.0": - version "5.51.1" - resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport-node-hid/-/hw-transport-node-hid-5.51.1.tgz#fe8eb81e18929663540698c80905952cdbe542d5" - integrity sha512-Y2eVCCdhVs2Lfr7N2x2cNb+ogcZ24ZATO4QxaQ7LogjiPwYmzmvuXFn8zFjMSrKUCn9CtbptXcuiu0NkGsjWlw== - dependencies: - "@ledgerhq/devices" "^5.51.1" - "@ledgerhq/errors" "^5.50.0" - "@ledgerhq/hw-transport" "^5.51.1" - "@ledgerhq/hw-transport-node-hid-noevents" "^5.51.1" - "@ledgerhq/logs" "^5.50.0" - lodash "^4.17.21" - node-hid "2.1.1" - usb "^1.7.0" - -"@ledgerhq/hw-transport-u2f@^5.9.0": - version "5.34.0" - resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport-u2f/-/hw-transport-u2f-5.34.0.tgz#53466e4f07e177ec29b1ea061b6c56a57439a0cd" - integrity sha512-EM6LcbdD6Xo/msedbAWalBZlv89XAZrAZwL5zN9eKlUcWPjjG8c9+t5NedR/jmIaGuzIUVseUCIRxczqd5byOw== - dependencies: - "@ledgerhq/errors" "^5.34.0" - "@ledgerhq/hw-transport" "^5.34.0" - "@ledgerhq/logs" "^5.30.0" - u2f-api "0.2.7" - -"@ledgerhq/hw-transport-web-ble@^5.9.0": - version "5.51.1" - resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport-web-ble/-/hw-transport-web-ble-5.51.1.tgz#b8da62f09b82f79fa0969f74364e3b6b1bd0ee87" - integrity sha512-IQmn41C1ohYJKcuEUUrrjhlwaCcqa4cberAfrSICvec9YMFMzKJjvbD42eyyVLNXHMEBKmH5haCUN7fWlPppXw== - dependencies: - "@ledgerhq/devices" "^5.51.1" - "@ledgerhq/errors" "^5.50.0" - "@ledgerhq/hw-transport" "^5.51.1" - "@ledgerhq/logs" "^5.50.0" - rxjs "6" - -"@ledgerhq/hw-transport@^5.34.0", "@ledgerhq/hw-transport@^5.51.1": - version "5.51.1" - resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport/-/hw-transport-5.51.1.tgz#8dd14a8e58cbee4df0c29eaeef983a79f5f22578" - integrity sha512-6wDYdbWrw9VwHIcoDnqWBaDFyviyjZWv6H9vz9Vyhe4Qd7TIFmbTl/eWs6hZvtZBza9K8y7zD8ChHwRI4s9tSw== - dependencies: - "@ledgerhq/devices" "^5.51.1" - "@ledgerhq/errors" "^5.50.0" - events "^3.3.0" +"@lingui/babel-plugin-extract-messages@4.5.0": + version "4.5.0" + resolved "https://registry.yarnpkg.com/@lingui/babel-plugin-extract-messages/-/babel-plugin-extract-messages-4.5.0.tgz#71e56cc2eae73890caeea15a00ae4965413430ec" + integrity sha512-jZq3Gbi691jsHyQ4+OPnGgIqZt5eKEGnmI75akYlZpwTPxF7n+hiuKlQS+YB3xfKvcvlAED76ZAMCcwYG5fNrQ== -"@ledgerhq/logs@^5.30.0", "@ledgerhq/logs@^5.50.0": - version "5.50.0" - resolved "https://registry.yarnpkg.com/@ledgerhq/logs/-/logs-5.50.0.tgz#29c6419e8379d496ab6d0426eadf3c4d100cd186" - integrity sha512-swKHYCOZUGyVt4ge0u8a7AwNcA//h4nx5wIi0sruGye1IJ5Cva0GyK9L2/WdX+kWVTKp92ZiEo1df31lrWGPgA== +"@lingui/cli@^4.2.1": + version "4.5.0" + resolved "https://registry.yarnpkg.com/@lingui/cli/-/cli-4.5.0.tgz#fb8685cb682cf624b6e5b6d1207f8127b98ed95a" + integrity sha512-MzhxNUNd+YYEmK79TwmneUow5BuLwpOlrUrZq9EyIAWUM4N6kkCVkZ8VIMYCL4TXGQ4kBQjstgDpkF8wdFRtNg== + dependencies: + "@babel/core" "^7.21.0" + "@babel/generator" "^7.21.1" + "@babel/parser" "^7.21.2" + "@babel/runtime" "^7.21.0" + "@babel/types" "^7.21.2" + "@lingui/babel-plugin-extract-messages" "4.5.0" + "@lingui/conf" "4.5.0" + "@lingui/core" "4.5.0" + "@lingui/format-po" "4.5.0" + "@lingui/message-utils" "4.5.0" + babel-plugin-macros "^3.0.1" + chalk "^4.1.0" + chokidar "3.5.1" + cli-table "0.3.6" + commander "^10.0.0" + convert-source-map "^2.0.0" + date-fns "^2.16.1" + esbuild "^0.17.10" + glob "^7.1.4" + inquirer "^7.3.3" + micromatch "4.0.2" + normalize-path "^3.0.0" + ora "^5.1.0" + pathe "^1.1.0" + pkg-up "^3.1.0" + pofile "^1.1.4" + pseudolocale "^2.0.0" + ramda "^0.27.1" + source-map "^0.8.0-beta.0" -"@lezer/common@^0.15.0", "@lezer/common@^0.15.7": - version "0.15.12" - resolved "https://registry.yarnpkg.com/@lezer/common/-/common-0.15.12.tgz#2f21aec551dd5fd7d24eb069f90f54d5bc6ee5e9" - integrity sha512-edfwCxNLnzq5pBA/yaIhwJ3U3Kz8VAUOTRg0hhxaizaI1N+qxV7EXDv/kLCkLeq2RzSFvxexlaj5Mzfn2kY0Ig== +"@lingui/conf@4.5.0": + version "4.5.0" + resolved "https://registry.yarnpkg.com/@lingui/conf/-/conf-4.5.0.tgz#09b39de3a03a9017cd8299b1d8df923c78447ebf" + integrity sha512-OBm4RQQtbpvmuazLWVpvpaOpt/xvu1PBv8WUX8QoW1vsROe/3P5BpRHRYFyMeZz5mhORJgis9lQtDTq145Ruug== + dependencies: + "@babel/runtime" "^7.20.13" + chalk "^4.1.0" + cosmiconfig "^8.0.0" + jest-validate "^29.4.3" + jiti "^1.17.1" + lodash.get "^4.4.2" -"@lezer/lr@^0.15.4": - version "0.15.8" - resolved "https://registry.yarnpkg.com/@lezer/lr/-/lr-0.15.8.tgz#1564a911e62b0a0f75ca63794a6aa8c5dc63db21" - integrity sha512-bM6oE6VQZ6hIFxDNKk8bKPa14hqFrV07J/vHGOeiAbJReIaQXmkVb6xQu4MR+JBTLa5arGRyAAjJe1qaQt3Uvg== +"@lingui/core@4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@lingui/core/-/core-4.2.1.tgz#60026b68143b76a25ae1de129c76e6ecb98b037e" + integrity sha512-928PI3fftk/owl1ZPqcK60DgUUktGW5RrMZJdNSxMBpmGtUqOQuj/WW7w69sUFefqsOGOpUY6lR75dwhgqywEA== dependencies: - "@lezer/common" "^0.15.0" + "@babel/runtime" "^7.20.13" + "@lingui/message-utils" "4.2.1" + unraw "^2.0.1" -"@lmdb/lmdb-darwin-arm64@2.5.2": - version "2.5.2" - resolved "https://registry.yarnpkg.com/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.5.2.tgz#bc66fa43286b5c082e8fee0eacc17995806b6fbe" - integrity sha512-+F8ioQIUN68B4UFiIBYu0QQvgb9FmlKw2ctQMSBfW2QBrZIxz9vD9jCGqTCPqZBRbPHAS/vG1zSXnKqnS2ch/A== +"@lingui/core@4.5.0": + version "4.5.0" + resolved "https://registry.yarnpkg.com/@lingui/core/-/core-4.5.0.tgz#8b907238bd0b420b372272d0a757c56bed3aed14" + integrity sha512-8zTuIXJo5Qvjato7LWE6Q4RHiO4LjTBVOoRlqfOGYDp8VZ9w9P7Z7IJgxI7UP5Z1wiuEvnMdVF9I1C4acqXGlQ== + dependencies: + "@babel/runtime" "^7.20.13" + "@lingui/message-utils" "4.5.0" + unraw "^3.0.0" -"@lmdb/lmdb-darwin-x64@2.5.2": - version "2.5.2" - resolved "https://registry.yarnpkg.com/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-2.5.2.tgz#89d8390041bce6bab24a82a20392be22faf54ffc" - integrity sha512-KvPH56KRLLx4KSfKBx0m1r7GGGUMXm0jrKmNE7plbHlesZMuPJICtn07HYgQhj1LNsK7Yqwuvnqh1QxhJnF1EA== +"@lingui/format-po@4.5.0": + version "4.5.0" + resolved "https://registry.yarnpkg.com/@lingui/format-po/-/format-po-4.5.0.tgz#88dabeaa565ce5e4ff2a1b9865da7759b393af27" + integrity sha512-xQNzZ4RCQfh6TjzjUsyHz3B0R9FJuzhBit9R37NyMn6mL3kBTCUExpPczknm8gWZjtfFO4T8EH5eJhhC5vgJYg== + dependencies: + "@lingui/conf" "4.5.0" + "@lingui/message-utils" "4.5.0" + date-fns "^2.29.3" + pofile "^1.1.4" -"@lmdb/lmdb-linux-arm64@2.5.2": - version "2.5.2" - resolved "https://registry.yarnpkg.com/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-2.5.2.tgz#14fe4c96c2bb1285f93797f45915fa35ee047268" - integrity sha512-aLl89VHL/wjhievEOlPocoefUyWdvzVrcQ/MHQYZm2JfV1jUsrbr/ZfkPPUFvZBf+VSE+Q0clWs9l29PCX1hTQ== +"@lingui/message-utils@4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@lingui/message-utils/-/message-utils-4.2.1.tgz#586eb273359ada8c5e9e8816db28913b6218158e" + integrity sha512-131v+j82uS10gBDyjOBdKmQKKO1dc0nYx3MSUu9RK+EnPItRcaME3LBaJ4UJs5Nb1niZOX2yeMKarGAkvwFyPA== + dependencies: + "@messageformat/parser" "^5.0.0" -"@lmdb/lmdb-linux-arm@2.5.2": - version "2.5.2" - resolved "https://registry.yarnpkg.com/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-2.5.2.tgz#05bde4573ab10cf21827339fe687148f2590cfa1" - integrity sha512-5kQAP21hAkfW5Bl+e0P57dV4dGYnkNIpR7f/GAh6QHlgXx+vp/teVj4PGRZaKAvt0GX6++N6hF8NnGElLDuIDw== +"@lingui/message-utils@4.5.0": + version "4.5.0" + resolved "https://registry.yarnpkg.com/@lingui/message-utils/-/message-utils-4.5.0.tgz#7ae9dc6cb65cbb5e2dc1b8cdcc4c8b92d5c7189f" + integrity sha512-iRqh2wvNtzJO3NStB77nEXEfeI53aVVjzD7/mBrEm/P0lC7sqPHk0WBQCfzE0N9xm6a+XHmHu3J+x2nnQ2OjcA== + dependencies: + "@messageformat/parser" "^5.0.0" -"@lmdb/lmdb-linux-x64@2.5.2": - version "2.5.2" - resolved "https://registry.yarnpkg.com/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-2.5.2.tgz#d2f85afd857d2c33d2caa5b057944574edafcfee" - integrity sha512-xUdUfwDJLGjOUPH3BuPBt0NlIrR7f/QHKgu3GZIXswMMIihAekj2i97oI0iWG5Bok/b+OBjHPfa8IU9velnP/Q== +"@lingui/react@4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@lingui/react/-/react-4.2.1.tgz#33b6919dfa0330a7bccbd6e385473ff7964670f5" + integrity sha512-6VRKGFzQgEAxChLE5B7Pih7ZqAKS5PWzJtIP6O6amX6uVRxEJBIB/J4BtRNpt25Dz8WXf3C+9sSxskRNWtsZXQ== + dependencies: + "@babel/runtime" "^7.20.13" + "@lingui/core" "4.2.1" -"@lmdb/lmdb-win32-x64@2.5.2": - version "2.5.2" - resolved "https://registry.yarnpkg.com/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-2.5.2.tgz#28f643fbc0bec30b07fbe95b137879b6b4d1c9c5" - integrity sha512-zrBczSbXKxEyK2ijtbRdICDygRqWSRPpZMN5dD1T8VMEW5RIhIbwFWw2phDRXuBQdVDpSjalCIUMWMV2h3JaZA== +"@lit-labs/ssr-dom-shim@^1.0.0", "@lit-labs/ssr-dom-shim@^1.1.0": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.1.2.tgz#d693d972974a354034454ec1317eb6afd0b00312" + integrity sha512-jnOD+/+dSrfTWYfSXBXlo5l5f0q1UuJo3tkbMDCYA2lKUYq79jaxqtGEvnRoh049nt1vdo1+45RinipU6FGY2g== + +"@lit/reactive-element@^1.3.0", "@lit/reactive-element@^1.6.0": + version "1.6.3" + resolved "https://registry.yarnpkg.com/@lit/reactive-element/-/reactive-element-1.6.3.tgz#25b4eece2592132845d303e091bad9b04cdcfe03" + integrity sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ== + dependencies: + "@lit-labs/ssr-dom-shim" "^1.0.0" + +"@lmdb/lmdb-darwin-arm64@2.8.5": + version "2.8.5" + resolved "https://registry.yarnpkg.com/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.8.5.tgz#895d8cb16a9d709ce5fedd8b60022903b875e08e" + integrity sha512-KPDeVScZgA1oq0CiPBcOa3kHIqU+pTOwRFDIhxvmf8CTNvqdZQYp5cCKW0bUk69VygB2PuTiINFWbY78aR2pQw== + +"@lmdb/lmdb-darwin-x64@2.8.5": + version "2.8.5" + resolved "https://registry.yarnpkg.com/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-2.8.5.tgz#ca243534c8b37d5516c557e4624256d18dd63184" + integrity sha512-w/sLhN4T7MW1nB3R/U8WK5BgQLz904wh+/SmA2jD8NnF7BLLoUgflCNxOeSPOWp8geP6nP/+VjWzZVip7rZ1ug== + +"@lmdb/lmdb-linux-arm64@2.8.5": + version "2.8.5" + resolved "https://registry.yarnpkg.com/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-2.8.5.tgz#b44a8023057e21512eefb9f6120096843b531c1e" + integrity sha512-vtbZRHH5UDlL01TT5jB576Zox3+hdyogvpcbvVJlmU5PdL3c5V7cj1EODdh1CHPksRl+cws/58ugEHi8bcj4Ww== + +"@lmdb/lmdb-linux-arm@2.8.5": + version "2.8.5" + resolved "https://registry.yarnpkg.com/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-2.8.5.tgz#17bd54740779c3e4324e78e8f747c21416a84b3d" + integrity sha512-c0TGMbm2M55pwTDIfkDLB6BpIsgxV4PjYck2HiOX+cy/JWiBXz32lYbarPqejKs9Flm7YVAKSILUducU9g2RVg== + +"@lmdb/lmdb-linux-x64@2.8.5": + version "2.8.5" + resolved "https://registry.yarnpkg.com/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-2.8.5.tgz#6c61835b6cc58efdf79dbd5e8c72a38300a90302" + integrity sha512-Xkc8IUx9aEhP0zvgeKy7IQ3ReX2N8N1L0WPcQwnZweWmOuKfwpS3GRIYqLtK5za/w3E60zhFfNdS+3pBZPytqQ== + +"@lmdb/lmdb-win32-x64@2.8.5": + version "2.8.5" + resolved "https://registry.yarnpkg.com/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-2.8.5.tgz#8233e8762440b0f4632c47a09b1b6f23de8b934c" + integrity sha512-4wvrf5BgnR8RpogHhtpCPJMKBmvyZPhhUtEwMJbXh0ni2BucpfF07jlmyM11zRqQ2XIq6PbC2j7W7UCCcm1rRQ== "@mapbox/node-pre-gyp@^1.0.5": - version "1.0.10" - resolved "https://registry.yarnpkg.com/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz#8e6735ccebbb1581e5a7e652244cadc8a844d03c" - integrity sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA== + version "1.0.11" + resolved "https://registry.yarnpkg.com/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz#417db42b7f5323d79e93b34a6d7a2a12c0df43fa" + integrity sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ== dependencies: detect-libc "^2.0.0" https-proxy-agent "^5.0.0" @@ -2869,57 +3298,98 @@ semver "^7.3.5" tar "^6.1.11" -"@mdx-js/mdx@^1.6.22": - version "1.6.22" - resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-1.6.22.tgz#8a723157bf90e78f17dc0f27995398e6c731f1ba" - integrity sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA== - dependencies: - "@babel/core" "7.12.9" - "@babel/plugin-syntax-jsx" "7.12.1" - "@babel/plugin-syntax-object-rest-spread" "7.8.3" - "@mdx-js/util" "1.6.22" - babel-plugin-apply-mdx-type-prop "1.6.22" - babel-plugin-extract-import-names "1.6.22" - camelcase-css "2.0.1" - detab "2.0.4" - hast-util-raw "6.0.1" - lodash.uniq "4.5.0" - mdast-util-to-hast "10.0.1" - remark-footnotes "2.0.0" - remark-mdx "1.6.22" - remark-parse "8.0.3" - remark-squeeze-paragraphs "4.0.0" - style-to-object "0.3.0" - unified "9.2.0" - unist-builder "2.0.3" - unist-util-visit "2.0.3" - -"@mdx-js/react@^1.6.22": - version "1.6.22" - resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-1.6.22.tgz#ae09b4744fddc74714ee9f9d6f17a66e77c43573" - integrity sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg== - -"@mdx-js/util@1.6.22": - version "1.6.22" - resolved "https://registry.yarnpkg.com/@mdx-js/util/-/util-1.6.22.tgz#219dfd89ae5b97a8801f015323ffa4b62f45718b" - integrity sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA== +"@mdx-js/react@^2.1.5": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-2.3.0.tgz#4208bd6d70f0d0831def28ef28c26149b03180b3" + integrity sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g== + dependencies: + "@types/mdx" "^2.0.0" + "@types/react" ">=16" + +"@messageformat/parser@^5.0.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@messageformat/parser/-/parser-5.1.0.tgz#05e4851c782d633ad735791dd0a68ee65d2a7201" + integrity sha512-jKlkls3Gewgw6qMjKZ9SFfHUpdzEVdovKFtW1qRhJ3WI4FW5R/NnGDqr8SDGz+krWDO3ki94boMmQvGke1HwUQ== + dependencies: + moo "^0.5.1" "@mischnic/json-sourcemap@^0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@mischnic/json-sourcemap/-/json-sourcemap-0.1.0.tgz#38af657be4108140a548638267d02a2ea3336507" - integrity sha512-dQb3QnfNqmQNYA4nFSN/uLaByIic58gOXq4Y4XqLOWmOrw73KmJPt/HLyG0wvn1bnR6mBKs/Uwvkh+Hns1T0XA== + version "0.1.1" + resolved "https://registry.yarnpkg.com/@mischnic/json-sourcemap/-/json-sourcemap-0.1.1.tgz#0ef9b015a8f575dd9a8720d9a6b4dbc988425906" + integrity sha512-iA7+tyVqfrATAIsIRWQG+a7ZLLD0VaOCKV2Wd/v4mqIU3J9c4jx9p7S0nw1XH3gJCKNBOOwACOPYYSUu9pgT+w== dependencies: - "@lezer/common" "^0.15.7" - "@lezer/lr" "^0.15.4" + "@lezer/common" "^1.0.0" + "@lezer/lr" "^1.0.0" json5 "^2.2.1" -"@mrmlnc/readdir-enhanced@^2.2.1": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" - integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g== - dependencies: - call-me-maybe "^1.0.1" - glob-to-regexp "^0.3.0" +"@motionone/animation@^10.15.1", "@motionone/animation@^10.16.3": + version "10.16.3" + resolved "https://registry.yarnpkg.com/@motionone/animation/-/animation-10.16.3.tgz#f5b71e27fd8b88b61f983adb0ed6c8e3e89281f9" + integrity sha512-QUGWpLbMFLhyqKlngjZhjtxM8IqiJQjLK0DF+XOF6od9nhSvlaeEpOY/UMCRVcZn/9Tr2rZO22EkuCIjYdI74g== + dependencies: + "@motionone/easing" "^10.16.3" + "@motionone/types" "^10.16.3" + "@motionone/utils" "^10.16.3" + tslib "^2.3.1" + +"@motionone/dom@^10.16.2", "@motionone/dom@^10.16.4": + version "10.16.4" + resolved "https://registry.yarnpkg.com/@motionone/dom/-/dom-10.16.4.tgz#9385716928cc2d5b3208a7dcaf504b69b47fd1ae" + integrity sha512-HPHlVo/030qpRj9R8fgY50KTN4Ko30moWRTA3L3imrsRBmob93cTYmodln49HYFbQm01lFF7X523OkKY0DX6UA== + dependencies: + "@motionone/animation" "^10.16.3" + "@motionone/generators" "^10.16.4" + "@motionone/types" "^10.16.3" + "@motionone/utils" "^10.16.3" + hey-listen "^1.0.8" + tslib "^2.3.1" + +"@motionone/easing@^10.16.3": + version "10.16.3" + resolved "https://registry.yarnpkg.com/@motionone/easing/-/easing-10.16.3.tgz#a62abe0ba2841861f167f286782e287eab8d7466" + integrity sha512-HWTMZbTmZojzwEuKT/xCdvoMPXjYSyQvuVM6jmM0yoGU6BWzsmYMeB4bn38UFf618fJCNtP9XeC/zxtKWfbr0w== + dependencies: + "@motionone/utils" "^10.16.3" + tslib "^2.3.1" + +"@motionone/generators@^10.16.4": + version "10.16.4" + resolved "https://registry.yarnpkg.com/@motionone/generators/-/generators-10.16.4.tgz#4a38708244bce733bfcebd4a26d19f4bbabd36af" + integrity sha512-geFZ3w0Rm0ZXXpctWsSf3REGywmLLujEjxPYpBR0j+ymYwof0xbV6S5kGqqsDKgyWKVWpUInqQYvQfL6fRbXeg== + dependencies: + "@motionone/types" "^10.16.3" + "@motionone/utils" "^10.16.3" + tslib "^2.3.1" + +"@motionone/svelte@^10.16.2": + version "10.16.4" + resolved "https://registry.yarnpkg.com/@motionone/svelte/-/svelte-10.16.4.tgz#5daf117cf5b2576fc6dd487c5e0500938a742470" + integrity sha512-zRVqk20lD1xqe+yEDZhMYgftsuHc25+9JSo+r0a0OWUJFocjSV9D/+UGhX4xgJsuwB9acPzXLr20w40VnY2PQA== + dependencies: + "@motionone/dom" "^10.16.4" + tslib "^2.3.1" + +"@motionone/types@^10.15.1", "@motionone/types@^10.16.3": + version "10.16.3" + resolved "https://registry.yarnpkg.com/@motionone/types/-/types-10.16.3.tgz#9284ea8a52f6b32c51c54b617214f20e43ac6c59" + integrity sha512-W4jkEGFifDq73DlaZs3HUfamV2t1wM35zN/zX7Q79LfZ2sc6C0R1baUHZmqc/K5F3vSw3PavgQ6HyHLd/MXcWg== + +"@motionone/utils@^10.15.1", "@motionone/utils@^10.16.3": + version "10.16.3" + resolved "https://registry.yarnpkg.com/@motionone/utils/-/utils-10.16.3.tgz#ddf07ab6cf3000d89e3bcbdc9a8c3e1fd64f8520" + integrity sha512-WNWDksJIxQkaI9p9Z9z0+K27xdqISGNFy1SsWVGaiedTHq0iaT6iZujby8fT/ZnZxj1EOaxJtSfUPCFNU5CRoA== + dependencies: + "@motionone/types" "^10.16.3" + hey-listen "^1.0.8" + tslib "^2.3.1" + +"@motionone/vue@^10.16.2": + version "10.16.4" + resolved "https://registry.yarnpkg.com/@motionone/vue/-/vue-10.16.4.tgz#07d09e3aa5115ca0bcc0076cb9e5322775277c09" + integrity sha512-z10PF9JV6SbjFq+/rYabM+8CVlMokgl8RFGvieSGNTmrkQanfHn+15XBrhG3BgUfvmTeSeyShfOHpG0i9zEdcg== + dependencies: + "@motionone/dom" "^10.16.4" + tslib "^2.3.1" "@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.2": version "3.0.2" @@ -2951,15 +3421,31 @@ resolved "https://registry.yarnpkg.com/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.2.tgz#0f164b726869f71da3c594171df5ebc1c4b0a407" integrity sha512-O+6Gs8UeDbyFpbSh2CPEz/UOrrdWPTBYNblZK5CxxLisYt4kGX3Sc+czffFonyjiGSq3jWLwJS/CCJc7tBr4sQ== +"@ndelangen/get-tarball@^3.0.7": + version "3.0.9" + resolved "https://registry.yarnpkg.com/@ndelangen/get-tarball/-/get-tarball-3.0.9.tgz#727ff4454e65f34707e742a59e5e6b1f525d8964" + integrity sha512-9JKTEik4vq+yGosHYhZ1tiH/3WpUS0Nh0kej4Agndhox8pAdWhEx5knFVRcb/ya9knCRCs1rPxNrSXTDdfVqpA== + dependencies: + gunzip-maybe "^1.4.2" + pump "^3.0.0" + tar-fs "^2.1.1" + +"@noble/curves@1.2.0", "@noble/curves@^1.2.0", "@noble/curves@~1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.2.0.tgz#92d7e12e4e49b23105a2555c6984d41733d65c35" + integrity sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw== + dependencies: + "@noble/hashes" "1.3.2" + "@noble/ed25519@^1.7.0": version "1.7.3" resolved "https://registry.yarnpkg.com/@noble/ed25519/-/ed25519-1.7.3.tgz#57e1677bf6885354b466c38e2b620c62f45a7123" integrity sha512-iR8GBkDt0Q3GyaVcIu7mSsVIqnFbkbRzGLWlvhwunacoLwt4J3swfKhfaM6rN6WY+TBGoYT1GtT1mIh2/jGbRQ== -"@noble/hashes@^1", "@noble/hashes@^1.0.0", "@noble/hashes@^1.1.2", "@noble/hashes@^1.2.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.0.tgz#085fd70f6d7d9d109671090ccae1d3bec62554a1" - integrity sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg== +"@noble/hashes@1.3.2", "@noble/hashes@^1", "@noble/hashes@^1.0.0", "@noble/hashes@^1.1.2", "@noble/hashes@^1.2.0", "@noble/hashes@^1.3.1", "@noble/hashes@~1.3.0", "@noble/hashes@~1.3.2": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" + integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== "@noble/secp256k1@^1.6.3": version "1.7.1" @@ -2979,12 +3465,7 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== -"@nodelib/fs.stat@^1.1.2": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" - integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== - -"@nodelib/fs.walk@^1.2.3": +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": version "1.2.8" resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== @@ -3015,82 +3496,89 @@ dependencies: json-parse-even-better-errors "^2.3.1" -"@nrwl/cli@15.9.2": - version "15.9.2" - resolved "https://registry.yarnpkg.com/@nrwl/cli/-/cli-15.9.2.tgz#82537d3d85410b0143d37a3b4fade09675356084" - integrity sha512-QoCmyrcGakHAYTJaNBbOerRQAmqJHMYGCdqtQidV+aP9p1Dy33XxDELfhd+IYmGqngutXuEWChNpWNhPloLnoA== +"@nrwl/cli@15.9.7": + version "15.9.7" + resolved "https://registry.yarnpkg.com/@nrwl/cli/-/cli-15.9.7.tgz#1db113f5cb1cfe63213097be1ece041eef33da1f" + integrity sha512-1jtHBDuJzA57My5nLzYiM372mJW0NY6rFKxlWt5a0RLsAZdPTHsd8lE3Gs9XinGC1jhXbruWmhhnKyYtZvX/zA== dependencies: - nx "15.9.2" + nx "15.9.7" -"@nrwl/devkit@15.9.2": - version "15.9.2" - resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-15.9.2.tgz#482b89f1bf88d3600b11f8b7e3e4452c5766eca4" - integrity sha512-2DvTstVZb91m+d4wqUJMBHQ3elxyabdmFE6/3aXmtOGeDxTyXyDzf/1O6JvBBiL8K6XC3ZYchjtxUHgxl/NJ5A== +"@nrwl/devkit@15.9.7": + version "15.9.7" + resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-15.9.7.tgz#14d19ec82ff4209c12147a97f1cdea05d8f6c087" + integrity sha512-Sb7Am2TMT8AVq8e+vxOlk3AtOA2M0qCmhBzoM1OJbdHaPKc0g0UgSnWRml1kPGg5qfPk72tWclLoZJ5/ut0vTg== dependencies: ejs "^3.1.7" ignore "^5.0.4" - semver "7.3.4" + semver "7.5.4" tmp "~0.2.1" tslib "^2.3.0" -"@nrwl/nx-darwin-arm64@15.9.2": - version "15.9.2" - resolved "https://registry.yarnpkg.com/@nrwl/nx-darwin-arm64/-/nx-darwin-arm64-15.9.2.tgz#612d8d714ec876cafd6f1483bf5565704d1b75be" - integrity sha512-Yv+OVsQt3C/hmWOC+YhJZQlsyph5w1BHfbp4jyCvV1ZXBbb8NdvwxgDHPWXxKPTc1EXuB7aEX3qzxM3/OWEUJg== - -"@nrwl/nx-darwin-x64@15.9.2": - version "15.9.2" - resolved "https://registry.yarnpkg.com/@nrwl/nx-darwin-x64/-/nx-darwin-x64-15.9.2.tgz#3f77bd90dbabf4782d81f773cfb2739a443e595f" - integrity sha512-qHfdluHlPzV0UHOwj1ZJ+qNEhzfLGiBuy1cOth4BSzDlvMnkuqBWoprfaXoztzYcus2NSILY1/7b3Jw4DAWmMw== - -"@nrwl/nx-linux-arm-gnueabihf@15.9.2": - version "15.9.2" - resolved "https://registry.yarnpkg.com/@nrwl/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-15.9.2.tgz#3374a5a1692b222ce18f2213a47b4d68fb509e70" - integrity sha512-0GzwbablosnYnnJDCJvAeZv8LlelSrNwUnGhe43saeoZdAew35Ay1E34zBrg/GCGTASuz+knEEYFM+gDD9Mc6A== - -"@nrwl/nx-linux-arm64-gnu@15.9.2": - version "15.9.2" - resolved "https://registry.yarnpkg.com/@nrwl/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-15.9.2.tgz#e3ec95c6ee3285c77422886cf4cbec1f04804460" - integrity sha512-3mFIY7iUTPG45hSIRaM2DmraCy8W6hNoArAGRrTgYw40BIJHtLrW+Rt7DLyvVXaYCvrKugWOKtxC+jG7kpIZVA== - -"@nrwl/nx-linux-arm64-musl@15.9.2": - version "15.9.2" - resolved "https://registry.yarnpkg.com/@nrwl/nx-linux-arm64-musl/-/nx-linux-arm64-musl-15.9.2.tgz#72ce601d256083ded7380c598f1b3eb4dc2a3472" - integrity sha512-FNBnXEtockwxZa4I3NqggrJp0YIbNokJvt/clrICP+ijOacdUDkv8mJedavobkFsRsNq9gzCbRbUScKymrOLrg== - -"@nrwl/nx-linux-x64-gnu@15.9.2": - version "15.9.2" - resolved "https://registry.yarnpkg.com/@nrwl/nx-linux-x64-gnu/-/nx-linux-x64-gnu-15.9.2.tgz#2da6bb50cd80d699310e91c7331baa6cfc8ce197" - integrity sha512-gHWsP5lbe4FNQCa1Q/VLxIuik+BqAOcSzyPjdUa4gCDcbxPa8xiE57PgXB5E1XUzOWNnDTlXa/Ll07/TIuKuog== - -"@nrwl/nx-linux-x64-musl@15.9.2": - version "15.9.2" - resolved "https://registry.yarnpkg.com/@nrwl/nx-linux-x64-musl/-/nx-linux-x64-musl-15.9.2.tgz#39b3bda5868a53b722f1d42700dce71c5ff3f6b9" - integrity sha512-EaFUukCbmoHsYECX2AS4pxXH933yesBFVvBgD38DkoFDxDoJMVt6JqYwm+d5R7S4R2P9U3l++aurljQTRq567Q== - -"@nrwl/nx-win32-arm64-msvc@15.9.2": - version "15.9.2" - resolved "https://registry.yarnpkg.com/@nrwl/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-15.9.2.tgz#bc350be5cb7d0bfa6c2c5ced40c5af163a457a2c" - integrity sha512-PGAe7QMr51ivx1X3avvs8daNlvv1wGo3OFrobjlu5rSyjC1Y3qHwT9+wdlwzNZ93FIqWOq09s+rE5gfZRfpdAg== - -"@nrwl/nx-win32-x64-msvc@15.9.2": - version "15.9.2" - resolved "https://registry.yarnpkg.com/@nrwl/nx-win32-x64-msvc/-/nx-win32-x64-msvc-15.9.2.tgz#3e46c3f7af196bdbf0deb336ec4f9448c54e4a9f" - integrity sha512-Q8onNzhuAZ0l9DNkm8D4Z1AEIzJr8JiT4L2fVBLYrV/R75C2HS3q7lzvfo6oqMY6mXge1cFPcrTtg3YXBQaSWA== - -"@nrwl/tao@15.9.2": - version "15.9.2" - resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-15.9.2.tgz#e970efa8b3fb828007b02286e9e505247032b5b3" - integrity sha512-+LqNC37w9c6q6Ukdpf0z0tt1PQFNi4gwhHpJvkYQiKRETHjyrrlyqTNEPEyA7PI62RuYC6VrpVw2gzI7ufqZEA== - dependencies: - nx "15.9.2" +"@nrwl/nx-darwin-arm64@15.9.7": + version "15.9.7" + resolved "https://registry.yarnpkg.com/@nrwl/nx-darwin-arm64/-/nx-darwin-arm64-15.9.7.tgz#a2cb7390c782b8acf3bb8806a3002620226a933d" + integrity sha512-aBUgnhlkrgC0vu0fK6eb9Vob7eFnkuknrK+YzTjmLrrZwj7FGNAeyGXSlyo1dVokIzjVKjJg2saZZ0WQbfuCJw== + +"@nrwl/nx-darwin-x64@15.9.7": + version "15.9.7" + resolved "https://registry.yarnpkg.com/@nrwl/nx-darwin-x64/-/nx-darwin-x64-15.9.7.tgz#af0437e726aeb97eb660646bfd9a7da5ba7a0a6f" + integrity sha512-L+elVa34jhGf1cmn38Z0sotQatmLovxoASCIw5r1CBZZeJ5Tg7Y9nOwjRiDixZxNN56hPKXm6xl9EKlVHVeKlg== + +"@nrwl/nx-linux-arm-gnueabihf@15.9.7": + version "15.9.7" + resolved "https://registry.yarnpkg.com/@nrwl/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-15.9.7.tgz#e29f4d31afa903bfb4d0fd7421e19be1086eae87" + integrity sha512-pqmfqqEUGFu6PmmHKyXyUw1Al0Ki8PSaR0+ndgCAb1qrekVDGDfznJfaqxN0JSLeolPD6+PFtLyXNr9ZyPFlFg== + +"@nrwl/nx-linux-arm64-gnu@15.9.7": + version "15.9.7" + resolved "https://registry.yarnpkg.com/@nrwl/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-15.9.7.tgz#eb2880a24d3268dd93583d21a6a0b9ff96bb23b4" + integrity sha512-NYOa/eRrqmM+In5g3M0rrPVIS9Z+q6fvwXJYf/KrjOHqqan/KL+2TOfroA30UhcBrwghZvib7O++7gZ2hzwOnA== + +"@nrwl/nx-linux-arm64-musl@15.9.7": + version "15.9.7" + resolved "https://registry.yarnpkg.com/@nrwl/nx-linux-arm64-musl/-/nx-linux-arm64-musl-15.9.7.tgz#5d04913c4672a96cefa78491824620d8a8bcfd7f" + integrity sha512-zyStqjEcmbvLbejdTOrLUSEdhnxNtdQXlmOuymznCzYUEGRv+4f7OAepD3yRoR0a/57SSORZmmGQB7XHZoYZJA== + +"@nrwl/nx-linux-x64-gnu@15.9.7": + version "15.9.7" + resolved "https://registry.yarnpkg.com/@nrwl/nx-linux-x64-gnu/-/nx-linux-x64-gnu-15.9.7.tgz#cf7f61fd87f35a793e6824952a6eb12242fe43fd" + integrity sha512-saNK5i2A8pKO3Il+Ejk/KStTApUpWgCxjeUz9G+T8A+QHeDloZYH2c7pU/P3jA9QoNeKwjVO9wYQllPL9loeVg== + +"@nrwl/nx-linux-x64-musl@15.9.7": + version "15.9.7" + resolved "https://registry.yarnpkg.com/@nrwl/nx-linux-x64-musl/-/nx-linux-x64-musl-15.9.7.tgz#2bec23c3696780540eb47fa1358dda780c84697f" + integrity sha512-extIUThYN94m4Vj4iZggt6hhMZWQSukBCo8pp91JHnDcryBg7SnYmnikwtY1ZAFyyRiNFBLCKNIDFGkKkSrZ9Q== + +"@nrwl/nx-win32-arm64-msvc@15.9.7": + version "15.9.7" + resolved "https://registry.yarnpkg.com/@nrwl/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-15.9.7.tgz#21b56ef3ab4190370effea71bd83fdc3e47ec69c" + integrity sha512-GSQ54hJ5AAnKZb4KP4cmBnJ1oC4ILxnrG1mekxeM65c1RtWg9NpBwZ8E0gU3xNrTv8ZNsBeKi/9UhXBxhsIh8A== + +"@nrwl/nx-win32-x64-msvc@15.9.7": + version "15.9.7" + resolved "https://registry.yarnpkg.com/@nrwl/nx-win32-x64-msvc/-/nx-win32-x64-msvc-15.9.7.tgz#1677ab1dcce921706b5677dc2844e3e0027f8bd5" + integrity sha512-x6URof79RPd8AlapVbPefUD3ynJZpmah3tYaYZ9xZRMXojVtEHV8Qh5vysKXQ1rNYJiiB8Ah6evSKWLbAH60tw== + +"@nrwl/tao@15.9.7": + version "15.9.7" + resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-15.9.7.tgz#c0e78c99caa6742762f7558f20d8524bc9015e97" + integrity sha512-OBnHNvQf3vBH0qh9YnvBQQWyyFZ+PWguF6dJ8+1vyQYlrLVk/XZ8nJ4ukWFb+QfPv/O8VBmqaofaOI9aFC4yTw== + dependencies: + nx "15.9.7" + +"@nrwl/tao@16.2.1": + version "16.2.1" + resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-16.2.1.tgz#08bb3dae81e958777268747c385c32a608452c3e" + integrity sha512-mhLkMxGFbnR4hu9UbjMvzdePDXmUpV33mImt1myewP/cY9YZdzv5ntqT+9U+zzVg7Q2ZGosiGQE+IYRm6yeWog== + dependencies: + nx "16.2.1" "@nrwl/workspace@^15.9.2": - version "15.9.2" - resolved "https://registry.yarnpkg.com/@nrwl/workspace/-/workspace-15.9.2.tgz#258ccbc2e42d4d1cade4652d72c4f7b2a7821f5e" - integrity sha512-4e3p1EtJKvvZfH5ghLT3PtPfdr21WfN1LjctMaFAaqwb7jMos0jQIZlLotDPvc9BD8zzyljniE6BijDSZOWncg== + version "15.9.7" + resolved "https://registry.yarnpkg.com/@nrwl/workspace/-/workspace-15.9.7.tgz#5df09b406f5c639baa6cb57bb4a091b17c5d138b" + integrity sha512-tOYYReTgUtP66mtbl6rGfs83il6ywb99GIsyCGINWNBVuU3WE44Io0MCvfirDwlxwSIWouDr64qhGqqzTo3Z9g== dependencies: - "@nrwl/devkit" "15.9.2" + "@nrwl/devkit" "15.9.7" "@parcel/watcher" "2.0.4" chalk "^4.1.0" chokidar "^3.5.1" @@ -3103,7 +3591,7 @@ ignore "^5.0.4" minimatch "3.0.5" npm-run-path "^4.0.1" - nx "15.9.2" + nx "15.9.7" open "^8.4.0" rxjs "^6.5.4" tmp "~0.2.1" @@ -3111,97 +3599,144 @@ yargs "^17.6.2" yargs-parser "21.1.1" -"@parcel/bundler-default@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/bundler-default/-/bundler-default-2.8.3.tgz#d64739dbc2dbd59d6629861bf77a8083aced5229" - integrity sha512-yJvRsNWWu5fVydsWk3O2L4yIy3UZiKWO2cPDukGOIWMgp/Vbpp+2Ct5IygVRtE22bnseW/E/oe0PV3d2IkEJGg== - dependencies: - "@parcel/diagnostic" "2.8.3" - "@parcel/graph" "2.8.3" - "@parcel/hash" "2.8.3" - "@parcel/plugin" "2.8.3" - "@parcel/utils" "2.8.3" +"@nx/nx-darwin-arm64@16.2.1": + version "16.2.1" + resolved "https://registry.yarnpkg.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-16.2.1.tgz#8a144a6fd38a2a7179c583c1fc344b2a0de27996" + integrity sha512-xK/dL5T2R8zrcD8/13PeaYH/LBcYeaELIZkXGdGbtQ8WeFHjPJLBfuWo/7Se7KSWIXLIJEeYrVZwyxuei1dOTA== + +"@nx/nx-darwin-x64@16.2.1": + version "16.2.1" + resolved "https://registry.yarnpkg.com/@nx/nx-darwin-x64/-/nx-darwin-x64-16.2.1.tgz#f878b9257bb5ed939c5095b72f1f37fe01bab950" + integrity sha512-J1ZBqy8FtIhvZopcc96JWZY2InZClQ+XHWHnAmX8S1f79hcLUiatpu90FZhvfXmfOfLlpkKsa8aje/kjpnnWhA== + +"@nx/nx-linux-arm-gnueabihf@16.2.1": + version "16.2.1" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-16.2.1.tgz#a0f7d2c1f90d78bf30c7beae7c5481a71fb2652a" + integrity sha512-rnujPmWlnkEvzkWARuW85cizVx6uGwQ/gA84tK3cHZQf9ly172WbDtsMtYRS9/CjvysMqDV0zBd7o/YhwpXNZg== + +"@nx/nx-linux-arm64-gnu@16.2.1": + version "16.2.1" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-16.2.1.tgz#30dead7a96437c7cbb041a45e1c0e7292fb2151a" + integrity sha512-ZcuQN8eaxEI+93ut6UrDrZMPsk61LGlS6yaWPgrv3blKMfcU2+DYBDQ3ois7o5t0bnVad5QYSNhIvnMF2iU+hQ== + +"@nx/nx-linux-arm64-musl@16.2.1": + version "16.2.1" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-16.2.1.tgz#31219ecf98f9fe78b5fc06c9e0102d99e335bc5b" + integrity sha512-mMOvkYyBLU4j+mSHobtrj/pIDYXFGIX3Q9FMWxZ5Xz15m0DsbypZ/8v6NWpJaBY4VX6rJhCc+D/pZH+QBT8+/g== + +"@nx/nx-linux-x64-gnu@16.2.1": + version "16.2.1" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-16.2.1.tgz#fb89cbbdf852e27093e0296ff7414ccccdf3591a" + integrity sha512-Kyn4dxFTj2PCRv+39tKU8BzDRE6/ru5v435uvodx03GS650F7+OMr4DN57jG4MQWhf//OUX8zPkvbKhsmxjndA== + +"@nx/nx-linux-x64-musl@16.2.1": + version "16.2.1" + resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-16.2.1.tgz#82b1b5ba04ef6e4d49527841239bf9e0fb1456e3" + integrity sha512-q8iFxLosSLiWkRWsbrioXV/qMG8TgsbqcM0VGz2FFLNMJ9DXvav/E/+8YbgEeHOjvA1MDeRaspIpDF7OMgJYGw== + +"@nx/nx-win32-arm64-msvc@16.2.1": + version "16.2.1" + resolved "https://registry.yarnpkg.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-16.2.1.tgz#8a19a0c2db565f6d07a2d0b4a8b8fc6c8c86fadd" + integrity sha512-PpGiYzrMivDY1i10Zwf5Hmnv6oAQ8ACf6ehDgyQ3tByMMXHgyUZJLykfPaoWjoLh0s8wOvMV74WZO+K1LcIxTA== + +"@nx/nx-win32-x64-msvc@16.2.1": + version "16.2.1" + resolved "https://registry.yarnpkg.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-16.2.1.tgz#848b4c5b118f6a6f92f59c1643297e938c439242" + integrity sha512-m5oHCaSKdyydM1n1W9V0m2oxBL8PiF54dZB0+PlKB2fhf1zxiyq8i1hL2hXbKA90IOYcUt5/b7761/BzN5njAw== + +"@parcel/bundler-default@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/bundler-default/-/bundler-default-2.10.3.tgz#a7a4cce80b008af1ed02cac10bbb6f34f8cf891a" + integrity sha512-a+yq8zH8mrg6FBgUjrC+r3z6cfK7dQVMNzduEU/LF52Z4FVAmTR8gefl/YGmAbquJL3PFAHdhICrljYnQ1WQkg== + dependencies: + "@parcel/diagnostic" "2.10.3" + "@parcel/graph" "3.0.3" + "@parcel/plugin" "2.10.3" + "@parcel/rust" "2.10.3" + "@parcel/utils" "2.10.3" nullthrows "^1.1.1" -"@parcel/cache@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/cache/-/cache-2.8.3.tgz#169e130cf59913c0ed9fadce1a450e68f710e16f" - integrity sha512-k7xv5vSQrJLdXuglo+Hv3yF4BCSs1tQ/8Vbd6CHTkOhf7LcGg6CPtLw053R/KdMpd/4GPn0QrAsOLdATm1ELtQ== +"@parcel/cache@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/cache/-/cache-2.10.3.tgz#39b19366c0ebd50786fa040a57844103d97521fe" + integrity sha512-fNNOFOl4dwOlzP8iAa+evZ+3BakX0sV+3+PiYA0zaps7EmPmkTSGDhCWzaYRSO8fhmNDlrUX9Xh7b/X738LFqA== dependencies: - "@parcel/fs" "2.8.3" - "@parcel/logger" "2.8.3" - "@parcel/utils" "2.8.3" - lmdb "2.5.2" + "@parcel/fs" "2.10.3" + "@parcel/logger" "2.10.3" + "@parcel/utils" "2.10.3" + lmdb "2.8.5" -"@parcel/codeframe@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/codeframe/-/codeframe-2.8.3.tgz#84fb529ef70def7f5bc64f6c59b18d24826f5fcc" - integrity sha512-FE7sY53D6n/+2Pgg6M9iuEC6F5fvmyBkRE4d9VdnOoxhTXtkEqpqYgX7RJ12FAQwNlxKq4suBJQMgQHMF2Kjeg== +"@parcel/codeframe@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/codeframe/-/codeframe-2.10.3.tgz#6f28b93228d90f2caa527354f983d0c04ca95bb7" + integrity sha512-70ovUzeXBowDMjK+1xaLT4hm3jZUK7EbaCS6tN1cmmr0S1TDhU7g37jnpni+u9de9Lc/lErwTaDVXUf9WSQzQw== dependencies: chalk "^4.1.0" -"@parcel/compressor-raw@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/compressor-raw/-/compressor-raw-2.8.3.tgz#301753df8c6de967553149639e8a4179b88f0c95" - integrity sha512-bVDsqleBUxRdKMakWSlWC9ZjOcqDKE60BE+Gh3JSN6WJrycJ02P5wxjTVF4CStNP/G7X17U+nkENxSlMG77ySg== - dependencies: - "@parcel/plugin" "2.8.3" - -"@parcel/config-default@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/config-default/-/config-default-2.8.3.tgz#9a43486e7c702e96c68052c37b79098d7240e35b" - integrity sha512-o/A/mbrO6X/BfGS65Sib8d6SSG45NYrNooNBkH/o7zbOBSRQxwyTlysleK1/3Wa35YpvFyLOwgfakqCtbGy4fw== - dependencies: - "@parcel/bundler-default" "2.8.3" - "@parcel/compressor-raw" "2.8.3" - "@parcel/namer-default" "2.8.3" - "@parcel/optimizer-css" "2.8.3" - "@parcel/optimizer-htmlnano" "2.8.3" - "@parcel/optimizer-image" "2.8.3" - "@parcel/optimizer-svgo" "2.8.3" - "@parcel/optimizer-terser" "2.8.3" - "@parcel/packager-css" "2.8.3" - "@parcel/packager-html" "2.8.3" - "@parcel/packager-js" "2.8.3" - "@parcel/packager-raw" "2.8.3" - "@parcel/packager-svg" "2.8.3" - "@parcel/reporter-dev-server" "2.8.3" - "@parcel/resolver-default" "2.8.3" - "@parcel/runtime-browser-hmr" "2.8.3" - "@parcel/runtime-js" "2.8.3" - "@parcel/runtime-react-refresh" "2.8.3" - "@parcel/runtime-service-worker" "2.8.3" - "@parcel/transformer-babel" "2.8.3" - "@parcel/transformer-css" "2.8.3" - "@parcel/transformer-html" "2.8.3" - "@parcel/transformer-image" "2.8.3" - "@parcel/transformer-js" "2.8.3" - "@parcel/transformer-json" "2.8.3" - "@parcel/transformer-postcss" "2.8.3" - "@parcel/transformer-posthtml" "2.8.3" - "@parcel/transformer-raw" "2.8.3" - "@parcel/transformer-react-refresh-wrap" "2.8.3" - "@parcel/transformer-svg" "2.8.3" - -"@parcel/core@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/core/-/core-2.8.3.tgz#22a69f36095d53736ab10bf42697d9aa5f4e382b" - integrity sha512-Euf/un4ZAiClnlUXqPB9phQlKbveU+2CotZv7m7i+qkgvFn5nAGnrV4h1OzQU42j9dpgOxWi7AttUDMrvkbhCQ== +"@parcel/compressor-raw@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/compressor-raw/-/compressor-raw-2.10.3.tgz#e9db2a900335f4f6be2833879dd80b319b954997" + integrity sha512-5SUZ80uwu7o0D+0RjhjBnSUXJRgaayfqVQtBRP3U7/W/Bb1Ixm1yDGXtDlyCbzimWqWVMMJ4/eVCEW7I8Ln4Bw== + dependencies: + "@parcel/plugin" "2.10.3" + +"@parcel/config-default@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/config-default/-/config-default-2.10.3.tgz#9a3e24eb679d3a9f5b5141ede91f6a18cfa69f71" + integrity sha512-gHVw5cKZVA9h/J4E33qQLg3QG3cYMyWVruyVzF8dFy/Rar5ebXMof1f38IhR2BIavpoThbnCnxgD4SVK8xOPag== + dependencies: + "@parcel/bundler-default" "2.10.3" + "@parcel/compressor-raw" "2.10.3" + "@parcel/namer-default" "2.10.3" + "@parcel/optimizer-css" "2.10.3" + "@parcel/optimizer-htmlnano" "2.10.3" + "@parcel/optimizer-image" "2.10.3" + "@parcel/optimizer-svgo" "2.10.3" + "@parcel/optimizer-swc" "2.10.3" + "@parcel/packager-css" "2.10.3" + "@parcel/packager-html" "2.10.3" + "@parcel/packager-js" "2.10.3" + "@parcel/packager-raw" "2.10.3" + "@parcel/packager-svg" "2.10.3" + "@parcel/packager-wasm" "2.10.3" + "@parcel/reporter-dev-server" "2.10.3" + "@parcel/resolver-default" "2.10.3" + "@parcel/runtime-browser-hmr" "2.10.3" + "@parcel/runtime-js" "2.10.3" + "@parcel/runtime-react-refresh" "2.10.3" + "@parcel/runtime-service-worker" "2.10.3" + "@parcel/transformer-babel" "2.10.3" + "@parcel/transformer-css" "2.10.3" + "@parcel/transformer-html" "2.10.3" + "@parcel/transformer-image" "2.10.3" + "@parcel/transformer-js" "2.10.3" + "@parcel/transformer-json" "2.10.3" + "@parcel/transformer-postcss" "2.10.3" + "@parcel/transformer-posthtml" "2.10.3" + "@parcel/transformer-raw" "2.10.3" + "@parcel/transformer-react-refresh-wrap" "2.10.3" + "@parcel/transformer-svg" "2.10.3" + +"@parcel/core@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/core/-/core-2.10.3.tgz#3de309cb71a6094f0c1e26634804128054c11d02" + integrity sha512-b64FdqJi4CX6iWeLZNfmwdTrC1VLPXHMuFusf1sTZTuRBFw2oRpgJvuiqsrInaZ82o3lbLMo4a9/5LtNaZKa+Q== dependencies: "@mischnic/json-sourcemap" "^0.1.0" - "@parcel/cache" "2.8.3" - "@parcel/diagnostic" "2.8.3" - "@parcel/events" "2.8.3" - "@parcel/fs" "2.8.3" - "@parcel/graph" "2.8.3" - "@parcel/hash" "2.8.3" - "@parcel/logger" "2.8.3" - "@parcel/package-manager" "2.8.3" - "@parcel/plugin" "2.8.3" + "@parcel/cache" "2.10.3" + "@parcel/diagnostic" "2.10.3" + "@parcel/events" "2.10.3" + "@parcel/fs" "2.10.3" + "@parcel/graph" "3.0.3" + "@parcel/logger" "2.10.3" + "@parcel/package-manager" "2.10.3" + "@parcel/plugin" "2.10.3" + "@parcel/profiler" "2.10.3" + "@parcel/rust" "2.10.3" "@parcel/source-map" "^2.1.1" - "@parcel/types" "2.8.3" - "@parcel/utils" "2.8.3" - "@parcel/workers" "2.8.3" + "@parcel/types" "2.10.3" + "@parcel/utils" "2.10.3" + "@parcel/workers" "2.10.3" abortcontroller-polyfill "^1.1.9" base-x "^3.0.8" browserslist "^4.6.6" @@ -3209,281 +3744,304 @@ dotenv "^7.0.0" dotenv-expand "^5.1.0" json5 "^2.2.0" - msgpackr "^1.5.4" + msgpackr "^1.9.9" nullthrows "^1.1.1" - semver "^5.7.1" + semver "^7.5.2" -"@parcel/diagnostic@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/diagnostic/-/diagnostic-2.8.3.tgz#d560276d5d2804b48beafa1feaf3fc6b2ac5e39d" - integrity sha512-u7wSzuMhLGWZjVNYJZq/SOViS3uFG0xwIcqXw12w54Uozd6BH8JlhVtVyAsq9kqnn7YFkw6pXHqAo5Tzh4FqsQ== +"@parcel/diagnostic@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/diagnostic/-/diagnostic-2.10.3.tgz#43d9c0e0c7ecdc152d1fad0f88a799b1b7dd222d" + integrity sha512-Hf3xG9UVkDABDXWi89TjEP5U1CLUUj81kx/QFeupBXnzt5GEQZBhkxdBq6+4w17Mmuvk7H5uumNsSptkWq9PCA== dependencies: "@mischnic/json-sourcemap" "^0.1.0" nullthrows "^1.1.1" -"@parcel/events@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/events/-/events-2.8.3.tgz#205f8d874e6ecc2cbdb941bf8d54bae669e571af" - integrity sha512-hoIS4tAxWp8FJk3628bsgKxEvR7bq2scCVYHSqZ4fTi/s0+VymEATrRCUqf+12e5H47uw1/ZjoqrGtBI02pz4w== - -"@parcel/fs-search@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/fs-search/-/fs-search-2.8.3.tgz#1c7d812c110b808758f44c56e61dfffdb09e9451" - integrity sha512-DJBT2N8knfN7Na6PP2mett3spQLTqxFrvl0gv+TJRp61T8Ljc4VuUTb0hqBj+belaASIp3Q+e8+SgaFQu7wLiQ== - dependencies: - detect-libc "^1.0.3" +"@parcel/events@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/events/-/events-2.10.3.tgz#aa9249170947a4628a5a00240bb03ed651349a35" + integrity sha512-I3FsZYmKzgvo1f6frUWdF7hWwpeWTshPrFqpn9ICDXs/1Hjlf32jNXLBqon9b9XUDfMw4nSRMFMzMLJpbdheGA== -"@parcel/fs@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/fs/-/fs-2.8.3.tgz#80536afe877fc8a2bd26be5576b9ba27bb4c5754" - integrity sha512-y+i+oXbT7lP0e0pJZi/YSm1vg0LDsbycFuHZIL80pNwdEppUAtibfJZCp606B7HOjMAlNZOBo48e3hPG3d8jgQ== +"@parcel/fs@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/fs/-/fs-2.10.3.tgz#bd23bb962b2e17e907144013aabcf343b8f8aac8" + integrity sha512-0w4+Lc7B5VpwqX4GQfjnI5qN7tc9qbGPSPsf/6U2YPWU4dkGsMfPEmLBx7dZvJy3UiGxpsjMMuRHa14+jJ5QrQ== dependencies: - "@parcel/fs-search" "2.8.3" - "@parcel/types" "2.8.3" - "@parcel/utils" "2.8.3" + "@parcel/rust" "2.10.3" + "@parcel/types" "2.10.3" + "@parcel/utils" "2.10.3" "@parcel/watcher" "^2.0.7" - "@parcel/workers" "2.8.3" + "@parcel/workers" "2.10.3" -"@parcel/graph@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/graph/-/graph-2.8.3.tgz#00ffe8ec032e74fee57199e54529f1da7322571d" - integrity sha512-26GL8fYZPdsRhSXCZ0ZWliloK6DHlMJPWh6Z+3VVZ5mnDSbYg/rRKWmrkhnr99ZWmL9rJsv4G74ZwvDEXTMPBg== +"@parcel/graph@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@parcel/graph/-/graph-3.0.3.tgz#c19e2bcf83cc10b0969c5fa824459997c4c10fd2" + integrity sha512-zUA8KsjR2+v2Q2bFBF7zBk33ejriDiRA/+LK5QE8LrFpkaDa+gjkx76h2x7JqGXIDHNos446KX4nz2OUCVwrNQ== dependencies: nullthrows "^1.1.1" -"@parcel/hash@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/hash/-/hash-2.8.3.tgz#bc2499a27395169616cad2a99e19e69b9098f6e9" - integrity sha512-FVItqzjWmnyP4ZsVgX+G00+6U2IzOvqDtdwQIWisCcVoXJFCqZJDy6oa2qDDFz96xCCCynjRjPdQx2jYBCpfYw== - dependencies: - detect-libc "^1.0.3" - xxhash-wasm "^0.4.2" - -"@parcel/logger@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/logger/-/logger-2.8.3.tgz#e14e4debafb3ca9e87c07c06780f9afc38b2712c" - integrity sha512-Kpxd3O/Vs7nYJIzkdmB6Bvp3l/85ydIxaZaPfGSGTYOfaffSOTkhcW9l6WemsxUrlts4za6CaEWcc4DOvaMOPA== +"@parcel/logger@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/logger/-/logger-2.10.3.tgz#d1b17a3a500183e2525b0116b6885fd801aa6c6b" + integrity sha512-mAVTA0NgbbwEUzkzjBqjqyBBax+8bscRaZIAsEqMiSFWGcUmRgwVlH/jy3QDkFc7OHzwvdPK+XlMLV7s/3DJNw== dependencies: - "@parcel/diagnostic" "2.8.3" - "@parcel/events" "2.8.3" + "@parcel/diagnostic" "2.10.3" + "@parcel/events" "2.10.3" -"@parcel/markdown-ansi@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/markdown-ansi/-/markdown-ansi-2.8.3.tgz#1337d421bb1133ad178f386a8e1b746631bba4a1" - integrity sha512-4v+pjyoh9f5zuU/gJlNvNFGEAb6J90sOBwpKJYJhdWXLZMNFCVzSigxrYO+vCsi8G4rl6/B2c0LcwIMjGPHmFQ== +"@parcel/markdown-ansi@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/markdown-ansi/-/markdown-ansi-2.10.3.tgz#b090d241c458e4c7b0480fed17600bd0f1faefae" + integrity sha512-uzN1AJmp1oYh/ZLdD9WA7xP5u/L3Bs/6AFZz5s695zus74RCx9OtQcF0Yyl1hbKVJDfuw9WFuzMfPL/9p/C5DQ== dependencies: chalk "^4.1.0" -"@parcel/namer-default@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/namer-default/-/namer-default-2.8.3.tgz#5304bee74beb4b9c1880781bdbe35be0656372f4" - integrity sha512-tJ7JehZviS5QwnxbARd8Uh63rkikZdZs1QOyivUhEvhN+DddSAVEdQLHGPzkl3YRk0tjFhbqo+Jci7TpezuAMw== +"@parcel/namer-default@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/namer-default/-/namer-default-2.10.3.tgz#54564418fad528c96d2b36ecfe2fba3f5591bdb7" + integrity sha512-s7kgB/x7TISIHhen9IK4+CBXgmRJYahVS+oiAbMm18vcUVuXeZDBeTedOco6zUQIKuB71vx/4DBIuiIp6Q9hpg== dependencies: - "@parcel/diagnostic" "2.8.3" - "@parcel/plugin" "2.8.3" + "@parcel/diagnostic" "2.10.3" + "@parcel/plugin" "2.10.3" nullthrows "^1.1.1" -"@parcel/node-resolver-core@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/node-resolver-core/-/node-resolver-core-2.8.3.tgz#581df074a27646400b3fed9da95297b616a7db8f" - integrity sha512-12YryWcA5Iw2WNoEVr/t2HDjYR1iEzbjEcxfh1vaVDdZ020PiGw67g5hyIE/tsnG7SRJ0xdRx1fQ2hDgED+0Ww== +"@parcel/node-resolver-core@3.1.3": + version "3.1.3" + resolved "https://registry.yarnpkg.com/@parcel/node-resolver-core/-/node-resolver-core-3.1.3.tgz#7d0e944bccfdf2954dbcf8ba000d0251887f14c0" + integrity sha512-o7XK1KiK3ymO39bhc5qfDQiZpKA1xQmKg0TEPDNiLIXHKLEBheqarhw3Nwwt9MOFibfwsisQtDTIS+2v9A640A== dependencies: - "@parcel/diagnostic" "2.8.3" - "@parcel/utils" "2.8.3" + "@mischnic/json-sourcemap" "^0.1.0" + "@parcel/diagnostic" "2.10.3" + "@parcel/fs" "2.10.3" + "@parcel/rust" "2.10.3" + "@parcel/utils" "2.10.3" nullthrows "^1.1.1" - semver "^5.7.1" + semver "^7.5.2" -"@parcel/optimizer-css@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/optimizer-css/-/optimizer-css-2.8.3.tgz#420a333f4b78f7ff15e69217dfed34421b1143ee" - integrity sha512-JotGAWo8JhuXsQDK0UkzeQB0UR5hDAKvAviXrjqB4KM9wZNLhLleeEAW4Hk8R9smCeQFP6Xg/N/NkLDpqMwT3g== +"@parcel/optimizer-css@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/optimizer-css/-/optimizer-css-2.10.3.tgz#6fd3514b0d3c52e3354855ceb245842eff5e06de" + integrity sha512-Pc8jwV3U9w5DJDNcRQML5FlKdpPGnuCTtk1P+9FfyEUjdxoVxC+YeMIQcE961clAgl47qh7eNObXtsX/lb04Dg== dependencies: - "@parcel/diagnostic" "2.8.3" - "@parcel/plugin" "2.8.3" + "@parcel/diagnostic" "2.10.3" + "@parcel/plugin" "2.10.3" "@parcel/source-map" "^2.1.1" - "@parcel/utils" "2.8.3" + "@parcel/utils" "2.10.3" browserslist "^4.6.6" lightningcss "^1.16.1" nullthrows "^1.1.1" -"@parcel/optimizer-htmlnano@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.8.3.tgz#a71ab6f0f24160ef9f573266064438eff65e96d0" - integrity sha512-L8/fHbEy8Id2a2E0fwR5eKGlv9VYDjrH9PwdJE9Za9v1O/vEsfl/0T/79/x129l5O0yB6EFQkFa20MiK3b+vOg== +"@parcel/optimizer-htmlnano@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.10.3.tgz#4f8266892309dc5279a7a03c7cabc26e5ee56121" + integrity sha512-KTIZOy19tYeG0j3JRv435A6jnTh3O1LPhsUfo6Xlea7Cz1yUUxAANl9MG8lHZKYbZCFFKbfk2I9QBycmcYxAAw== dependencies: - "@parcel/plugin" "2.8.3" + "@parcel/plugin" "2.10.3" htmlnano "^2.0.0" nullthrows "^1.1.1" posthtml "^0.16.5" svgo "^2.4.0" -"@parcel/optimizer-image@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/optimizer-image/-/optimizer-image-2.8.3.tgz#ea49b4245b4f7d60b38c7585c6311fb21d341baa" - integrity sha512-SD71sSH27SkCDNUNx9A3jizqB/WIJr3dsfp+JZGZC42tpD/Siim6Rqy9M4To/BpMMQIIiEXa5ofwS+DgTEiEHQ== - dependencies: - "@parcel/diagnostic" "2.8.3" - "@parcel/plugin" "2.8.3" - "@parcel/utils" "2.8.3" - "@parcel/workers" "2.8.3" - detect-libc "^1.0.3" - -"@parcel/optimizer-svgo@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/optimizer-svgo/-/optimizer-svgo-2.8.3.tgz#04da4efec6b623679539a84961bff6998034ba8a" - integrity sha512-9KQed99NZnQw3/W4qBYVQ7212rzA9EqrQG019TIWJzkA9tjGBMIm2c/nXpK1tc3hQ3e7KkXkFCQ3C+ibVUnHNA== - dependencies: - "@parcel/diagnostic" "2.8.3" - "@parcel/plugin" "2.8.3" - "@parcel/utils" "2.8.3" +"@parcel/optimizer-image@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/optimizer-image/-/optimizer-image-2.10.3.tgz#374f4308b3fbffa072646ef605cc7e740e471600" + integrity sha512-hbeI6+GoddJxib8MlK5iafbCm1oy3p0UL9bb8s5mjTZiHtj1PORlH8gP7mT1WlYOCgoy45QdHelcrmL9fJ8kBA== + dependencies: + "@parcel/diagnostic" "2.10.3" + "@parcel/plugin" "2.10.3" + "@parcel/rust" "2.10.3" + "@parcel/utils" "2.10.3" + "@parcel/workers" "2.10.3" + +"@parcel/optimizer-svgo@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/optimizer-svgo/-/optimizer-svgo-2.10.3.tgz#654ab6b5abde66cebf672cec38dce620abf4037c" + integrity sha512-STN7sdjz6wGnQnvy22SkQaLi5C1E+j7J0xy96T0/mCP9KoIsBDE7panCtf53p4sWCNRsXNVrXt5KrpCC+u0LHg== + dependencies: + "@parcel/diagnostic" "2.10.3" + "@parcel/plugin" "2.10.3" + "@parcel/utils" "2.10.3" svgo "^2.4.0" -"@parcel/optimizer-terser@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/optimizer-terser/-/optimizer-terser-2.8.3.tgz#3a06d98d09386a1a0ae1be85376a8739bfba9618" - integrity sha512-9EeQlN6zIeUWwzrzu6Q2pQSaYsYGah8MtiQ/hog9KEPlYTP60hBv/+utDyYEHSQhL7y5ym08tPX5GzBvwAD/dA== +"@parcel/optimizer-swc@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/optimizer-swc/-/optimizer-swc-2.10.3.tgz#96f3dd10addced8b21041315d6802ee2aab53027" + integrity sha512-Cxy05CysiKbv/PtX++ETje4cbhCJySmN6EmFyQBs0jvzsUdWwqnsttavYRoMviUUK9mjm/i5q+cyewBO/8Oc5g== dependencies: - "@parcel/diagnostic" "2.8.3" - "@parcel/plugin" "2.8.3" + "@parcel/diagnostic" "2.10.3" + "@parcel/plugin" "2.10.3" "@parcel/source-map" "^2.1.1" - "@parcel/utils" "2.8.3" + "@parcel/utils" "2.10.3" + "@swc/core" "^1.3.36" nullthrows "^1.1.1" - terser "^5.2.0" - -"@parcel/package-manager@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/package-manager/-/package-manager-2.8.3.tgz#ddd0d62feae3cf0fb6cc0537791b3a16296ad458" - integrity sha512-tIpY5pD2lH53p9hpi++GsODy6V3khSTX4pLEGuMpeSYbHthnOViobqIlFLsjni+QA1pfc8NNNIQwSNdGjYflVA== - dependencies: - "@parcel/diagnostic" "2.8.3" - "@parcel/fs" "2.8.3" - "@parcel/logger" "2.8.3" - "@parcel/types" "2.8.3" - "@parcel/utils" "2.8.3" - "@parcel/workers" "2.8.3" - semver "^5.7.1" - -"@parcel/packager-css@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/packager-css/-/packager-css-2.8.3.tgz#0eff34268cb4f5dfb53c1bbca85f5567aeb1835a" - integrity sha512-WyvkMmsurlHG8d8oUVm7S+D+cC/T3qGeqogb7sTI52gB6uiywU7lRCizLNqGFyFGIxcVTVHWnSHqItBcLN76lA== - dependencies: - "@parcel/plugin" "2.8.3" + +"@parcel/package-manager@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/package-manager/-/package-manager-2.10.3.tgz#e856ad728d0c7fef51924451e032c4b6cc974c86" + integrity sha512-KqOW5oUmElrcb7d+hOC68ja1PI2qbPZTwdduduRvB90DAweMt7r1046+W2Df5bd+p9iv72DxGEn9xomX+qz9MA== + dependencies: + "@parcel/diagnostic" "2.10.3" + "@parcel/fs" "2.10.3" + "@parcel/logger" "2.10.3" + "@parcel/node-resolver-core" "3.1.3" + "@parcel/types" "2.10.3" + "@parcel/utils" "2.10.3" + "@parcel/workers" "2.10.3" + semver "^7.5.2" + +"@parcel/packager-css@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/packager-css/-/packager-css-2.10.3.tgz#6045778e8c1849b55bf9351db13dd3c452759ce0" + integrity sha512-Jk165fFU2XyWjN7agKy+YvvRoOJbWIb57VlVDgBHanB5ptS7aCildambrljGNTivatr+zFrchE5ZDNUFXZhYnw== + dependencies: + "@parcel/diagnostic" "2.10.3" + "@parcel/plugin" "2.10.3" "@parcel/source-map" "^2.1.1" - "@parcel/utils" "2.8.3" + "@parcel/utils" "2.10.3" nullthrows "^1.1.1" -"@parcel/packager-html@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/packager-html/-/packager-html-2.8.3.tgz#f9263b891aa4dd46c6e2fa2b07025a482132fff1" - integrity sha512-OhPu1Hx1RRKJodpiu86ZqL8el2Aa4uhBHF6RAL1Pcrh2EhRRlPf70Sk0tC22zUpYL7es+iNKZ/n0Rl+OWSHWEw== +"@parcel/packager-html@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/packager-html/-/packager-html-2.10.3.tgz#937ab185dcfbe910a7243758803db0fbb396042b" + integrity sha512-bEI6FhBvERuoqyi/h681qGImTRBUnqNW4sKoFO67q/bxWLevXtEGMFOeqridiVOjYQH9s1kKwM/ln/UwKVazZw== dependencies: - "@parcel/plugin" "2.8.3" - "@parcel/types" "2.8.3" - "@parcel/utils" "2.8.3" + "@parcel/plugin" "2.10.3" + "@parcel/types" "2.10.3" + "@parcel/utils" "2.10.3" nullthrows "^1.1.1" posthtml "^0.16.5" -"@parcel/packager-js@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/packager-js/-/packager-js-2.8.3.tgz#3ed11565915d73d12192b6901c75a6b820e4a83a" - integrity sha512-0pGKC3Ax5vFuxuZCRB+nBucRfFRz4ioie19BbDxYnvBxrd4M3FIu45njf6zbBYsI9eXqaDnL1b3DcZJfYqtIzw== +"@parcel/packager-js@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/packager-js/-/packager-js-2.10.3.tgz#66538229a7edc795e763ec5ceed6e6265eb2f54d" + integrity sha512-SjLSDw0juC7bEk/0geUtSVXaZqm2SgHL2IZaPnkoBQxVqzh2MdvAxJCrS2LxiR/cuQRfvQ5bnoJA7Kk1w2VNAg== dependencies: - "@parcel/diagnostic" "2.8.3" - "@parcel/hash" "2.8.3" - "@parcel/plugin" "2.8.3" + "@parcel/diagnostic" "2.10.3" + "@parcel/plugin" "2.10.3" + "@parcel/rust" "2.10.3" "@parcel/source-map" "^2.1.1" - "@parcel/utils" "2.8.3" + "@parcel/types" "2.10.3" + "@parcel/utils" "2.10.3" globals "^13.2.0" nullthrows "^1.1.1" -"@parcel/packager-raw@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/packager-raw/-/packager-raw-2.8.3.tgz#bdec826df991e186cb58691cc45d12ad5c06676e" - integrity sha512-BA6enNQo1RCnco9MhkxGrjOk59O71IZ9DPKu3lCtqqYEVd823tXff2clDKHK25i6cChmeHu6oB1Rb73hlPqhUA== +"@parcel/packager-raw@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/packager-raw/-/packager-raw-2.10.3.tgz#96c92170b49f306e015540dc85794b90c4e3174f" + integrity sha512-d236tnP2ViOnUJR0+qG6EHw7MUWSA14fLKnYYzL5SRQ4BVo5XC+CM9HKN5O4YCCVu3+9Su2X1+RESo5sxbFq7w== dependencies: - "@parcel/plugin" "2.8.3" + "@parcel/plugin" "2.10.3" -"@parcel/packager-svg@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/packager-svg/-/packager-svg-2.8.3.tgz#7233315296001c531cb55ca96b5f2ef672343630" - integrity sha512-mvIoHpmv5yzl36OjrklTDFShLUfPFTwrmp1eIwiszGdEBuQaX7JVI3Oo2jbVQgcN4W7J6SENzGQ3Q5hPTW3pMw== +"@parcel/packager-svg@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/packager-svg/-/packager-svg-2.10.3.tgz#5b5674ff47a04a0178b54eb9c21a4c297a657a13" + integrity sha512-Rk/GokkNs9uLwiy6Ux/xXpD8nMVhA9LN9eIbVqi8+eR42xUmICmEoUoSm+CnekkXxY2a5e3mKpL7JZbT9vOEhA== dependencies: - "@parcel/plugin" "2.8.3" - "@parcel/types" "2.8.3" - "@parcel/utils" "2.8.3" + "@parcel/plugin" "2.10.3" + "@parcel/types" "2.10.3" + "@parcel/utils" "2.10.3" posthtml "^0.16.4" -"@parcel/plugin@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/plugin/-/plugin-2.8.3.tgz#7bb30a5775eaa6473c27f002a0a3ee7308d6d669" - integrity sha512-jZ6mnsS4D9X9GaNnvrixDQwlUQJCohDX2hGyM0U0bY2NWU8Km97SjtoCpWjq+XBCx/gpC4g58+fk9VQeZq2vlw== +"@parcel/packager-wasm@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/packager-wasm/-/packager-wasm-2.10.3.tgz#30c7f0eac43717cd2f2ccdacd99731138696df0b" + integrity sha512-j6VmU84LKy+XRHgZQFoASG98P50a9tkeT3LYRrol3RGGQrvx7PT3/D6rOqbnQjR2iGnaHzYoAlgg9jIMmWXYiA== dependencies: - "@parcel/types" "2.8.3" + "@parcel/plugin" "2.10.3" -"@parcel/reporter-cli@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/reporter-cli/-/reporter-cli-2.8.3.tgz#12a4743b51b8fe6837f53c20e01bbf1f7336e8e4" - integrity sha512-3sJkS6tFFzgIOz3u3IpD/RsmRxvOKKiQHOTkiiqRt1l44mMDGKS7zANRnJYsQzdCsgwc9SOP30XFgJwtoVlMbw== +"@parcel/plugin@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/plugin/-/plugin-2.10.3.tgz#c8055dded9beee2c0269edfdb7acdfb7df64469b" + integrity sha512-FgsfGKSdtSV1EcO2NWFCZaY14W0PnEEF8vZaRCTML3vKfUbilYs/biaqf5geFOu4DwRuCC8unOTqFy7dLwcK/A== dependencies: - "@parcel/plugin" "2.8.3" - "@parcel/types" "2.8.3" - "@parcel/utils" "2.8.3" + "@parcel/types" "2.10.3" + +"@parcel/profiler@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/profiler/-/profiler-2.10.3.tgz#0def95e18b0f71756524c4120e88a77895e9783e" + integrity sha512-yikaM6/vsvjDCcBHAXTKmDsWUF3UvC0lMG8RpnuVSN+R40MGH1vyrR4vNnqhkiCcs0RkVXm7bpuz3cDJLNLYSQ== + dependencies: + "@parcel/diagnostic" "2.10.3" + "@parcel/events" "2.10.3" + chrome-trace-event "^1.0.2" + +"@parcel/reporter-cli@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/reporter-cli/-/reporter-cli-2.10.3.tgz#c7942c56b4d66701b7776c0fe4aca4ce0793fed1" + integrity sha512-p5xQTPRuB1K3eI3Ro90vcdxpdt0VqIgrUP/VJKtSI8I3fLLGgPBNmSZejqqLup3jFRzUttQPHYkWl/R14LHjAQ== + dependencies: + "@parcel/plugin" "2.10.3" + "@parcel/types" "2.10.3" + "@parcel/utils" "2.10.3" chalk "^4.1.0" term-size "^2.2.1" -"@parcel/reporter-dev-server@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/reporter-dev-server/-/reporter-dev-server-2.8.3.tgz#a0daa5cc015642684cea561f4e0e7116bbffdc1c" - integrity sha512-Y8C8hzgzTd13IoWTj+COYXEyCkXfmVJs3//GDBsH22pbtSFMuzAZd+8J9qsCo0EWpiDow7V9f1LischvEh3FbQ== +"@parcel/reporter-dev-server@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/reporter-dev-server/-/reporter-dev-server-2.10.3.tgz#5d287fb8480488d212c4a5c33f2ea552e7bab7fb" + integrity sha512-1Kzb2TrlnOYhGwFXZYCeoO18hpVhI3pRXnN22li9ZmdpeugZ0zZJamfPV8Duj4sBvBoSajbZhiPAe/6tQgWDSA== + dependencies: + "@parcel/plugin" "2.10.3" + "@parcel/utils" "2.10.3" + +"@parcel/reporter-tracer@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/reporter-tracer/-/reporter-tracer-2.10.3.tgz#55a19b2abc3726c541f18de10423f05954ca5b87" + integrity sha512-53T9VPJvCi4Co0iTmNN+nqFD+Fkt3QFW8CPXBVlmlQzOtufVjDb01VsE1NPD8/J7O0jd548HJX/s5uqT0380jg== dependencies: - "@parcel/plugin" "2.8.3" - "@parcel/utils" "2.8.3" + "@parcel/plugin" "2.10.3" + "@parcel/utils" "2.10.3" + chrome-trace-event "^1.0.3" + nullthrows "^1.1.1" -"@parcel/resolver-default@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/resolver-default/-/resolver-default-2.8.3.tgz#5ae41e537ae4a793c1abb47f094482b9e2ac3535" - integrity sha512-k0B5M/PJ+3rFbNj4xZSBr6d6HVIe6DH/P3dClLcgBYSXAvElNDfXgtIimbjCyItFkW9/BfcgOVKEEIZOeySH/A== +"@parcel/resolver-default@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/resolver-default/-/resolver-default-2.10.3.tgz#df8dac49201d84934308a4e30142faa946786a76" + integrity sha512-TQc1LwpvEKyF3CnU9ifHOKV2usFLVYmMAVAkxyKKGTbnJGEqBDQ0ITqTapA6bJLvZ6d2eUT7guqd4nrBEjeZpw== dependencies: - "@parcel/node-resolver-core" "2.8.3" - "@parcel/plugin" "2.8.3" + "@parcel/node-resolver-core" "3.1.3" + "@parcel/plugin" "2.10.3" -"@parcel/runtime-browser-hmr@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.8.3.tgz#1fa74e1fbd1030b0a920c58afa3a9eb7dc4bcd1e" - integrity sha512-2O1PYi2j/Q0lTyGNV3JdBYwg4rKo6TEVFlYGdd5wCYU9ZIN9RRuoCnWWH2qCPj3pjIVtBeppYxzfVjPEHINWVg== +"@parcel/runtime-browser-hmr@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.10.3.tgz#2b584272c437350c564d3c6cff3e6c228405931c" + integrity sha512-+6+mlJiLL3aNVIEyXMUPbPSgljYgnbl9JNMbEXikDQpGGiXTZ7gNNKsqwYeYzgQBYwgqRfR2ir6Bznc2R7dvxg== dependencies: - "@parcel/plugin" "2.8.3" - "@parcel/utils" "2.8.3" + "@parcel/plugin" "2.10.3" + "@parcel/utils" "2.10.3" -"@parcel/runtime-js@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/runtime-js/-/runtime-js-2.8.3.tgz#0baa4c8fbf77eabce05d01ccc186614968ffc0cd" - integrity sha512-IRja0vNKwvMtPgIqkBQh0QtRn0XcxNC8HU1jrgWGRckzu10qJWO+5ULgtOeR4pv9krffmMPqywGXw6l/gvJKYQ== +"@parcel/runtime-js@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/runtime-js/-/runtime-js-2.10.3.tgz#505552942014356b7199f2411b3093b4bc399157" + integrity sha512-EMLgZzBGf5ylOT5U/N2rBK5ZZxnmEM4aJsissEAxcE/2cgE8TyhSng6p3A88vVJlO/unHcwRuFGlxKCueugGsQ== dependencies: - "@parcel/plugin" "2.8.3" - "@parcel/utils" "2.8.3" + "@parcel/diagnostic" "2.10.3" + "@parcel/plugin" "2.10.3" + "@parcel/utils" "2.10.3" nullthrows "^1.1.1" -"@parcel/runtime-react-refresh@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.8.3.tgz#381a942fb81e8f5ac6c7e0ee1b91dbf34763c3f8" - integrity sha512-2v/qFKp00MfG0234OdOgQNAo6TLENpFYZMbVbAsPMY9ITiqG73MrEsrGXVoGbYiGTMB/Toer/lSWlJxtacOCuA== +"@parcel/runtime-react-refresh@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.10.3.tgz#c88aa09b0984b81c4db1be4defad63252063ce75" + integrity sha512-l03mni8XJq3fmeAV8UYlKJ/+u0LYRuk6ZVP0VLYLwgK4O0mlRuxwaZWYUeB8r/kTsEjB3gF/9AAtUZdAC7Swow== dependencies: - "@parcel/plugin" "2.8.3" - "@parcel/utils" "2.8.3" + "@parcel/plugin" "2.10.3" + "@parcel/utils" "2.10.3" react-error-overlay "6.0.9" react-refresh "^0.9.0" -"@parcel/runtime-service-worker@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/runtime-service-worker/-/runtime-service-worker-2.8.3.tgz#54d92da9ff1dfbd27db0e84164a22fa59e99b348" - integrity sha512-/Skkw+EeRiwzOJso5fQtK8c9b452uWLNhQH1ISTodbmlcyB4YalAiSsyHCtMYD0c3/t5Sx4ZS7vxBAtQd0RvOw== +"@parcel/runtime-service-worker@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/runtime-service-worker/-/runtime-service-worker-2.10.3.tgz#62d03fed56931cfe53a8373acb219c8665f9f1b1" + integrity sha512-NjhS80t+O5iBgKXIQ+i07ZEh/VW8XHzanwTHmznJXEoIjLoBpELZ9r6bV/eUD3mYgM1vmW9Aijdu5xtsd0JW6A== dependencies: - "@parcel/plugin" "2.8.3" - "@parcel/utils" "2.8.3" + "@parcel/plugin" "2.10.3" + "@parcel/utils" "2.10.3" nullthrows "^1.1.1" +"@parcel/rust@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/rust/-/rust-2.10.3.tgz#d5992ad0016f828dc2d1214fbd8e376f351d3efb" + integrity sha512-s1dD1QI/6JkWLICsFh8/iUvO7W1aj/avx+2mCSzuwEIsMywexpBf56qhVYMa3D9D50hS1h5FMk9RrSnSiPf8WA== + "@parcel/source-map@^2.1.1": version "2.1.1" resolved "https://registry.yarnpkg.com/@parcel/source-map/-/source-map-2.1.1.tgz#fb193b82dba6dd62cc7a76b326f57bb35000a782" @@ -3491,165 +4049,235 @@ dependencies: detect-libc "^1.0.3" -"@parcel/transformer-babel@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/transformer-babel/-/transformer-babel-2.8.3.tgz#286bc6cb9afe4c0259f0b28e0f2f47322a24b130" - integrity sha512-L6lExfpvvC7T/g3pxf3CIJRouQl+sgrSzuWQ0fD4PemUDHvHchSP4SNUVnd6gOytF3Y1KpnEZIunQGi5xVqQCQ== +"@parcel/transformer-babel@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/transformer-babel/-/transformer-babel-2.10.3.tgz#10430b076e7226d23f54916e980665975b6f05bc" + integrity sha512-SDTyDZX3WTkX7WS5Dg5cBLjWtIkUeeHezIjeOI4cw40tBjj5bXRR2TBfPsqwOnpTHr5jhNSicD6DN+XfTI2MMw== dependencies: - "@parcel/diagnostic" "2.8.3" - "@parcel/plugin" "2.8.3" + "@parcel/diagnostic" "2.10.3" + "@parcel/plugin" "2.10.3" "@parcel/source-map" "^2.1.1" - "@parcel/utils" "2.8.3" + "@parcel/utils" "2.10.3" browserslist "^4.6.6" json5 "^2.2.0" nullthrows "^1.1.1" - semver "^5.7.0" + semver "^7.5.2" -"@parcel/transformer-css@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/transformer-css/-/transformer-css-2.8.3.tgz#d6c44100204e73841ad8e0f90472172ea8b9120c" - integrity sha512-xTqFwlSXtnaYen9ivAgz+xPW7yRl/u4QxtnDyDpz5dr8gSeOpQYRcjkd4RsYzKsWzZcGtB5EofEk8ayUbWKEUg== +"@parcel/transformer-css@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/transformer-css/-/transformer-css-2.10.3.tgz#6a0b80649c676298e36ad0a37d55481609051f78" + integrity sha512-qlPYcwVgbqFHrec6CKcTQ4hY7EkjvH40Wyqf0xjAyIoIuOPmrpSUOp+VKjeRdbyFwH/4GBjrDZMBvCUsgeM2GA== dependencies: - "@parcel/diagnostic" "2.8.3" - "@parcel/plugin" "2.8.3" + "@parcel/diagnostic" "2.10.3" + "@parcel/plugin" "2.10.3" "@parcel/source-map" "^2.1.1" - "@parcel/utils" "2.8.3" + "@parcel/utils" "2.10.3" browserslist "^4.6.6" lightningcss "^1.16.1" nullthrows "^1.1.1" -"@parcel/transformer-html@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/transformer-html/-/transformer-html-2.8.3.tgz#5c68b28ee6b8c7a13b8aee87f7957ad3227bd83f" - integrity sha512-kIZO3qsMYTbSnSpl9cnZog+SwL517ffWH54JeB410OSAYF1ouf4n5v9qBnALZbuCCmPwJRGs4jUtE452hxwN4g== +"@parcel/transformer-html@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/transformer-html/-/transformer-html-2.10.3.tgz#bd60209c4b87668933e6ad21108144f8a0a76c9a" + integrity sha512-u0uklWpliEcPADtBlboxhxBvlGrP0yPRZk/A2iL0VhfAi9ONFEuJkEoesispNhAg3KiojEh0Ddzu7bYp9U0yww== dependencies: - "@parcel/diagnostic" "2.8.3" - "@parcel/hash" "2.8.3" - "@parcel/plugin" "2.8.3" + "@parcel/diagnostic" "2.10.3" + "@parcel/plugin" "2.10.3" + "@parcel/rust" "2.10.3" nullthrows "^1.1.1" posthtml "^0.16.5" posthtml-parser "^0.10.1" posthtml-render "^3.0.0" - semver "^5.7.1" + semver "^7.5.2" srcset "4" -"@parcel/transformer-image@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/transformer-image/-/transformer-image-2.8.3.tgz#73805b2bfc3c8919d7737544e5f8be39e3f303fe" - integrity sha512-cO4uptcCGTi5H6bvTrAWEFUsTNhA4kCo8BSvRSCHA2sf/4C5tGQPHt3JhdO0GQLPwZRCh/R41EkJs5HZ8A8DAg== +"@parcel/transformer-image@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/transformer-image/-/transformer-image-2.10.3.tgz#8b460b531e19cba9f9c24f4153b714b064e63670" + integrity sha512-At7D7eMauE+/EnlXiDfNSap2te11L0TIW55SC9iTRTI/CqesWfT96ZB/LcH3HXckYy/GJi0xyTjYxC/YjUqDog== dependencies: - "@parcel/plugin" "2.8.3" - "@parcel/utils" "2.8.3" - "@parcel/workers" "2.8.3" + "@parcel/plugin" "2.10.3" + "@parcel/utils" "2.10.3" + "@parcel/workers" "2.10.3" nullthrows "^1.1.1" -"@parcel/transformer-js@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/transformer-js/-/transformer-js-2.8.3.tgz#fe400df428394d1e7fe5afb6dea5c7c858e44f03" - integrity sha512-9Qd6bib+sWRcpovvzvxwy/PdFrLUXGfmSW9XcVVG8pvgXsZPFaNjnNT8stzGQj1pQiougCoxMY4aTM5p1lGHEQ== +"@parcel/transformer-js@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/transformer-js/-/transformer-js-2.10.3.tgz#7274113277ad4676fb46afd68a9fcda1a84d13ec" + integrity sha512-9pGqrCSLlipXvL7hOrLsaW5Pq4bjFBOTiZ5k5kizk1qeuHKMIHxySGdy0E35eSsJ6JzXP0lTXPywMPysSI6owQ== dependencies: - "@parcel/diagnostic" "2.8.3" - "@parcel/plugin" "2.8.3" + "@parcel/diagnostic" "2.10.3" + "@parcel/plugin" "2.10.3" + "@parcel/rust" "2.10.3" "@parcel/source-map" "^2.1.1" - "@parcel/utils" "2.8.3" - "@parcel/workers" "2.8.3" - "@swc/helpers" "^0.4.12" + "@parcel/utils" "2.10.3" + "@parcel/workers" "2.10.3" + "@swc/helpers" "^0.5.0" browserslist "^4.6.6" - detect-libc "^1.0.3" nullthrows "^1.1.1" regenerator-runtime "^0.13.7" - semver "^5.7.1" + semver "^7.5.2" -"@parcel/transformer-json@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/transformer-json/-/transformer-json-2.8.3.tgz#25deb3a5138cc70a83269fc5d39d564609354d36" - integrity sha512-B7LmVq5Q7bZO4ERb6NHtRuUKWGysEeaj9H4zelnyBv+wLgpo4f5FCxSE1/rTNmP9u1qHvQ3scGdK6EdSSokGPg== +"@parcel/transformer-json@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/transformer-json/-/transformer-json-2.10.3.tgz#1efb938de14f9e315c7f9cc9218457305dae8564" + integrity sha512-cPhiQNgrX92VEATuxf3GCPQnlfnZW1iCsOHMT1CzgmofE7tVlW1hOOokWw21/8spG44Zax0SrRW0udi9TdmpQA== dependencies: - "@parcel/plugin" "2.8.3" + "@parcel/plugin" "2.10.3" json5 "^2.2.0" -"@parcel/transformer-postcss@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/transformer-postcss/-/transformer-postcss-2.8.3.tgz#df4fdc1c90893823445f2a8eb8e2bdd0349ccc58" - integrity sha512-e8luB/poIlz6jBsD1Izms+6ElbyzuoFVa4lFVLZnTAChI3UxPdt9p/uTsIO46HyBps/Bk8ocvt3J4YF84jzmvg== +"@parcel/transformer-postcss@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/transformer-postcss/-/transformer-postcss-2.10.3.tgz#8b5c4756c4e0a64ff3a88fac5b26eb3601056fe7" + integrity sha512-SpTZQdGQ3aVvl6+3tLlw/txUyzZSsv8t+hcfc9PM0n1rd4mfjWxVKmgNC1Y3nFoSubLMp+03GbMq16ym8t89WQ== dependencies: - "@parcel/diagnostic" "2.8.3" - "@parcel/hash" "2.8.3" - "@parcel/plugin" "2.8.3" - "@parcel/utils" "2.8.3" + "@parcel/diagnostic" "2.10.3" + "@parcel/plugin" "2.10.3" + "@parcel/rust" "2.10.3" + "@parcel/utils" "2.10.3" clone "^2.1.1" nullthrows "^1.1.1" postcss-value-parser "^4.2.0" - semver "^5.7.1" + semver "^7.5.2" -"@parcel/transformer-posthtml@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/transformer-posthtml/-/transformer-posthtml-2.8.3.tgz#7c3912a5a631cb26485f6464e0d6eeabb6f1e718" - integrity sha512-pkzf9Smyeaw4uaRLsT41RGrPLT5Aip8ZPcntawAfIo+KivBQUV0erY1IvHYjyfFzq1ld/Fo2Ith9He6mxpPifA== +"@parcel/transformer-posthtml@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/transformer-posthtml/-/transformer-posthtml-2.10.3.tgz#25f8361cad4d3a2abd23c0ec148562a1ca76c42d" + integrity sha512-k6pz0H/W1k+i9uDNXjum7XkaFYKvSSrgEsmhoh7OriXPrLunboIzMBXFQcQSCyxCpw/kLuKFBLP38mQnYC5BbQ== dependencies: - "@parcel/plugin" "2.8.3" - "@parcel/utils" "2.8.3" + "@parcel/plugin" "2.10.3" + "@parcel/utils" "2.10.3" nullthrows "^1.1.1" posthtml "^0.16.5" posthtml-parser "^0.10.1" posthtml-render "^3.0.0" - semver "^5.7.1" + semver "^7.5.2" -"@parcel/transformer-raw@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/transformer-raw/-/transformer-raw-2.8.3.tgz#3a22213fe18a5f83fd78889cb49f06e059cfead7" - integrity sha512-G+5cXnd2/1O3nV/pgRxVKZY/HcGSseuhAe71gQdSQftb8uJEURyUHoQ9Eh0JUD3MgWh9V+nIKoyFEZdf9T0sUQ== +"@parcel/transformer-raw@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/transformer-raw/-/transformer-raw-2.10.3.tgz#bbda9f554e6cb8985039a97d80eb5468b2109f25" + integrity sha512-r//P2Hg14m/vJK/XJyq0cmcS4RTRy4bPSL4c0FxbEdDRrSm0Hcd1gdfgl0HeqSQQfcz0Xu4nCM5zAhg6FUpiXQ== dependencies: - "@parcel/plugin" "2.8.3" + "@parcel/plugin" "2.10.3" -"@parcel/transformer-react-refresh-wrap@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.8.3.tgz#8b0392638405dd470a886002229f7889d5464822" - integrity sha512-q8AAoEvBnCf/nPvgOwFwKZfEl/thwq7c2duxXkhl+tTLDRN2vGmyz4355IxCkavSX+pLWSQ5MexklSEeMkgthg== +"@parcel/transformer-react-refresh-wrap@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.10.3.tgz#872377fe4d1abac83780f68f1e95656ebb91f0fe" + integrity sha512-Sc6ExGQy/YhNYFxRgEyi4SikYmV3wbATYo/VzqUjvZ4vE9YXM0sC5CyJhcoWVHmMPhm5eowOwFA6UrTsgHd2+g== dependencies: - "@parcel/plugin" "2.8.3" - "@parcel/utils" "2.8.3" + "@parcel/plugin" "2.10.3" + "@parcel/utils" "2.10.3" react-refresh "^0.9.0" -"@parcel/transformer-svg@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/transformer-svg/-/transformer-svg-2.8.3.tgz#4df959cba4ebf45d7aaddd540f752e6e84df38b2" - integrity sha512-3Zr/gBzxi1ZH1fftH/+KsZU7w5GqkmxlB0ZM8ovS5E/Pl1lq1t0xvGJue9m2VuQqP8Mxfpl5qLFmsKlhaZdMIQ== +"@parcel/transformer-svg@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/transformer-svg/-/transformer-svg-2.10.3.tgz#349b276e784e4169971112e9ed54c2fe2f0af229" + integrity sha512-fjkTdPB8y467I/yHPEaNxNxoGtRIgEqNjVkBhtE/ibhF/YfqIEpDlJyI7G5G71pt2peLMLXZnJowzHqeoEUHOQ== dependencies: - "@parcel/diagnostic" "2.8.3" - "@parcel/hash" "2.8.3" - "@parcel/plugin" "2.8.3" + "@parcel/diagnostic" "2.10.3" + "@parcel/plugin" "2.10.3" + "@parcel/rust" "2.10.3" nullthrows "^1.1.1" posthtml "^0.16.5" posthtml-parser "^0.10.1" posthtml-render "^3.0.0" - semver "^5.7.1" + semver "^7.5.2" -"@parcel/types@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/types/-/types-2.8.3.tgz#3306bc5391b6913bd619914894b8cd84a24b30fa" - integrity sha512-FECA1FB7+0UpITKU0D6TgGBpGxYpVSMNEENZbSJxFSajNy3wrko+zwBKQmFOLOiPcEtnGikxNs+jkFWbPlUAtw== +"@parcel/types@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/types/-/types-2.10.3.tgz#8f8c4f1f837b0466cc132ba4fdc96edd9da4927f" + integrity sha512-4ISgDKcbJsR7NKj2jquPUPQWc/b2x6zHb/jZVdHVzMQxJp98DX+cvQR137iOTXUAFtwkKVjFcHWfejwGdGf9bw== dependencies: - "@parcel/cache" "2.8.3" - "@parcel/diagnostic" "2.8.3" - "@parcel/fs" "2.8.3" - "@parcel/package-manager" "2.8.3" + "@parcel/cache" "2.10.3" + "@parcel/diagnostic" "2.10.3" + "@parcel/fs" "2.10.3" + "@parcel/package-manager" "2.10.3" "@parcel/source-map" "^2.1.1" - "@parcel/workers" "2.8.3" + "@parcel/workers" "2.10.3" utility-types "^3.10.0" -"@parcel/utils@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/utils/-/utils-2.8.3.tgz#0d56c9e8e22c119590a5e044a0e01031965da40e" - integrity sha512-IhVrmNiJ+LOKHcCivG5dnuLGjhPYxQ/IzbnF2DKNQXWBTsYlHkJZpmz7THoeLtLliGmSOZ3ZCsbR8/tJJKmxjA== +"@parcel/utils@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/utils/-/utils-2.10.3.tgz#16c967b76c684ec206eaa7a16abd16fa4e4a55af" + integrity sha512-l9pEQgq+D57t42m2sJkdU08Dpp0HVzDEwVrp/by/l37ZkYPJ2Me3oXtsJhvA+hej2kO8+FuKPm64FaUVaA2g+w== dependencies: - "@parcel/codeframe" "2.8.3" - "@parcel/diagnostic" "2.8.3" - "@parcel/hash" "2.8.3" - "@parcel/logger" "2.8.3" - "@parcel/markdown-ansi" "2.8.3" + "@parcel/codeframe" "2.10.3" + "@parcel/diagnostic" "2.10.3" + "@parcel/logger" "2.10.3" + "@parcel/markdown-ansi" "2.10.3" + "@parcel/rust" "2.10.3" "@parcel/source-map" "^2.1.1" chalk "^4.1.0" + nullthrows "^1.1.1" + +"@parcel/watcher-android-arm64@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.3.0.tgz#d82e74bb564ebd4d8a88791d273a3d2bd61e27ab" + integrity sha512-f4o9eA3dgk0XRT3XhB0UWpWpLnKgrh1IwNJKJ7UJek7eTYccQ8LR7XUWFKqw6aEq5KUNlCcGvSzKqSX/vtWVVA== + +"@parcel/watcher-darwin-arm64@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.3.0.tgz#c9cd03f8f233d512fcfc873d5b4e23f1569a82ad" + integrity sha512-mKY+oijI4ahBMc/GygVGvEdOq0L4DxhYgwQqYAz/7yPzuGi79oXrZG52WdpGA1wLBPrYb0T8uBaGFo7I6rvSKw== + +"@parcel/watcher-darwin-x64@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.3.0.tgz#83c902994a2a49b9e1ab5050dba24876fdc2c219" + integrity sha512-20oBj8LcEOnLE3mgpy6zuOq8AplPu9NcSSSfyVKgfOhNAc4eF4ob3ldj0xWjGGbOF7Dcy1Tvm6ytvgdjlfUeow== + +"@parcel/watcher-freebsd-x64@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.3.0.tgz#7a0f4593a887e2752b706aff2dae509aef430cf6" + integrity sha512-7LftKlaHunueAEiojhCn+Ef2CTXWsLgTl4hq0pkhkTBFI3ssj2bJXmH2L67mKpiAD5dz66JYk4zS66qzdnIOgw== + +"@parcel/watcher-linux-arm-glibc@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.3.0.tgz#3fc90c3ebe67de3648ed2f138068722f9b1d47da" + integrity sha512-1apPw5cD2xBv1XIHPUlq0cO6iAaEUQ3BcY0ysSyD9Kuyw4MoWm1DV+W9mneWI+1g6OeP6dhikiFE6BlU+AToTQ== + +"@parcel/watcher-linux-arm64-glibc@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.3.0.tgz#f7bbbf2497d85fd11e4c9e9c26ace8f10ea9bcbc" + integrity sha512-mQ0gBSQEiq1k/MMkgcSB0Ic47UORZBmWoAWlMrTW6nbAGoLZP+h7AtUM7H3oDu34TBFFvjy4JCGP43JlylkTQA== + +"@parcel/watcher-linux-arm64-musl@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.3.0.tgz#de131a9fcbe1fa0854e9cbf4c55bed3b35bcff43" + integrity sha512-LXZAExpepJew0Gp8ZkJ+xDZaTQjLHv48h0p0Vw2VMFQ8A+RKrAvpFuPVCVwKJCr5SE+zvaG+Etg56qXvTDIedw== + +"@parcel/watcher-linux-x64-glibc@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.3.0.tgz#193dd1c798003cdb5a1e59470ff26300f418a943" + integrity sha512-P7Wo91lKSeSgMTtG7CnBS6WrA5otr1K7shhSjKHNePVmfBHDoAOHYRXgUmhiNfbcGk0uMCHVcdbfxtuiZCHVow== + +"@parcel/watcher-linux-x64-musl@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.3.0.tgz#6dbdb86d96e955ab0fe4a4b60734ec0025a689dd" + integrity sha512-+kiRE1JIq8QdxzwoYY+wzBs9YbJ34guBweTK8nlzLKimn5EQ2b2FSC+tAOpq302BuIMjyuUGvBiUhEcLIGMQ5g== + +"@parcel/watcher-wasm@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-wasm/-/watcher-wasm-2.3.0.tgz#73b66c6fbd2a3326ae86a1ec77eab7139d0dd725" + integrity sha512-ejBAX8H0ZGsD8lSICDNyMbSEtPMWgDL0WFCt/0z7hyf5v8Imz4rAM8xY379mBsECkq/Wdqa5WEDLqtjZ+6NxfA== + dependencies: + is-glob "^4.0.3" + micromatch "^4.0.5" + napi-wasm "^1.1.0" + +"@parcel/watcher-win32-arm64@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.3.0.tgz#59da26a431da946e6c74fa6b0f30b120ea6650b6" + integrity sha512-35gXCnaz1AqIXpG42evcoP2+sNL62gZTMZne3IackM+6QlfMcJLy3DrjuL6Iks7Czpd3j4xRBzez3ADCj1l7Aw== + +"@parcel/watcher-win32-ia32@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.3.0.tgz#3ee6a18b08929cd3b788e8cc9547fd9a540c013a" + integrity sha512-FJS/IBQHhRpZ6PiCjFt1UAcPr0YmCLHRbTc00IBTrelEjlmmgIVLeOx4MSXzx2HFEy5Jo5YdhGpxCuqCyDJ5ow== + +"@parcel/watcher-win32-x64@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.3.0.tgz#14e7246289861acc589fd608de39fe5d8b4bb0a7" + integrity sha512-dLx+0XRdMnVI62kU3wbXvbIRhLck4aE28bIGKbRGS7BJNt54IIj9+c/Dkqb+7DJEbHUZAX1bwaoM8PqVlHJmCA== "@parcel/watcher@2.0.4": version "2.0.4" @@ -3659,37 +4287,50 @@ node-addon-api "^3.2.1" node-gyp-build "^4.3.0" -"@parcel/watcher@^2.0.7": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.1.0.tgz#5f32969362db4893922c526a842d8af7a8538545" - integrity sha512-8s8yYjd19pDSsBpbkOHnT6Z2+UJSuLQx61pCFM0s5wSRvKCEMDjd/cHY3/GI1szHIWbpXpsJdg3V6ISGGx9xDw== +"@parcel/watcher@^2.0.7", "@parcel/watcher@^2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.3.0.tgz#803517abbc3981a1a1221791d9f59dc0590d50f9" + integrity sha512-pW7QaFiL11O0BphO+bq3MgqeX/INAk9jgBldVDYjlQPO4VddoZnF22TcF9onMhnLVHuNqBJeRf+Fj7eezi/+rQ== dependencies: + detect-libc "^1.0.3" is-glob "^4.0.3" micromatch "^4.0.5" - node-addon-api "^3.2.1" - node-gyp-build "^4.3.0" - -"@parcel/workers@2.8.3": - version "2.8.3" - resolved "https://registry.yarnpkg.com/@parcel/workers/-/workers-2.8.3.tgz#255450ccf4db234082407e4ddda5fd575f08c235" - integrity sha512-+AxBnKgjqVpUHBcHLWIHcjYgKIvHIpZjN33mG5LG9XXvrZiqdWvouEzqEXlVLq5VzzVbKIQQcmsvRy138YErkg== - dependencies: - "@parcel/diagnostic" "2.8.3" - "@parcel/logger" "2.8.3" - "@parcel/types" "2.8.3" - "@parcel/utils" "2.8.3" - chrome-trace-event "^1.0.2" + node-addon-api "^7.0.0" + optionalDependencies: + "@parcel/watcher-android-arm64" "2.3.0" + "@parcel/watcher-darwin-arm64" "2.3.0" + "@parcel/watcher-darwin-x64" "2.3.0" + "@parcel/watcher-freebsd-x64" "2.3.0" + "@parcel/watcher-linux-arm-glibc" "2.3.0" + "@parcel/watcher-linux-arm64-glibc" "2.3.0" + "@parcel/watcher-linux-arm64-musl" "2.3.0" + "@parcel/watcher-linux-x64-glibc" "2.3.0" + "@parcel/watcher-linux-x64-musl" "2.3.0" + "@parcel/watcher-win32-arm64" "2.3.0" + "@parcel/watcher-win32-ia32" "2.3.0" + "@parcel/watcher-win32-x64" "2.3.0" + +"@parcel/workers@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@parcel/workers/-/workers-2.10.3.tgz#2c4b674f3485124b56b584358ae38034f20d649f" + integrity sha512-qlN8G3VybPHVIbD6fsZr2gmrXG2UlROUQIPW/kkAvjQ29uRfFn7YEC8CHTICt8M1HhCNkr0cMXkuXQBi0l3kAg== + dependencies: + "@parcel/diagnostic" "2.10.3" + "@parcel/logger" "2.10.3" + "@parcel/profiler" "2.10.3" + "@parcel/types" "2.10.3" + "@parcel/utils" "2.10.3" nullthrows "^1.1.1" -"@pedrouid/environment@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@pedrouid/environment/-/environment-1.0.1.tgz#858f0f8a057340e0b250398b75ead77d6f4342ec" - integrity sha512-HaW78NszGzRZd9SeoI3JD11JqY+lubnaOx7Pewj5pfjqWXOEATpeKIFb9Z4t2WBUK2iryiXX3lzWwmYWgUL0Ug== +"@pkgjs/parseargs@^0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" + integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== -"@pmmmwh/react-refresh-webpack-plugin@^0.5.3": - version "0.5.10" - resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.10.tgz#2eba163b8e7dbabb4ce3609ab5e32ab63dda3ef8" - integrity sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA== +"@pmmmwh/react-refresh-webpack-plugin@^0.5.5": + version "0.5.11" + resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.11.tgz#7c2268cedaa0644d677e8c4f377bc8fb304f714a" + integrity sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ== dependencies: ansi-html-community "^0.0.8" common-path-prefix "^3.0.0" @@ -3754,292 +4395,453 @@ resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== -"@radix-ui/primitive@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/primitive/-/primitive-1.0.0.tgz#e1d8ef30b10ea10e69c76e896f608d9276352253" - integrity sha512-3e7rn8FDMin4CgeL7Z/49smCA3rFYY3Ha2rUQ7HRWFadS5iCRw08ZgVT1LaNTCNqgvrUiyczLflrVrF0SRQtNA== +"@radix-ui/number@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/number/-/number-1.0.1.tgz#644161a3557f46ed38a042acf4a770e826021674" + integrity sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg== dependencies: "@babel/runtime" "^7.13.10" -"@radix-ui/react-arrow@1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@radix-ui/react-arrow/-/react-arrow-1.0.2.tgz#93b0ff95f65e2264a05b14ef1031ec798243dd6f" - integrity sha512-fqYwhhI9IarZ0ll2cUSfKuXHlJK0qE4AfnRrPBbRwEH/4mGQn04/QFGomLi8TXWIdv9WJk//KgGm+aDxVIr1wA== +"@radix-ui/primitive@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/primitive/-/primitive-1.0.1.tgz#e46f9958b35d10e9f6dc71c497305c22e3e55dbd" + integrity sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw== + dependencies: + "@babel/runtime" "^7.13.10" + +"@radix-ui/react-arrow@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-arrow/-/react-arrow-1.0.3.tgz#c24f7968996ed934d57fe6cde5d6ec7266e1d25d" + integrity sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA== dependencies: "@babel/runtime" "^7.13.10" - "@radix-ui/react-primitive" "1.0.2" + "@radix-ui/react-primitive" "1.0.3" "@radix-ui/react-checkbox@^1.0.1": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@radix-ui/react-checkbox/-/react-checkbox-1.0.4.tgz#98f22c38d5010dd6df4c5744cac74087e3275f4b" + integrity sha512-CBuGQa52aAYnADZVt/KBQzXrwx6TqnlwtcIPGtVt5JkkzQwMOLJjPukimhfKEr4GQNd43C+djUh5Ikopj8pSLg== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/primitive" "1.0.1" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-context" "1.0.1" + "@radix-ui/react-presence" "1.0.1" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-use-controllable-state" "1.0.1" + "@radix-ui/react-use-previous" "1.0.1" + "@radix-ui/react-use-size" "1.0.1" + +"@radix-ui/react-collapsible@^1.0.3": version "1.0.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-checkbox/-/react-checkbox-1.0.3.tgz#bab1916c04b9f66e944e7168be2217cb74c7b94e" - integrity sha512-55B8/vKzTuzxllH5sGJO4zaBf9gYpJuJRRzaOKm+0oAefRnMvbf+Kgww7IOANVN0w3z7agFJgtnXaZl8Uj95AA== + resolved "https://registry.yarnpkg.com/@radix-ui/react-collapsible/-/react-collapsible-1.0.3.tgz#df0e22e7a025439f13f62d4e4a9e92c4a0df5b81" + integrity sha512-UBmVDkmR6IvDsloHVN+3rtx4Mi5TFvylYXpluuv0f37dtaz3H99bp8No0LGXRigVpl3UAT4l9j6bIchh42S/Gg== dependencies: "@babel/runtime" "^7.13.10" - "@radix-ui/primitive" "1.0.0" - "@radix-ui/react-compose-refs" "1.0.0" - "@radix-ui/react-context" "1.0.0" - "@radix-ui/react-presence" "1.0.0" - "@radix-ui/react-primitive" "1.0.2" - "@radix-ui/react-use-controllable-state" "1.0.0" - "@radix-ui/react-use-previous" "1.0.0" - "@radix-ui/react-use-size" "1.0.0" - -"@radix-ui/react-collection@1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@radix-ui/react-collection/-/react-collection-1.0.2.tgz#d50da00bfa2ac14585319efdbbb081d4c5a29a97" - integrity sha512-s8WdQQ6wNXpaxdZ308KSr8fEWGrg4un8i4r/w7fhiS4ElRNjk5rRcl0/C6TANG2LvLOGIxtzo/jAg6Qf73TEBw== + "@radix-ui/primitive" "1.0.1" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-context" "1.0.1" + "@radix-ui/react-id" "1.0.1" + "@radix-ui/react-presence" "1.0.1" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-use-controllable-state" "1.0.1" + "@radix-ui/react-use-layout-effect" "1.0.1" + +"@radix-ui/react-collection@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-collection/-/react-collection-1.0.3.tgz#9595a66e09026187524a36c6e7e9c7d286469159" + integrity sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA== dependencies: "@babel/runtime" "^7.13.10" - "@radix-ui/react-compose-refs" "1.0.0" - "@radix-ui/react-context" "1.0.0" - "@radix-ui/react-primitive" "1.0.2" - "@radix-ui/react-slot" "1.0.1" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-context" "1.0.1" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-slot" "1.0.2" -"@radix-ui/react-compose-refs@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.0.tgz#37595b1f16ec7f228d698590e78eeed18ff218ae" - integrity sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA== +"@radix-ui/react-compose-refs@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz#7ed868b66946aa6030e580b1ffca386dd4d21989" + integrity sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw== dependencies: "@babel/runtime" "^7.13.10" -"@radix-ui/react-context@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-context/-/react-context-1.0.0.tgz#f38e30c5859a9fb5e9aa9a9da452ee3ed9e0aee0" - integrity sha512-1pVM9RfOQ+n/N5PJK33kRSKsr1glNxomxONs5c49MliinBY6Yw2Q995qfBUUo0/Mbg05B/sGA0gkgPI7kmSHBg== +"@radix-ui/react-context@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-context/-/react-context-1.0.1.tgz#fe46e67c96b240de59187dcb7a1a50ce3e2ec00c" + integrity sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg== dependencies: "@babel/runtime" "^7.13.10" -"@radix-ui/react-direction@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-direction/-/react-direction-1.0.0.tgz#a2e0b552352459ecf96342c79949dd833c1e6e45" - integrity sha512-2HV05lGUgYcA6xgLQ4BKPDmtL+QbIZYH5fCOTAOOcJ5O0QbWS3i9lKaurLzliYUDhORI2Qr3pyjhJh44lKA3rQ== +"@radix-ui/react-direction@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-direction/-/react-direction-1.0.1.tgz#9cb61bf2ccf568f3421422d182637b7f47596c9b" + integrity sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA== dependencies: "@babel/runtime" "^7.13.10" -"@radix-ui/react-dismissable-layer@1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.3.tgz#63844d8e6bbcd010a513e7176d051c3c4044e09e" - integrity sha512-nXZOvFjOuHS1ovumntGV7NNoLaEp9JEvTht3MBjP44NSW5hUKj/8OnfN3+8WmB+CEhN44XaGhpHoSsUIEl5P7Q== +"@radix-ui/react-dismissable-layer@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.4.tgz#883a48f5f938fa679427aa17fcba70c5494c6978" + integrity sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg== dependencies: "@babel/runtime" "^7.13.10" - "@radix-ui/primitive" "1.0.0" - "@radix-ui/react-compose-refs" "1.0.0" - "@radix-ui/react-primitive" "1.0.2" - "@radix-ui/react-use-callback-ref" "1.0.0" - "@radix-ui/react-use-escape-keydown" "1.0.2" + "@radix-ui/primitive" "1.0.1" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-use-callback-ref" "1.0.1" + "@radix-ui/react-use-escape-keydown" "1.0.3" -"@radix-ui/react-id@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-id/-/react-id-1.0.0.tgz#8d43224910741870a45a8c9d092f25887bb6d11e" - integrity sha512-Q6iAB/U7Tq3NTolBBQbHTgclPmGWE3OlktGGqrClPozSw4vkQ1DfQAOtzgRPecKsMdJINE05iaoDUG8tRzCBjw== +"@radix-ui/react-dismissable-layer@1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.5.tgz#3f98425b82b9068dfbab5db5fff3df6ebf48b9d4" + integrity sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g== dependencies: "@babel/runtime" "^7.13.10" - "@radix-ui/react-use-layout-effect" "1.0.0" + "@radix-ui/primitive" "1.0.1" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-use-callback-ref" "1.0.1" + "@radix-ui/react-use-escape-keydown" "1.0.3" -"@radix-ui/react-popper@1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-popper/-/react-popper-1.1.1.tgz#54f060941c981e965ff5d6b64e152d6298d2326e" - integrity sha512-keYDcdMPNMjSC8zTsZ8wezUMiWM9Yj14wtF3s0PTIs9srnEPC9Kt2Gny1T3T81mmSeyDjZxsD9N5WCwNNb712w== +"@radix-ui/react-focus-guards@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.1.tgz#1ea7e32092216b946397866199d892f71f7f98ad" + integrity sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA== dependencies: "@babel/runtime" "^7.13.10" - "@floating-ui/react-dom" "0.7.2" - "@radix-ui/react-arrow" "1.0.2" - "@radix-ui/react-compose-refs" "1.0.0" - "@radix-ui/react-context" "1.0.0" - "@radix-ui/react-primitive" "1.0.2" - "@radix-ui/react-use-callback-ref" "1.0.0" - "@radix-ui/react-use-layout-effect" "1.0.0" - "@radix-ui/react-use-rect" "1.0.0" - "@radix-ui/react-use-size" "1.0.0" - "@radix-ui/rect" "1.0.0" - -"@radix-ui/react-portal@1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@radix-ui/react-portal/-/react-portal-1.0.2.tgz#102370b1027a767a371cab0243be4bc664f72330" - integrity sha512-swu32idoCW7KA2VEiUZGBSu9nB6qwGdV6k6HYhUoOo3M1FFpD+VgLzUqtt3mwL1ssz7r2x8MggpLSQach2Xy/Q== + +"@radix-ui/react-focus-scope@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.3.tgz#9c2e8d4ed1189a1d419ee61edd5c1828726472f9" + integrity sha512-upXdPfqI4islj2CslyfUBNlaJCPybbqRHAi1KER7Isel9Q2AtSJ0zRBZv8mWQiFXD2nyAJ4BhC3yXgZ6kMBSrQ== dependencies: "@babel/runtime" "^7.13.10" - "@radix-ui/react-primitive" "1.0.2" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-use-callback-ref" "1.0.1" -"@radix-ui/react-presence@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-presence/-/react-presence-1.0.0.tgz#814fe46df11f9a468808a6010e3f3ca7e0b2e84a" - integrity sha512-A+6XEvN01NfVWiKu38ybawfHsBjWum42MRPnEuqPsBZ4eV7e/7K321B5VgYMPv3Xx5An6o1/l9ZuDBgmcmWK3w== +"@radix-ui/react-focus-scope@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.4.tgz#2ac45fce8c5bb33eb18419cdc1905ef4f1906525" + integrity sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA== dependencies: "@babel/runtime" "^7.13.10" - "@radix-ui/react-compose-refs" "1.0.0" - "@radix-ui/react-use-layout-effect" "1.0.0" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-use-callback-ref" "1.0.1" -"@radix-ui/react-primitive@1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@radix-ui/react-primitive/-/react-primitive-1.0.2.tgz#54e22f49ca59ba88d8143090276d50b93f8a7053" - integrity sha512-zY6G5Qq4R8diFPNwtyoLRZBxzu1Z+SXMlfYpChN7Dv8gvmx9X3qhDqiLWvKseKVJMuedFeU/Sa0Sy/Ia+t06Dw== +"@radix-ui/react-id@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-id/-/react-id-1.0.1.tgz#73cdc181f650e4df24f0b6a5b7aa426b912c88c0" + integrity sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ== dependencies: "@babel/runtime" "^7.13.10" - "@radix-ui/react-slot" "1.0.1" + "@radix-ui/react-use-layout-effect" "1.0.1" -"@radix-ui/react-radio-group@^1.1.1": +"@radix-ui/react-popover@^1.0.6": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@radix-ui/react-popover/-/react-popover-1.0.7.tgz#23eb7e3327330cb75ec7b4092d685398c1654e3c" + integrity sha512-shtvVnlsxT6faMnK/a7n0wptwBD23xc1Z5mdrtKLwVEfsEMXodS0r5s0/g5P0hX//EKYZS2sxUjqfzlg52ZSnQ== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/primitive" "1.0.1" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-context" "1.0.1" + "@radix-ui/react-dismissable-layer" "1.0.5" + "@radix-ui/react-focus-guards" "1.0.1" + "@radix-ui/react-focus-scope" "1.0.4" + "@radix-ui/react-id" "1.0.1" + "@radix-ui/react-popper" "1.1.3" + "@radix-ui/react-portal" "1.0.4" + "@radix-ui/react-presence" "1.0.1" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-slot" "1.0.2" + "@radix-ui/react-use-controllable-state" "1.0.1" + aria-hidden "^1.1.1" + react-remove-scroll "2.5.5" + +"@radix-ui/react-popper@1.1.2": version "1.1.2" - resolved "https://registry.yarnpkg.com/@radix-ui/react-radio-group/-/react-radio-group-1.1.2.tgz#9b21ab66a125f60476f272a9c07e9c16e77d4e7b" - integrity sha512-S7K8upMjOkx1fTUzEugbfCYPwI9Yw4m2h2ZfJP+ZWP/Mzc/LE2T6QgiAMaSaC3vZSxU5Kk5Eb377zMklWeaaCQ== + resolved "https://registry.yarnpkg.com/@radix-ui/react-popper/-/react-popper-1.1.2.tgz#4c0b96fcd188dc1f334e02dba2d538973ad842e9" + integrity sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg== + dependencies: + "@babel/runtime" "^7.13.10" + "@floating-ui/react-dom" "^2.0.0" + "@radix-ui/react-arrow" "1.0.3" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-context" "1.0.1" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-use-callback-ref" "1.0.1" + "@radix-ui/react-use-layout-effect" "1.0.1" + "@radix-ui/react-use-rect" "1.0.1" + "@radix-ui/react-use-size" "1.0.1" + "@radix-ui/rect" "1.0.1" + +"@radix-ui/react-popper@1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-popper/-/react-popper-1.1.3.tgz#24c03f527e7ac348fabf18c89795d85d21b00b42" + integrity sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w== dependencies: "@babel/runtime" "^7.13.10" - "@radix-ui/primitive" "1.0.0" - "@radix-ui/react-compose-refs" "1.0.0" - "@radix-ui/react-context" "1.0.0" - "@radix-ui/react-direction" "1.0.0" - "@radix-ui/react-presence" "1.0.0" - "@radix-ui/react-primitive" "1.0.2" - "@radix-ui/react-roving-focus" "1.0.3" - "@radix-ui/react-use-controllable-state" "1.0.0" - "@radix-ui/react-use-previous" "1.0.0" - "@radix-ui/react-use-size" "1.0.0" - -"@radix-ui/react-roving-focus@1.0.3": + "@floating-ui/react-dom" "^2.0.0" + "@radix-ui/react-arrow" "1.0.3" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-context" "1.0.1" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-use-callback-ref" "1.0.1" + "@radix-ui/react-use-layout-effect" "1.0.1" + "@radix-ui/react-use-rect" "1.0.1" + "@radix-ui/react-use-size" "1.0.1" + "@radix-ui/rect" "1.0.1" + +"@radix-ui/react-portal@1.0.3": version "1.0.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.3.tgz#0b4f4f9bd509f4510079e9e0734a734fd17cdce3" - integrity sha512-stjCkIoMe6h+1fWtXlA6cRfikdBzCLp3SnVk7c48cv/uy3DTGoXhN76YaOYUJuy3aEDvDIKwKR5KSmvrtPvQPQ== + resolved "https://registry.yarnpkg.com/@radix-ui/react-portal/-/react-portal-1.0.3.tgz#ffb961244c8ed1b46f039e6c215a6c4d9989bda1" + integrity sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-primitive" "1.0.3" + +"@radix-ui/react-portal@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@radix-ui/react-portal/-/react-portal-1.0.4.tgz#df4bfd353db3b1e84e639e9c63a5f2565fb00e15" + integrity sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q== dependencies: "@babel/runtime" "^7.13.10" - "@radix-ui/primitive" "1.0.0" - "@radix-ui/react-collection" "1.0.2" - "@radix-ui/react-compose-refs" "1.0.0" - "@radix-ui/react-context" "1.0.0" - "@radix-ui/react-direction" "1.0.0" - "@radix-ui/react-id" "1.0.0" - "@radix-ui/react-primitive" "1.0.2" - "@radix-ui/react-use-callback-ref" "1.0.0" - "@radix-ui/react-use-controllable-state" "1.0.0" - -"@radix-ui/react-slot@1.0.1": + "@radix-ui/react-primitive" "1.0.3" + +"@radix-ui/react-presence@1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-slot/-/react-slot-1.0.1.tgz#e7868c669c974d649070e9ecbec0b367ee0b4d81" - integrity sha512-avutXAFL1ehGvAXtPquu0YK5oz6ctS474iM3vNGQIkswrVhdrS52e3uoMQBzZhNRAIE0jBnUyXWNmSjGHhCFcw== + resolved "https://registry.yarnpkg.com/@radix-ui/react-presence/-/react-presence-1.0.1.tgz#491990ba913b8e2a5db1b06b203cb24b5cdef9ba" + integrity sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg== dependencies: "@babel/runtime" "^7.13.10" - "@radix-ui/react-compose-refs" "1.0.0" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-use-layout-effect" "1.0.1" -"@radix-ui/react-switch@^1.0.1": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@radix-ui/react-switch/-/react-switch-1.0.2.tgz#e3d1b9fe18b6b1173aadc8b8e6efdc96a28a70f8" - integrity sha512-BcG/LKehxt36NXG0wPnoCitIfSMtU9Xo7BmythYA1PAMLtsMvW7kALfBzmduQoHTWcKr0AVcFyh0gChBUp9TiQ== +"@radix-ui/react-primitive@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz#d49ea0f3f0b2fe3ab1cb5667eb03e8b843b914d0" + integrity sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g== dependencies: "@babel/runtime" "^7.13.10" - "@radix-ui/primitive" "1.0.0" - "@radix-ui/react-compose-refs" "1.0.0" - "@radix-ui/react-context" "1.0.0" - "@radix-ui/react-primitive" "1.0.2" - "@radix-ui/react-use-controllable-state" "1.0.0" - "@radix-ui/react-use-previous" "1.0.0" - "@radix-ui/react-use-size" "1.0.0" + "@radix-ui/react-slot" "1.0.2" -"@radix-ui/react-tooltip@^1.0.2": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@radix-ui/react-tooltip/-/react-tooltip-1.0.5.tgz#fe20274aeac874db643717fc7761d5a8abdd62d1" - integrity sha512-cDKVcfzyO6PpckZekODJZDe5ZxZ2fCZlzKzTmPhe4mX9qTHRfLcKgqb0OKf22xLwDequ2tVleim+ZYx3rabD5w== +"@radix-ui/react-radio-group@^1.1.1": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-radio-group/-/react-radio-group-1.1.3.tgz#3197f5dcce143bcbf961471bf89320735c0212d3" + integrity sha512-x+yELayyefNeKeTx4fjK6j99Fs6c4qKm3aY38G3swQVTN6xMpsrbigC0uHs2L//g8q4qR7qOcww8430jJmi2ag== dependencies: "@babel/runtime" "^7.13.10" - "@radix-ui/primitive" "1.0.0" - "@radix-ui/react-compose-refs" "1.0.0" - "@radix-ui/react-context" "1.0.0" - "@radix-ui/react-dismissable-layer" "1.0.3" - "@radix-ui/react-id" "1.0.0" - "@radix-ui/react-popper" "1.1.1" - "@radix-ui/react-portal" "1.0.2" - "@radix-ui/react-presence" "1.0.0" - "@radix-ui/react-primitive" "1.0.2" - "@radix-ui/react-slot" "1.0.1" - "@radix-ui/react-use-controllable-state" "1.0.0" - "@radix-ui/react-visually-hidden" "1.0.2" - -"@radix-ui/react-use-callback-ref@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.0.tgz#9e7b8b6b4946fe3cbe8f748c82a2cce54e7b6a90" - integrity sha512-GZtyzoHz95Rhs6S63D2t/eqvdFCm7I+yHMLVQheKM7nBD8mbZIt+ct1jz4536MDnaOGKIxynJ8eHTkVGVVkoTg== + "@radix-ui/primitive" "1.0.1" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-context" "1.0.1" + "@radix-ui/react-direction" "1.0.1" + "@radix-ui/react-presence" "1.0.1" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-roving-focus" "1.0.4" + "@radix-ui/react-use-controllable-state" "1.0.1" + "@radix-ui/react-use-previous" "1.0.1" + "@radix-ui/react-use-size" "1.0.1" + +"@radix-ui/react-roving-focus@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.4.tgz#e90c4a6a5f6ac09d3b8c1f5b5e81aab2f0db1974" + integrity sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ== dependencies: "@babel/runtime" "^7.13.10" - -"@radix-ui/react-use-controllable-state@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.0.tgz#a64deaafbbc52d5d407afaa22d493d687c538b7f" - integrity sha512-FohDoZvk3mEXh9AWAVyRTYR4Sq7/gavuofglmiXB2g1aKyboUD4YtgWxKj8O5n+Uak52gXQ4wKz5IFST4vtJHg== + "@radix-ui/primitive" "1.0.1" + "@radix-ui/react-collection" "1.0.3" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-context" "1.0.1" + "@radix-ui/react-direction" "1.0.1" + "@radix-ui/react-id" "1.0.1" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-use-callback-ref" "1.0.1" + "@radix-ui/react-use-controllable-state" "1.0.1" + +"@radix-ui/react-select@^1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@radix-ui/react-select/-/react-select-1.2.2.tgz#caa981fa0d672cf3c1b2a5240135524e69b32181" + integrity sha512-zI7McXr8fNaSrUY9mZe4x/HC0jTLY9fWNhO1oLWYMQGDXuV4UCivIGTxwioSzO0ZCYX9iSLyWmAh/1TOmX3Cnw== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/number" "1.0.1" + "@radix-ui/primitive" "1.0.1" + "@radix-ui/react-collection" "1.0.3" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-context" "1.0.1" + "@radix-ui/react-direction" "1.0.1" + "@radix-ui/react-dismissable-layer" "1.0.4" + "@radix-ui/react-focus-guards" "1.0.1" + "@radix-ui/react-focus-scope" "1.0.3" + "@radix-ui/react-id" "1.0.1" + "@radix-ui/react-popper" "1.1.2" + "@radix-ui/react-portal" "1.0.3" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-slot" "1.0.2" + "@radix-ui/react-use-callback-ref" "1.0.1" + "@radix-ui/react-use-controllable-state" "1.0.1" + "@radix-ui/react-use-layout-effect" "1.0.1" + "@radix-ui/react-use-previous" "1.0.1" + "@radix-ui/react-visually-hidden" "1.0.3" + aria-hidden "^1.1.1" + react-remove-scroll "2.5.5" + +"@radix-ui/react-separator@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-separator/-/react-separator-1.0.3.tgz#be5a931a543d5726336b112f465f58585c04c8aa" + integrity sha512-itYmTy/kokS21aiV5+Z56MZB54KrhPgn6eHDKkFeOLR34HMN2s8PaN47qZZAGnvupcjxHaFZnW4pQEh0BvvVuw== dependencies: "@babel/runtime" "^7.13.10" - "@radix-ui/react-use-callback-ref" "1.0.0" + "@radix-ui/react-primitive" "1.0.3" -"@radix-ui/react-use-escape-keydown@1.0.2": +"@radix-ui/react-slot@1.0.2": version "1.0.2" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.2.tgz#09ab6455ab240b4f0a61faf06d4e5132c4d639f6" - integrity sha512-DXGim3x74WgUv+iMNCF+cAo8xUHHeqvjx8zs7trKf+FkQKPQXLk2sX7Gx1ysH7Q76xCpZuxIJE7HLPxRE+Q+GA== + resolved "https://registry.yarnpkg.com/@radix-ui/react-slot/-/react-slot-1.0.2.tgz#a9ff4423eade67f501ffb32ec22064bc9d3099ab" + integrity sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg== dependencies: "@babel/runtime" "^7.13.10" - "@radix-ui/react-use-callback-ref" "1.0.0" + "@radix-ui/react-compose-refs" "1.0.1" -"@radix-ui/react-use-layout-effect@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.0.tgz#2fc19e97223a81de64cd3ba1dc42ceffd82374dc" - integrity sha512-6Tpkq+R6LOlmQb1R5NNETLG0B4YP0wc+klfXafpUCj6JGyaUc8il7/kUZ7m59rGbXGczE9Bs+iz2qloqsZBduQ== +"@radix-ui/react-switch@^1.0.1": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-switch/-/react-switch-1.0.3.tgz#6119f16656a9eafb4424c600fdb36efa5ec5837e" + integrity sha512-mxm87F88HyHztsI7N+ZUmEoARGkC22YVW5CaC+Byc+HRpuvCrOBPTAnXgf+tZ/7i0Sg/eOePGdMhUKhPaQEqow== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/primitive" "1.0.1" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-context" "1.0.1" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-use-controllable-state" "1.0.1" + "@radix-ui/react-use-previous" "1.0.1" + "@radix-ui/react-use-size" "1.0.1" + +"@radix-ui/react-toggle-group@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@radix-ui/react-toggle-group/-/react-toggle-group-1.0.4.tgz#f5b5c8c477831b013bec3580c55e20a68179d6ec" + integrity sha512-Uaj/M/cMyiyT9Bx6fOZO0SAG4Cls0GptBWiBmBxofmDbNVnYYoyRWj/2M/6VCi/7qcXFWnHhRUfdfZFvvkuu8A== dependencies: "@babel/runtime" "^7.13.10" + "@radix-ui/primitive" "1.0.1" + "@radix-ui/react-context" "1.0.1" + "@radix-ui/react-direction" "1.0.1" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-roving-focus" "1.0.4" + "@radix-ui/react-toggle" "1.0.3" + "@radix-ui/react-use-controllable-state" "1.0.1" + +"@radix-ui/react-toggle@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-toggle/-/react-toggle-1.0.3.tgz#aecb2945630d1dc5c512997556c57aba894e539e" + integrity sha512-Pkqg3+Bc98ftZGsl60CLANXQBBQ4W3mTFS9EJvNxKMZ7magklKV69/id1mlAlOFDDfHvlCms0fx8fA4CMKDJHg== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/primitive" "1.0.1" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-use-controllable-state" "1.0.1" -"@radix-ui/react-use-previous@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-previous/-/react-use-previous-1.0.0.tgz#e48a69c3a7d8078a967084038df66d0d181c56ac" - integrity sha512-RG2K8z/K7InnOKpq6YLDmT49HGjNmrK+fr82UCVKT2sW0GYfVnYp4wZWBooT/EYfQ5faA9uIjvsuMMhH61rheg== +"@radix-ui/react-toolbar@^1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@radix-ui/react-toolbar/-/react-toolbar-1.0.4.tgz#3211a105567fa016e89921b5b514877f833de559" + integrity sha512-tBgmM/O7a07xbaEkYJWYTXkIdU/1pW4/KZORR43toC/4XWyBCURK0ei9kMUdp+gTPPKBgYLxXmRSH1EVcIDp8Q== dependencies: "@babel/runtime" "^7.13.10" + "@radix-ui/primitive" "1.0.1" + "@radix-ui/react-context" "1.0.1" + "@radix-ui/react-direction" "1.0.1" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-roving-focus" "1.0.4" + "@radix-ui/react-separator" "1.0.3" + "@radix-ui/react-toggle-group" "1.0.4" -"@radix-ui/react-use-rect@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-rect/-/react-use-rect-1.0.0.tgz#b040cc88a4906b78696cd3a32b075ed5b1423b3e" - integrity sha512-TB7pID8NRMEHxb/qQJpvSt3hQU4sqNPM1VCTjTRjEOa7cEop/QMuq8S6fb/5Tsz64kqSvB9WnwsDHtjnrM9qew== +"@radix-ui/react-tooltip@^1.0.2": + version "1.0.7" + resolved "https://registry.yarnpkg.com/@radix-ui/react-tooltip/-/react-tooltip-1.0.7.tgz#8f55070f852e7e7450cc1d9210b793d2e5a7686e" + integrity sha512-lPh5iKNFVQ/jav/j6ZrWq3blfDJ0OH9R6FlNUHPMqdLuQ9vwDgFsRxvl8b7Asuy5c8xmoojHUxKHQSOAvMHxyw== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/primitive" "1.0.1" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-context" "1.0.1" + "@radix-ui/react-dismissable-layer" "1.0.5" + "@radix-ui/react-id" "1.0.1" + "@radix-ui/react-popper" "1.1.3" + "@radix-ui/react-portal" "1.0.4" + "@radix-ui/react-presence" "1.0.1" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-slot" "1.0.2" + "@radix-ui/react-use-controllable-state" "1.0.1" + "@radix-ui/react-visually-hidden" "1.0.3" + +"@radix-ui/react-use-callback-ref@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz#f4bb1f27f2023c984e6534317ebc411fc181107a" + integrity sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ== dependencies: "@babel/runtime" "^7.13.10" - "@radix-ui/rect" "1.0.0" -"@radix-ui/react-use-size@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-size/-/react-use-size-1.0.0.tgz#a0b455ac826749419f6354dc733e2ca465054771" - integrity sha512-imZ3aYcoYCKhhgNpkNDh/aTiU05qw9hX+HHI1QDBTyIlcFjgeFlKKySNGMwTp7nYFLQg/j0VA2FmCY4WPDDHMg== +"@radix-ui/react-use-controllable-state@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz#ecd2ced34e6330caf89a82854aa2f77e07440286" + integrity sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA== dependencies: "@babel/runtime" "^7.13.10" - "@radix-ui/react-use-layout-effect" "1.0.0" + "@radix-ui/react-use-callback-ref" "1.0.1" -"@radix-ui/react-visually-hidden@1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.2.tgz#29b117a59ef09a984bdad12cb98d81e8350be450" - integrity sha512-qirnJxtYn73HEk1rXL12/mXnu2rwsNHDID10th2JGtdK25T9wX+mxRmGt7iPSahw512GbZOc0syZX1nLQGoEOg== +"@radix-ui/react-use-escape-keydown@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz#217b840c250541609c66f67ed7bab2b733620755" + integrity sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg== dependencies: "@babel/runtime" "^7.13.10" - "@radix-ui/react-primitive" "1.0.2" + "@radix-ui/react-use-callback-ref" "1.0.1" -"@radix-ui/rect@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@radix-ui/rect/-/rect-1.0.0.tgz#0dc8e6a829ea2828d53cbc94b81793ba6383bf3c" - integrity sha512-d0O68AYy/9oeEy1DdC07bz1/ZXX+DqCskRd3i4JzLSTXwefzaepQrKjXC7aNM8lTHjFLDO0pDgaEiQ7jEk+HVg== +"@radix-ui/react-use-layout-effect@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz#be8c7bc809b0c8934acf6657b577daf948a75399" + integrity sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ== dependencies: "@babel/runtime" "^7.13.10" -"@rango-dev/queue-manager-core@^0.1.12-next.0": - version "0.1.12-next.0" - resolved "https://registry.yarnpkg.com/@rango-dev/queue-manager-core/-/queue-manager-core-0.1.12-next.0.tgz#f2166a003414f9931bf86c51f3af1d32d237b453" - integrity sha512-cUcCgvdUsVQqwaHDgqVdB4bo9+ZLWhZsFXDECF1svQewPaXoxzi/DJteMLdbl27t7v2/dMdM3zEdoe5Z0V2BIg== +"@radix-ui/react-use-previous@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-previous/-/react-use-previous-1.0.1.tgz#b595c087b07317a4f143696c6a01de43b0d0ec66" + integrity sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw== dependencies: - idb "^7.1.1" - uuid "^9.0.0" + "@babel/runtime" "^7.13.10" -"@rango-dev/queue-manager-rango-preset@^0.1.11": - version "0.1.11" - resolved "https://registry.yarnpkg.com/@rango-dev/queue-manager-rango-preset/-/queue-manager-rango-preset-0.1.11.tgz#362f8372c153939859870924806f3b0dfc348706" - integrity sha512-yQORwvIXsz+ZtTZFfjyuqrp1Vg1MLyFpNHqCi72jyz8n1QtuYQKy2Nrh4z/7ALUgXQm4h2i7Y4Q5KDOqIVN/0g== +"@radix-ui/react-use-rect@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-rect/-/react-use-rect-1.0.1.tgz#fde50b3bb9fd08f4a1cd204572e5943c244fcec2" + integrity sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw== dependencies: - "@sentry/browser" "^6.12.0" - uuid "^9.0.0" + "@babel/runtime" "^7.13.10" + "@radix-ui/rect" "1.0.1" + +"@radix-ui/react-use-size@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-size/-/react-use-size-1.0.1.tgz#1c5f5fea940a7d7ade77694bb98116fb49f870b2" + integrity sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-use-layout-effect" "1.0.1" + +"@radix-ui/react-visually-hidden@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.3.tgz#51aed9dd0fe5abcad7dee2a234ad36106a6984ac" + integrity sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-primitive" "1.0.3" -"@rango-dev/queue-manager-react@^0.1.11-next.0": - version "0.1.11-next.0" - resolved "https://registry.yarnpkg.com/@rango-dev/queue-manager-react/-/queue-manager-react-0.1.11-next.0.tgz#dd816a77821b0831ac512d394f6f2ee6a7def44e" - integrity sha512-AroeB0IKUCfN1iX8GLSS/Fn6M6Uc5LiUqqg7AxsMGlvWrtOpdQHi6Z7qCIOmD8pJvFh9OjRlN13DgOSLWstgUQ== +"@radix-ui/rect@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/rect/-/rect-1.0.1.tgz#bf8e7d947671996da2e30f4904ece343bc4a883f" + integrity sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ== + dependencies: + "@babel/runtime" "^7.13.10" "@reach/router@^1.2.1": version "1.3.4" @@ -4051,10 +4853,10 @@ prop-types "^15.6.1" react-lifecycles-compat "^3.0.4" -"@remix-run/dev@npm:@vercel/remix-run-dev@1.14.2": - version "1.14.2" - resolved "https://registry.yarnpkg.com/@vercel/remix-run-dev/-/remix-run-dev-1.14.2.tgz#3899c9b40aea2d4deb3c0e9febcc5398a9c5e162" - integrity sha512-lsJFO2pnQoHYe2gcvj/VY8c0lVHZFnoEfMB3w+CQU8xql2hpneK2XrbKT/mHm+HDeaaJPT+mxAf7jpbFXeZhWA== +"@remix-run/dev@npm:@vercel/remix-run-dev@1.15.0": + version "1.15.0" + resolved "https://registry.yarnpkg.com/@vercel/remix-run-dev/-/remix-run-dev-1.15.0.tgz#42f45baed42804c95636228f919dc3e7bf31c9d3" + integrity sha512-pQTM5WmOzrvhpPSHFDShwqX71YnLaTUxffhnly4MxVNKJ2WKV9zqx8bGQ/7cLfpEu9JfY2c+pVjYYb3wAMBt+Q== dependencies: "@babel/core" "^7.18.6" "@babel/generator" "^7.18.6" @@ -4067,8 +4869,8 @@ "@babel/types" "^7.20.2" "@esbuild-plugins/node-modules-polyfill" "^0.1.4" "@npmcli/package-json" "^2.0.0" - "@remix-run/server-runtime" "1.14.2" - "@vanilla-extract/integration" "^6.0.2" + "@remix-run/server-runtime" "1.15.0" + "@vanilla-extract/integration" "^6.2.0" arg "^5.0.1" cacache "^15.0.5" chalk "^4.1.2" @@ -4081,14 +4883,15 @@ fast-glob "3.2.11" fs-extra "^10.0.0" get-port "^5.1.1" + glob-to-regexp "0.4.1" gunzip-maybe "^1.4.2" inquirer "^8.2.1" jsesc "3.0.2" - json5 "^2.2.1" + json5 "^2.2.2" lodash "^4.17.21" lodash.debounce "^4.0.8" lru-cache "^7.14.1" - minimatch "^3.0.4" + minimatch "^3.0.5" node-fetch "^2.6.7" ora "^5.4.1" postcss "^8.4.19" @@ -4109,22 +4912,22 @@ ws "^7.4.5" xdm "^2.0.0" -"@remix-run/router@1.3.3": - version "1.3.3" - resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.3.3.tgz#d6d531d69c0fa3a44fda7dc00b20d49b44549164" - integrity sha512-YRHie1yQEj0kqqCTCJEfHqYSSNlZQ696QJG+MMiW4mxSl9I0ojz/eRhJS4fs88Z5i6D1SmoF9d3K99/QOhI8/w== +"@remix-run/router@1.13.0": + version "1.13.0" + resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.13.0.tgz#7e29c4ee85176d9c08cb0f4456bff74d092c5065" + integrity sha512-5dMOnVnefRsl4uRnAdoWjtVTdh8e6aZqgM4puy9nmEADH72ck+uXwzpJLEKE9Q6F8ZljNewLgmTfkxUrBdv4WA== "@remix-run/router@1.5.0": version "1.5.0" resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.5.0.tgz#57618e57942a5f0131374a9fdb0167e25a117fdc" integrity sha512-bkUDCp8o1MvFO+qxkODcbhSqRa6P2GXgrGZVpt0dCXNW2HCSCqYI0ZoAqEOSAjRWmmlKcYgFvN4B4S+zo/f8kg== -"@remix-run/server-runtime@1.14.2": - version "1.14.2" - resolved "https://registry.yarnpkg.com/@remix-run/server-runtime/-/server-runtime-1.14.2.tgz#aa28d57b0a78c6d2a08806c61b317a0044c8aada" - integrity sha512-/9eer5zWD4t7AeLTdeN9FOlPO1sLnlqQ5DIrDoQVwgDFCOvMycSbLSXhygWl3dVjQyteyzF8OW43qnReyDy/fQ== +"@remix-run/server-runtime@1.15.0": + version "1.15.0" + resolved "https://registry.yarnpkg.com/@remix-run/server-runtime/-/server-runtime-1.15.0.tgz#78a3ad5e076d2cb9a0ed01d92df1caef09466514" + integrity sha512-DL9xjHfYYrEcOq5VbhYtrjJUWo/nFQAT7Y+Np/oC55HokyU6cb2jGhl52nx96aAxKwaFCse5N90GeodFsRzX7w== dependencies: - "@remix-run/router" "1.3.3" + "@remix-run/router" "1.5.0" "@types/cookie" "^0.4.0" "@types/react" "^18.0.15" "@web3-storage/multipart-parser" "^1.0.0" @@ -4132,6 +4935,43 @@ set-cookie-parser "^2.4.8" source-map "^0.7.3" +"@resolver-engine/core@^0.3.3": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@resolver-engine/core/-/core-0.3.3.tgz#590f77d85d45bc7ecc4e06c654f41345db6ca967" + integrity sha512-eB8nEbKDJJBi5p5SrvrvILn4a0h42bKtbCTri3ZxCGt6UvoQyp7HnGOfki944bUjBSHKK3RvgfViHn+kqdXtnQ== + dependencies: + debug "^3.1.0" + is-url "^1.2.4" + request "^2.85.0" + +"@resolver-engine/fs@^0.3.3": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@resolver-engine/fs/-/fs-0.3.3.tgz#fbf83fa0c4f60154a82c817d2fe3f3b0c049a973" + integrity sha512-wQ9RhPUcny02Wm0IuJwYMyAG8fXVeKdmhm8xizNByD4ryZlx6PP6kRen+t/haF43cMfmaV7T3Cx6ChOdHEhFUQ== + dependencies: + "@resolver-engine/core" "^0.3.3" + debug "^3.1.0" + +"@resolver-engine/imports-fs@^0.3.3": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@resolver-engine/imports-fs/-/imports-fs-0.3.3.tgz#4085db4b8d3c03feb7a425fbfcf5325c0d1e6c1b" + integrity sha512-7Pjg/ZAZtxpeyCFlZR5zqYkz+Wdo84ugB5LApwriT8XFeQoLwGUj4tZFFvvCuxaNCcqZzCYbonJgmGObYBzyCA== + dependencies: + "@resolver-engine/fs" "^0.3.3" + "@resolver-engine/imports" "^0.3.3" + debug "^3.1.0" + +"@resolver-engine/imports@^0.3.3": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@resolver-engine/imports/-/imports-0.3.3.tgz#badfb513bb3ff3c1ee9fd56073e3144245588bcc" + integrity sha512-anHpS4wN4sRMwsAbMXhMfOD/y4a4Oo0Cw/5+rue7hSwGWsDOQaAU1ClK1OxjUC35/peazxEl8JaSRRS+Xb8t3Q== + dependencies: + "@resolver-engine/core" "^0.3.3" + debug "^3.1.0" + hosted-git-info "^2.6.0" + path-browserify "^1.0.0" + url "^0.11.0" + "@rollup/plugin-babel@^5.1.0": version "5.3.1" resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz#04bc0608f4aa4b2e4b1aebf284344d0f68fda283" @@ -4197,6 +5037,57 @@ estree-walker "^2.0.1" picomatch "^2.2.2" +"@safe-global/safe-apps-provider@^0.17.0": + version "0.17.1" + resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-provider/-/safe-apps-provider-0.17.1.tgz#72df2a66be5343940ed505efe594ed3b0f2f7015" + integrity sha512-lYfRqrbbK1aKU1/UGkYWc/X7PgySYcumXKc5FB2uuwAs2Ghj8uETuW5BrwPqyjBknRxutFbTv+gth/JzjxAhdQ== + dependencies: + "@safe-global/safe-apps-sdk" "8.0.0" + events "^3.3.0" + +"@safe-global/safe-apps-sdk@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-sdk/-/safe-apps-sdk-8.0.0.tgz#9bdfe0e0d85e1b2d279bb840f40c4b930aaf8bc1" + integrity sha512-gYw0ki/EAuV1oSyMxpqandHjnthZjYYy+YWpTAzf8BqfXM3ItcZLpjxfg+3+mXW8HIO+3jw6T9iiqEXsqHaMMw== + dependencies: + "@safe-global/safe-gateway-typescript-sdk" "^3.5.3" + viem "^1.0.0" + +"@safe-global/safe-apps-sdk@^7.11.0": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-sdk/-/safe-apps-sdk-7.11.0.tgz#2cbc164fb70141cdf4d3331ff222cd98a2529316" + integrity sha512-RDamzPM1Lhhiiz0O+Dn6FkFqIh47jmZX+HCV/BBnBBOSKfBJE//IGD3+02zMgojXHTikQAburdPes9qmH1SA1A== + dependencies: + "@safe-global/safe-gateway-typescript-sdk" "^3.5.3" + ethers "^5.7.2" + +"@safe-global/safe-gateway-typescript-sdk@^3.5.3": + version "3.13.2" + resolved "https://registry.yarnpkg.com/@safe-global/safe-gateway-typescript-sdk/-/safe-gateway-typescript-sdk-3.13.2.tgz#f03884c7eb766f5508085d95ab96063a28e20920" + integrity sha512-kGlJecJHBzGrGTq/yhLANh56t+Zur6Ubpt+/w03ARX1poDb4TM8vKU3iV8tuYpk359PPWp+Qvjnqb9oW2YQcYw== + +"@scure/base@~1.1.0", "@scure/base@~1.1.2": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.3.tgz#8584115565228290a6c6c4961973e0903bb3df2f" + integrity sha512-/+SgoRjLq7Xlf0CWuLHq2LUZeL/w65kfzAPG5NH9pcmBhs+nunQTn4gvdwgMTIXnt9b2C/1SeL2XiysZEyIC9Q== + +"@scure/bip32@1.3.2": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.3.2.tgz#90e78c027d5e30f0b22c1f8d50ff12f3fb7559f8" + integrity sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA== + dependencies: + "@noble/curves" "~1.2.0" + "@noble/hashes" "~1.3.2" + "@scure/base" "~1.1.2" + +"@scure/bip39@1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.2.1.tgz#5cee8978656b272a917b7871c981e0541ad6ac2a" + integrity sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg== + dependencies: + "@noble/hashes" "~1.3.0" + "@scure/base" "~1.1.0" + "@sentry/browser@^6.12.0": version "6.19.7" resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-6.19.7.tgz#a40b6b72d911b5f1ed70ed3b4e7d4d4e625c0b5f" @@ -4254,6 +5145,11 @@ resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.25.24.tgz#8c7688559979f7079aacaf31aa881c3aa410b718" integrity sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ== +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== + "@sindresorhus/is@^4.0.0": version "4.6.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" @@ -4266,29 +5162,6 @@ dependencies: type-detect "4.0.8" -"@size-limit/esbuild@8.2.4": - version "8.2.4" - resolved "https://registry.yarnpkg.com/@size-limit/esbuild/-/esbuild-8.2.4.tgz#20700c2e4b205c46d32c3a16c8426a219d973eab" - integrity sha512-kPgNfpwUvBD98s5axlf1UciFg4Ki4AYSl/cOmSyyYBuzksHiwW7Myeu0w4mTxtV9nwBFbkrrNXqszE7b+OhFLA== - dependencies: - esbuild "^0.17.7" - nanoid "^3.3.4" - -"@size-limit/file@8.2.4": - version "8.2.4" - resolved "https://registry.yarnpkg.com/@size-limit/file/-/file-8.2.4.tgz#3624527cc9644c700697322d533e157b4a809a2b" - integrity sha512-xLuF97W7m7lxrRJvqXRlxO/4t7cpXtfxOnjml/t4aRVUCMXLdyvebRr9OM4jjoK8Fmiz8jomCbETUCI3jVhLzA== - dependencies: - semver "7.3.8" - -"@size-limit/preset-small-lib@^8.1.0": - version "8.2.4" - resolved "https://registry.yarnpkg.com/@size-limit/preset-small-lib/-/preset-small-lib-8.2.4.tgz#66121bc8eb0dadf5b2e3dd72ac7e2708429a2b21" - integrity sha512-AL4384oBgMcDPlNblgWHreqFSSOui0J9NbgyHhegB1h8AgRyHbdVGC3yWLpEESYQXHYnKdbNrYeRE/TclsViog== - dependencies: - "@size-limit/esbuild" "8.2.4" - "@size-limit/file" "8.2.4" - "@solana/buffer-layout@^4.0.0": version "4.0.1" resolved "https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz#b996235eaec15b1e0b5092a8ed6028df77fa6c15" @@ -4296,17 +5169,16 @@ dependencies: buffer "~6.0.3" -"@solana/web3.js@^1.67.2": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.74.0.tgz#dbcbeabb830dd7cbbcf5e31404ca79c9785cbf2d" - integrity sha512-RKZyPqizPCxmpMGfpu4fuplNZEWCrhRBjjVstv5QnAJvgln1jgOfgui+rjl1ExnqDnWKg9uaZ5jtGROH/cwabg== +"@solana/web3.js@1.67.2": + version "1.67.2" + resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.67.2.tgz#6832139fb906ff2fb13390a81afab04d35b8aa0c" + integrity sha512-qfdV0m/qcTpoJsIwonvXJQz8YY5mrSfBVLS/Cp+MPaaUzDzkpSV7WU1QeHsj+dkHX82W37zuhhg/DadRJls7+g== dependencies: "@babel/runtime" "^7.12.5" "@noble/ed25519" "^1.7.0" "@noble/hashes" "^1.1.2" "@noble/secp256k1" "^1.6.3" "@solana/buffer-layout" "^4.0.0" - agentkeepalive "^4.2.1" bigint-buffer "^1.1.5" bn.js "^5.0.0" borsh "^0.7.0" @@ -4314,132 +5186,280 @@ buffer "6.0.1" fast-stable-stringify "^1.0.0" jayson "^3.4.4" - node-fetch "^2.6.7" + node-fetch "2" + rpc-websockets "^7.5.0" + superstruct "^0.14.2" + +"@solana/web3.js@^1.67.2": + version "1.87.6" + resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.87.6.tgz#6744cfc5f4fc81e0f58241c0a92648a7320bb3bf" + integrity sha512-LkqsEBgTZztFiccZZXnawWa8qNCATEqE97/d0vIwjTclmVlc8pBpD1DmjfVHtZ1HS5fZorFlVhXfpwnCNDZfyg== + dependencies: + "@babel/runtime" "^7.23.2" + "@noble/curves" "^1.2.0" + "@noble/hashes" "^1.3.1" + "@solana/buffer-layout" "^4.0.0" + agentkeepalive "^4.3.0" + bigint-buffer "^1.1.5" + bn.js "^5.2.1" + borsh "^0.7.0" + bs58 "^4.0.1" + buffer "6.0.3" + fast-stable-stringify "^1.0.0" + jayson "^4.1.0" + node-fetch "^2.6.12" rpc-websockets "^7.5.1" superstruct "^0.14.2" +"@stablelib/aead@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/aead/-/aead-1.0.1.tgz#c4b1106df9c23d1b867eb9b276d8f42d5fc4c0c3" + integrity sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg== + +"@stablelib/binary@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/binary/-/binary-1.0.1.tgz#c5900b94368baf00f811da5bdb1610963dfddf7f" + integrity sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q== + dependencies: + "@stablelib/int" "^1.0.1" + +"@stablelib/bytes@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/bytes/-/bytes-1.0.1.tgz#0f4aa7b03df3080b878c7dea927d01f42d6a20d8" + integrity sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ== + +"@stablelib/chacha20poly1305@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/chacha20poly1305/-/chacha20poly1305-1.0.1.tgz#de6b18e283a9cb9b7530d8767f99cde1fec4c2ee" + integrity sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA== + dependencies: + "@stablelib/aead" "^1.0.1" + "@stablelib/binary" "^1.0.1" + "@stablelib/chacha" "^1.0.1" + "@stablelib/constant-time" "^1.0.1" + "@stablelib/poly1305" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/chacha@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/chacha/-/chacha-1.0.1.tgz#deccfac95083e30600c3f92803a3a1a4fa761371" + integrity sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg== + dependencies: + "@stablelib/binary" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/constant-time@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/constant-time/-/constant-time-1.0.1.tgz#bde361465e1cf7b9753061b77e376b0ca4c77e35" + integrity sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg== + +"@stablelib/ed25519@^1.0.2": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@stablelib/ed25519/-/ed25519-1.0.3.tgz#f8fdeb6f77114897c887bb6a3138d659d3f35996" + integrity sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg== + dependencies: + "@stablelib/random" "^1.0.2" + "@stablelib/sha512" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/hash@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/hash/-/hash-1.0.1.tgz#3c944403ff2239fad8ebb9015e33e98444058bc5" + integrity sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg== + +"@stablelib/hkdf@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/hkdf/-/hkdf-1.0.1.tgz#b4efd47fd56fb43c6a13e8775a54b354f028d98d" + integrity sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g== + dependencies: + "@stablelib/hash" "^1.0.1" + "@stablelib/hmac" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/hmac@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/hmac/-/hmac-1.0.1.tgz#3d4c1b8cf194cb05d28155f0eed8a299620a07ec" + integrity sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA== + dependencies: + "@stablelib/constant-time" "^1.0.1" + "@stablelib/hash" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/int@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/int/-/int-1.0.1.tgz#75928cc25d59d73d75ae361f02128588c15fd008" + integrity sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w== + +"@stablelib/keyagreement@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/keyagreement/-/keyagreement-1.0.1.tgz#4612efb0a30989deb437cd352cee637ca41fc50f" + integrity sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg== + dependencies: + "@stablelib/bytes" "^1.0.1" + +"@stablelib/poly1305@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/poly1305/-/poly1305-1.0.1.tgz#93bfb836c9384685d33d70080718deae4ddef1dc" + integrity sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA== + dependencies: + "@stablelib/constant-time" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/random@^1.0.1", "@stablelib/random@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@stablelib/random/-/random-1.0.2.tgz#2dece393636489bf7e19c51229dd7900eddf742c" + integrity sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w== + dependencies: + "@stablelib/binary" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/sha256@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/sha256/-/sha256-1.0.1.tgz#77b6675b67f9b0ea081d2e31bda4866297a3ae4f" + integrity sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ== + dependencies: + "@stablelib/binary" "^1.0.1" + "@stablelib/hash" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/sha512@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/sha512/-/sha512-1.0.1.tgz#6da700c901c2c0ceacbd3ae122a38ac57c72145f" + integrity sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw== + dependencies: + "@stablelib/binary" "^1.0.1" + "@stablelib/hash" "^1.0.1" + "@stablelib/wipe" "^1.0.1" + +"@stablelib/wipe@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@stablelib/wipe/-/wipe-1.0.1.tgz#d21401f1d59ade56a62e139462a97f104ed19a36" + integrity sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg== + +"@stablelib/x25519@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@stablelib/x25519/-/x25519-1.0.3.tgz#13c8174f774ea9f3e5e42213cbf9fc68a3c7b7fd" + integrity sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw== + dependencies: + "@stablelib/keyagreement" "^1.0.1" + "@stablelib/random" "^1.0.2" + "@stablelib/wipe" "^1.0.1" + "@stitches/react@^1.2.8": version "1.2.8" resolved "https://registry.yarnpkg.com/@stitches/react/-/react-1.2.8.tgz#954f8008be8d9c65c4e58efa0937f32388ce3a38" integrity sha512-9g9dWI4gsSVe8bNLlb+lMkBYsnIKCZTmvqvDG+Avnn69XfmHZKiaMrx7cgTaddq7aTPPmXiTsbFcUy0xgI4+wA== -"@storybook/addon-actions@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-6.5.16.tgz#2d7679f64899bef165a338582cb928102a09e364" - integrity sha512-aADjilFmuD6TNGz2CRPSupnyiA/IGkPJHDBTqMpsDXTUr8xnuD122xkIhg6UxmCM2y1c+ncwYXy3WPK2xXK57g== - dependencies: - "@storybook/addons" "6.5.16" - "@storybook/api" "6.5.16" - "@storybook/client-logger" "6.5.16" - "@storybook/components" "6.5.16" - "@storybook/core-events" "6.5.16" - "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/theming" "6.5.16" - core-js "^3.8.2" - fast-deep-equal "^3.1.3" - global "^4.4.0" +"@storybook/addon-actions@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-7.5.3.tgz#e0d0d819488d1d19918b23469b3ea6610fee5f07" + integrity sha512-v3yL6Eq/jCiXfA24JjRdbEQUuorms6tmrywaKcd1tAy4Ftgof0KHB4tTcTyiajrI5bh6PVJoRBkE8IDqmNAHkA== + dependencies: + "@storybook/client-logger" "7.5.3" + "@storybook/components" "7.5.3" + "@storybook/core-events" "7.5.3" + "@storybook/global" "^5.0.0" + "@storybook/manager-api" "7.5.3" + "@storybook/preview-api" "7.5.3" + "@storybook/theming" "7.5.3" + "@storybook/types" "7.5.3" + dequal "^2.0.2" lodash "^4.17.21" polished "^4.2.2" prop-types "^15.7.2" - react-inspector "^5.1.0" - regenerator-runtime "^0.13.7" - telejson "^6.0.8" + react-inspector "^6.0.0" + telejson "^7.2.0" ts-dedent "^2.0.0" - util-deprecate "^1.0.2" - uuid-browser "^3.1.0" - -"@storybook/addon-backgrounds@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/addon-backgrounds/-/addon-backgrounds-6.5.16.tgz#a93ea53955f714b4a4432dda1b88942cc87dd390" - integrity sha512-t7qooZ892BruhilFmzYPbysFwpULt/q4zYXNSmKVbAYta8UVvitjcU4F18p8FpWd9WvhiTr0SDlyhNZuzvDfug== - dependencies: - "@storybook/addons" "6.5.16" - "@storybook/api" "6.5.16" - "@storybook/client-logger" "6.5.16" - "@storybook/components" "6.5.16" - "@storybook/core-events" "6.5.16" - "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/theming" "6.5.16" - core-js "^3.8.2" - global "^4.4.0" + uuid "^9.0.0" + +"@storybook/addon-backgrounds@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/addon-backgrounds/-/addon-backgrounds-7.5.3.tgz#a6aa9df791220cff6290e7f93e04c546063f5407" + integrity sha512-UCOVd4UNIL5FRiwi9nyiWFocn/7ewwS6bIWnq66AaHg/sv92YwsPmgQJn0DMBGDOvUAWpiHdVsZNOTX6nvw4gA== + dependencies: + "@storybook/client-logger" "7.5.3" + "@storybook/components" "7.5.3" + "@storybook/core-events" "7.5.3" + "@storybook/global" "^5.0.0" + "@storybook/manager-api" "7.5.3" + "@storybook/preview-api" "7.5.3" + "@storybook/theming" "7.5.3" + "@storybook/types" "7.5.3" memoizerific "^1.11.3" - regenerator-runtime "^0.13.7" ts-dedent "^2.0.0" - util-deprecate "^1.0.2" -"@storybook/addon-controls@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/addon-controls/-/addon-controls-6.5.16.tgz#5017805b8ca413edf6e9d87b90a9436e79eb5e59" - integrity sha512-kShSGjq1MjmmyL3l8i+uPz6yddtf82mzys0l82VKtcuyjrr5944wYFJ5NTXMfZxrO/U6FeFsfuFZE/k6ex3EMg== - dependencies: - "@storybook/addons" "6.5.16" - "@storybook/api" "6.5.16" - "@storybook/client-logger" "6.5.16" - "@storybook/components" "6.5.16" - "@storybook/core-common" "6.5.16" - "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/node-logger" "6.5.16" - "@storybook/store" "6.5.16" - "@storybook/theming" "6.5.16" - core-js "^3.8.2" +"@storybook/addon-controls@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/addon-controls/-/addon-controls-7.5.3.tgz#03ce5a31603b360fe906cefb3fe4945ef7188e62" + integrity sha512-KEuU4X5Xr6cJI9xrzOUVGEmUf1iHPfK7cj0GACKv0GElsdIsQryv+OZ7gRnvmNax/e2hm2t9cJcFxB24/p6rVg== + dependencies: + "@storybook/blocks" "7.5.3" + "@storybook/client-logger" "7.5.3" + "@storybook/components" "7.5.3" + "@storybook/core-common" "7.5.3" + "@storybook/core-events" "7.5.3" + "@storybook/manager-api" "7.5.3" + "@storybook/node-logger" "7.5.3" + "@storybook/preview-api" "7.5.3" + "@storybook/theming" "7.5.3" + "@storybook/types" "7.5.3" lodash "^4.17.21" ts-dedent "^2.0.0" -"@storybook/addon-docs@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/addon-docs/-/addon-docs-6.5.16.tgz#3de912f51fb8e48b9a53b11a5b1cede067acbe70" - integrity sha512-QM9WDZG9P02UvbzLu947a8ZngOrQeAKAT8jCibQFM/+RJ39xBlfm8rm+cQy3dm94wgtjmVkA3mKGOV/yrrsddg== - dependencies: - "@babel/plugin-transform-react-jsx" "^7.12.12" - "@babel/preset-env" "^7.12.11" - "@jest/transform" "^26.6.2" - "@mdx-js/react" "^1.6.22" - "@storybook/addons" "6.5.16" - "@storybook/api" "6.5.16" - "@storybook/components" "6.5.16" - "@storybook/core-common" "6.5.16" - "@storybook/core-events" "6.5.16" - "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/docs-tools" "6.5.16" - "@storybook/mdx1-csf" "^0.0.1" - "@storybook/node-logger" "6.5.16" - "@storybook/postinstall" "6.5.16" - "@storybook/preview-web" "6.5.16" - "@storybook/source-loader" "6.5.16" - "@storybook/store" "6.5.16" - "@storybook/theming" "6.5.16" - babel-loader "^8.0.0" - core-js "^3.8.2" - fast-deep-equal "^3.1.3" - global "^4.4.0" - lodash "^4.17.21" - regenerator-runtime "^0.13.7" +"@storybook/addon-docs@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/addon-docs/-/addon-docs-7.5.3.tgz#36c28c9a54b28e3b4b1450e821d65e07be6da45b" + integrity sha512-JVQ6iCXKESij/SbE4Wq47dkSSgBRulvA8SUf8NWL5m9qpiHrg0lPSERHfoTLiB5uC/JwF0OKIlhxoWl+zCmtYg== + dependencies: + "@jest/transform" "^29.3.1" + "@mdx-js/react" "^2.1.5" + "@storybook/blocks" "7.5.3" + "@storybook/client-logger" "7.5.3" + "@storybook/components" "7.5.3" + "@storybook/csf-plugin" "7.5.3" + "@storybook/csf-tools" "7.5.3" + "@storybook/global" "^5.0.0" + "@storybook/mdx2-csf" "^1.0.0" + "@storybook/node-logger" "7.5.3" + "@storybook/postinstall" "7.5.3" + "@storybook/preview-api" "7.5.3" + "@storybook/react-dom-shim" "7.5.3" + "@storybook/theming" "7.5.3" + "@storybook/types" "7.5.3" + fs-extra "^11.1.0" remark-external-links "^8.0.0" remark-slug "^6.0.0" ts-dedent "^2.0.0" - util-deprecate "^1.0.2" -"@storybook/addon-essentials@^6.5.13": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/addon-essentials/-/addon-essentials-6.5.16.tgz#815991366a4a90b60bf0aa4022eb0bb0c2bb536d" - integrity sha512-TeoMr6tEit4Pe91GH6f8g/oar1P4M0JL9S6oMcFxxrhhtOGO7XkWD5EnfyCx272Ok2VYfE58FNBTGPNBVIqYKQ== - dependencies: - "@storybook/addon-actions" "6.5.16" - "@storybook/addon-backgrounds" "6.5.16" - "@storybook/addon-controls" "6.5.16" - "@storybook/addon-docs" "6.5.16" - "@storybook/addon-measure" "6.5.16" - "@storybook/addon-outline" "6.5.16" - "@storybook/addon-toolbars" "6.5.16" - "@storybook/addon-viewport" "6.5.16" - "@storybook/addons" "6.5.16" - "@storybook/api" "6.5.16" - "@storybook/core-common" "6.5.16" - "@storybook/node-logger" "6.5.16" - core-js "^3.8.2" - regenerator-runtime "^0.13.7" +"@storybook/addon-essentials@^7.1.1": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/addon-essentials/-/addon-essentials-7.5.3.tgz#e6e3ea266181b42e15b4c57fc303adc238c102a4" + integrity sha512-PYj6swEI4nEzIbOTyHJB8u3K8ABYKoaW8XB5emMwsnrzB/TN7auHVhze2bQ/+ax5wyPKZpArPjxbWlSHtSws+A== + dependencies: + "@storybook/addon-actions" "7.5.3" + "@storybook/addon-backgrounds" "7.5.3" + "@storybook/addon-controls" "7.5.3" + "@storybook/addon-docs" "7.5.3" + "@storybook/addon-highlight" "7.5.3" + "@storybook/addon-measure" "7.5.3" + "@storybook/addon-outline" "7.5.3" + "@storybook/addon-toolbars" "7.5.3" + "@storybook/addon-viewport" "7.5.3" + "@storybook/core-common" "7.5.3" + "@storybook/manager-api" "7.5.3" + "@storybook/node-logger" "7.5.3" + "@storybook/preview-api" "7.5.3" ts-dedent "^2.0.0" +"@storybook/addon-highlight@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/addon-highlight/-/addon-highlight-7.5.3.tgz#ff1041aa1e9d76100ce6fb0b11e0d30078f858f7" + integrity sha512-jb+aNRhj+tFK7EqqTlNCjGkTrkWqWHGdD1ubgnj29v8XhRuCR9YboPS+306KYwBEkuF4kNCHZofLiEBPf6nCJg== + dependencies: + "@storybook/core-events" "7.5.3" + "@storybook/global" "^5.0.0" + "@storybook/preview-api" "7.5.3" + "@storybook/addon-info@^5.3.21": version "5.3.21" resolved "https://registry.yarnpkg.com/@storybook/addon-info/-/addon-info-5.3.21.tgz#fc8fd61d0471f4743b32f5ae8e5b7c84b52ff112" @@ -4461,83 +5481,75 @@ react-lifecycles-compat "^3.0.4" util-deprecate "^1.0.2" -"@storybook/addon-links@^6.5.13": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-6.5.16.tgz#cacb20cd0656f0681a874709d428d3f3577828c3" - integrity sha512-P/mmqK57NGXnR0i3d/T5B0rIt0Lg8Yq+qionRr3LK3AwG/4yGnYt4GNomLEknn/eEwABYq1Q/Z1aOpgIhNdq5A== - dependencies: - "@storybook/addons" "6.5.16" - "@storybook/client-logger" "6.5.16" - "@storybook/core-events" "6.5.16" - "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/router" "6.5.16" - "@types/qs" "^6.9.5" - core-js "^3.8.2" - global "^4.4.0" +"@storybook/addon-links@^7.1.1": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-7.5.3.tgz#4ed55c932db0b25197a16c30723307f6d20d7141" + integrity sha512-NcigW0HX8AllZ/KJ4u1KMiK30QvjqtC+zApI6Yc3tTaa6+BldbLv06fEgHgMY0yC8R+Ly9mUN7S1HiU7LQ7Qxg== + dependencies: + "@storybook/client-logger" "7.5.3" + "@storybook/core-events" "7.5.3" + "@storybook/csf" "^0.1.0" + "@storybook/global" "^5.0.0" + "@storybook/manager-api" "7.5.3" + "@storybook/preview-api" "7.5.3" + "@storybook/router" "7.5.3" + "@storybook/types" "7.5.3" prop-types "^15.7.2" - qs "^6.10.0" - regenerator-runtime "^0.13.7" ts-dedent "^2.0.0" -"@storybook/addon-measure@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/addon-measure/-/addon-measure-6.5.16.tgz#7f7bfdc0b624fbf18386b20a5e460027bf87115c" - integrity sha512-DMwnXkmM2L6POTh4KaOWvOAtQ2p9Tr1UUNxz6VXiN5cKFohpCs6x0txdLU5WN8eWIq0VFsO7u5ZX34CGCc6gCg== - dependencies: - "@storybook/addons" "6.5.16" - "@storybook/api" "6.5.16" - "@storybook/client-logger" "6.5.16" - "@storybook/components" "6.5.16" - "@storybook/core-events" "6.5.16" - "@storybook/csf" "0.0.2--canary.4566f4d.1" - core-js "^3.8.2" - global "^4.4.0" - -"@storybook/addon-outline@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/addon-outline/-/addon-outline-6.5.16.tgz#6985b6a0b0122db36561c81dde2aa851604657b7" - integrity sha512-0du96nha4qltexO0Xq1xB7LeRSbqjC9XqtZLflXG7/X3ABoPD2cXgOV97eeaXUodIyb2qYBbHUfftBeA75x0+w== - dependencies: - "@storybook/addons" "6.5.16" - "@storybook/api" "6.5.16" - "@storybook/client-logger" "6.5.16" - "@storybook/components" "6.5.16" - "@storybook/core-events" "6.5.16" - "@storybook/csf" "0.0.2--canary.4566f4d.1" - core-js "^3.8.2" - global "^4.4.0" - regenerator-runtime "^0.13.7" +"@storybook/addon-measure@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/addon-measure/-/addon-measure-7.5.3.tgz#9cfc34d88807afba6bc36990aef26be8ca8f8567" + integrity sha512-fun9BqUTGXgcMpcbX9wUowGDkjCL8oKasZbjp/MvGM3vPTM6HQdwzHTLJGPBnmJ1xK92NhwFRs0BrQX6uF1yrg== + dependencies: + "@storybook/client-logger" "7.5.3" + "@storybook/components" "7.5.3" + "@storybook/core-events" "7.5.3" + "@storybook/global" "^5.0.0" + "@storybook/manager-api" "7.5.3" + "@storybook/preview-api" "7.5.3" + "@storybook/types" "7.5.3" + tiny-invariant "^1.3.1" + +"@storybook/addon-outline@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/addon-outline/-/addon-outline-7.5.3.tgz#8b42758349ab07b5d39bf7e1b9cb2f83e173824a" + integrity sha512-c9vCi1SCGrtWr8qaOu/1GNWlrlrpl2lg4F9r+xtYf/KopenI3jSMz0YeTfmepZGAl+6Yc2Ywhm60jgpQ6SKciA== + dependencies: + "@storybook/client-logger" "7.5.3" + "@storybook/components" "7.5.3" + "@storybook/core-events" "7.5.3" + "@storybook/global" "^5.0.0" + "@storybook/manager-api" "7.5.3" + "@storybook/preview-api" "7.5.3" + "@storybook/types" "7.5.3" ts-dedent "^2.0.0" -"@storybook/addon-toolbars@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/addon-toolbars/-/addon-toolbars-6.5.16.tgz#9de04f9cc64b68d6cb680aa1c4fbf874e11afa32" - integrity sha512-y3PuUKiwOWrAvqx1YdUvArg0UaAwmboXFeR2bkrowk1xcT+xnRO3rML4npFeUl26OQ1FzwxX/cw6nknREBBLEA== - dependencies: - "@storybook/addons" "6.5.16" - "@storybook/api" "6.5.16" - "@storybook/client-logger" "6.5.16" - "@storybook/components" "6.5.16" - "@storybook/theming" "6.5.16" - core-js "^3.8.2" - regenerator-runtime "^0.13.7" +"@storybook/addon-toolbars@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/addon-toolbars/-/addon-toolbars-7.5.3.tgz#754e818935f08f05d4e06aefafe40a1080c4d575" + integrity sha512-KdLr4sGMJzhtjNTNE2ocfu58yOHHUyZ/cI3BTp7a0gq9YbUpHmC3XTNr26/yOYYrdjkiMD26XusJUjXe+/V2xw== + dependencies: + "@storybook/client-logger" "7.5.3" + "@storybook/components" "7.5.3" + "@storybook/manager-api" "7.5.3" + "@storybook/preview-api" "7.5.3" + "@storybook/theming" "7.5.3" -"@storybook/addon-viewport@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/addon-viewport/-/addon-viewport-6.5.16.tgz#226aa0ab93df68264269eb31adb104e7e48f6c68" - integrity sha512-1Vyqf1U6Qng6TXlf4SdqUKyizlw1Wn6+qW8YeA2q1lbkJqn3UlnHXIp8Q0t/5q1dK5BFtREox3+jkGwbJrzkmA== - dependencies: - "@storybook/addons" "6.5.16" - "@storybook/api" "6.5.16" - "@storybook/client-logger" "6.5.16" - "@storybook/components" "6.5.16" - "@storybook/core-events" "6.5.16" - "@storybook/theming" "6.5.16" - core-js "^3.8.2" - global "^4.4.0" +"@storybook/addon-viewport@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/addon-viewport/-/addon-viewport-7.5.3.tgz#05fb97114d0186977e25a5a448dea5fba66042ce" + integrity sha512-gT2XX0NNBrzSs1nrxadl6LnvcwgN7z2R0LzTK8/hxvx4D0EnXrV3feXLzjewr8ZYjzfEeSpO+W+bQTVNm3fNsg== + dependencies: + "@storybook/client-logger" "7.5.3" + "@storybook/components" "7.5.3" + "@storybook/core-events" "7.5.3" + "@storybook/global" "^5.0.0" + "@storybook/manager-api" "7.5.3" + "@storybook/preview-api" "7.5.3" + "@storybook/theming" "7.5.3" memoizerific "^1.11.3" prop-types "^15.7.2" - regenerator-runtime "^0.13.7" "@storybook/addons@5.3.21": version "5.3.21" @@ -4552,22 +5564,14 @@ global "^4.3.2" util-deprecate "^1.0.2" -"@storybook/addons@6.5.16", "@storybook/addons@^6.5.13": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-6.5.16.tgz#07e8f2205f86fa4c9dada719e3e096cb468e3cdd" - integrity sha512-p3DqQi+8QRL5k7jXhXmJZLsE/GqHqyY6PcoA1oNTJr0try48uhTGUOYkgzmqtDaa/qPFO5LP+xCPzZXckGtquQ== - dependencies: - "@storybook/api" "6.5.16" - "@storybook/channels" "6.5.16" - "@storybook/client-logger" "6.5.16" - "@storybook/core-events" "6.5.16" - "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/router" "6.5.16" - "@storybook/theming" "6.5.16" - "@types/webpack-env" "^1.16.0" - core-js "^3.8.2" - global "^4.4.0" - regenerator-runtime "^0.13.7" +"@storybook/addons@^7.1.1": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-7.5.3.tgz#1a96c290a171ea97b255d9892e86f0e7c3517cd2" + integrity sha512-1JDndMZ/Pju4YJ4aXegeF0O6BVT19c+Gu7WOlsD0aHbmAsPK5qH9QvcpR04nby6VrVZYtBOEJhGsWtAytzLVZw== + dependencies: + "@storybook/manager-api" "7.5.3" + "@storybook/preview-api" "7.5.3" + "@storybook/types" "7.5.3" "@storybook/api@5.3.21": version "5.3.21" @@ -4595,105 +5599,98 @@ telejson "^3.2.0" util-deprecate "^1.0.2" -"@storybook/api@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/api/-/api-6.5.16.tgz#897915b76de05587fd702951d5d836f708043662" - integrity sha512-HOsuT8iomqeTMQJrRx5U8nsC7lJTwRr1DhdD0SzlqL4c80S/7uuCy4IZvOt4sYQjOzW5fOo/kamcoBXyLproTA== - dependencies: - "@storybook/channels" "6.5.16" - "@storybook/client-logger" "6.5.16" - "@storybook/core-events" "6.5.16" - "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/router" "6.5.16" - "@storybook/semver" "^7.3.2" - "@storybook/theming" "6.5.16" - core-js "^3.8.2" - fast-deep-equal "^3.1.3" - global "^4.4.0" +"@storybook/blocks@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/blocks/-/blocks-7.5.3.tgz#be754f60a91e95b8c72cbeadf9c5c7e7ab78920f" + integrity sha512-Z8yF820v78clQWkwG5OA5qugbQn7rtutq9XCsd03NDB+IEfDaTFQAZG8gs62ZX2ZaXAJsqJSr/mL9oURzXto2A== + dependencies: + "@storybook/channels" "7.5.3" + "@storybook/client-logger" "7.5.3" + "@storybook/components" "7.5.3" + "@storybook/core-events" "7.5.3" + "@storybook/csf" "^0.1.0" + "@storybook/docs-tools" "7.5.3" + "@storybook/global" "^5.0.0" + "@storybook/manager-api" "7.5.3" + "@storybook/preview-api" "7.5.3" + "@storybook/theming" "7.5.3" + "@storybook/types" "7.5.3" + "@types/lodash" "^4.14.167" + color-convert "^2.0.1" + dequal "^2.0.2" lodash "^4.17.21" + markdown-to-jsx "^7.1.8" memoizerific "^1.11.3" - regenerator-runtime "^0.13.7" - store2 "^2.12.0" - telejson "^6.0.8" + polished "^4.2.2" + react-colorful "^5.1.2" + telejson "^7.2.0" + tocbot "^4.20.1" ts-dedent "^2.0.0" util-deprecate "^1.0.2" -"@storybook/builder-webpack4@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/builder-webpack4/-/builder-webpack4-6.5.16.tgz#ac468d244835a7f3bd01936398fee47244da35c1" - integrity sha512-YqDIrVNsUo8r9xc6AxsYDLxVYtMgl5Bxk+8/h1adsOko+jAFhdg6hOcAVxEmoSI0TMASOOVMFlT2hr23ppN2rQ== - dependencies: - "@babel/core" "^7.12.10" - "@storybook/addons" "6.5.16" - "@storybook/api" "6.5.16" - "@storybook/channel-postmessage" "6.5.16" - "@storybook/channels" "6.5.16" - "@storybook/client-api" "6.5.16" - "@storybook/client-logger" "6.5.16" - "@storybook/components" "6.5.16" - "@storybook/core-common" "6.5.16" - "@storybook/core-events" "6.5.16" - "@storybook/node-logger" "6.5.16" - "@storybook/preview-web" "6.5.16" - "@storybook/router" "6.5.16" - "@storybook/semver" "^7.3.2" - "@storybook/store" "6.5.16" - "@storybook/theming" "6.5.16" - "@storybook/ui" "6.5.16" - "@types/node" "^14.0.10 || ^16.0.0" - "@types/webpack" "^4.41.26" - autoprefixer "^9.8.6" - babel-loader "^8.0.0" - case-sensitive-paths-webpack-plugin "^2.3.0" - core-js "^3.8.2" - css-loader "^3.6.0" - file-loader "^6.2.0" - find-up "^5.0.0" - fork-ts-checker-webpack-plugin "^4.1.6" - glob "^7.1.6" - glob-promise "^3.4.0" - global "^4.4.0" - html-webpack-plugin "^4.0.0" - pnp-webpack-plugin "1.6.4" - postcss "^7.0.36" - postcss-flexbugs-fixes "^4.2.1" - postcss-loader "^4.2.0" - raw-loader "^4.0.2" - stable "^0.1.8" - style-loader "^1.3.0" - terser-webpack-plugin "^4.2.3" +"@storybook/builder-manager@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/builder-manager/-/builder-manager-7.5.3.tgz#dc667fd6d450988bc33c246686822a87c1b95558" + integrity sha512-uf4Vyj8ofHaq94m065SMvFKak1XrrxgI83VZAxc2QjiPcbRwcVOZd+wcKFdZydqqA6FlBDdJrU+k9INA4Qkfcw== + dependencies: + "@fal-works/esbuild-plugin-global-externals" "^2.1.2" + "@storybook/core-common" "7.5.3" + "@storybook/manager" "7.5.3" + "@storybook/node-logger" "7.5.3" + "@types/ejs" "^3.1.1" + "@types/find-cache-dir" "^3.2.1" + "@yarnpkg/esbuild-plugin-pnp" "^3.0.0-rc.10" + browser-assert "^1.2.1" + ejs "^3.1.8" + esbuild "^0.18.0" + esbuild-plugin-alias "^0.2.1" + express "^4.17.3" + find-cache-dir "^3.0.0" + fs-extra "^11.1.0" + process "^0.11.10" + util "^0.12.4" + +"@storybook/builder-webpack5@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/builder-webpack5/-/builder-webpack5-7.5.3.tgz#7f392cae845c9c3c7de6e04045c531f8f70048e1" + integrity sha512-a2kHXFT61AV1+OPNTqXCsYk7Wk4XSqjAOQkSxWc1HK+kyMT+lahO4U06slji6XAVuXc/KY+naNUoaOfpB1hKVw== + dependencies: + "@babel/core" "^7.22.0" + "@storybook/channels" "7.5.3" + "@storybook/client-logger" "7.5.3" + "@storybook/core-common" "7.5.3" + "@storybook/core-events" "7.5.3" + "@storybook/core-webpack" "7.5.3" + "@storybook/node-logger" "7.5.3" + "@storybook/preview" "7.5.3" + "@storybook/preview-api" "7.5.3" + "@swc/core" "^1.3.82" + "@types/node" "^18.0.0" + "@types/semver" "^7.3.4" + babel-loader "^9.0.0" + babel-plugin-named-exports-order "^0.0.2" + browser-assert "^1.2.1" + case-sensitive-paths-webpack-plugin "^2.4.0" + constants-browserify "^1.0.0" + css-loader "^6.7.1" + express "^4.17.3" + fork-ts-checker-webpack-plugin "^8.0.0" + fs-extra "^11.1.0" + html-webpack-plugin "^5.5.0" + path-browserify "^1.0.1" + process "^0.11.10" + semver "^7.3.7" + style-loader "^3.3.1" + swc-loader "^0.2.3" + terser-webpack-plugin "^5.3.1" ts-dedent "^2.0.0" - url-loader "^4.1.1" + url "^0.11.0" + util "^0.12.4" util-deprecate "^1.0.2" - webpack "4" - webpack-dev-middleware "^3.7.3" - webpack-filter-warnings-plugin "^1.2.1" + webpack "5" + webpack-dev-middleware "^6.1.1" webpack-hot-middleware "^2.25.1" - webpack-virtual-modules "^0.2.2" - -"@storybook/channel-postmessage@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-6.5.16.tgz#06167c0a66c06b2b5f8ff01d1dd436fff8119a15" - integrity sha512-fZZSN29dsUArWOx7e7lTdMA9+7zijVwCwbvi2Fo4fqhRLh1DsTb/VXfz1FKMCWAjNlcX7QQvV25tnxbqsD6lyw== - dependencies: - "@storybook/channels" "6.5.16" - "@storybook/client-logger" "6.5.16" - "@storybook/core-events" "6.5.16" - core-js "^3.8.2" - global "^4.4.0" - qs "^6.10.0" - telejson "^6.0.8" - -"@storybook/channel-websocket@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/channel-websocket/-/channel-websocket-6.5.16.tgz#41f69ca9444a4dfbf72580b4696900c5b1d2b817" - integrity sha512-wJg2lpBjmRC2GJFzmhB9kxlh109VE58r/0WhFtLbwKvPqsvGf82xkBEl6BtBCvIQ4stzYnj/XijjA8qSi2zpOg== - dependencies: - "@storybook/channels" "6.5.16" - "@storybook/client-logger" "6.5.16" - core-js "^3.8.2" - global "^4.4.0" - telejson "^6.0.8" + webpack-virtual-modules "^0.5.0" "@storybook/channels@5.3.21": version "5.3.21" @@ -4702,38 +5699,62 @@ dependencies: core-js "^3.0.1" -"@storybook/channels@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-6.5.16.tgz#3fb9a3b5666ecb951a2d0cf8b0699b084ef2d3c6" - integrity sha512-VylzaWQZaMozEwZPJdyJoz+0jpDa8GRyaqu9TGG6QGv+KU5POoZaGLDkRE7TzWkyyP0KQLo80K99MssZCpgSeg== +"@storybook/channels@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-7.5.3.tgz#cbd178b0778f3484b970d0fd0edd294db6969e0f" + integrity sha512-dhWuV2o2lmxH0RKuzND8jxYzvSQTSmpE13P0IT/k8+I1up/rSNYOBQJT6SalakcNWXFAMXguo/8E7ApmnKKcEw== dependencies: - core-js "^3.8.2" - ts-dedent "^2.0.0" - util-deprecate "^1.0.2" - -"@storybook/client-api@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-6.5.16.tgz#13e5a7c3d1f0f951ec4ef51cfcf2c5aafb560e12" - integrity sha512-i3UwkzzUFw8I+E6fOcgB5sc4oU2fhvaKnqC1mpd9IYGJ9JN9MnGIaVl3Ko28DtFItu/QabC9JsLIJVripFLktQ== - dependencies: - "@storybook/addons" "6.5.16" - "@storybook/channel-postmessage" "6.5.16" - "@storybook/channels" "6.5.16" - "@storybook/client-logger" "6.5.16" - "@storybook/core-events" "6.5.16" - "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/store" "6.5.16" - "@types/qs" "^6.9.5" - "@types/webpack-env" "^1.16.0" - core-js "^3.8.2" - fast-deep-equal "^3.1.3" - global "^4.4.0" - lodash "^4.17.21" - memoizerific "^1.11.3" + "@storybook/client-logger" "7.5.3" + "@storybook/core-events" "7.5.3" + "@storybook/global" "^5.0.0" qs "^6.10.0" - regenerator-runtime "^0.13.7" - store2 "^2.12.0" - synchronous-promise "^2.0.15" + telejson "^7.2.0" + tiny-invariant "^1.3.1" + +"@storybook/cli@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/cli/-/cli-7.5.3.tgz#127ae3bcad169bf8c3eb3e1e6c9d587ad5f57e81" + integrity sha512-XysHSnknZTAcTbQ0bQsbfv5J8ifHpOBsmXjk1HCA05E9WGGrn9JrQRCfpDUQJ6O6UWq0bpMqzP8gFLWXFE7hug== + dependencies: + "@babel/core" "^7.22.9" + "@babel/preset-env" "^7.22.9" + "@babel/types" "^7.22.5" + "@ndelangen/get-tarball" "^3.0.7" + "@storybook/codemod" "7.5.3" + "@storybook/core-common" "7.5.3" + "@storybook/core-events" "7.5.3" + "@storybook/core-server" "7.5.3" + "@storybook/csf-tools" "7.5.3" + "@storybook/node-logger" "7.5.3" + "@storybook/telemetry" "7.5.3" + "@storybook/types" "7.5.3" + "@types/semver" "^7.3.4" + "@yarnpkg/fslib" "2.10.3" + "@yarnpkg/libzip" "2.3.0" + chalk "^4.1.0" + commander "^6.2.1" + cross-spawn "^7.0.3" + detect-indent "^6.1.0" + envinfo "^7.7.3" + execa "^5.0.0" + express "^4.17.3" + find-up "^5.0.0" + fs-extra "^11.1.0" + get-npm-tarball-url "^2.0.3" + get-port "^5.1.1" + giget "^1.0.0" + globby "^11.0.2" + jscodeshift "^0.14.0" + leven "^3.1.0" + ora "^5.4.1" + prettier "^2.8.0" + prompts "^2.4.0" + puppeteer-core "^2.1.1" + read-pkg-up "^7.0.1" + semver "^7.3.7" + simple-update-notifier "^2.0.0" + strip-json-comments "^3.0.1" + tempy "^1.0.1" ts-dedent "^2.0.0" util-deprecate "^1.0.2" @@ -4744,13 +5765,32 @@ dependencies: core-js "^3.0.1" -"@storybook/client-logger@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-6.5.16.tgz#955cc46b389e7151c9eb1585a75e6a0605af61a1" - integrity sha512-pxcNaCj3ItDdicPTXTtmYJE3YC1SjxFrBmHcyrN+nffeNyiMuViJdOOZzzzucTUG0wcOOX8jaSyak+nnHg5H1Q== +"@storybook/client-logger@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-7.5.3.tgz#5a33a8a1785dbe6beff60654bc8947724c0cd62e" + integrity sha512-vUFYALypjix5FoJ5M/XUP6KmyTnQJNW1poHdW7WXUVSg+lBM6E5eAtjTm0hdxNNDH8KSrdy24nCLra5h0X0BWg== dependencies: - core-js "^3.8.2" - global "^4.4.0" + "@storybook/global" "^5.0.0" + +"@storybook/codemod@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/codemod/-/codemod-7.5.3.tgz#8a294b8d12f304a2a9db902848977147394d451c" + integrity sha512-gzycFdqnF4drUjfzMTrLNHqi2jkw1lDeACUzQdug5uWxynZKAvMTHAgU0q9wvoYRR9Xhq8PhfKtXtYCCj2Er4Q== + dependencies: + "@babel/core" "^7.22.9" + "@babel/preset-env" "^7.22.9" + "@babel/types" "^7.22.5" + "@storybook/csf" "^0.1.0" + "@storybook/csf-tools" "7.5.3" + "@storybook/node-logger" "7.5.3" + "@storybook/types" "7.5.3" + "@types/cross-spawn" "^6.0.2" + cross-spawn "^7.0.3" + globby "^11.0.2" + jscodeshift "^0.14.0" + lodash "^4.17.21" + prettier "^2.8.0" + recast "^0.23.1" "@storybook/components@5.3.21": version "5.3.21" @@ -4779,101 +5819,58 @@ simplebar-react "^1.0.0-alpha.6" ts-dedent "^1.1.0" -"@storybook/components@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/components/-/components-6.5.16.tgz#f8dc51213bc08fe32154be964e1e8b0e2f670ed6" - integrity sha512-LzBOFJKITLtDcbW9jXl0/PaG+4xAz25PK8JxPZpIALbmOpYWOAPcO6V9C2heX6e6NgWFMUxjplkULEk9RCQMNA== - dependencies: - "@storybook/client-logger" "6.5.16" - "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/theming" "6.5.16" - core-js "^3.8.2" +"@storybook/components@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/components/-/components-7.5.3.tgz#3fa282252e02973ead9f537f5ae3b5aeee5be4c4" + integrity sha512-M3+cjvEsDGLUx8RvK5wyF6/13LNlUnKbMgiDE8Sxk/v/WPpyhOAIh/B8VmrU1psahS61Jd4MTkFmLf1cWau1vw== + dependencies: + "@radix-ui/react-select" "^1.2.2" + "@radix-ui/react-toolbar" "^1.0.4" + "@storybook/client-logger" "7.5.3" + "@storybook/csf" "^0.1.0" + "@storybook/global" "^5.0.0" + "@storybook/theming" "7.5.3" + "@storybook/types" "7.5.3" memoizerific "^1.11.3" - qs "^6.10.0" - regenerator-runtime "^0.13.7" + use-resize-observer "^9.1.0" util-deprecate "^1.0.2" -"@storybook/core-client@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/core-client/-/core-client-6.5.16.tgz#ed2328fd38c6111fe887f6a91b28d9dc2b17092a" - integrity sha512-14IRaDrVtKrQ+gNWC0wPwkCNfkZOKghYV/swCUnQX3rP99defsZK8Hc7xHIYoAiOP5+sc3sweRAxgmFiJeQ1Ig== - dependencies: - "@storybook/addons" "6.5.16" - "@storybook/channel-postmessage" "6.5.16" - "@storybook/channel-websocket" "6.5.16" - "@storybook/client-api" "6.5.16" - "@storybook/client-logger" "6.5.16" - "@storybook/core-events" "6.5.16" - "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/preview-web" "6.5.16" - "@storybook/store" "6.5.16" - "@storybook/ui" "6.5.16" - airbnb-js-shims "^2.2.1" - ansi-to-html "^0.6.11" - core-js "^3.8.2" - global "^4.4.0" - lodash "^4.17.21" - qs "^6.10.0" - regenerator-runtime "^0.13.7" - ts-dedent "^2.0.0" - unfetch "^4.2.0" - util-deprecate "^1.0.2" +"@storybook/core-client@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/core-client/-/core-client-7.5.3.tgz#81e2d5343401f9caab9eaed28b649073937d5190" + integrity sha512-sIviDytbhos02TVXxU8XLymzty7IAtLs5e16hv49JSdBp47iBajRaNBmBj/l+sgTH+3M+R6gP8yGFMsZSCnU2g== + dependencies: + "@storybook/client-logger" "7.5.3" + "@storybook/preview-api" "7.5.3" -"@storybook/core-common@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/core-common/-/core-common-6.5.16.tgz#db80aa6f220a576a83db821f720e103190a914ae" - integrity sha512-2qtnKP3TTOzt2cp6LXKRTh7XrI9z5VanMnMTgeoFcA5ebnndD4V6BExQUdYPClE/QooLx6blUWNgS9dFEpjSqQ== - dependencies: - "@babel/core" "^7.12.10" - "@babel/plugin-proposal-class-properties" "^7.12.1" - "@babel/plugin-proposal-decorators" "^7.12.12" - "@babel/plugin-proposal-export-default-from" "^7.12.1" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1" - "@babel/plugin-proposal-object-rest-spread" "^7.12.1" - "@babel/plugin-proposal-optional-chaining" "^7.12.7" - "@babel/plugin-proposal-private-methods" "^7.12.1" - "@babel/plugin-proposal-private-property-in-object" "^7.12.1" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-transform-arrow-functions" "^7.12.1" - "@babel/plugin-transform-block-scoping" "^7.12.12" - "@babel/plugin-transform-classes" "^7.12.1" - "@babel/plugin-transform-destructuring" "^7.12.1" - "@babel/plugin-transform-for-of" "^7.12.1" - "@babel/plugin-transform-parameters" "^7.12.1" - "@babel/plugin-transform-shorthand-properties" "^7.12.1" - "@babel/plugin-transform-spread" "^7.12.1" - "@babel/preset-env" "^7.12.11" - "@babel/preset-react" "^7.12.10" - "@babel/preset-typescript" "^7.12.7" - "@babel/register" "^7.12.1" - "@storybook/node-logger" "6.5.16" - "@storybook/semver" "^7.3.2" - "@types/node" "^14.0.10 || ^16.0.0" +"@storybook/core-common@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/core-common/-/core-common-7.5.3.tgz#baaf4cb8e2e29ebd74626ee8cd5971f337ac4e23" + integrity sha512-WGMwjtVUxUzFwQz7Mgs0gLuNebIGNV55dCdZgurx2/y6QOkJ2v8D0b3iL+xKMV4B5Nwoc2DsM418Y+Hy3UQd+w== + dependencies: + "@storybook/core-events" "7.5.3" + "@storybook/node-logger" "7.5.3" + "@storybook/types" "7.5.3" + "@types/find-cache-dir" "^3.2.1" + "@types/node" "^18.0.0" + "@types/node-fetch" "^2.6.4" "@types/pretty-hrtime" "^1.0.0" - babel-loader "^8.0.0" - babel-plugin-macros "^3.0.1" - babel-plugin-polyfill-corejs3 "^0.1.0" chalk "^4.1.0" - core-js "^3.8.2" - express "^4.17.1" - file-system-cache "^1.0.5" + esbuild "^0.18.0" + esbuild-register "^3.5.0" + file-system-cache "2.3.0" + find-cache-dir "^3.0.0" find-up "^5.0.0" - fork-ts-checker-webpack-plugin "^6.0.4" - fs-extra "^9.0.1" - glob "^7.1.6" + fs-extra "^11.1.0" + glob "^10.0.0" handlebars "^4.7.7" - interpret "^2.2.0" - json5 "^2.2.3" - lazy-universal-dotenv "^3.0.1" + lazy-universal-dotenv "^4.0.0" + node-fetch "^2.0.0" picomatch "^2.3.0" pkg-dir "^5.0.0" pretty-hrtime "^1.0.3" resolve-from "^5.0.0" - slash "^3.0.0" - telejson "^6.0.8" ts-dedent "^2.0.0" - util-deprecate "^1.0.2" - webpack "4" "@storybook/core-events@5.3.21": version "5.3.21" @@ -4882,90 +5879,92 @@ dependencies: core-js "^3.0.1" -"@storybook/core-events@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-6.5.16.tgz#b1c265dac755007dae172d9d4b72656c9e5d7bb3" - integrity sha512-qMZQwmvzpH5F2uwNUllTPg6eZXr2OaYZQRRN8VZJiuorZzDNdAFmiVWMWdkThwmyLEJuQKXxqCL8lMj/7PPM+g== +"@storybook/core-events@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-7.5.3.tgz#210089576844569a914cc0cd1e07119bac6eb0e4" + integrity sha512-DFOpyQ22JD5C1oeOFzL8wlqSWZzrqgDfDbUGP8xdO4wJu+FVTxnnWN6ZYLdTPB1u27DOhd7TzjQMfLDHLu7kbQ== dependencies: - core-js "^3.8.2" + ts-dedent "^2.0.0" -"@storybook/core-server@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/core-server/-/core-server-6.5.16.tgz#f40de3413de49388129d29c74e5e48321af03f12" - integrity sha512-/3NPfmNyply395Dm0zaVZ8P9aruwO+tPx4D6/jpw8aqrRSwvAMndPMpoMCm0NXcpSm5rdX+Je4S3JW6JcggFkA== +"@storybook/core-server@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/core-server/-/core-server-7.5.3.tgz#23ea0757d6ffc0e9acc269b58efd7f75f5d781f6" + integrity sha512-Gmq1w7ulN/VIeTDboNcb6GNM+S8T0SqhJUqeoHzn0vLGnzxeuYRJ0V3ZJhGZiJfSmCNqYAjC8QUBf6uU1gLipw== dependencies: + "@aw-web-design/x-default-browser" "1.4.126" "@discoveryjs/json-ext" "^0.5.3" - "@storybook/builder-webpack4" "6.5.16" - "@storybook/core-client" "6.5.16" - "@storybook/core-common" "6.5.16" - "@storybook/core-events" "6.5.16" - "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/csf-tools" "6.5.16" - "@storybook/manager-webpack4" "6.5.16" - "@storybook/node-logger" "6.5.16" - "@storybook/semver" "^7.3.2" - "@storybook/store" "6.5.16" - "@storybook/telemetry" "6.5.16" - "@types/node" "^14.0.10 || ^16.0.0" - "@types/node-fetch" "^2.5.7" + "@storybook/builder-manager" "7.5.3" + "@storybook/channels" "7.5.3" + "@storybook/core-common" "7.5.3" + "@storybook/core-events" "7.5.3" + "@storybook/csf" "^0.1.0" + "@storybook/csf-tools" "7.5.3" + "@storybook/docs-mdx" "^0.1.0" + "@storybook/global" "^5.0.0" + "@storybook/manager" "7.5.3" + "@storybook/node-logger" "7.5.3" + "@storybook/preview-api" "7.5.3" + "@storybook/telemetry" "7.5.3" + "@storybook/types" "7.5.3" + "@types/detect-port" "^1.3.0" + "@types/node" "^18.0.0" "@types/pretty-hrtime" "^1.0.0" - "@types/webpack" "^4.41.26" - better-opn "^2.1.1" - boxen "^5.1.2" + "@types/semver" "^7.3.4" + better-opn "^3.0.2" chalk "^4.1.0" cli-table3 "^0.6.1" - commander "^6.2.1" compression "^1.7.4" - core-js "^3.8.2" - cpy "^8.1.2" detect-port "^1.3.0" - express "^4.17.1" - fs-extra "^9.0.1" - global "^4.4.0" + express "^4.17.3" + fs-extra "^11.1.0" globby "^11.0.2" ip "^2.0.0" lodash "^4.17.21" - node-fetch "^2.6.7" open "^8.4.0" pretty-hrtime "^1.0.3" prompts "^2.4.0" - regenerator-runtime "^0.13.7" - serve-favicon "^2.5.0" - slash "^3.0.0" - telejson "^6.0.8" + read-pkg-up "^7.0.1" + semver "^7.3.7" + telejson "^7.2.0" + tiny-invariant "^1.3.1" ts-dedent "^2.0.0" + util "^0.12.4" util-deprecate "^1.0.2" watchpack "^2.2.0" - webpack "4" ws "^8.2.3" - x-default-browser "^0.4.0" -"@storybook/core@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/core/-/core-6.5.16.tgz#ae994f01327fe81b6e652963c35bac7a74f0da06" - integrity sha512-CEF3QFTsm/VMnMKtRNr4rRdLeIkIG0g1t26WcmxTdSThNPBd8CsWzQJ7Jqu7CKiut+MU4A1LMOwbwCE5F2gmyA== +"@storybook/core-webpack@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/core-webpack/-/core-webpack-7.5.3.tgz#40da9419c71d6e0134a4309cf0ed6f034baf5bdd" + integrity sha512-dhC94VeLwyPtZ2gvEND6J4alMaiFDsK8lJCYPNAahUr56f3nRDyVibE7prd94sAlfrdind1g5slP9VMP8cX+uQ== dependencies: - "@storybook/core-client" "6.5.16" - "@storybook/core-server" "6.5.16" + "@storybook/core-common" "7.5.3" + "@storybook/node-logger" "7.5.3" + "@storybook/types" "7.5.3" + "@types/node" "^18.0.0" + ts-dedent "^2.0.0" -"@storybook/csf-tools@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/csf-tools/-/csf-tools-6.5.16.tgz#367889a3ddb33c93261129104ec2958215ec5459" - integrity sha512-+WD4sH/OwAfXZX3IN6/LOZ9D9iGEFcN+Vvgv9wOsLRgsAZ10DG/NK6c1unXKDM/ogJtJYccNI8Hd+qNE/GFV6A== +"@storybook/csf-plugin@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/csf-plugin/-/csf-plugin-7.5.3.tgz#803197a2042323323528014878e9f9f0cc50c193" + integrity sha512-yQ3S/IOT08Y7XTnlc3SPkrJKZ6Xld6liAlHn+ddjge4oZa0hUqwYLb+piXUhFMfL6Ij65cj4hu3vMbw89azIhg== dependencies: - "@babel/core" "^7.12.10" - "@babel/generator" "^7.12.11" - "@babel/parser" "^7.12.11" - "@babel/plugin-transform-react-jsx" "^7.12.12" - "@babel/preset-env" "^7.12.11" - "@babel/traverse" "^7.12.11" - "@babel/types" "^7.12.11" - "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/mdx1-csf" "^0.0.1" - core-js "^3.8.2" - fs-extra "^9.0.1" - global "^4.4.0" - regenerator-runtime "^0.13.7" + "@storybook/csf-tools" "7.5.3" + unplugin "^1.3.1" + +"@storybook/csf-tools@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/csf-tools/-/csf-tools-7.5.3.tgz#1b2a393b3402a4c2fdfb2eb4eb90c63463c106ae" + integrity sha512-676C3ISn7FQJKjb3DBWXhjGN2OQEv4s71dx+5D0TlmswDCOOGS8dYFjP8wVx51+mAIE8CROAw7vLHLtVKU7SwQ== + dependencies: + "@babel/generator" "^7.22.9" + "@babel/parser" "^7.22.7" + "@babel/traverse" "^7.22.8" + "@babel/types" "^7.22.5" + "@storybook/csf" "^0.1.0" + "@storybook/types" "7.5.3" + fs-extra "^11.1.0" + recast "^0.23.1" ts-dedent "^2.0.0" "@storybook/csf@0.0.1": @@ -4975,177 +5974,177 @@ dependencies: lodash "^4.17.15" -"@storybook/csf@0.0.2--canary.4566f4d.1": - version "0.0.2--canary.4566f4d.1" - resolved "https://registry.yarnpkg.com/@storybook/csf/-/csf-0.0.2--canary.4566f4d.1.tgz#dac52a21c40ef198554e71fe4d20d61e17f65327" - integrity sha512-9OVvMVh3t9znYZwb0Svf/YQoxX2gVOeQTGe2bses2yj+a3+OJnCrUF3/hGv6Em7KujtOdL2LL+JnG49oMVGFgQ== - dependencies: - lodash "^4.17.15" - -"@storybook/docs-tools@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/docs-tools/-/docs-tools-6.5.16.tgz#1ec5433eeab63a214d37ffc4660cdaec9704ac39" - integrity sha512-o+rAWPRGifjBF5xZzTKOqnHN3XQWkl0QFJYVDIiJYJrVll7ExCkpEq/PahOGzIBBV+tpMstJgmKM3lr/lu/jmg== - dependencies: - "@babel/core" "^7.12.10" - "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/store" "6.5.16" - core-js "^3.8.2" - doctrine "^3.0.0" - lodash "^4.17.21" - regenerator-runtime "^0.13.7" - -"@storybook/manager-webpack4@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/manager-webpack4/-/manager-webpack4-6.5.16.tgz#7033228d38f048ceff3d403ba918d7f206b926a5" - integrity sha512-5VJZwmQU6AgdsBPsYdu886UKBHQ9SJEnFMaeUxKEclXk+iRsmbzlL4GHKyVd6oGX/ZaecZtcHPR6xrzmA4Ziew== - dependencies: - "@babel/core" "^7.12.10" - "@babel/plugin-transform-template-literals" "^7.12.1" - "@babel/preset-react" "^7.12.10" - "@storybook/addons" "6.5.16" - "@storybook/core-client" "6.5.16" - "@storybook/core-common" "6.5.16" - "@storybook/node-logger" "6.5.16" - "@storybook/theming" "6.5.16" - "@storybook/ui" "6.5.16" - "@types/node" "^14.0.10 || ^16.0.0" - "@types/webpack" "^4.41.26" - babel-loader "^8.0.0" - case-sensitive-paths-webpack-plugin "^2.3.0" - chalk "^4.1.0" - core-js "^3.8.2" - css-loader "^3.6.0" - express "^4.17.1" - file-loader "^6.2.0" - find-up "^5.0.0" - fs-extra "^9.0.1" - html-webpack-plugin "^4.0.0" - node-fetch "^2.6.7" - pnp-webpack-plugin "1.6.4" - read-pkg-up "^7.0.1" - regenerator-runtime "^0.13.7" - resolve-from "^5.0.0" - style-loader "^1.3.0" - telejson "^6.0.8" - terser-webpack-plugin "^4.2.3" - ts-dedent "^2.0.0" - url-loader "^4.1.1" - util-deprecate "^1.0.2" - webpack "4" - webpack-dev-middleware "^3.7.3" - webpack-virtual-modules "^0.2.2" +"@storybook/csf@^0.1.0": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@storybook/csf/-/csf-0.1.2.tgz#8e7452f0097507f5841b5ade3f5da1525bc9afb2" + integrity sha512-ePrvE/pS1vsKR9Xr+o+YwdqNgHUyXvg+1Xjx0h9LrVx7Zq4zNe06pd63F5EvzTbCbJsHj7GHr9tkiaqm7U8WRA== + dependencies: + type-fest "^2.19.0" -"@storybook/mdx1-csf@^0.0.1": - version "0.0.1" - resolved "https://registry.yarnpkg.com/@storybook/mdx1-csf/-/mdx1-csf-0.0.1.tgz#d4184e3f6486fade9f7a6bfaf934d9bc07718d5b" - integrity sha512-4biZIWWzoWlCarMZmTpqcJNgo/RBesYZwGFbQeXiGYsswuvfWARZnW9RE9aUEMZ4XPn7B1N3EKkWcdcWe/K2tg== +"@storybook/docs-mdx@^0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@storybook/docs-mdx/-/docs-mdx-0.1.0.tgz#33ba0e39d1461caf048b57db354b2cc410705316" + integrity sha512-JDaBR9lwVY4eSH5W8EGHrhODjygPd6QImRbwjAuJNEnY0Vw4ie3bPkeGfnacB3OBW6u/agqPv2aRlR46JcAQLg== + +"@storybook/docs-tools@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/docs-tools/-/docs-tools-7.5.3.tgz#1d1aec4a7546d70a2273ad99814a1dbecb8e80f7" + integrity sha512-f20EUQlwamcSPrOFn42fj9gpkZIDNCZkC3N19yGzLYiE4UMyaYQgRl18oLvqd3M6aBm6UW6SCoIIgeaOViBSqg== dependencies: - "@babel/generator" "^7.12.11" - "@babel/parser" "^7.12.11" - "@babel/preset-env" "^7.12.11" - "@babel/types" "^7.12.11" - "@mdx-js/mdx" "^1.6.22" - "@types/lodash" "^4.14.167" - js-string-escape "^1.0.1" - loader-utils "^2.0.0" + "@storybook/core-common" "7.5.3" + "@storybook/preview-api" "7.5.3" + "@storybook/types" "7.5.3" + "@types/doctrine" "^0.0.3" + doctrine "^3.0.0" + lodash "^4.17.21" + +"@storybook/global@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@storybook/global/-/global-5.0.0.tgz#b793d34b94f572c1d7d9e0f44fac4e0dbc9572ed" + integrity sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ== + +"@storybook/manager-api@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/manager-api/-/manager-api-7.5.3.tgz#6e9e791a8996631dc77f3a0cecc34ce4f4869647" + integrity sha512-d8mVLr/5BEG4bAS2ZeqYTy/aX4jPEpZHdcLaWoB4mAM+PAL9wcWsirUyApKtDVYLITJf/hd8bb2Dm2ok6E45gA== + dependencies: + "@storybook/channels" "7.5.3" + "@storybook/client-logger" "7.5.3" + "@storybook/core-events" "7.5.3" + "@storybook/csf" "^0.1.0" + "@storybook/global" "^5.0.0" + "@storybook/router" "7.5.3" + "@storybook/theming" "7.5.3" + "@storybook/types" "7.5.3" + dequal "^2.0.2" lodash "^4.17.21" - prettier ">=2.2.1 <=2.3.0" + memoizerific "^1.11.3" + semver "^7.3.7" + store2 "^2.14.2" + telejson "^7.2.0" ts-dedent "^2.0.0" -"@storybook/node-logger@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-6.5.16.tgz#d57fd6204c2abfbc297551d98ad5475dd73207cc" - integrity sha512-YjhBKrclQtjhqFNSO+BZK+RXOx6EQypAELJKoLFaawg331e8VUfvUuRCNB3fcEWp8G9oH13PQQte0OTjLyyOYg== - dependencies: - "@types/npmlog" "^4.1.2" - chalk "^4.1.0" - core-js "^3.8.2" - npmlog "^5.0.1" - pretty-hrtime "^1.0.3" +"@storybook/manager@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/manager/-/manager-7.5.3.tgz#e185fc056546c19d255cdc26b6f2698e04d3f8ab" + integrity sha512-3ZZrHYcXWAQXpDQZBvKyScGgQaAaBc63i+KC2mXqzTdXuJhVDUiylvqLRprBnrEprgePQLFrxGC2JSHUwH7dqg== -"@storybook/postinstall@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/postinstall/-/postinstall-6.5.16.tgz#20aa02fd4513fa0b60ed838b413c46f351f64f60" - integrity sha512-08K2q+qN6pqyPW7PHLCZ5G5Xa6Wosd6t0F16PQ4abX2ItlJLabVoJN5mZ0gm/aeLTjD8QYr8IDvacu4eXh0SVA== - dependencies: - core-js "^3.8.2" - -"@storybook/preview-web@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/preview-web/-/preview-web-6.5.16.tgz#1d32a72be25776f9597e33ffc1914f3430fae689" - integrity sha512-IJnvfe2sKCfk7apN9Fu9U8qibbarrPX5JB55ZzK1amSHVmSDuYk5MIMc/U3NnSQNnvd1DO5v/zMcGgj563hrtg== - dependencies: - "@storybook/addons" "6.5.16" - "@storybook/channel-postmessage" "6.5.16" - "@storybook/client-logger" "6.5.16" - "@storybook/core-events" "6.5.16" - "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/store" "6.5.16" - ansi-to-html "^0.6.11" - core-js "^3.8.2" - global "^4.4.0" +"@storybook/mdx2-csf@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@storybook/mdx2-csf/-/mdx2-csf-1.1.0.tgz#97f6df04d0bf616991cc1005a073ac004a7281e5" + integrity sha512-TXJJd5RAKakWx4BtpwvSNdgTDkKM6RkXU8GK34S/LhidQ5Pjz3wcnqb0TxEkfhK/ztbP8nKHqXFwLfa2CYkvQw== + +"@storybook/node-logger@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-7.5.3.tgz#23133787f5b3427cef7301e10c6caf9132969fc1" + integrity sha512-7ZZDw/q3hakBj1FngsBjaHNIBguYAWojp7R1fFTvwkeunCi21EUzZjRBcqp10kB6BP3/NLX32bIQknsCWD76rQ== + +"@storybook/postinstall@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/postinstall/-/postinstall-7.5.3.tgz#66b9add9e315646dde2289d77c87118c3c8596a6" + integrity sha512-r+H3xGMu2A9yOSsygc3bDFhku8wpOZF3SqO19B7eAML12viHwUtYfyGL74svw4TMcKukyQ+KPn5QsSG+4bjZMg== + +"@storybook/preset-react-webpack@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/preset-react-webpack/-/preset-react-webpack-7.5.3.tgz#43139d09b719dfe5624a841bfe8e57ed064fa697" + integrity sha512-/3Zsh97KpMLsx3lkkQ9LAlEVWwBGbAJTwE+ueVxVnAJgwiDCVe95IN7sVpKuwN/PVStnMRwDADUvZPfmw4m3Sg== + dependencies: + "@babel/preset-flow" "^7.22.5" + "@babel/preset-react" "^7.22.5" + "@pmmmwh/react-refresh-webpack-plugin" "^0.5.5" + "@storybook/core-webpack" "7.5.3" + "@storybook/docs-tools" "7.5.3" + "@storybook/node-logger" "7.5.3" + "@storybook/react" "7.5.3" + "@storybook/react-docgen-typescript-plugin" "1.0.6--canary.9.0c3f3b7.0" + "@types/node" "^18.0.0" + "@types/semver" "^7.3.4" + babel-plugin-add-react-displayname "^0.0.5" + babel-plugin-react-docgen "^4.2.1" + fs-extra "^11.1.0" + react-refresh "^0.11.0" + semver "^7.3.7" + webpack "5" + +"@storybook/preview-api@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/preview-api/-/preview-api-7.5.3.tgz#eaf70f9b6888d0dac42ce39a296afd6acacf6156" + integrity sha512-LNmEf7oBRnZ1wG3bQ+P+TO29+NN5pSDJiAA6FabZBrtIVm+psc2lxBCDQvFYyAFzQSlt60toGKNW8+RfFNdR5Q== + dependencies: + "@storybook/channels" "7.5.3" + "@storybook/client-logger" "7.5.3" + "@storybook/core-events" "7.5.3" + "@storybook/csf" "^0.1.0" + "@storybook/global" "^5.0.0" + "@storybook/types" "7.5.3" + "@types/qs" "^6.9.5" + dequal "^2.0.2" lodash "^4.17.21" + memoizerific "^1.11.3" qs "^6.10.0" - regenerator-runtime "^0.13.7" synchronous-promise "^2.0.15" ts-dedent "^2.0.0" - unfetch "^4.2.0" util-deprecate "^1.0.2" -"@storybook/react-docgen-typescript-plugin@1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0": - version "1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0" - resolved "https://registry.yarnpkg.com/@storybook/react-docgen-typescript-plugin/-/react-docgen-typescript-plugin-1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0.tgz#3103532ff494fb7dc3cf835f10740ecf6a26c0f9" - integrity sha512-eVg3BxlOm2P+chijHBTByr90IZVUtgRW56qEOLX7xlww2NBuKrcavBlcmn+HH7GIUktquWkMPtvy6e0W0NgA5w== +"@storybook/preview@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/preview/-/preview-7.5.3.tgz#9abe434ea9fb280a7d2141b72be2958f7eb9cc5b" + integrity sha512-Hf90NlLaSrdMZXPOHDCMPjTywVrQKK0e5CtzqWx/ZQz91JDINxJD+sGj2wZU+wuBtQcTtlsXc9OewlJ+9ETwIw== + +"@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0": + version "1.0.6--canary.9.0c3f3b7.0" + resolved "https://registry.yarnpkg.com/@storybook/react-docgen-typescript-plugin/-/react-docgen-typescript-plugin-1.0.6--canary.9.0c3f3b7.0.tgz#7f10f3c641f32e4513a8b6ffb5036933e7059534" + integrity sha512-KUqXC3oa9JuQ0kZJLBhVdS4lOneKTOopnNBK4tUAgoxWQ3u/IjzdueZjFr7gyBrXMoU6duutk3RQR9u8ZpYJ4Q== dependencies: debug "^4.1.1" endent "^2.0.1" find-cache-dir "^3.3.1" flat-cache "^3.0.4" micromatch "^4.0.2" - react-docgen-typescript "^2.1.1" + react-docgen-typescript "^2.2.2" tslib "^2.0.0" -"@storybook/react@^6.5.13": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/react/-/react-6.5.16.tgz#f7b82ba87f5bb73b4e4e83cce298a98710a88398" - integrity sha512-cBtNlOzf/MySpNLBK22lJ8wFU22HnfTB2xJyBk7W7Zi71Lm7Uxkhv1Pz8HdiQndJ0SlsAAQOWjQYsSZsGkZIaA== - dependencies: - "@babel/preset-flow" "^7.12.1" - "@babel/preset-react" "^7.12.10" - "@pmmmwh/react-refresh-webpack-plugin" "^0.5.3" - "@storybook/addons" "6.5.16" - "@storybook/client-logger" "6.5.16" - "@storybook/core" "6.5.16" - "@storybook/core-common" "6.5.16" - "@storybook/csf" "0.0.2--canary.4566f4d.1" - "@storybook/docs-tools" "6.5.16" - "@storybook/node-logger" "6.5.16" - "@storybook/react-docgen-typescript-plugin" "1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0" - "@storybook/semver" "^7.3.2" - "@storybook/store" "6.5.16" +"@storybook/react-dom-shim@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/react-dom-shim/-/react-dom-shim-7.5.3.tgz#54fc7bda589be5f630738fd08d2a37d5bb7815fa" + integrity sha512-9aNcKdhoP36jMrcXgfzE9jVg/SpqPpWnUJM70upYoZXytG2wQSPtawLHHyC6kycvTzwncyfF3rwUnOFBB8zmig== + +"@storybook/react-webpack5@^7.1.1": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/react-webpack5/-/react-webpack5-7.5.3.tgz#dfef70b203a803c77ee777eb79b6ee986d6c7009" + integrity sha512-+sjYMrvmpvztdDkRE1/EkcNNxTTdDdBoXUGrGyE0ig6qEwSewRld0H8ng1jlNQ8treocy7036TXJF+qHZEz/FQ== + dependencies: + "@storybook/builder-webpack5" "7.5.3" + "@storybook/preset-react-webpack" "7.5.3" + "@storybook/react" "7.5.3" + "@types/node" "^18.0.0" + +"@storybook/react@7.5.3", "@storybook/react@^7.1.1": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/react/-/react-7.5.3.tgz#fe01ff2057826bdf55b0852deea7e76859757c01" + integrity sha512-dZILdM36xMFDjdmmy421G5X+sOIncB2qF3IPTooniG1i1Z6v/dVNo57ovdID9lDTNa+AWr2fLB9hANiISMqmjQ== + dependencies: + "@storybook/client-logger" "7.5.3" + "@storybook/core-client" "7.5.3" + "@storybook/docs-tools" "7.5.3" + "@storybook/global" "^5.0.0" + "@storybook/preview-api" "7.5.3" + "@storybook/react-dom-shim" "7.5.3" + "@storybook/types" "7.5.3" + "@types/escodegen" "^0.0.6" "@types/estree" "^0.0.51" - "@types/node" "^14.14.20 || ^16.0.0" - "@types/webpack-env" "^1.16.0" + "@types/node" "^18.0.0" acorn "^7.4.1" acorn-jsx "^5.3.1" acorn-walk "^7.2.0" - babel-plugin-add-react-displayname "^0.0.5" - babel-plugin-react-docgen "^4.2.1" - core-js "^3.8.2" - escodegen "^2.0.0" - fs-extra "^9.0.1" - global "^4.4.0" + escodegen "^2.1.0" html-tags "^3.1.0" lodash "^4.17.21" prop-types "^15.7.2" - react-element-to-jsx-string "^14.3.4" - react-refresh "^0.11.0" - read-pkg-up "^7.0.1" - regenerator-runtime "^0.13.7" + react-element-to-jsx-string "^15.0.0" ts-dedent "^2.0.0" + type-fest "~2.19" util-deprecate "^1.0.2" - webpack ">=4.43.0 <6.0.0" "@storybook/router@5.3.21": version "5.3.21" @@ -5162,79 +6161,28 @@ qs "^6.6.0" util-deprecate "^1.0.2" -"@storybook/router@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/router/-/router-6.5.16.tgz#28fb4d34e8219351a40bee1fc94dcacda6e1bd8b" - integrity sha512-ZgeP8a5YV/iuKbv31V8DjPxlV4AzorRiR8OuSt/KqaiYXNXlOoQDz/qMmiNcrshrfLpmkzoq7fSo4T8lWo2UwQ== +"@storybook/router@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/router/-/router-7.5.3.tgz#e024ad96bc4bbf7250239921a251e828729e4747" + integrity sha512-/iNYCFore7R5n6eFHbBYoB0P2/sybTVpA+uXTNUd3UEt7Ro6CEslTaFTEiH2RVQwOkceBp/NpyWon74xZuXhMg== dependencies: - "@storybook/client-logger" "6.5.16" - core-js "^3.8.2" + "@storybook/client-logger" "7.5.3" memoizerific "^1.11.3" qs "^6.10.0" - regenerator-runtime "^0.13.7" - -"@storybook/semver@^7.3.2": - version "7.3.2" - resolved "https://registry.yarnpkg.com/@storybook/semver/-/semver-7.3.2.tgz#f3b9c44a1c9a0b933c04e66d0048fcf2fa10dac0" - integrity sha512-SWeszlsiPsMI0Ps0jVNtH64cI5c0UF3f7KgjVKJoNP30crQ6wUSddY2hsdeczZXEKVJGEn50Q60flcGsQGIcrg== - dependencies: - core-js "^3.6.5" - find-up "^4.1.0" - -"@storybook/source-loader@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/source-loader/-/source-loader-6.5.16.tgz#b691a024e6ff36bbd1144ecb4a65986f0e149741" - integrity sha512-fyVl4jrM/5JLrb48aqXPu7sTsmySQaVGFp1zfeqvPPlJRFMastDrePm5XGPN7Qjv1wsKmpuBvuweFKOT1pru3g== - dependencies: - "@storybook/addons" "6.5.16" - "@storybook/client-logger" "6.5.16" - "@storybook/csf" "0.0.2--canary.4566f4d.1" - core-js "^3.8.2" - estraverse "^5.2.0" - global "^4.4.0" - loader-utils "^2.0.4" - lodash "^4.17.21" - prettier ">=2.2.1 <=2.3.0" - regenerator-runtime "^0.13.7" - -"@storybook/store@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/store/-/store-6.5.16.tgz#b308701293a3a11bfcc766770584495874fd17da" - integrity sha512-g+bVL5hmMq/9cM51K04e37OviUPHT0rHHrRm5wj/hrf18Kd9120b3sxdQ5Dc+HZ292yuME0n+cyrQPTYx9Epmw== - dependencies: - "@storybook/addons" "6.5.16" - "@storybook/client-logger" "6.5.16" - "@storybook/core-events" "6.5.16" - "@storybook/csf" "0.0.2--canary.4566f4d.1" - core-js "^3.8.2" - fast-deep-equal "^3.1.3" - global "^4.4.0" - lodash "^4.17.21" - memoizerific "^1.11.3" - regenerator-runtime "^0.13.7" - slash "^3.0.0" - stable "^0.1.8" - synchronous-promise "^2.0.15" - ts-dedent "^2.0.0" - util-deprecate "^1.0.2" -"@storybook/telemetry@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/telemetry/-/telemetry-6.5.16.tgz#b13c8133e02c28e37b7716c987e7414b1ddc5363" - integrity sha512-CWr5Uko1l9jJW88yTXsZTj/3GTabPvw0o7pDPOXPp8JRZiJTxv1JFaFCafhK9UzYbgcRuGfCC8kEWPZims7iKA== +"@storybook/telemetry@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/telemetry/-/telemetry-7.5.3.tgz#67d77c5cb33360c6f483a7cc89897fea160ca446" + integrity sha512-X6alII3o0jCb5xALuw+qcWmvyrbhlkmPeNZ6ZQXknOfB4DkwponFdWN5y6W7yGvr01xa5QBepJRV79isl97d8g== dependencies: - "@storybook/client-logger" "6.5.16" - "@storybook/core-common" "6.5.16" + "@storybook/client-logger" "7.5.3" + "@storybook/core-common" "7.5.3" + "@storybook/csf-tools" "7.5.3" chalk "^4.1.0" - core-js "^3.8.2" detect-package-manager "^2.0.1" fetch-retry "^5.0.2" - fs-extra "^9.0.1" - global "^4.4.0" - isomorphic-unfetch "^3.1.0" - nanoid "^3.3.1" + fs-extra "^11.1.0" read-pkg-up "^7.0.1" - regenerator-runtime "^0.13.7" "@storybook/theming@5.3.21": version "5.3.21" @@ -5254,43 +6202,222 @@ resolve-from "^5.0.0" ts-dedent "^1.1.0" -"@storybook/theming@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-6.5.16.tgz#b999bdb98945b605b93b9dfdf7408535b701e2aa" - integrity sha512-hNLctkjaYLRdk1+xYTkC1mg4dYz2wSv6SqbLpcKMbkPHTE0ElhddGPHQqB362md/w9emYXNkt1LSMD8Xk9JzVQ== +"@storybook/theming@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-7.5.3.tgz#bbcf547c8b3ec1e59e641c58155a44781d5f310d" + integrity sha512-Cjmthe1MAk0z4RKCZ7m72gAD8YD0zTAH97z5ryM1Qv84QXjiCQ143fGOmYz1xEQdNFpOThPcwW6FEccLHTkVcg== dependencies: - "@storybook/client-logger" "6.5.16" - core-js "^3.8.2" + "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0" + "@storybook/client-logger" "7.5.3" + "@storybook/global" "^5.0.0" memoizerific "^1.11.3" - regenerator-runtime "^0.13.7" -"@storybook/ui@6.5.16": - version "6.5.16" - resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-6.5.16.tgz#c73bf456e672ecf2370b4365070088487fc0ce57" - integrity sha512-rHn/n12WM8BaXtZ3IApNZCiS+C4Oc5+Lkl4MoctX8V7QSml0SxZBB5hsJ/AiWkgbRxjQpa/L/Nt7/Qw0FjTH/A== - dependencies: - "@storybook/addons" "6.5.16" - "@storybook/api" "6.5.16" - "@storybook/channels" "6.5.16" - "@storybook/client-logger" "6.5.16" - "@storybook/components" "6.5.16" - "@storybook/core-events" "6.5.16" - "@storybook/router" "6.5.16" - "@storybook/semver" "^7.3.2" - "@storybook/theming" "6.5.16" - core-js "^3.8.2" - memoizerific "^1.11.3" - qs "^6.10.0" - regenerator-runtime "^0.13.7" - resolve-from "^5.0.0" +"@storybook/types@7.5.3": + version "7.5.3" + resolved "https://registry.yarnpkg.com/@storybook/types/-/types-7.5.3.tgz#be956805dafc09fa9a7a3dd4e0e5097ef08e4fd4" + integrity sha512-iu5W0Kdd6nysN5CPkY4GRl+0BpxRTdSfBIJak7mb6xCIHSB5t1tw4BOuqMQ5EgpikRY3MWJ4gY647QkWBX3MNQ== + dependencies: + "@storybook/channels" "7.5.3" + "@types/babel__core" "^7.0.0" + "@types/express" "^4.7.0" + file-system-cache "2.3.0" + +"@svgr/babel-plugin-add-jsx-attribute@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz#4001f5d5dd87fa13303e36ee106e3ff3a7eb8b22" + integrity sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g== + +"@svgr/babel-plugin-remove-jsx-attribute@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz#69177f7937233caca3a1afb051906698f2f59186" + integrity sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA== + +"@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz#c2c48104cfd7dcd557f373b70a56e9e3bdae1d44" + integrity sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA== + +"@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz#8fbb6b2e91fa26ac5d4aa25c6b6e4f20f9c0ae27" + integrity sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ== + +"@svgr/babel-plugin-svg-dynamic-title@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz#1d5ba1d281363fc0f2f29a60d6d936f9bbc657b0" + integrity sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og== + +"@svgr/babel-plugin-svg-em-dimensions@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz#35e08df300ea8b1d41cb8f62309c241b0369e501" + integrity sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g== + +"@svgr/babel-plugin-transform-react-native-svg@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz#90a8b63998b688b284f255c6a5248abd5b28d754" + integrity sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q== + +"@svgr/babel-plugin-transform-svg-component@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz#013b4bfca88779711f0ed2739f3f7efcefcf4f7e" + integrity sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw== + +"@svgr/babel-preset@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-8.1.0.tgz#0e87119aecdf1c424840b9d4565b7137cabf9ece" + integrity sha512-7EYDbHE7MxHpv4sxvnVPngw5fuR6pw79SkcrILHJ/iMpuKySNCl5W1qcwPEpU+LgyRXOaAFgH0KhwD18wwg6ug== + dependencies: + "@svgr/babel-plugin-add-jsx-attribute" "8.0.0" + "@svgr/babel-plugin-remove-jsx-attribute" "8.0.0" + "@svgr/babel-plugin-remove-jsx-empty-expression" "8.0.0" + "@svgr/babel-plugin-replace-jsx-attribute-value" "8.0.0" + "@svgr/babel-plugin-svg-dynamic-title" "8.0.0" + "@svgr/babel-plugin-svg-em-dimensions" "8.0.0" + "@svgr/babel-plugin-transform-react-native-svg" "8.1.0" + "@svgr/babel-plugin-transform-svg-component" "8.0.0" + +"@svgr/cli@^8.0.1": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/cli/-/cli-8.1.0.tgz#dd7fcf42a144eb681bb9923c5d806bf6cafd7512" + integrity sha512-SnlaLspB610XFXvs3PmhzViHErsXp0yIy4ERyZlHDlO1ro2iYtHMWYk2mztdLD/lBjiA4ZXe4RePON3qU/Tc4A== + dependencies: + "@svgr/core" "8.1.0" + "@svgr/plugin-jsx" "8.1.0" + "@svgr/plugin-prettier" "8.1.0" + "@svgr/plugin-svgo" "8.1.0" + camelcase "^6.2.0" + chalk "^4.1.2" + commander "^9.4.1" + dashify "^2.0.0" + glob "^8.0.3" + snake-case "^3.0.4" + +"@svgr/core@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/core/-/core-8.1.0.tgz#41146f9b40b1a10beaf5cc4f361a16a3c1885e88" + integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA== + dependencies: + "@babel/core" "^7.21.3" + "@svgr/babel-preset" "8.1.0" + camelcase "^6.2.0" + cosmiconfig "^8.1.3" + snake-case "^3.0.4" + +"@svgr/hast-util-to-babel-ast@8.0.0": + version "8.0.0" + resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-8.0.0.tgz#6952fd9ce0f470e1aded293b792a2705faf4ffd4" + integrity sha512-EbDKwO9GpfWP4jN9sGdYwPBU0kdomaPIL2Eu4YwmgP+sJeXT+L7bMwJUBnhzfH8Q2qMBqZ4fJwpCyYsAN3mt2Q== + dependencies: + "@babel/types" "^7.21.3" + entities "^4.4.0" + +"@svgr/plugin-jsx@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-8.1.0.tgz#96969f04a24b58b174ee4cd974c60475acbd6928" + integrity sha512-0xiIyBsLlr8quN+WyuxooNW9RJ0Dpr8uOnH/xrCVO8GLUcwHISwj1AG0k+LFzteTkAA0GbX0kj9q6Dk70PTiPA== + dependencies: + "@babel/core" "^7.21.3" + "@svgr/babel-preset" "8.1.0" + "@svgr/hast-util-to-babel-ast" "8.0.0" + svg-parser "^2.0.4" + +"@svgr/plugin-prettier@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/plugin-prettier/-/plugin-prettier-8.1.0.tgz#71bf0d0b0ae4c2234a2deb0e5bad21c2cfe31364" + integrity sha512-o4/uFI8G64tAjBZ4E7gJfH+VP7Qi3T0+M4WnIsP91iFnGPqs5WvPDkpZALXPiyWEtzfYs1Rmwy1Zdfu8qoZuKw== + dependencies: + deepmerge "^4.3.1" + prettier "^2.8.7" + +"@svgr/plugin-svgo@8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-8.1.0.tgz#b115b7b967b564f89ac58feae89b88c3decd0f00" + integrity sha512-Ywtl837OGO9pTLIN/onoWLmDQ4zFUycI1g76vuKGEz6evR/ZTJlJuz3G/fIkb6OVBJ2g0o6CGJzaEjfmEo3AHA== + dependencies: + cosmiconfig "^8.1.3" + deepmerge "^4.3.1" + svgo "^3.0.2" + +"@swc/core-darwin-arm64@1.3.99": + version "1.3.99" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.99.tgz#def204349ac645b8de21a800fa784907642a6c91" + integrity sha512-Qj7Jct68q3ZKeuJrjPx7k8SxzWN6PqLh+VFxzA+KwLDpQDPzOlKRZwkIMzuFjLhITO4RHgSnXoDk/Syz0ZeN+Q== + +"@swc/core-darwin-x64@1.3.99": + version "1.3.99" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.3.99.tgz#2633f1ac1668ec569f34f86eb5250d56fcacd952" + integrity sha512-wR7m9QVJjgiBu1PSOHy7s66uJPa45Kf9bZExXUL+JAa9OQxt5y+XVzr+n+F045VXQOwdGWplgPnWjgbUUHEVyw== + +"@swc/core-linux-arm64-gnu@1.3.99": + version "1.3.99" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.99.tgz#871c2f049a3a5d88bcc7317ac004230517a08ba4" + integrity sha512-gcGv1l5t0DScEONmw5OhdVmEI/o49HCe9Ik38zzH0NtDkc+PDYaCcXU5rvfZP2qJFaAAr8cua8iJcOunOSLmnA== + +"@swc/core-linux-arm64-musl@1.3.99": + version "1.3.99" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.99.tgz#28ed1622e92bc13aab4b650f2af695af8695289b" + integrity sha512-XL1/eUsTO8BiKsWq9i3iWh7H99iPO61+9HYiWVKhSavknfj4Plbn+XyajDpxsauln5o8t+BRGitymtnAWJM4UQ== + +"@swc/core-linux-x64-gnu@1.3.99": + version "1.3.99" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.99.tgz#8e07add9cc8b76d542959e3240340effa6c6e446" + integrity sha512-fGrXYE6DbTfGNIGQmBefYxSk3rp/1lgbD0nVg4rl4mfFRQPi7CgGhrrqSuqZ/ezXInUIgoCyvYGWFSwjLXt/Qg== + +"@swc/core-linux-x64-musl@1.3.99": + version "1.3.99" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.99.tgz#677eb82d6862605cb0a81ec5b732bef2a9861b16" + integrity sha512-kvgZp/mqf3IJ806gUOL6gN6VU15+DfzM1Zv4Udn8GqgXiUAvbQehrtruid4Snn5pZTLj4PEpSCBbxgxK1jbssA== + +"@swc/core-win32-arm64-msvc@1.3.99": + version "1.3.99" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.99.tgz#6c9bf96dd4cb81b5960884906766dc47a49efb0d" + integrity sha512-yt8RtZ4W/QgFF+JUemOUQAkVW58cCST7mbfKFZ1v16w3pl3NcWd9OrtppFIXpbjU1rrUX2zp2R7HZZzZ2Zk/aQ== + +"@swc/core-win32-ia32-msvc@1.3.99": + version "1.3.99" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.99.tgz#6940a602b65137eee30f09ced7cd9fcb6e162b88" + integrity sha512-62p5fWnOJR/rlbmbUIpQEVRconICy5KDScWVuJg1v3GPLBrmacjphyHiJC1mp6dYvvoEWCk/77c/jcQwlXrDXw== + +"@swc/core-win32-x64-msvc@1.3.99": + version "1.3.99" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.99.tgz#7fcdfe6577f015604f7e69f71dda99822e946385" + integrity sha512-PdppWhkoS45VGdMBxvClVgF1hVjqamtvYd82Gab1i4IV45OSym2KinoDCKE1b6j3LwBLOn2J9fvChGSgGfDCHQ== + +"@swc/core@^1.3.36", "@swc/core@^1.3.82": + version "1.3.99" + resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.3.99.tgz#24a2ff0aaa1096b31046c8099b043936db0c4ca6" + integrity sha512-8O996RfuPC4ieb4zbYMfbyCU9k4gSOpyCNnr7qBQ+o7IEmh8JCV6B8wwu+fT/Om/6Lp34KJe1IpJ/24axKS6TQ== + dependencies: + "@swc/counter" "^0.1.1" + "@swc/types" "^0.1.5" + optionalDependencies: + "@swc/core-darwin-arm64" "1.3.99" + "@swc/core-darwin-x64" "1.3.99" + "@swc/core-linux-arm64-gnu" "1.3.99" + "@swc/core-linux-arm64-musl" "1.3.99" + "@swc/core-linux-x64-gnu" "1.3.99" + "@swc/core-linux-x64-musl" "1.3.99" + "@swc/core-win32-arm64-msvc" "1.3.99" + "@swc/core-win32-ia32-msvc" "1.3.99" + "@swc/core-win32-x64-msvc" "1.3.99" + +"@swc/counter@^0.1.1": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@swc/counter/-/counter-0.1.2.tgz#bf06d0770e47c6f1102270b744e17b934586985e" + integrity sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw== -"@swc/helpers@^0.4.12": - version "0.4.14" - resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.4.14.tgz#1352ac6d95e3617ccb7c1498ff019654f1e12a74" - integrity sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw== +"@swc/helpers@^0.5.0": + version "0.5.3" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.3.tgz#98c6da1e196f5f08f977658b80d6bd941b5f294f" + integrity sha512-FaruWX6KdudYloq1AHD/4nU+UsMTdNE8CKyrseXWEcgjDAbvkwJg2QGPAnfIJLIWsjZOSPLOAykK6fuYp4vp4A== dependencies: tslib "^2.4.0" +"@swc/types@^0.1.5": + version "0.1.5" + resolved "https://registry.yarnpkg.com/@swc/types/-/types-0.1.5.tgz#043b731d4f56a79b4897a3de1af35e75d56bc63a" + integrity sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw== + "@szmarczak/http-timer@^4.0.5": version "4.0.6" resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807" @@ -5298,11 +6425,118 @@ dependencies: defer-to-connect "^2.0.0" +"@terra-money/terra.js@^3.1.7": + version "3.1.10" + resolved "https://registry.yarnpkg.com/@terra-money/terra.js/-/terra.js-3.1.10.tgz#5707c8da2b8735d1b2a43fee0b1bf0da51c5a8f8" + integrity sha512-MqR16LjTUyVD4HnEavP1iBW0c1roCoRHH/E1x9P44pXzgtv2wsMeP+2un4Bnck4Nkv/46Xvy/BSKiY90ll3BKA== + dependencies: + "@classic-terra/terra.proto" "^1.1.0" + "@terra-money/terra.proto" "^2.1.0" + axios "^0.27.2" + bech32 "^2.0.0" + bip32 "^2.0.6" + bip39 "^3.0.3" + bufferutil "^4.0.3" + decimal.js "^10.2.1" + jscrypto "^1.0.1" + readable-stream "^3.6.0" + secp256k1 "^4.0.2" + tmp "^0.2.1" + utf-8-validate "^5.0.5" + ws "^7.5.9" + +"@terra-money/terra.proto@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@terra-money/terra.proto/-/terra.proto-2.1.0.tgz#5a2ed85fc8146a346d6095adfc5d205b6fb6d387" + integrity sha512-rhaMslv3Rkr+QsTQEZs64FKA4QlfO0DfQHaR6yct/EovenMkibDEQ63dEL6yJA6LCaEQGYhyVB9JO9pTUA8ybw== + dependencies: + "@improbable-eng/grpc-web" "^0.14.1" + google-protobuf "^3.17.3" + long "^4.0.0" + protobufjs "~6.11.2" + +"@terra-money/wallet-controller@^3.11.2": + version "3.11.2" + resolved "https://registry.yarnpkg.com/@terra-money/wallet-controller/-/wallet-controller-3.11.2.tgz#6541f897790a4091b11154a57fa7c61e2df8a3b6" + integrity sha512-tnjBjXZoqL9Ar8LW0K5A3QRrZfO6Rt58sU2RsVWXSWtYiqpycHr0Px6ugfVGVkOgqhgawtNwoiO64kq2oOiXrA== + dependencies: + "@terra-money/wallet-types" "^3.11.2" + "@terra-money/web-extension-interface" "^3.11.2" + "@walletconnect/core" "^1.6.6" + "@walletconnect/iso-crypto" "^1.6.6" + "@walletconnect/types" "^1.6.6" + "@walletconnect/utils" "^1.6.6" + bowser "^2.11.0" + fast-deep-equal "^3.1.3" + jscrypto "^1.0.0" + mobile-detect "^1.4.5" + qrcode "^1.5.0" + rxjs "^7.0.0" + secp256k1 "^4.0.0" + ws "^7.5.5" + +"@terra-money/wallet-types@^3.11.2": + version "3.11.2" + resolved "https://registry.yarnpkg.com/@terra-money/wallet-types/-/wallet-types-3.11.2.tgz#5be7016abcd249b4839b1aadb837a6aa043dfaf2" + integrity sha512-vIHCqL4gtiAlvhnxDSnh6bTXIIZGNOIEfH/lWEgwCHXp4cGh0MeZixcnd4UvpW2ynirwtWkppAz9N4qX9zTtAA== + +"@terra-money/web-extension-interface@^3.11.2": + version "3.11.2" + resolved "https://registry.yarnpkg.com/@terra-money/web-extension-interface/-/web-extension-interface-3.11.2.tgz#7a3379238013dbb71adec4efc6051e1715f71e97" + integrity sha512-nnmhTbBkoTQ+XFmQ/0hPDnCCp/0x2EsZvTp/Md6KVGBWtWQg0gHCTwZVC8G5q48mD1WSS9ocRw3wBFSiVRPKoA== + dependencies: + rxjs "^7.0.0" + +"@tonconnect/isomorphic-eventsource@^0.0.1": + version "0.0.1" + resolved "https://registry.yarnpkg.com/@tonconnect/isomorphic-eventsource/-/isomorphic-eventsource-0.0.1.tgz#199e5a86c31dad706b79826f65879e0d77d3dd51" + integrity sha512-ODk48pMlqLSOvu3fM0R1sdlz/Cv2y4hSfwtXmLq9ky9+H7ZQfw/16ElpIJ69B4lUvHycxrueNgrRtF9PJHoGMw== + dependencies: + eventsource "^2.0.2" + +"@tonconnect/isomorphic-fetch@^0.0.2": + version "0.0.2" + resolved "https://registry.yarnpkg.com/@tonconnect/isomorphic-fetch/-/isomorphic-fetch-0.0.2.tgz#c09ff05a409ec89262c369d4bf27305820cdaa33" + integrity sha512-DAyA4oL7MqbBo9k8+8E+YiWsGCYi6UMhDTcsZjhgzhESkBNG6b+NBkpb1KH4oi0xDZQoknFtY9XogJLuQtSMQQ== + dependencies: + node-fetch "^2.6.9" + +"@tonconnect/protocol@^2.2.5": + version "2.2.6" + resolved "https://registry.yarnpkg.com/@tonconnect/protocol/-/protocol-2.2.6.tgz#24b3fbcde6003e65fb5840a190072db5378699db" + integrity sha512-kyoDz5EqgsycYP+A+JbVsAUYHNT059BCrK+m0pqxykMODwpziuSAXfwAZmHcg8v7NB9VKYbdFY55xKeXOuEd0w== + dependencies: + tweetnacl "^1.0.3" + tweetnacl-util "^0.15.1" + +"@tonconnect/sdk@^2.1.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@tonconnect/sdk/-/sdk-2.2.0.tgz#8b0432102a4634ed3a1d2de1f44e1e03e4059591" + integrity sha512-8plnAXzaLhapUnt47ZqAOQSIQ8NHSvgTSR74QVJdPWqg8128smgGM4cDYewKdBfTD6Lup0odT1WMMrJu+rE4NQ== + dependencies: + "@tonconnect/isomorphic-eventsource" "^0.0.1" + "@tonconnect/isomorphic-fetch" "^0.0.2" + "@tonconnect/protocol" "^2.2.5" + "@tootallnate/once@1": version "1.1.2" resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== +"@trufflesuite/bigint-buffer@1.1.10": + version "1.1.10" + resolved "https://registry.yarnpkg.com/@trufflesuite/bigint-buffer/-/bigint-buffer-1.1.10.tgz#a1d9ca22d3cad1a138b78baaf15543637a3e1692" + integrity sha512-pYIQC5EcMmID74t26GCC67946mgTJFiLXOT/BYozgrd4UEY2JHEGLhWi9cMiQCt5BSqFEvKkCHNnoj82SRjiEw== + dependencies: + node-gyp-build "4.4.0" + +"@trufflesuite/bigint-buffer@1.1.9": + version "1.1.9" + resolved "https://registry.yarnpkg.com/@trufflesuite/bigint-buffer/-/bigint-buffer-1.1.9.tgz#e2604d76e1e4747b74376d68f1312f9944d0d75d" + integrity sha512-bdM5cEGCOhDSwminryHJbRmXc1x7dPKg6Pqns3qyTwFlxsqUgxE29lsERS3PlIW1HTjoIGMUqsk1zQQwST1Yxw== + dependencies: + node-gyp-build "4.3.0" + "@trysound/sax@0.2.0": version "0.2.0" resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" @@ -5334,9 +6568,22 @@ integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== "@tsconfig/node16@^1.0.2": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e" - integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== + version "1.0.4" + resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== + +"@typechain/ethers-v5@^10.0.0": + version "10.2.1" + resolved "https://registry.yarnpkg.com/@typechain/ethers-v5/-/ethers-v5-10.2.1.tgz#50241e6957683281ecfa03fb5a6724d8a3ce2391" + integrity sha512-n3tQmCZjRE6IU4h6lqUGiQ1j866n5MTCBJreNEHHVWXa2u9GJTaeYyU1/k+1qLutkyw+sS6VAN+AbeiTqsxd/A== + dependencies: + lodash "^4.17.15" + ts-essentials "^7.0.1" + +"@types/abstract-leveldown@*": + version "7.2.5" + resolved "https://registry.yarnpkg.com/@types/abstract-leveldown/-/abstract-leveldown-7.2.5.tgz#db2cf364c159fb1f12be6cd3549f56387eaf8d73" + integrity sha512-/2B0nQF4UdupuxeKTJA2+Rj1D+uDemo6P4kMwKCpbfpnzeVaWSELTsAw4Lxn3VJD6APtRrZOCuYo+4nHUQfTfg== "@types/acorn@^4.0.0": version "4.0.6" @@ -5345,10 +6592,10 @@ dependencies: "@types/estree" "*" -"@types/babel__core@^7.1.7": - version "7.20.0" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.0.tgz#61bc5a4cae505ce98e1e36c5445e4bee060d8891" - integrity sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ== +"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" + integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== dependencies: "@babel/parser" "^7.20.7" "@babel/types" "^7.20.7" @@ -5357,51 +6604,47 @@ "@types/babel__traverse" "*" "@types/babel__generator@*": - version "7.6.4" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" - integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== + version "7.6.7" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.7.tgz#a7aebf15c7bc0eb9abd638bdb5c0b8700399c9d0" + integrity sha512-6Sfsq+EaaLrw4RmdFWE9Onp63TOUue71AWb4Gpa6JxzgTYtimbM086WnYTy2U67AofR++QKCo08ZP6pwx8YFHQ== dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" - integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== + version "7.4.4" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" + integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.18.3" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.3.tgz#dfc508a85781e5698d5b33443416b6268c4b3e8d" - integrity sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w== + version "7.20.4" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.4.tgz#ec2c06fed6549df8bc0eb4615b683749a4a92e1b" + integrity sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA== dependencies: - "@babel/types" "^7.3.0" + "@babel/types" "^7.20.7" -"@types/bech32@^1.1.2": - version "1.1.4" - resolved "https://registry.yarnpkg.com/@types/bech32/-/bech32-1.1.4.tgz#501590d41c81a5f1802e39d6be450e89ec6d75d6" - integrity sha512-LWSo7sw6NFc9u7HpMK6aPRa7lNw3NKYAEEQCvdFFLkMCgwzv+0/CySQeqdL9hUIsirThQJ4u6ax/0uKEN63Z2g== +"@types/bn.js@^4.11.3": + version "4.11.6" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" + integrity sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg== dependencies: - bech32 "*" - -"@types/big.js@^4.0.5": - version "4.0.5" - resolved "https://registry.yarnpkg.com/@types/big.js/-/big.js-4.0.5.tgz#62c61697646269e39191f24e55e8272f05f21fc0" - integrity sha512-D9KFrAt05FDSqLo7PU9TDHfDgkarlwdkuwFsg7Zm4xl62tTNaz+zN+Tkcdx2wGLBbSMf8BnoMhOVeUGUaJfLKg== + "@types/node" "*" -"@types/bn.js@*": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.1.tgz#b51e1b55920a4ca26e9285ff79936bbdec910682" - integrity sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g== +"@types/bn.js@^5.1.0": + version "5.1.5" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.5.tgz#2e0dacdcce2c0f16b905d20ff87aedbc6f7b4bf0" + integrity sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A== dependencies: "@types/node" "*" -"@types/bn.js@^4.11.6": - version "4.11.6" - resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" - integrity sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg== +"@types/body-parser@*": + version "1.19.5" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.5.tgz#04ce9a3b677dc8bd681a17da1ab9835dc9d3ede4" + integrity sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg== dependencies: + "@types/connect" "*" "@types/node" "*" "@types/cacheable-request@^6.0.1": @@ -5414,10 +6657,22 @@ "@types/node" "*" "@types/responselike" "^1.0.0" -"@types/connect@^3.4.33": - version "3.4.35" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" - integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== +"@types/chai-subset@^1.3.3": + version "1.3.5" + resolved "https://registry.yarnpkg.com/@types/chai-subset/-/chai-subset-1.3.5.tgz#3fc044451f26985f45625230a7f22284808b0a9a" + integrity sha512-c2mPnw+xHtXDoHmdtcCXGwyLMiauiAyxWMzhGpqHC4nqI/Y5G2XhTampslK2rb59kpcuHon03UH8W6iYUzw88A== + dependencies: + "@types/chai" "*" + +"@types/chai@*", "@types/chai@^4.3.5": + version "4.3.11" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.11.tgz#e95050bf79a932cb7305dd130254ccdf9bde671c" + integrity sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ== + +"@types/connect@*", "@types/connect@^3.4.33": + version "3.4.38" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858" + integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== dependencies: "@types/node" "*" @@ -5426,36 +6681,49 @@ resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d" integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q== -"@types/crypto-js@^3.1.43": - version "3.1.47" - resolved "https://registry.yarnpkg.com/@types/crypto-js/-/crypto-js-3.1.47.tgz#36e549dd3f1322742a3a738e7c113ebe48221860" - integrity sha512-eI6gvpcGHLk3dAuHYnRCAjX+41gMv1nz/VP55wAe5HtmAKDOoPSfr3f6vkMc08ov1S0NsjvUBxDtHHxqQY1LGA== +"@types/cross-spawn@^6.0.2": + version "6.0.6" + resolved "https://registry.yarnpkg.com/@types/cross-spawn/-/cross-spawn-6.0.6.tgz#0163d0b79a6f85409e0decb8dcca17147f81fd22" + integrity sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA== + dependencies: + "@types/node" "*" "@types/debug@^4.0.0": - version "4.1.7" - resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.7.tgz#7cc0ea761509124709b8b2d1090d8f6c17aadb82" - integrity sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg== + version "4.1.12" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.12.tgz#a155f21690871953410df4b6b6f53187f0500917" + integrity sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ== dependencies: "@types/ms" "*" -"@types/duplexify@*": - version "3.6.1" - resolved "https://registry.yarnpkg.com/@types/duplexify/-/duplexify-3.6.1.tgz#5685721cf7dc4a21b6f0e8a8efbec6b4d2fbafad" - integrity sha512-n0zoEj/fMdMOvqbHxmqnza/kXyoGgJmEpsXjpP+gEqE1Ye4yNqc7xWipKnUoMpWhMuzJQSfK2gMrwlElly7OGQ== - dependencies: - "@types/node" "*" +"@types/detect-port@^1.3.0": + version "1.3.5" + resolved "https://registry.yarnpkg.com/@types/detect-port/-/detect-port-1.3.5.tgz#deecde143245989dee0e82115f3caba5ee0ea747" + integrity sha512-Rf3/lB9WkDfIL9eEKaSYKc+1L/rNVYBjThk22JTqQw0YozXarX8YljFAz+HCoC6h4B4KwCMsBPZHaFezwT4BNA== -"@types/elliptic@^6.4.12": - version "6.4.14" - resolved "https://registry.yarnpkg.com/@types/elliptic/-/elliptic-6.4.14.tgz#7bbaad60567a588c1f08b10893453e6b9b4de48e" - integrity sha512-z4OBcDAU0GVwDTuwJzQCiL6188QvZMkvoERgcVjq0/mPM8jCfdwZ3x5zQEVoL9WCAru3aG5wl3Z5Ww5wBWn7ZQ== - dependencies: - "@types/bn.js" "*" +"@types/doctrine@^0.0.3": + version "0.0.3" + resolved "https://registry.yarnpkg.com/@types/doctrine/-/doctrine-0.0.3.tgz#e892d293c92c9c1d3f9af72c15a554fbc7e0895a" + integrity sha512-w5jZ0ee+HaPOaX25X2/2oGR/7rgAQSYII7X7pp0m9KgBfMP7uKfMfTvcpl5Dj+eDBbpxKGiqE+flqDr6XTd2RA== + +"@types/ejs@^3.1.1": + version "3.1.5" + resolved "https://registry.yarnpkg.com/@types/ejs/-/ejs-3.1.5.tgz#49d738257cc73bafe45c13cb8ff240683b4d5117" + integrity sha512-nv+GSx77ZtXiJzwKdsASqi+YQ5Z7vwHsTP0JY2SiQgjGckkBRKZnk8nIM+7oUZ1VCtuTz0+By4qVR7fqzp/Dfg== + +"@types/emscripten@^1.39.6": + version "1.39.10" + resolved "https://registry.yarnpkg.com/@types/emscripten/-/emscripten-1.39.10.tgz#da6e58a6171b46a41d3694f812d845d515c77e18" + integrity sha512-TB/6hBkYQJxsZHSqyeuO1Jt0AB/bW6G7rHt9g7lML7SOF6lbgcHvw/Lr+69iqN0qxgXLhWKScAon73JNnptuDw== + +"@types/escodegen@^0.0.6": + version "0.0.6" + resolved "https://registry.yarnpkg.com/@types/escodegen/-/escodegen-0.0.6.tgz#5230a9ce796e042cda6f086dbf19f22ea330659c" + integrity sha512-AjwI4MvWx3HAOaZqYsjKWyEObT9lcVV0Y0V8nXo6cXzN8ZiMxVhf6F3d/UNvXVGKrEzL/Dluc5p+y9GkzlTWig== "@types/eslint-scope@^3.7.3": - version "3.7.4" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16" - integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA== + version "3.7.7" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz#3108bd5f18b0cdb277c867b3dd449c9ed7079ac5" + integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== dependencies: "@types/eslint" "*" "@types/estree" "*" @@ -5466,9 +6734,9 @@ integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== "@types/eslint@*": - version "8.37.0" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.37.0.tgz#29cebc6c2a3ac7fea7113207bf5a828fdf4d7ef1" - integrity sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ== + version "8.44.7" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.44.7.tgz#430b3cc96db70c81f405e6a08aebdb13869198f5" + integrity sha512-f5ORu2hcBbKei97U73mf+l9t4zTGl74IqZ0GQk4oVea/VS8tQZYkUveSYojk+frraAVYId0V2WC9O4PTNru2FQ== dependencies: "@types/estree" "*" "@types/json-schema" "*" @@ -5481,16 +6749,16 @@ "@types/estree" "*" "@types/estree-jsx@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/estree-jsx/-/estree-jsx-1.0.0.tgz#7bfc979ab9f692b492017df42520f7f765e98df1" - integrity sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ== + version "1.0.3" + resolved "https://registry.yarnpkg.com/@types/estree-jsx/-/estree-jsx-1.0.3.tgz#f8aa833ec986d82b8271a294a92ed1565bf2c66a" + integrity sha512-pvQ+TKeRHeiUGRhvYwRrQ/ISnohKkSJR14fT2yqyZ4e9K5vqc7hrtY2Y1Dw0ZwAzQ6DQsxsaCUuSIIi8v0Cq6w== dependencies: "@types/estree" "*" "@types/estree@*", "@types/estree@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" - integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== "@types/estree@0.0.39": version "0.0.39" @@ -5502,13 +6770,30 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== -"@types/glob@*": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-8.1.0.tgz#b63e70155391b0584dce44e7ea25190bbc38f2fc" - integrity sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w== +"@types/express-serve-static-core@^4.17.33": + version "4.17.41" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.41.tgz#5077defa630c2e8d28aa9ffc2c01c157c305bef6" + integrity sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA== dependencies: - "@types/minimatch" "^5.1.2" "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + "@types/send" "*" + +"@types/express@^4.7.0": + version "4.17.21" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d" + integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.33" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/find-cache-dir@^3.2.1": + version "3.2.1" + resolved "https://registry.yarnpkg.com/@types/find-cache-dir/-/find-cache-dir-3.2.1.tgz#7b959a4b9643a1e6a1a5fe49032693cc36773501" + integrity sha512-frsJrz2t/CeGifcu/6uRo4b+SzAwT4NYCVPu1GN8IB9XTzrpPkGuV0tmh9mN+/L0PklAlsC3u5Fxt0ju00LXIw== "@types/glob@^7.1.1": version "7.2.0" @@ -5518,44 +6803,49 @@ "@types/minimatch" "*" "@types/node" "*" -"@types/graceful-fs@^4.1.2": - version "4.1.6" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.6.tgz#e14b2576a1c25026b7f02ede1de3b84c3a1efeae" - integrity sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw== +"@types/graceful-fs@^4.1.2", "@types/graceful-fs@^4.1.3": + version "4.1.9" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" + integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== dependencies: "@types/node" "*" "@types/hast@^2.0.0": - version "2.3.4" - resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.4.tgz#8aa5ef92c117d20d974a82bdfb6a648b08c0bafc" - integrity sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g== + version "2.3.8" + resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.8.tgz#4ac5caf38b262b7bd5ca3202dda71f0271635660" + integrity sha512-aMIqAlFd2wTIDZuvLbhUT+TGvMxrNC8ECUIVtH6xxy0sQLs3iu6NO8Kp/VT5je7i5ufnebXzdV1dNDMnvaH6IQ== dependencies: - "@types/unist" "*" + "@types/unist" "^2" -"@types/html-minifier-terser@^5.0.0": - version "5.1.2" - resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz#693b316ad323ea97eed6b38ed1a3cc02b1672b57" - integrity sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w== +"@types/html-minifier-terser@^6.0.0": + version "6.1.0" + resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35" + integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== "@types/http-cache-semantics@*": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812" - integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ== + version "4.0.4" + resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz#b979ebad3919799c979b17c72621c0bc0a31c6c4" + integrity sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA== + +"@types/http-errors@*": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-2.0.4.tgz#7eb47726c391b7345a6ec35ad7f4de469cf5ba4f" + integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== "@types/is-function@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/is-function/-/is-function-1.0.1.tgz#2d024eace950c836d9e3335a66b97960ae41d022" - integrity sha512-A79HEEiwXTFtfY+Bcbo58M2GRYzCr9itHWzbzHVFNEYCcoU/MMGwYYf721gBrnhpj1s6RGVVha/IgNFnR0Iw/Q== + version "1.0.3" + resolved "https://registry.yarnpkg.com/@types/is-function/-/is-function-1.0.3.tgz#548f851db5d30a12abeea2569ba75890dbf89425" + integrity sha512-/CLhCW79JUeLKznI6mbVieGbl4QU5Hfn+6udw1YHZoofASjbQ5zaP5LzAUZYDpRYEjS4/P+DhEgyJ/PQmGGTWw== "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" - integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== + version "2.0.6" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" + integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== "@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" + integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== dependencies: "@types/istanbul-lib-coverage" "*" @@ -5568,13 +6858,13 @@ "@types/istanbul-lib-report" "*" "@types/istanbul-reports@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" - integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" + integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== dependencies: "@types/istanbul-lib-report" "*" -"@types/jest@^25.1.4", "@types/jest@^25.2.1": +"@types/jest@^25.2.1": version "25.2.3" resolved "https://registry.yarnpkg.com/@types/jest/-/jest-25.2.3.tgz#33d27e4c4716caae4eced355097a47ad363fdcaf" integrity sha512-JXc1nK/tXHiDhV55dvfzqtmP4S3sy3T3ouV2tkViZgxY/zeUkcpQcQPGRlgF4KmWzWW5oiWYSZwtCB+2RsE4Fw== @@ -5582,10 +6872,10 @@ jest-diff "^25.2.1" pretty-format "^25.2.1" -"@types/json-schema@*", "@types/json-schema@^7.0.3", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - version "7.0.11" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== +"@types/json-schema@*", "@types/json-schema@^7.0.3", "@types/json-schema@^7.0.6", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": + version "7.0.15" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== "@types/json5@^0.0.29": version "0.0.29" @@ -5599,68 +6889,114 @@ dependencies: "@types/node" "*" -"@types/ledgerhq__hw-transport@^4.21.2": - version "4.21.4" - resolved "https://registry.yarnpkg.com/@types/ledgerhq__hw-transport/-/ledgerhq__hw-transport-4.21.4.tgz#3a78a02d2b51d2b0dd8099412d5567d21118225c" - integrity sha512-vep+6yZnGv6owAthIY0w3f72w4dJIb4+yE5PCHveInTlZE9wukvU6Wc5Eig0OUUxcdhTazzeZx1xUaNVLqyQSg== +"@types/level-errors@*": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/level-errors/-/level-errors-3.0.2.tgz#f33ec813c50780b547463da9ad8acac89ee457d9" + integrity sha512-gyZHbcQ2X5hNXf/9KS2qGEmgDe9EN2WDM3rJ5Ele467C0nA1sLhtmv1bZiPMDYfAYCfPWft0uQIaTvXbASSTRA== + +"@types/levelup@^4.3.0": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@types/levelup/-/levelup-4.3.3.tgz#4dc2b77db079b1cf855562ad52321aa4241b8ef4" + integrity sha512-K+OTIjJcZHVlZQN1HmU64VtrC0jC3dXWQozuEIR9zVvltIk90zaGPM2AgT+fIkChpzHhFE3YnvFLCbLtzAmexA== dependencies: + "@types/abstract-leveldown" "*" + "@types/level-errors" "*" "@types/node" "*" -"@types/lodash@^4.14.149", "@types/lodash@^4.14.167": - version "4.14.192" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.192.tgz#5790406361a2852d332d41635d927f1600811285" - integrity sha512-km+Vyn3BYm5ytMO13k9KTp27O75rbQ0NFw+U//g+PX7VZyjCioXaRFisqSIJRECljcTv73G3i6BpglNGHgUQ5A== +"@types/lodash@^4.14.167": + version "4.14.202" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.202.tgz#f09dbd2fb082d507178b2f2a5c7e74bd72ff98f8" + integrity sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ== "@types/long@^4.0.1": version "4.0.2" resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a" integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== +"@types/lru-cache@5.1.1": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@types/lru-cache/-/lru-cache-5.1.1.tgz#c48c2e27b65d2a153b19bfc1a317e30872e01eef" + integrity sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw== + "@types/mdast@^3.0.0": - version "3.0.11" - resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.11.tgz#dc130f7e7d9306124286f6d6cee40cf4d14a3dc0" - integrity sha512-Y/uImid8aAwrEA24/1tcRZwpxX3pIFTSilcNDKSPn+Y2iDywSEachzRuvgAYYLR3wpGXAsMbv5lvKLDZLeYPAw== + version "3.0.15" + resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.15.tgz#49c524a263f30ffa28b71ae282f813ed000ab9f5" + integrity sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ== dependencies: - "@types/unist" "*" + "@types/unist" "^2" "@types/mdurl@^1.0.0": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@types/mdurl/-/mdurl-1.0.2.tgz#e2ce9d83a613bacf284c7be7d491945e39e1f8e9" - integrity sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA== + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/mdurl/-/mdurl-1.0.5.tgz#3e0d2db570e9fb6ccb2dc8fde0be1d79ac810d39" + integrity sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA== + +"@types/mdx@^2.0.0": + version "2.0.10" + resolved "https://registry.yarnpkg.com/@types/mdx/-/mdx-2.0.10.tgz#0d7b57fb1d83e27656156e4ee0dfba96532930e4" + integrity sha512-Rllzc5KHk0Al5/WANwgSPl1/CwjqCy+AZrGd78zuK+jO9aDM6ffblZ+zIjgPNAaEBmlO0RYDvLNh7wD0zKVgEg== + +"@types/mime-types@^2.1.0": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@types/mime-types/-/mime-types-2.1.4.tgz#93a1933e24fed4fb9e4adc5963a63efcbb3317a2" + integrity sha512-lfU4b34HOri+kAY5UheuFMWPDOI+OPceBSHZKp69gEyTL/mmJ4cnU6Y/rlme3UL3GyOn6Y42hyIEw0/q8sWx5w== + +"@types/mime@*": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.4.tgz#2198ac274de6017b44d941e00261d5bc6a0e0a45" + integrity sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw== -"@types/minimatch@*", "@types/minimatch@^5.1.2": +"@types/mime@^1": + version "1.3.5" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690" + integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== + +"@types/minimatch@*": version "5.1.2" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== "@types/minimist@^1.2.0": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" - integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== + version "1.2.5" + resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.5.tgz#ec10755e871497bcd83efe927e43ec46e8c0747e" + integrity sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag== + +"@types/mkdirp@^0.5.2": + version "0.5.2" + resolved "https://registry.yarnpkg.com/@types/mkdirp/-/mkdirp-0.5.2.tgz#503aacfe5cc2703d5484326b1b27efa67a339c1f" + integrity sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg== + dependencies: + "@types/node" "*" "@types/ms@*": - version "0.7.31" - resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" - integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== + version "0.7.34" + resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.34.tgz#10964ba0dee6ac4cd462e2795b6bebd407303433" + integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== -"@types/node-fetch@^2.5.7": - version "2.6.3" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.3.tgz#175d977f5e24d93ad0f57602693c435c57ad7e80" - integrity sha512-ETTL1mOEdq/sxUtgtOhKjyB2Irra4cjxksvcMUR5Zr4n+PxVhsCD9WS46oPbHL3et9Zde7CNRr+WUNlcHvsX+w== +"@types/node-fetch@^2.6.1", "@types/node-fetch@^2.6.4": + version "2.6.9" + resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.9.tgz#15f529d247f1ede1824f7e7acdaa192d5f28071e" + integrity sha512-bQVlnMLFJ2d35DkPNjEPmd9ueO/rh5EiaZt2bhqiSarPjZIuIV6bPQVqcrEyvNo+AfTrRGVazle1tl597w3gfA== dependencies: "@types/node" "*" - form-data "^3.0.0" + form-data "^4.0.0" "@types/node@*", "@types/node@>=13.7.0": - version "18.15.11" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.11.tgz#b3b790f09cb1696cffcec605de025b088fa4225f" - integrity sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q== + version "20.10.0" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.10.0.tgz#16ddf9c0a72b832ec4fcce35b8249cf149214617" + integrity sha512-D0WfRmU9TQ8I9PFx9Yc+EBHw+vSpIub4IDvQivcp26PtPrdMGAq5SDcpXEo/epqa/DXotVpekHiLNTg3iaKXBQ== + dependencies: + undici-types "~5.26.4" "@types/node@10.12.18": version "10.12.18" resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.18.tgz#1d3ca764718915584fcd9f6344621b7672665c67" integrity sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ== +"@types/node@11.11.6": + version "11.11.6" + resolved "https://registry.yarnpkg.com/@types/node/-/node-11.11.6.tgz#df929d1bb2eee5afdda598a41930fe50b43eaa6a" + integrity sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ== + "@types/node@14.18.33": version "14.18.33" resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.33.tgz#8c29a0036771569662e4635790ffa9e057db379b" @@ -5671,83 +7007,84 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== -"@types/node@^13.7.0", "@types/node@^13.9.0": +"@types/node@^13.7.0": version "13.13.52" resolved "https://registry.yarnpkg.com/@types/node/-/node-13.13.52.tgz#03c13be70b9031baaed79481c0c0cfb0045e53f7" integrity sha512-s3nugnZumCC//n4moGGe6tkNMyYEdaDBitVjwPxXmR5lnMG5dHePinH2EdxkG3Rh1ghFHHixAG4NJhpJW1rthQ== -"@types/node@^14.0.10 || ^16.0.0", "@types/node@^14.14.20 || ^16.0.0": - version "16.18.23" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.23.tgz#b6e934fe427eb7081d0015aad070acb3373c3c90" - integrity sha512-XAMpaw1s1+6zM+jn2tmw8MyaRDIJfXxqmIQIS0HfoGYPuf7dUWeiUKopwq13KFX9lEp1+THGtlaaYx39Nxr58g== +"@types/node@^18.0.0": + version "18.18.13" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.18.13.tgz#ae0f76c0bfe79d8fad0f910b78ae3e59b333c6e8" + integrity sha512-vXYZGRrSCreZmq1rEjMRLXJhiy8MrIeVasx+PCVlP414N7CJLHnMf+juVvjdprHyH+XRy3zKZLHeNueOpJCn0g== + dependencies: + undici-types "~5.26.4" "@types/normalize-package-data@^2.4.0": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" - integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== - -"@types/npmlog@^4.1.2": - version "4.1.4" - resolved "https://registry.yarnpkg.com/@types/npmlog/-/npmlog-4.1.4.tgz#30eb872153c7ead3e8688c476054ddca004115f6" - integrity sha512-WKG4gTr8przEZBiJ5r3s8ZIAoMXNbOgQ+j/d5O4X3x6kZJRLNvyUJuUK/KoG3+8BaOHPhp2m7WC6JKKeovDSzQ== + version "2.4.4" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" + integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== "@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" + integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== -"@types/parse5@^5.0.0": - version "5.0.3" - resolved "https://registry.yarnpkg.com/@types/parse5/-/parse5-5.0.3.tgz#e7b5aebbac150f8b5fdd4a46e7f0bd8e65e19109" - integrity sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw== +"@types/pbkdf2@^3.0.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.2.tgz#2dc43808e9985a2c69ff02e2d2027bd4fe33e8dc" + integrity sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew== + dependencies: + "@types/node" "*" "@types/prettier@^1.19.0": version "1.19.1" resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-1.19.1.tgz#33509849f8e679e4add158959fdb086440e9553f" integrity sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ== +"@types/prettier@^2.1.1": + version "2.7.3" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.3.tgz#3e51a17e291d01d17d3fc61422015a933af7a08f" + integrity sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== + "@types/pretty-hrtime@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/pretty-hrtime/-/pretty-hrtime-1.0.1.tgz#72a26101dc567b0d68fd956cf42314556e42d601" - integrity sha512-VjID5MJb1eGKthz2qUerWT8+R4b9N+CHvGCzg9fn4kWZgaF9AhdYikQio3R7wV8YY1NsQKPaCwKz1Yff+aHNUQ== + version "1.0.3" + resolved "https://registry.yarnpkg.com/@types/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#ee1bd8c9f7a01b3445786aad0ef23aba5f511a44" + integrity sha512-nj39q0wAIdhwn7DGUyT9irmsKK1tV0bd5WFEhgpqNTMFZ8cE+jieuTphCW0tfdm47S2zVT5mr09B28b1chmQMA== "@types/prop-types@*": - version "15.7.5" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" - integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== + version "15.7.11" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.11.tgz#2596fb352ee96a1379c657734d4b913a613ad563" + integrity sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng== -"@types/pumpify@^1.4.1": - version "1.4.1" - resolved "https://registry.yarnpkg.com/@types/pumpify/-/pumpify-1.4.1.tgz#5a0650f39a3f8f077c7e544d0c5ae2899b28394c" - integrity sha512-l7u/Dnh1OG9T7VH6TvulR0g8oE8hgIW5409mSUKi8Vxw2+JV18aTa06Sv5bvNjrD0zbsB/cuZ/iTFQgFNfzIuw== - dependencies: - "@types/duplexify" "*" - "@types/node" "*" +"@types/qs@*", "@types/qs@^6.9.5": + version "6.9.10" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.10.tgz#0af26845b5067e1c9a622658a51f60a3934d51e8" + integrity sha512-3Gnx08Ns1sEoCrWssEgTSJs/rsT2vhGP+Ja9cnnk9k4ALxinORlQneLXFeFKOTJMOeZUFD1s7w+w2AphTpvzZw== -"@types/qs@^6.9.5": - version "6.9.7" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" - integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== +"@types/range-parser@*": + version "1.2.7" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb" + integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== "@types/reach__router@^1.2.3": - version "1.3.11" - resolved "https://registry.yarnpkg.com/@types/reach__router/-/reach__router-1.3.11.tgz#528af5d73f76b42cf7de5664cdd1b728dee78e31" - integrity sha512-j23ChnIEiW8aAP4KT8OVyTXOFr+Ri65BDnwzmfHFO9WHypXYevHFjeil1Cj7YH3emfCE924BwAmgW4hOv7Wg3g== + version "1.3.14" + resolved "https://registry.yarnpkg.com/@types/reach__router/-/reach__router-1.3.14.tgz#0979270997253ebdf43052a65c5f0419c77774cb" + integrity sha512-2iOQZbwfw1ZYwYK+dRp7D1b8kU6GlFPJ/iEt33zDYxfId5CAKT7vX3lN/XmJ+FaMZ3FyB99tPgfajcmZnTqdtg== dependencies: "@types/react" "*" "@types/react-color@^3.0.6": - version "3.0.6" - resolved "https://registry.yarnpkg.com/@types/react-color/-/react-color-3.0.6.tgz#602fed023802b2424e7cd6ff3594ccd3d5055f9a" - integrity sha512-OzPIO5AyRmLA7PlOyISlgabpYUa3En74LP8mTMa0veCA719SvYQov4WLMsHvCgXP+L+KI9yGhYnqZafVGG0P4w== + version "3.0.10" + resolved "https://registry.yarnpkg.com/@types/react-color/-/react-color-3.0.10.tgz#f869ab3a46938fb97a5c2ee568bc6469f82b14dd" + integrity sha512-6K5BAn3zyd8lW8UbckIAVeXGxR82Za9jyGD2DBEynsa7fKaguLDVtjfypzs7fgEV7bULgs7uhds8A8v1wABTvQ== dependencies: "@types/react" "*" "@types/reactcss" "*" "@types/react-dom@^18.0.10", "@types/react-dom@^18.0.8": - version "18.0.11" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.11.tgz#321351c1459bc9ca3d216aefc8a167beec334e33" - integrity sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw== + version "18.2.17" + resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.17.tgz#375c55fab4ae671bd98448dcfa153268d01d6f64" + integrity sha512-rvrT/M7Df5eykWFxn6MYt5Pem/Dbyc1N8Y0S9Mrkw2WFCRiqUgw9P7ul2NpwsXCSM1DVdENzdG9J5SreqfAIWg== dependencies: "@types/react" "*" @@ -5766,40 +7103,40 @@ "@types/react" "*" "@types/react-virtualized-auto-sizer@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.1.tgz#b3187dae1dfc4c15880c9cfc5b45f2719ea6ebd4" - integrity sha512-GH8sAnBEM5GV9LTeiz56r4ZhMOUSrP43tAQNSRVxNexDjcNKLCEtnxusAItg1owFUFE6k0NslV26gqVClVvong== + version "1.0.3" + resolved "https://registry.yarnpkg.com/@types/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.3.tgz#13f4387c1b0b635b89d403970863b1ff464cd91e" + integrity sha512-xRsQJiM8BuwGiDl77yyFZqq32lLvI4msFtw7nVbw9qh9c2LvchDXezwjEWmysJkXnLZWjHJX9lT8MCPkFy5BfQ== dependencies: "@types/react" "*" "@types/react-window-infinite-loader@^1.0.6": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@types/react-window-infinite-loader/-/react-window-infinite-loader-1.0.6.tgz#d7b23b4afaa1e0e2050876b766c3ea19f748f549" - integrity sha512-V8g8sBDLVeJJAfEENJS7VXZK+DRJ+jzPNtk8jpj2G+obhf+iqGNUDGwNWCbBhLiD+KpHhf3kWQlKBRi0tAeU4Q== + version "1.0.9" + resolved "https://registry.yarnpkg.com/@types/react-window-infinite-loader/-/react-window-infinite-loader-1.0.9.tgz#9b24d4e60f20397ff853c6857f7fe0645becbeb9" + integrity sha512-gEInTjQwURCnDOFyIEK2+fWB5gTjqwx30O62QfxA9stE5aiB6EWkGj4UMhc0axq7/FV++Gs/TGW8FtgEx0S6Tw== dependencies: "@types/react" "*" "@types/react-window" "*" "@types/react-window@*", "@types/react-window@^1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@types/react-window/-/react-window-1.8.5.tgz#285fcc5cea703eef78d90f499e1457e9b5c02fc1" - integrity sha512-V9q3CvhC9Jk9bWBOysPGaWy/Z0lxYcTXLtLipkt2cnRj1JOSFNF7wqGpkScSXMgBwC+fnVRg/7shwgddBG5ICw== + version "1.8.8" + resolved "https://registry.yarnpkg.com/@types/react-window/-/react-window-1.8.8.tgz#c20645414d142364fbe735818e1c1e0a145696e3" + integrity sha512-8Ls660bHR1AUA2kuRvVG9D/4XpRC6wjAaPT9dil7Ckc76eP9TKWZwwmgfq8Q1LANX3QNDnoU4Zp48A3w+zK69Q== dependencies: "@types/react" "*" -"@types/react@*", "@types/react@^18.0.15", "@types/react@^18.0.25", "@types/react@^18.0.26": - version "18.0.33" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.33.tgz#a1575160cb4376787c2f5fe0312302f824baa61e" - integrity sha512-sHxzVxeanvQyQ1lr8NSHaj0kDzcNiGpILEVt69g9S31/7PfMvNCKLKcsHw4lYKjs3cGNJjXSP4mYzX43QlnjNA== +"@types/react@*", "@types/react@>=16", "@types/react@^18.0.15", "@types/react@^18.0.25", "@types/react@^18.0.26": + version "18.2.38" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.38.tgz#3605ca41d3daff2c434e0b98d79a2469d4c2dd52" + integrity sha512-cBBXHzuPtQK6wNthuVMV6IjHAFkdl/FOPFIlkd81/Cd1+IqkHu/A+w4g43kaQQoYHik/ruaQBDL72HyCy1vuMw== dependencies: "@types/prop-types" "*" "@types/scheduler" "*" csstype "^3.0.2" "@types/reactcss@*": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@types/reactcss/-/reactcss-1.2.6.tgz#133c1e7e896f2726370d1d5a26bf06a30a038bcc" - integrity sha512-qaIzpCuXNWomGR1Xq8SCFTtF4v8V27Y6f+b9+bzHiv087MylI/nTCqqdChNeWS7tslgROmYB7yeiruWX7WnqNg== + version "1.2.10" + resolved "https://registry.yarnpkg.com/@types/reactcss/-/reactcss-1.2.10.tgz#89feb81e913ccf68ff599dbabcc823e1b49c4f7c" + integrity sha512-gf5qJ1wOYP8N5q9H8/5c3QZHQzu8ltPClhM0vEWuBu9SGg4KSzgpJd2TShEsQDwsYn+mtnJ1xHUdJyzj/r9WrA== dependencies: "@types/react" "*" @@ -5811,87 +7148,76 @@ "@types/node" "*" "@types/responselike@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" - integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA== + version "1.0.3" + resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.3.tgz#cc29706f0a397cfe6df89debfe4bf5cea159db50" + integrity sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw== dependencies: "@types/node" "*" "@types/scheduler@*": - version "0.16.3" - resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.3.tgz#cef09e3ec9af1d63d2a6cc5b383a737e24e6dcf5" - integrity sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ== + version "0.16.8" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.8.tgz#ce5ace04cfeabe7ef87c0091e50752e36707deff" + integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A== -"@types/source-list-map@*": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" - integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== +"@types/secp256k1@^4.0.1": + version "4.0.6" + resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.6.tgz#d60ba2349a51c2cbc5e816dcd831a42029d376bf" + integrity sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ== + dependencies: + "@types/node" "*" -"@types/stack-utils@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" - integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== +"@types/seedrandom@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/seedrandom/-/seedrandom-3.0.1.tgz#1254750a4fec4aff2ebec088ccd0bb02e91fedb4" + integrity sha512-giB9gzDeiCeloIXDgzFBCgjj1k4WxcDrZtGl6h1IqmUPlxF+Nx8Ve+96QCyDZ/HseB/uvDsKbpib9hU5cU53pw== -"@types/tapable@^1", "@types/tapable@^1.0.5": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.8.tgz#b94a4391c85666c7b73299fd3ad79d4faa435310" - integrity sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ== +"@types/semver@^7.3.12", "@types/semver@^7.3.4": + version "7.5.6" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.6.tgz#c65b2bfce1bec346582c07724e3f8c1017a20339" + integrity sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A== -"@types/tiny-secp256k1@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/tiny-secp256k1/-/tiny-secp256k1-1.0.0.tgz#0c8fde0dfd320c9d089907e37805d67a346ad991" - integrity sha512-IW3dFGNyVkVLC1MCMogVWQaKH/ZtjPQdOW9c3X128o5lVpFYNsq/l3Qo1pV7sfTmvDzWEXR3QTxg1TMy1pyaAQ== +"@types/send@*": + version "0.17.4" + resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.4.tgz#6619cd24e7270793702e4e6a4b958a9010cfc57a" + integrity sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA== dependencies: + "@types/mime" "^1" "@types/node" "*" -"@types/uglify-js@*": - version "3.17.1" - resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.17.1.tgz#e0ffcef756476410e5bce2cb01384ed878a195b5" - integrity sha512-GkewRA4i5oXacU/n4MA9+bLgt5/L3F1mKrYvFGm7r2ouLXhRKjuWwo9XHNnbx6WF3vlGW21S3fCvgqxvxXXc5g== +"@types/serve-static@*": + version "1.15.5" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.5.tgz#15e67500ec40789a1e8c9defc2d32a896f05b033" + integrity sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ== dependencies: - source-map "^0.6.1" + "@types/http-errors" "*" + "@types/mime" "*" + "@types/node" "*" -"@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2", "@types/unist@^2.0.3": - version "2.0.6" - resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d" - integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ== +"@types/stack-utils@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" + integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== + +"@types/stringify-object@^4.0.2": + version "4.0.5" + resolved "https://registry.yarnpkg.com/@types/stringify-object/-/stringify-object-4.0.5.tgz#c66c041c46f66c931a67f8e3569a66b8c92c95ba" + integrity sha512-TzX5V+njkbJ8iJ0mrj+Vqveep/1JBH4SSA3J2wYrE1eUrOhdsjTBCb0kao4EquSQ8KgPpqY4zSVP2vCPWKBElg== -"@types/uuid@^7.0.0": - version "7.0.5" - resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-7.0.5.tgz#b1d2f772142a301538fae9bdf9cf15b9f2573a29" - integrity sha512-hKB88y3YHL8oPOs/CNlaXtjWn93+Bs48sDQR37ZUqG2tLeCS7EA1cmnkKsuQsub9OKEB/y/Rw9zqJqqNSbqVlQ== +"@types/trusted-types@^2.0.2": + version "2.0.7" + resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.7.tgz#baccb07a970b91707df3a3e8ba6896c57ead2d11" + integrity sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw== + +"@types/unist@^2", "@types/unist@^2.0.0": + version "2.0.10" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.10.tgz#04ffa7f406ab628f7f7e97ca23e290cd8ab15efc" + integrity sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA== "@types/uuid@^8.3.4": version "8.3.4" resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc" integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== -"@types/webpack-env@^1.16.0": - version "1.18.0" - resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.18.0.tgz#ed6ecaa8e5ed5dfe8b2b3d00181702c9925f13fb" - integrity sha512-56/MAlX5WMsPVbOg7tAxnYvNYMMWr/QJiIp6BxVSW3JJXUVzzOn64qW8TzQyMSqSUFM2+PVI4aUHcHOzIz/1tg== - -"@types/webpack-sources@*": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-3.2.0.tgz#16d759ba096c289034b26553d2df1bf45248d38b" - integrity sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg== - dependencies: - "@types/node" "*" - "@types/source-list-map" "*" - source-map "^0.7.3" - -"@types/webpack@^4.41.26", "@types/webpack@^4.41.8": - version "4.41.33" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.33.tgz#16164845a5be6a306bcbe554a8e67f9cac215ffc" - integrity sha512-PPajH64Ft2vWevkerISMtnZ8rTs4YmRbs+23c402J0INmxDKCrhZNvwZYtzx96gY2wAtXdrK1BS2fiC8MlLr3g== - dependencies: - "@types/node" "*" - "@types/tapable" "^1" - "@types/uglify-js" "*" - "@types/webpack-sources" "*" - anymatch "^3.0.0" - source-map "^0.6.0" - "@types/ws@^7.4.4": version "7.4.7" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702" @@ -5900,14 +7226,21 @@ "@types/node" "*" "@types/yargs-parser@*": - version "21.0.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" - integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== + version "21.0.3" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" + integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== "@types/yargs@^15.0.0": - version "15.0.15" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.15.tgz#e609a2b1ef9e05d90489c2f5f45bbfb2be092158" - integrity sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg== + version "15.0.19" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.19.tgz#328fb89e46109ecbdb70c295d96ff2f46dfd01b9" + integrity sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA== + dependencies: + "@types/yargs-parser" "*" + +"@types/yargs@^17.0.8": + version "17.0.32" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" + integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== dependencies: "@types/yargs-parser" "*" @@ -5921,6 +7254,22 @@ regexpp "^3.0.0" tsutils "^3.17.1" +"@typescript-eslint/eslint-plugin@^5.59.7": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz#aeef0328d172b9e37d9bab6dbc13b87ed88977db" + integrity sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag== + dependencies: + "@eslint-community/regexpp" "^4.4.0" + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/type-utils" "5.62.0" + "@typescript-eslint/utils" "5.62.0" + debug "^4.3.4" + graphemer "^1.4.0" + ignore "^5.2.0" + natural-compare-lite "^1.4.0" + semver "^7.3.7" + tsutils "^3.21.0" + "@typescript-eslint/experimental-utils@2.34.0": version "2.34.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz#d3524b644cdb40eebceca67f8cf3e4cc9c8f980f" @@ -5941,6 +7290,39 @@ "@typescript-eslint/typescript-estree" "2.34.0" eslint-visitor-keys "^1.1.0" +"@typescript-eslint/parser@^5.59.7": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.62.0.tgz#1b63d082d849a2fcae8a569248fbe2ee1b8a56c7" + integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA== + dependencies: + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/typescript-estree" "5.62.0" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz#d9457ccc6a0b8d6b37d0eb252a23022478c5460c" + integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w== + dependencies: + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/visitor-keys" "5.62.0" + +"@typescript-eslint/type-utils@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz#286f0389c41681376cdad96b309cedd17d70346a" + integrity sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew== + dependencies: + "@typescript-eslint/typescript-estree" "5.62.0" + "@typescript-eslint/utils" "5.62.0" + debug "^4.3.4" + tsutils "^3.21.0" + +"@typescript-eslint/types@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" + integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== + "@typescript-eslint/typescript-estree@2.34.0": version "2.34.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz#14aeb6353b39ef0732cc7f1b8285294937cf37d5" @@ -5954,41 +7336,81 @@ semver "^7.3.2" tsutils "^3.17.1" +"@typescript-eslint/typescript-estree@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b" + integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== + dependencies: + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/visitor-keys" "5.62.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.3.7" + tsutils "^3.21.0" + +"@typescript-eslint/utils@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86" + integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@types/json-schema" "^7.0.9" + "@types/semver" "^7.3.12" + "@typescript-eslint/scope-manager" "5.62.0" + "@typescript-eslint/types" "5.62.0" + "@typescript-eslint/typescript-estree" "5.62.0" + eslint-scope "^5.1.1" + semver "^7.3.7" + +"@typescript-eslint/visitor-keys@5.62.0": + version "5.62.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e" + integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== + dependencies: + "@typescript-eslint/types" "5.62.0" + eslint-visitor-keys "^3.3.0" + +"@ungap/structured-clone@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" + integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== + "@vanilla-extract/babel-plugin-debug-ids@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@vanilla-extract/babel-plugin-debug-ids/-/babel-plugin-debug-ids-1.0.2.tgz#24674b4d09e98236c883d23aef6f37d1a326af28" - integrity sha512-LjnbQWGeMwaydmovx8jWUR8BxLtLiPyq0xz5C8G5OvFhsuJxvavLdrBHNNizvr1dq7/3qZGlPv0znsvU4P44YA== + version "1.0.3" + resolved "https://registry.yarnpkg.com/@vanilla-extract/babel-plugin-debug-ids/-/babel-plugin-debug-ids-1.0.3.tgz#ce07190343b51ed658b385bdce1e79952a4e8526" + integrity sha512-vm4jYu1xhSa6ofQ9AhIpR3DkAp4c+eoR1Rpm8/TQI4DmWbmGbOjYRcqV0aWsfaIlNhN4kFuxFMKBNN9oG6iRzA== dependencies: "@babel/core" "^7.20.7" -"@vanilla-extract/css@^1.10.0": - version "1.11.0" - resolved "https://registry.yarnpkg.com/@vanilla-extract/css/-/css-1.11.0.tgz#ad285f31e0b0dff0d7a02cab6a2e5c39e5f2ddf3" - integrity sha512-uohj+8cGWbnrVzTfrjlJeXqdGjH3d3TcscdQxKe3h5bb5QQXTpPSq+c+SeWADIGiZybzcW0CBvZV8jsy1ywY9w== +"@vanilla-extract/css@^1.14.0": + version "1.14.0" + resolved "https://registry.yarnpkg.com/@vanilla-extract/css/-/css-1.14.0.tgz#45fab9c04d893e3e363cf2cde7559d21233b7f63" + integrity sha512-rYfm7JciWZ8PFzBM/HDiE2GLnKI3xJ6/vdmVJ5BSgcCZ5CxRlM9Cjqclni9lGzF3eMOijnUhCd/KV8TOzyzbMA== dependencies: "@emotion/hash" "^0.9.0" "@vanilla-extract/private" "^1.0.3" - ahocorasick "1.0.2" chalk "^4.1.1" - css-what "^5.0.1" + css-what "^6.1.0" cssesc "^3.0.0" csstype "^3.0.7" deep-object-diff "^1.1.9" deepmerge "^4.2.2" media-query-parser "^2.0.2" + modern-ahocorasick "^1.0.0" outdent "^0.8.0" -"@vanilla-extract/integration@^6.0.2": - version "6.2.1" - resolved "https://registry.yarnpkg.com/@vanilla-extract/integration/-/integration-6.2.1.tgz#e87849ed3d8e9ddd2703b8b8597fdbff08cf62ad" - integrity sha512-+xYJz07G7TFAMZGrOqArOsURG+xcYvqctujEkANjw2McCBvGEK505RxQqOuNiA9Mi9hgGdNp2JedSa94f3eoLg== +"@vanilla-extract/integration@^6.2.0": + version "6.2.4" + resolved "https://registry.yarnpkg.com/@vanilla-extract/integration/-/integration-6.2.4.tgz#bd8a5ec0916051c1ef5fb66d8484a5cad8d8c58d" + integrity sha512-+AfymNMVq9sEUe0OJpdCokmPZg4Zi6CqKaW/PnUOfDwEn53ighHOMOBl5hAgxYR8Kiz9NG43Bn00mkjWlFi+ng== dependencies: "@babel/core" "^7.20.7" "@babel/plugin-syntax-typescript" "^7.20.0" "@vanilla-extract/babel-plugin-debug-ids" "^1.0.2" - "@vanilla-extract/css" "^1.10.0" + "@vanilla-extract/css" "^1.14.0" esbuild "0.17.6" - eval "0.1.6" + eval "0.1.8" find-up "^5.0.0" javascript-stringify "^2.0.1" lodash "^4.17.21" @@ -6002,46 +7424,51 @@ resolved "https://registry.yarnpkg.com/@vanilla-extract/private/-/private-1.0.3.tgz#7ec72bc2ff6fe51f9d650f962e8d1989b073690f" integrity sha512-17kVyLq3ePTKOkveHxXuIJZtGYs+cSoev7BlP+Lf4916qfDhk/HBjvlYDe8egrea7LNPHKwSZJK/bzZC+Q6AwQ== -"@vercel/build-utils@6.7.0": - version "6.7.0" - resolved "https://registry.yarnpkg.com/@vercel/build-utils/-/build-utils-6.7.0.tgz#f0915b0a36dd3b56f188c7e477995aa910c151c0" - integrity sha512-1cHgu0AzETSMLo1ugeHOT2pcrXNoZb1bwgxBP7yTIlJAKWLIEqPHbJWFvKQXZl2FV3kzzTctTrw/YNUWmntYiA== +"@vercel/build-utils@6.7.1": + version "6.7.1" + resolved "https://registry.yarnpkg.com/@vercel/build-utils/-/build-utils-6.7.1.tgz#94bccb959d9f2dcdecb7744c939b546073902373" + integrity sha512-Ecc9oQBSVwk1suENcRcj1L6gQrUt4+0XA9oPFxrUpoFEk04lP/ZV3qAQPk+ex08N+vfUulYdqb+cmVTnwqsmqw== -"@vercel/gatsby-plugin-vercel-analytics@1.0.8": +"@vercel/error-utils@1.0.8": version "1.0.8" - resolved "https://registry.yarnpkg.com/@vercel/gatsby-plugin-vercel-analytics/-/gatsby-plugin-vercel-analytics-1.0.8.tgz#3779132cf1eb8d4ef00806a913249b65c4b5edf5" - integrity sha512-EL5xH3KOtAwzLc50NA2Df5BQwIV9tu8QBIG0unSTUtOpIaqqnOMBZT86DxadsAniUs7xYRcaeXOkQog/PbpWDw== + resolved "https://registry.yarnpkg.com/@vercel/error-utils/-/error-utils-1.0.8.tgz#5cefc4142820846d011cf048ddfb0afda81d484b" + integrity sha512-s+f7jP2oH1koICbQ8e3K9hOpOeUct7rbCnF9qsNwXemq850wAh2e90tp9R6oYBM0BNpiLRRm+oG5zD2sCIm3HQ== + +"@vercel/gatsby-plugin-vercel-analytics@1.0.10": + version "1.0.10" + resolved "https://registry.yarnpkg.com/@vercel/gatsby-plugin-vercel-analytics/-/gatsby-plugin-vercel-analytics-1.0.10.tgz#05109138b24880fcd81476c78580bb00bea09ed5" + integrity sha512-v329WHdtIce+y7oAmaWRvEx59Xfo0FxlQqK4BJG0u6VWYoKWPaflohDAiehIZf/YHCRVb59ZxnzmMOcm/LR8YQ== dependencies: "@babel/runtime" "7.12.1" web-vitals "0.2.4" -"@vercel/gatsby-plugin-vercel-builder@1.2.6": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@vercel/gatsby-plugin-vercel-builder/-/gatsby-plugin-vercel-builder-1.2.6.tgz#1daa8e0f951c6c766d17b1874afaacdd99de604a" - integrity sha512-mBxdsDQCIp10CuDFsAS3+6K8r6pQVtljb8Abey601g96oVSM6+8zlsuDgWsqQRaJducBi7kdHivvVoqzjVA6uA== +"@vercel/gatsby-plugin-vercel-builder@1.2.10": + version "1.2.10" + resolved "https://registry.yarnpkg.com/@vercel/gatsby-plugin-vercel-builder/-/gatsby-plugin-vercel-builder-1.2.10.tgz#b733da151a769b54cc3eb698340c34314fd26a43" + integrity sha512-7iSCCOe5XyU8lJVcWd9dDxXq8qF91nEKkO6McxOOVRgiPsJU4T/x48o/+gIbUa35zIv7XltZojRQDRq3jzyfWQ== dependencies: "@sinclair/typebox" "0.25.24" - "@vercel/build-utils" "6.7.0" - "@vercel/node" "2.10.2" - "@vercel/routing-utils" "2.1.11" + "@vercel/build-utils" "6.7.1" + "@vercel/node" "2.12.0" + "@vercel/routing-utils" "2.2.0" esbuild "0.14.47" etag "1.8.1" fs-extra "11.1.0" -"@vercel/go@2.4.3": - version "2.4.3" - resolved "https://registry.yarnpkg.com/@vercel/go/-/go-2.4.3.tgz#0ae947ea6c1e934671bf06a6d73195fb07262446" - integrity sha512-EklaqH9pHCiu6XhmVYji1CvEy5LOS+hilJ64ncPBAQhXzjD5RuJ8u4Af1AFe46Zl7dpAEg5rYfCrz2hqsMo1Pw== +"@vercel/go@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@vercel/go/-/go-2.5.0.tgz#566fe4d126dd0de0f3cd769a03702255a65570d3" + integrity sha512-KUUuFpl65oxyCbc7gDWkhbRUg2ZcAa5bpUrhnqYW4ohDicPGe7F7mo/v4GCp/zsFGFNJf9msbmycJA1f9Sk9Ug== -"@vercel/hydrogen@0.0.61": - version "0.0.61" - resolved "https://registry.yarnpkg.com/@vercel/hydrogen/-/hydrogen-0.0.61.tgz#947175c897e714de0f79149d85546c2f1d7c1dc2" - integrity sha512-g9WB5tImyto697coEMOtbtT8F+9geHGW0DDCNMBlERjEtE4e1ILJ1P5u9lhM6i1nXvRJlQZZ8w2IbQuCZmNH2w== +"@vercel/hydrogen@0.0.63": + version "0.0.63" + resolved "https://registry.yarnpkg.com/@vercel/hydrogen/-/hydrogen-0.0.63.tgz#de211cc531ffe71bc3a45a81e8545f56fac40159" + integrity sha512-FxBjgX0Mt22eqvHGrMKDcfxt/81y9QrHM6md+hGIflkQ9DvrtyYmmFze588yXWAv/I04eCgVoE+/KsgETkRi3w== -"@vercel/next@3.7.3": - version "3.7.3" - resolved "https://registry.yarnpkg.com/@vercel/next/-/next-3.7.3.tgz#6ae4b2fd4077ad1dd96804a47f1d6fdfa012223a" - integrity sha512-lNqn1j8B3IJCh0VEc3/d/1H8/z11Sou1nz1Rp4yBYYXJeiihFU7OLsDPxGFF/a5QfcSVlsMZVRRMaciWOFG2Ow== +"@vercel/next@3.7.5": + version "3.7.5" + resolved "https://registry.yarnpkg.com/@vercel/next/-/next-3.7.5.tgz#54bd0c1f685678a96c89a1c434afd329dd3d42bf" + integrity sha512-NonL8rt49EnwooMnAXYUDpz2B+e+yoQRdEZoekZlnFzP6VF1F1r14N2X9zUqxeRH7rY6X53MgiRNSHeZKqTXPA== "@vercel/nft@0.22.5": version "0.22.5" @@ -6060,86 +7487,150 @@ node-gyp-build "^4.2.2" resolve-from "^5.0.0" -"@vercel/node-bridge@4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@vercel/node-bridge/-/node-bridge-4.0.0.tgz#3214ff14c9388cb9bc3e78023ff618d3410b605d" - integrity sha512-617HSGelTGR68s0kqsPV0R2UiSvcw3Zf5Yv32S5NN4AH5TZGRr5DQJ3ATr4C/HrK7CHK5B7FDVrv2JebdVpPYQ== +"@vercel/node-bridge@4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@vercel/node-bridge/-/node-bridge-4.0.1.tgz#e4f41188f61d9cd4e7c44de31d436dd447e1978c" + integrity sha512-XEfKfnLGzlIBpad7eGNPql1HnMhoSTv9q3uDNC4axdaAC/kI5yvl8kXjuCPAXYvpbJnVQPpcSUC5/r5ap8F3jA== -"@vercel/node@2.10.2": - version "2.10.2" - resolved "https://registry.yarnpkg.com/@vercel/node/-/node-2.10.2.tgz#9d09574b99ba59cef4865187acc829d5a2503f98" - integrity sha512-rsxVEosHUtSBswZfZWxWgV4v5x8COB9kTp4lhaxZXC9cHFgXT5ydV7m4R2NOPwcRGUbQSyy9ushX1RnsOan0qw== +"@vercel/node@2.12.0": + version "2.12.0" + resolved "https://registry.yarnpkg.com/@vercel/node/-/node-2.12.0.tgz#2eff4ffb04ae3ca19a7fd7e49e4f376791284abb" + integrity sha512-QItQ4DjKrHqTMk/hmtX64V5RfDdp+fDoFzbSbPUICkIOHK3EBCJ5c/392Iv05AwSv+mJIALZUGRQz5o4HKvs6A== dependencies: "@edge-runtime/vm" "2.0.0" "@types/node" "14.18.33" - "@vercel/build-utils" "6.7.0" - "@vercel/node-bridge" "4.0.0" - "@vercel/static-config" "2.0.14" - edge-runtime "2.0.0" + "@vercel/build-utils" "6.7.1" + "@vercel/error-utils" "1.0.8" + "@vercel/node-bridge" "4.0.1" + "@vercel/static-config" "2.0.16" + async-listen "1.2.0" + edge-runtime "2.1.4" esbuild "0.14.47" exit-hook "2.2.1" node-fetch "2.6.7" + path-to-regexp "6.2.1" + ts-morph "12.0.0" ts-node "10.9.1" typescript "4.3.4" -"@vercel/python@3.1.57": - version "3.1.57" - resolved "https://registry.yarnpkg.com/@vercel/python/-/python-3.1.57.tgz#952053cfb6ae8f95337e5c9bfc30523c5bc161f0" - integrity sha512-q/cy6dWBAYvhlm9ortub9IJMxXoHQ2UcJzhIl3//26OOuWoroJUWWgk7/uDFagxXrdxOt1hSfHZ3kDUbwGBe/w== +"@vercel/python@3.1.59": + version "3.1.59" + resolved "https://registry.yarnpkg.com/@vercel/python/-/python-3.1.59.tgz#f6663c73982c4afc39c09ef618a61cb889bbdfa7" + integrity sha512-38/KM33nJK5Jk+FiNhi3MTB7arWGGoCF8blejAexpw+NTL70nNy+4O7TN+y7qqx7Az4nygEgBBTgQVfkgIj0Yg== -"@vercel/redwood@1.1.13": - version "1.1.13" - resolved "https://registry.yarnpkg.com/@vercel/redwood/-/redwood-1.1.13.tgz#f9aa2941fa3401d0875c9cab11f4733fcbdc1bf8" - integrity sha512-4PmEaPl7+1Cnr7GLBBg+pldKPOmsZpafnrtgLQyX3I87KFfDScvf+ELJYFDk4TdbRXT2iXdryL7NfNC/LT39xw== +"@vercel/redwood@1.1.14": + version "1.1.14" + resolved "https://registry.yarnpkg.com/@vercel/redwood/-/redwood-1.1.14.tgz#bf41b1c1ecf686ba90a1c9a22211f01171f79438" + integrity sha512-QFIhLegvfVp2OLdv96krTyz6C5/cUncUg4CEEfx3U48+l31hWaWcnjI6+MhgN4PZC4YN+s21vKZNz/UWnGnTiA== dependencies: "@vercel/nft" "0.22.5" - "@vercel/routing-utils" "2.1.11" + "@vercel/routing-utils" "2.2.0" semver "6.1.1" -"@vercel/remix-builder@1.8.3": - version "1.8.3" - resolved "https://registry.yarnpkg.com/@vercel/remix-builder/-/remix-builder-1.8.3.tgz#7e1a0e27aaa983d7abd5f991c69908c975b3a544" - integrity sha512-H0yzb+DTzCB8ALgLhXZeJfHlOWhz7j9pXeVGL21RnTzX8lvG2AUHtotYjIadLjR0SuYzB0NvYKPG5mrHmFrFNg== +"@vercel/remix-builder@1.8.5": + version "1.8.5" + resolved "https://registry.yarnpkg.com/@vercel/remix-builder/-/remix-builder-1.8.5.tgz#59f2592660a3e76836dff6c72676884807477982" + integrity sha512-nXUNsW6+gfHRqnZdXNm9Myx8G8nihbfRe/myAbvUHAXaym+9Bz+WHC3hXXr6YqAOVhjWvCfxAlA9eYqHbhlvKA== dependencies: - "@remix-run/dev" "npm:@vercel/remix-run-dev@1.14.2" - "@vercel/build-utils" "6.7.0" + "@remix-run/dev" "npm:@vercel/remix-run-dev@1.15.0" + "@vercel/build-utils" "6.7.1" "@vercel/nft" "0.22.5" - "@vercel/static-config" "2.0.14" + "@vercel/static-config" "2.0.16" path-to-regexp "6.2.1" semver "7.3.8" ts-morph "12.0.0" -"@vercel/routing-utils@2.1.11": - version "2.1.11" - resolved "https://registry.yarnpkg.com/@vercel/routing-utils/-/routing-utils-2.1.11.tgz#5d479f6ea41e3f9b00546df7d1d5cadd6a0fe5ee" - integrity sha512-3cr0c41tylYvC6JMmzxC2kEf5iqFT0Kz1sqTs1koRVeiAEsf6soKi0FwW+ASbT3+9rBiJDkG2E1y4J3mZn6DZQ== +"@vercel/routing-utils@2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@vercel/routing-utils/-/routing-utils-2.2.0.tgz#05c807cc2798234d28327a6b24fc25ad84d80de9" + integrity sha512-Ro90s1mStpbgu2HV8I4LFEKNG8GVxkWm238ebD/23BCO9/DxIJ3+wCzga8j8BMmG57x4etVlaHNV25bbzW5r2g== dependencies: path-to-regexp "6.1.0" optionalDependencies: ajv "^6.0.0" -"@vercel/ruby@1.3.74": - version "1.3.74" - resolved "https://registry.yarnpkg.com/@vercel/ruby/-/ruby-1.3.74.tgz#a06e6c7a584143a6307f3e5e3c2e07c3605b8f41" - integrity sha512-LexN8Tlr+oaveInWOZhHVLXjvz4AWlGDvgKavKZQHZokPpXXn2gQPuRaf26B+ZAYfqCEsOnoH/Uwea9fjc5vQw== +"@vercel/ruby@1.3.75": + version "1.3.75" + resolved "https://registry.yarnpkg.com/@vercel/ruby/-/ruby-1.3.75.tgz#9588a63bd1335d9a29a4fbefb41872374bf1ff7f" + integrity sha512-sUmzJnd9O1N7StFEpKG9JvHJvHmJjgfrmhgQsQLEQ7OOQJkO9DYoLomlrIDW9qNdu7dNOeyj7gQY5B8y8RMntw== -"@vercel/static-build@1.3.21": - version "1.3.21" - resolved "https://registry.yarnpkg.com/@vercel/static-build/-/static-build-1.3.21.tgz#1175baed3ed2ffa3eb021b1d6b5adc8e39b13697" - integrity sha512-4KSs4kG+jfoFnrQaX0e7zIkkaz9QPEKh+SAcpZ8H4roVeBo1rdin7A3wze0iC7pTObpEAHXHme2zylpBcUGYOQ== +"@vercel/static-build@1.3.25": + version "1.3.25" + resolved "https://registry.yarnpkg.com/@vercel/static-build/-/static-build-1.3.25.tgz#7cc89d477655196a2f4f99d014c2beb212206b80" + integrity sha512-yBb37pPGLlQEF/QPUezENo4Eu9gq7Ctzl56Dff/Kv6pApzYZ6Zj88OvRoNBTXhxDi0g4EGSYnP0uYtB7lBQcHA== dependencies: - "@vercel/gatsby-plugin-vercel-analytics" "1.0.8" - "@vercel/gatsby-plugin-vercel-builder" "1.2.6" + "@vercel/gatsby-plugin-vercel-analytics" "1.0.10" + "@vercel/gatsby-plugin-vercel-builder" "1.2.10" -"@vercel/static-config@2.0.14": - version "2.0.14" - resolved "https://registry.yarnpkg.com/@vercel/static-config/-/static-config-2.0.14.tgz#8097516c94360ea7914d8b89cdb4b7da72e29841" - integrity sha512-Ih0H/V8geRjsNpvD73dphV+y0Pe21RXIJEUW/XI0y7ZrYzLbYQt4AAIvsgfDqcQNm4xEizh3sEXArPWEp18bdQ== +"@vercel/static-config@2.0.16": + version "2.0.16" + resolved "https://registry.yarnpkg.com/@vercel/static-config/-/static-config-2.0.16.tgz#2495325056e62b94925d8432b703bbf5625b06e5" + integrity sha512-lULo+NWBMpTJb9kR4AwYYK/2e7wknTJO2iFxgYYOkG5i12WHgPhMnXDKrEOcotxctd0yPKx3TsWVGEXniNm63g== dependencies: ajv "8.6.3" json-schema-to-ts "1.6.4" ts-morph "12.0.0" +"@vitest/coverage-v8@^0.33.0": + version "0.33.0" + resolved "https://registry.yarnpkg.com/@vitest/coverage-v8/-/coverage-v8-0.33.0.tgz#dfcb36cf51624a89d33ab0962a6eec8a41346ef2" + integrity sha512-Rj5IzoLF7FLj6yR7TmqsfRDSeaFki6NAJ/cQexqhbWkHEV2htlVGrmuOde3xzvFsCbLCagf4omhcIaVmfU8Okg== + dependencies: + "@ampproject/remapping" "^2.2.1" + "@bcoe/v8-coverage" "^0.2.3" + istanbul-lib-coverage "^3.2.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.1" + istanbul-reports "^3.1.5" + magic-string "^0.30.1" + picocolors "^1.0.0" + std-env "^3.3.3" + test-exclude "^6.0.0" + v8-to-istanbul "^9.1.0" + +"@vitest/expect@0.33.0": + version "0.33.0" + resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-0.33.0.tgz#f48652591f3573ad6c2db828ad358d5c078845d3" + integrity sha512-sVNf+Gla3mhTCxNJx+wJLDPp/WcstOe0Ksqz4Vec51MmgMth/ia0MGFEkIZmVGeTL5HtjYR4Wl/ZxBxBXZJTzQ== + dependencies: + "@vitest/spy" "0.33.0" + "@vitest/utils" "0.33.0" + chai "^4.3.7" + +"@vitest/runner@0.33.0": + version "0.33.0" + resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-0.33.0.tgz#0b1a4d04ff8bc5cdad73920eac019d99550edf9d" + integrity sha512-UPfACnmCB6HKRHTlcgCoBh6ppl6fDn+J/xR8dTufWiKt/74Y9bHci5CKB8tESSV82zKYtkBJo9whU3mNvfaisg== + dependencies: + "@vitest/utils" "0.33.0" + p-limit "^4.0.0" + pathe "^1.1.1" + +"@vitest/snapshot@0.33.0": + version "0.33.0" + resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-0.33.0.tgz#4400a90c48907808122b573053a2112a832b3698" + integrity sha512-tJjrl//qAHbyHajpFvr8Wsk8DIOODEebTu7pgBrP07iOepR5jYkLFiqLq2Ltxv+r0uptUb4izv1J8XBOwKkVYA== + dependencies: + magic-string "^0.30.1" + pathe "^1.1.1" + pretty-format "^29.5.0" + +"@vitest/spy@0.33.0": + version "0.33.0" + resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-0.33.0.tgz#366074d3cf9cf1ed8aeaa76e50e78c799fb242eb" + integrity sha512-Kv+yZ4hnH1WdiAkPUQTpRxW8kGtH8VRTnus7ZTGovFYM1ZezJpvGtb9nPIjPnptHbsyIAxYZsEpVPYgtpjGnrg== + dependencies: + tinyspy "^2.1.1" + +"@vitest/utils@0.33.0": + version "0.33.0" + resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-0.33.0.tgz#6b9820cb8f128d649da6f78ecaa9b73d6222b277" + integrity sha512-pF1w22ic965sv+EN6uoePkAOTkAPWM03Ri/jXNyMIKBb/XHLDPfhLvf/Fa9g0YECevAIz56oVYXhodLvLQ/awA== + dependencies: + diff-sequences "^29.4.3" + loupe "^2.3.6" + pretty-format "^29.5.0" + "@walletconnect/browser-utils@^1.8.0": version "1.8.0" resolved "https://registry.yarnpkg.com/@walletconnect/browser-utils/-/browser-utils-1.8.0.tgz#33c10e777aa6be86c713095b5206d63d32df0951" @@ -6151,17 +7642,29 @@ "@walletconnect/window-metadata" "1.0.0" detect-browser "5.2.0" -"@walletconnect/client@^1.8.0": - version "1.8.0" - resolved "https://registry.yarnpkg.com/@walletconnect/client/-/client-1.8.0.tgz#6f46b5499c7c861c651ff1ebe5da5b66225ca696" - integrity sha512-svyBQ14NHx6Cs2j4TpkQaBI/2AF4+LXz64FojTjMtV4VMMhl81jSO1vNeg+yYhQzvjcGH/GpSwixjyCW0xFBOQ== - dependencies: - "@walletconnect/core" "^1.8.0" - "@walletconnect/iso-crypto" "^1.8.0" - "@walletconnect/types" "^1.8.0" - "@walletconnect/utils" "^1.8.0" +"@walletconnect/core@2.9.1": + version "2.9.1" + resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.9.1.tgz#1a333933750f5f933d9b7788a8dae44ce1173063" + integrity sha512-xyWeP0eLhEEDQAVJSmqs4n/AClKUM+8os2ZFe7BTuw1tFYjeLNVDtKCHziVOSTh8wEChMsKSGKA4zerQoH8mAQ== + dependencies: + "@walletconnect/heartbeat" "1.2.1" + "@walletconnect/jsonrpc-provider" "1.0.13" + "@walletconnect/jsonrpc-types" "1.0.3" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/jsonrpc-ws-connection" "1.0.13" + "@walletconnect/keyvaluestorage" "^1.0.2" + "@walletconnect/logger" "^2.0.1" + "@walletconnect/relay-api" "^1.0.9" + "@walletconnect/relay-auth" "^1.0.4" + "@walletconnect/safe-json" "^1.0.2" + "@walletconnect/time" "^1.0.2" + "@walletconnect/types" "2.9.1" + "@walletconnect/utils" "2.9.1" + events "^3.3.0" + lodash.isequal "4.5.0" + uint8arrays "^3.1.0" -"@walletconnect/core@^1.8.0": +"@walletconnect/core@^1.6.6": version "1.8.0" resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-1.8.0.tgz#6b2748b90c999d9d6a70e52e26a8d5e8bfeaa81e" integrity sha512-aFTHvEEbXcZ8XdWBw6rpQDte41Rxwnuk3SgTD8/iKGSRTni50gI9S3YEzMj05jozSiOBxQci4pJDMVhIUMtarw== @@ -6182,7 +7685,7 @@ hash.js "^1.1.7" tslib "1.14.1" -"@walletconnect/encoding@^1.0.1", "@walletconnect/encoding@^1.0.2": +"@walletconnect/encoding@1.0.2", "@walletconnect/encoding@^1.0.1", "@walletconnect/encoding@^1.0.2": version "1.0.2" resolved "https://registry.yarnpkg.com/@walletconnect/encoding/-/encoding-1.0.2.tgz#cb3942ad038d6a6bf01158f66773062dd25724da" integrity sha512-CrwSBrjqJ7rpGQcTL3kU+Ief+Bcuu9PH6JLOb+wM6NITX1GTxR/MfNwnQfhLKK6xpRAyj2/nM04OOH6wS8Imag== @@ -6198,21 +7701,24 @@ dependencies: tslib "1.14.1" -"@walletconnect/ethereum-provider@1.8.0": - version "1.8.0" - resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-1.8.0.tgz#ed1dbf9cecc3b818758a060d2f9017c50bde1d32" - integrity sha512-Nq9m+oo5P0F+njsROHw9KMWdoc/8iGHYzQdkjJN/1C7DtsqFRg5k5a3hd9rzCLpbPsOC1q8Z5lRs6JQgDvPm6Q== +"@walletconnect/events@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@walletconnect/events/-/events-1.0.1.tgz#2b5f9c7202019e229d7ccae1369a9e86bda7816c" + integrity sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ== dependencies: - "@walletconnect/client" "^1.8.0" - "@walletconnect/jsonrpc-http-connection" "^1.0.2" - "@walletconnect/jsonrpc-provider" "^1.0.5" - "@walletconnect/signer-connection" "^1.8.0" - "@walletconnect/types" "^1.8.0" - "@walletconnect/utils" "^1.8.0" - eip1193-provider "1.0.1" - eventemitter3 "4.0.7" + keyvaluestorage-interface "^1.0.0" + tslib "1.14.1" + +"@walletconnect/heartbeat@1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@walletconnect/heartbeat/-/heartbeat-1.2.1.tgz#afaa3a53232ae182d7c9cff41c1084472d8f32e9" + integrity sha512-yVzws616xsDLJxuG/28FqtZ5rzrTA4gUjdEMTbWB5Y8V1XHRmqq4efAxCw5ie7WjbXFSUyBHaWlMR+2/CpQC5Q== + dependencies: + "@walletconnect/events" "^1.0.1" + "@walletconnect/time" "^1.0.2" + tslib "1.14.1" -"@walletconnect/iso-crypto@^1.8.0": +"@walletconnect/iso-crypto@^1.6.6": version "1.8.0" resolved "https://registry.yarnpkg.com/@walletconnect/iso-crypto/-/iso-crypto-1.8.0.tgz#44ddf337c4f02837c062dbe33fa7ab36789df451" integrity sha512-pWy19KCyitpfXb70hA73r9FcvklS+FvO9QUIttp3c2mfW8frxgYeRXfxLRCIQTkaYueRKvdqPjbyhPLam508XQ== @@ -6221,58 +7727,84 @@ "@walletconnect/types" "^1.8.0" "@walletconnect/utils" "^1.8.0" -"@walletconnect/jsonrpc-http-connection@^1.0.2": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.6.tgz#48c41cf3e5ac9add9425420b345615dc438594cd" - integrity sha512-/3zSqDi7JDN06E4qm0NmVYMitngXfh21UWwy8zeJcBeJc+Jcs094EbLsIxtziIIKTCCbT88lWuTjl1ZujxN7cw== +"@walletconnect/jsonrpc-provider@1.0.13": + version "1.0.13" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.13.tgz#9a74da648d015e1fffc745f0c7d629457f53648b" + integrity sha512-K73EpThqHnSR26gOyNEL+acEex3P7VWZe6KE12ZwKzAt2H4e5gldZHbjsu2QR9cLeJ8AXuO7kEMOIcRv1QEc7g== dependencies: - "@walletconnect/jsonrpc-utils" "^1.0.6" - "@walletconnect/safe-json" "^1.0.1" - cross-fetch "^3.1.4" + "@walletconnect/jsonrpc-utils" "^1.0.8" + "@walletconnect/safe-json" "^1.0.2" tslib "1.14.1" -"@walletconnect/jsonrpc-provider@^1.0.5": - version "1.0.10" - resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.10.tgz#8351a06b70faa8f8c0e77dc2c6d9b0190d17d407" - integrity sha512-g0ffPSpY3P6GqGjWGHsr3yqvQUhj7q2k6pAikoXv5XTXWaJRzFvrlbFkSgxziXsBrwrMZn0qvPufvpN4mMZ5FA== +"@walletconnect/jsonrpc-types@1.0.3", "@walletconnect/jsonrpc-types@^1.0.2", "@walletconnect/jsonrpc-types@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.3.tgz#65e3b77046f1a7fa8347ae02bc1b841abe6f290c" + integrity sha512-iIQ8hboBl3o5ufmJ8cuduGad0CQm3ZlsHtujv9Eu16xq89q+BG7Nh5VLxxUgmtpnrePgFkTwXirCTkwJH1v+Yw== dependencies: - "@walletconnect/jsonrpc-utils" "^1.0.6" - "@walletconnect/safe-json" "^1.0.1" + keyvaluestorage-interface "^1.0.0" tslib "1.14.1" -"@walletconnect/jsonrpc-types@^1.0.1", "@walletconnect/jsonrpc-types@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.2.tgz#b79519f679cd6a5fa4a1bea888f27c1916689a20" - integrity sha512-CZe8tjJX73OWdHjrBHy7HtAapJ2tT0Q3TYhPBhRxi3643lwPIQWC9En45ldY14TZwgSewkbZ0FtGBZK0G7Bbyg== +"@walletconnect/jsonrpc-utils@1.0.8", "@walletconnect/jsonrpc-utils@^1.0.3", "@walletconnect/jsonrpc-utils@^1.0.6", "@walletconnect/jsonrpc-utils@^1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.8.tgz#82d0cc6a5d6ff0ecc277cb35f71402c91ad48d72" + integrity sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw== dependencies: - keyvaluestorage-interface "^1.0.0" + "@walletconnect/environment" "^1.0.1" + "@walletconnect/jsonrpc-types" "^1.0.3" tslib "1.14.1" -"@walletconnect/jsonrpc-utils@^1.0.3", "@walletconnect/jsonrpc-utils@^1.0.4", "@walletconnect/jsonrpc-utils@^1.0.6": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.6.tgz#7fa58e6671247e64e189828103282e6258f5330f" - integrity sha512-snp0tfkjPiDLQp/jrBewI+9SM33GPV4+Gjgldod6XQ7rFyQ5FZjnBxUkY4xWH0+arNxzQSi6v5iDXjCjSaorpg== +"@walletconnect/jsonrpc-ws-connection@1.0.13": + version "1.0.13" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.13.tgz#23b0cdd899801bfbb44a6556936ec2b93ef2adf4" + integrity sha512-mfOM7uFH4lGtQxG+XklYuFBj6dwVvseTt5/ahOkkmpcAEgz2umuzu7fTR+h5EmjQBdrmYyEBOWADbeaFNxdySg== dependencies: - "@walletconnect/environment" "^1.0.1" - "@walletconnect/jsonrpc-types" "^1.0.2" + "@walletconnect/jsonrpc-utils" "^1.0.6" + "@walletconnect/safe-json" "^1.0.2" + events "^3.3.0" tslib "1.14.1" + ws "^7.5.1" -"@walletconnect/mobile-registry@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@walletconnect/mobile-registry/-/mobile-registry-1.4.0.tgz#502cf8ab87330841d794819081e748ebdef7aee5" - integrity sha512-ZtKRio4uCZ1JUF7LIdecmZt7FOLnX72RPSY7aUVu7mj7CSfxDwUn6gBuK6WGtH+NZCldBqDl5DenI5fFSvkKYw== +"@walletconnect/keyvaluestorage@^1.0.2": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.1.1.tgz#dd2caddabfbaf80f6b8993a0704d8b83115a1842" + integrity sha512-V7ZQq2+mSxAq7MrRqDxanTzu2RcElfK1PfNYiaVnJgJ7Q7G7hTVwF8voIBx92qsRyGHZihrwNPHuZd1aKkd0rA== + dependencies: + "@walletconnect/safe-json" "^1.0.1" + idb-keyval "^6.2.1" + unstorage "^1.9.0" -"@walletconnect/qrcode-modal@^1.8.0": - version "1.8.0" - resolved "https://registry.yarnpkg.com/@walletconnect/qrcode-modal/-/qrcode-modal-1.8.0.tgz#ddd6f5c9b7ee52c16adf9aacec2a3eac4994caea" - integrity sha512-BueaFefaAi8mawE45eUtztg3ZFbsAH4DDXh1UNwdUlsvFMjqcYzLUG0xZvDd6z2eOpbgDg2N3bl6gF0KONj1dg== +"@walletconnect/logger@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@walletconnect/logger/-/logger-2.0.1.tgz#7f489b96e9a1ff6bf3e58f0fbd6d69718bf844a8" + integrity sha512-SsTKdsgWm+oDTBeNE/zHxxr5eJfZmE9/5yp/Ku+zJtcTAjELb3DXueWkDXmE9h8uHIbJzIb5wj5lPdzyrjT6hQ== dependencies: - "@walletconnect/browser-utils" "^1.8.0" - "@walletconnect/mobile-registry" "^1.4.0" - "@walletconnect/types" "^1.8.0" - copy-to-clipboard "^3.3.1" - preact "10.4.1" - qrcode "1.4.4" + pino "7.11.0" + tslib "1.14.1" + +"@walletconnect/modal-core@2.6.1": + version "2.6.1" + resolved "https://registry.yarnpkg.com/@walletconnect/modal-core/-/modal-core-2.6.1.tgz#bc76055d0b644a2d4b98024324825c108a700905" + integrity sha512-f2hYlJ5pwzGvjyaZ6BoGR5uiMgXzWXt6w6ktt1N8lmY6PiYp8whZgqx2hTxVWwVlsGnaIfh6UHp1hGnANx0eTQ== + dependencies: + valtio "1.11.0" + +"@walletconnect/modal-ui@2.6.1": + version "2.6.1" + resolved "https://registry.yarnpkg.com/@walletconnect/modal-ui/-/modal-ui-2.6.1.tgz#200c54c8dfe3c71321abb2724e18bb357dfd6371" + integrity sha512-RFUOwDAMijSK8B7W3+KoLKaa1l+KEUG0LCrtHqaB0H0cLnhEGdLR+kdTdygw+W8+yYZbkM5tXBm7MlFbcuyitA== + dependencies: + "@walletconnect/modal-core" "2.6.1" + lit "2.7.6" + motion "10.16.2" + qrcode "1.5.3" + +"@walletconnect/modal@2.6.1": + version "2.6.1" + resolved "https://registry.yarnpkg.com/@walletconnect/modal/-/modal-2.6.1.tgz#066fdbfcff83b58c8a9da66ab4af0eb93e3626de" + integrity sha512-G84tSzdPKAFk1zimgV7JzIUFT5olZUVtI3GcOk77OeLYjlMfnDT23RVRHm5EyCrjkptnvpD0wQScXePOFd2Xcw== + dependencies: + "@walletconnect/modal-core" "2.6.1" + "@walletconnect/modal-ui" "2.6.1" "@walletconnect/randombytes@^1.0.3": version "1.0.3" @@ -6284,29 +7816,52 @@ randombytes "^2.1.0" tslib "1.14.1" +"@walletconnect/relay-api@^1.0.9": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@walletconnect/relay-api/-/relay-api-1.0.9.tgz#f8c2c3993dddaa9f33ed42197fc9bfebd790ecaf" + integrity sha512-Q3+rylJOqRkO1D9Su0DPE3mmznbAalYapJ9qmzDgK28mYF9alcP3UwG/og5V7l7CFOqzCLi7B8BvcBUrpDj0Rg== + dependencies: + "@walletconnect/jsonrpc-types" "^1.0.2" + tslib "1.14.1" + +"@walletconnect/relay-auth@^1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@walletconnect/relay-auth/-/relay-auth-1.0.4.tgz#0b5c55c9aa3b0ef61f526ce679f3ff8a5c4c2c7c" + integrity sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ== + dependencies: + "@stablelib/ed25519" "^1.0.2" + "@stablelib/random" "^1.0.1" + "@walletconnect/safe-json" "^1.0.1" + "@walletconnect/time" "^1.0.2" + tslib "1.14.1" + uint8arrays "^3.0.0" + "@walletconnect/safe-json@1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@walletconnect/safe-json/-/safe-json-1.0.0.tgz#12eeb11d43795199c045fafde97e3c91646683b2" integrity sha512-QJzp/S/86sUAgWY6eh5MKYmSfZaRpIlmCJdi5uG4DJlKkZrHEF7ye7gA+VtbVzvTtpM/gRwO2plQuiooIeXjfg== -"@walletconnect/safe-json@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@walletconnect/safe-json/-/safe-json-1.0.1.tgz#9813fa0a7a544b16468730c2d7bed046ed160957" - integrity sha512-Fm7e31oSYY15NQr8SsLJheKAy5L744udZf2lJKcz6wFmPJEzf7hOF0866o/rrldRzJnjZ4H2GJ45pFudsnLW5A== +"@walletconnect/safe-json@^1.0.1", "@walletconnect/safe-json@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@walletconnect/safe-json/-/safe-json-1.0.2.tgz#7237e5ca48046e4476154e503c6d3c914126fa77" + integrity sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA== dependencies: tslib "1.14.1" -"@walletconnect/signer-connection@^1.8.0": - version "1.8.0" - resolved "https://registry.yarnpkg.com/@walletconnect/signer-connection/-/signer-connection-1.8.0.tgz#6cdf490df770e504cc1a550bdb5bac7696b130bc" - integrity sha512-+YAaTAP52MWZJ2wWnqKClKCPlPHBo6reURFe0cWidLADh9mi/kPWGALZ5AENK22zpem1bbKV466rF5Rzvu0ehA== - dependencies: - "@walletconnect/client" "^1.8.0" - "@walletconnect/jsonrpc-types" "^1.0.1" - "@walletconnect/jsonrpc-utils" "^1.0.3" - "@walletconnect/qrcode-modal" "^1.8.0" - "@walletconnect/types" "^1.8.0" - eventemitter3 "4.0.7" +"@walletconnect/sign-client@2.9.1": + version "2.9.1" + resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.9.1.tgz#e4aa9c7b15849f450fdd1b03754a7517cb5c8811" + integrity sha512-Z7tFRrJ9btA1vU427vsjUS6cPlHQVcTWdKH90khEc2lv3dB6mU8FNO0VJsw+I2D7CW7WaMWF3nnj6Z1FfotbDg== + dependencies: + "@walletconnect/core" "2.9.1" + "@walletconnect/events" "^1.0.1" + "@walletconnect/heartbeat" "1.2.1" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/logger" "^2.0.1" + "@walletconnect/time" "^1.0.2" + "@walletconnect/types" "2.9.1" + "@walletconnect/utils" "2.9.1" + events "^3.3.0" "@walletconnect/socket-transport@^1.8.0": version "1.8.0" @@ -6317,12 +7872,51 @@ "@walletconnect/utils" "^1.8.0" ws "7.5.3" -"@walletconnect/types@^1.8.0": +"@walletconnect/time@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@walletconnect/time/-/time-1.0.2.tgz#6c5888b835750ecb4299d28eecc5e72c6d336523" + integrity sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g== + dependencies: + tslib "1.14.1" + +"@walletconnect/types@2.9.1": + version "2.9.1" + resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.9.1.tgz#cb32ff396cc8880a7395f28716d1e82f407e1372" + integrity sha512-xbGgTPuD6xsb7YMvCESBIH55cjB86QAnnVL50a/ED42YkQzDsOdJ0VGTbrm0tG5cxUOF933rpxZQjxGdP+ovww== + dependencies: + "@walletconnect/events" "^1.0.1" + "@walletconnect/heartbeat" "1.2.1" + "@walletconnect/jsonrpc-types" "1.0.3" + "@walletconnect/keyvaluestorage" "^1.0.2" + "@walletconnect/logger" "^2.0.1" + events "^3.3.0" + +"@walletconnect/types@^1.6.6", "@walletconnect/types@^1.8.0": version "1.8.0" resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-1.8.0.tgz#3f5e85b2d6b149337f727ab8a71b8471d8d9a195" integrity sha512-Cn+3I0V0vT9ghMuzh1KzZvCkiAxTq+1TR2eSqw5E5AVWfmCtECFkVZBP6uUJZ8YjwLqXheI+rnjqPy7sVM4Fyg== -"@walletconnect/utils@^1.8.0": +"@walletconnect/utils@2.9.1": + version "2.9.1" + resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.9.1.tgz#92abc24b3af3ead42a3864e019dbf2f651ab2e47" + integrity sha512-tXeQVebF5oPBvhdmuUyVSkSIBYx/egIi4czav1QrnUpwrUS1LsrFhyWBxSbhN7TXY287ULWkEf6aFpWOHdp5EA== + dependencies: + "@stablelib/chacha20poly1305" "1.0.1" + "@stablelib/hkdf" "1.0.1" + "@stablelib/random" "^1.0.2" + "@stablelib/sha256" "1.0.1" + "@stablelib/x25519" "^1.0.3" + "@walletconnect/relay-api" "^1.0.9" + "@walletconnect/safe-json" "^1.0.2" + "@walletconnect/time" "^1.0.2" + "@walletconnect/types" "2.9.1" + "@walletconnect/window-getters" "^1.0.1" + "@walletconnect/window-metadata" "^1.0.1" + detect-browser "5.3.0" + query-string "7.1.3" + uint8arrays "^3.1.0" + +"@walletconnect/utils@^1.6.6", "@walletconnect/utils@^1.8.0": version "1.8.0" resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-1.8.0.tgz#2591a197c1fa7429941fe428876088fda6632060" integrity sha512-zExzp8Mj1YiAIBfKNm5u622oNw44WOESzo6hj+Q3apSMIb0Jph9X3GDIdbZmvVZsNPxWDL7uodKgZcCInZv2vA== @@ -6340,7 +7934,7 @@ resolved "https://registry.yarnpkg.com/@walletconnect/window-getters/-/window-getters-1.0.0.tgz#1053224f77e725dfd611c83931b5f6c98c32bfc8" integrity sha512-xB0SQsLaleIYIkSsl43vm8EwETpBzJ2gnzk7e0wMF3ktqiTGS6TFHxcprMl5R44KKh4tCcHCJwolMCaDSwtAaA== -"@walletconnect/window-getters@^1.0.0": +"@walletconnect/window-getters@^1.0.0", "@walletconnect/window-getters@^1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@walletconnect/window-getters/-/window-getters-1.0.1.tgz#f36d1c72558a7f6b87ecc4451fc8bd44f63cbbdc" integrity sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q== @@ -6354,275 +7948,138 @@ dependencies: "@walletconnect/window-getters" "^1.0.0" +"@walletconnect/window-metadata@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz#2124f75447b7e989e4e4e1581d55d25bc75f7be5" + integrity sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA== + dependencies: + "@walletconnect/window-getters" "^1.0.1" + tslib "1.14.1" + "@web3-storage/multipart-parser@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@web3-storage/multipart-parser/-/multipart-parser-1.0.0.tgz#6b69dc2a32a5b207ba43e556c25cc136a56659c4" integrity sha512-BEO6al7BYqcnfX15W2cnGR+Q566ACXAT9UQykORCWW80lmkpWsnEob6zJS1ZVBKsSJC8+7vJkHwlp+lXG1UCdw== -"@webassemblyjs/ast@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" - integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== +"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24" + integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== dependencies: - "@webassemblyjs/helper-numbers" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - -"@webassemblyjs/ast@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" - integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== - dependencies: - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" - -"@webassemblyjs/floating-point-hex-parser@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f" - integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== + "@webassemblyjs/helper-numbers" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" -"@webassemblyjs/floating-point-hex-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" - integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== - -"@webassemblyjs/helper-api-error@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16" - integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== - -"@webassemblyjs/helper-api-error@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" - integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== - -"@webassemblyjs/helper-buffer@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5" - integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== - -"@webassemblyjs/helper-buffer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" - integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== - -"@webassemblyjs/helper-code-frame@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" - integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== - dependencies: - "@webassemblyjs/wast-printer" "1.9.0" +"@webassemblyjs/floating-point-hex-parser@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" + integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== -"@webassemblyjs/helper-fsm@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" - integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== +"@webassemblyjs/helper-api-error@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" + integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== -"@webassemblyjs/helper-module-context@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" - integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== - dependencies: - "@webassemblyjs/ast" "1.9.0" +"@webassemblyjs/helper-buffer@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz#b66d73c43e296fd5e88006f18524feb0f2c7c093" + integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== -"@webassemblyjs/helper-numbers@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae" - integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== +"@webassemblyjs/helper-numbers@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" + integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" + "@webassemblyjs/floating-point-hex-parser" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" "@xtuc/long" "4.2.2" -"@webassemblyjs/helper-wasm-bytecode@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1" - integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== - -"@webassemblyjs/helper-wasm-bytecode@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" - integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== - -"@webassemblyjs/helper-wasm-section@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a" - integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - -"@webassemblyjs/helper-wasm-section@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" - integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" +"@webassemblyjs/helper-wasm-bytecode@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" + integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== -"@webassemblyjs/ieee754@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614" - integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== +"@webassemblyjs/helper-wasm-section@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz#ff97f3863c55ee7f580fd5c41a381e9def4aa577" + integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== dependencies: - "@xtuc/ieee754" "^1.2.0" + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" -"@webassemblyjs/ieee754@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" - integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== +"@webassemblyjs/ieee754@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" + integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== dependencies: "@xtuc/ieee754" "^1.2.0" -"@webassemblyjs/leb128@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5" - integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/leb128@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" - integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff" - integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== - -"@webassemblyjs/utf8@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" - integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== - -"@webassemblyjs/wasm-edit@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6" - integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/helper-wasm-section" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-opt" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - "@webassemblyjs/wast-printer" "1.11.1" - -"@webassemblyjs/wasm-edit@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" - integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/helper-wasm-section" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-opt" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - "@webassemblyjs/wast-printer" "1.9.0" - -"@webassemblyjs/wasm-gen@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76" - integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wasm-gen@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" - integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - -"@webassemblyjs/wasm-opt@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2" - integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - -"@webassemblyjs/wasm-opt@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" - integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - -"@webassemblyjs/wasm-parser@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199" - integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wasm-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" - integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - -"@webassemblyjs/wast-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" - integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/floating-point-hex-parser" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-code-frame" "1.9.0" - "@webassemblyjs/helper-fsm" "1.9.0" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/wast-printer@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0" - integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== +"@webassemblyjs/leb128@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" + integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== dependencies: - "@webassemblyjs/ast" "1.11.1" "@xtuc/long" "4.2.2" -"@webassemblyjs/wast-printer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" - integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" +"@webassemblyjs/utf8@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" + integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== + +"@webassemblyjs/wasm-edit@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz#c72fa8220524c9b416249f3d94c2958dfe70ceab" + integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/helper-wasm-section" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-opt" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + "@webassemblyjs/wast-printer" "1.11.6" + +"@webassemblyjs/wasm-gen@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz#fb5283e0e8b4551cc4e9c3c0d7184a65faf7c268" + integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wasm-opt@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz#d9a22d651248422ca498b09aa3232a81041487c2" + integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + +"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz#bb85378c527df824004812bbdb784eea539174a1" + integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wast-printer@1.11.6": + version "1.11.6" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz#a7bf8dd7e362aeb1668ff43f35cb849f188eff20" + integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== + dependencies: + "@webassemblyjs/ast" "1.11.6" "@xtuc/long" "4.2.2" "@xtuc/ieee754@^1.2.0": @@ -6635,15 +8092,46 @@ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== +"@yarnpkg/esbuild-plugin-pnp@^3.0.0-rc.10": + version "3.0.0-rc.15" + resolved "https://registry.yarnpkg.com/@yarnpkg/esbuild-plugin-pnp/-/esbuild-plugin-pnp-3.0.0-rc.15.tgz#4e40e7d2eb28825c9a35ab9d04c363931d7c0e67" + integrity sha512-kYzDJO5CA9sy+on/s2aIW0411AklfCi8Ck/4QDivOqsMKpStZA2SsR+X27VTggGwpStWaLrjJcDcdDMowtG8MA== + dependencies: + tslib "^2.4.0" + +"@yarnpkg/fslib@2.10.3": + version "2.10.3" + resolved "https://registry.yarnpkg.com/@yarnpkg/fslib/-/fslib-2.10.3.tgz#a8c9893df5d183cf6362680b9f1c6d7504dd5717" + integrity sha512-41H+Ga78xT9sHvWLlFOZLIhtU6mTGZ20pZ29EiZa97vnxdohJD2AF42rCoAoWfqUz486xY6fhjMH+DYEM9r14A== + dependencies: + "@yarnpkg/libzip" "^2.3.0" + tslib "^1.13.0" + +"@yarnpkg/libzip@2.3.0", "@yarnpkg/libzip@^2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@yarnpkg/libzip/-/libzip-2.3.0.tgz#fe1e762e47669f6e2c960fc118436608d834e3be" + integrity sha512-6xm38yGVIa6mKm/DUCF2zFFJhERh/QWp1ufm4cNUvxsONBmfPg8uZ9pZBdOmF6qFGr/HlT6ABBkCSx/dlEtvWg== + dependencies: + "@types/emscripten" "^1.39.6" + tslib "^1.13.0" + "@yarnpkg/lockfile@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== +"@yarnpkg/parsers@3.0.0-rc.46": + version "3.0.0-rc.46" + resolved "https://registry.yarnpkg.com/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz#03f8363111efc0ea670e53b0282cd3ef62de4e01" + integrity sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q== + dependencies: + js-yaml "^3.10.0" + tslib "^2.4.0" + "@yarnpkg/parsers@^3.0.0-rc.18": - version "3.0.0-rc.42" - resolved "https://registry.yarnpkg.com/@yarnpkg/parsers/-/parsers-3.0.0-rc.42.tgz#3814e90a81bb1f9c06cc83c6a009139c55efe94d" - integrity sha512-eW9Mbegmb5bJjwawJM9ghjUjUqciNMhC6L7XrQPF/clXS5bbP66MstsgCT5hy9VlfUh/CfBT+0Wucf531dMjHA== + version "3.0.0" + resolved "https://registry.yarnpkg.com/@yarnpkg/parsers/-/parsers-3.0.0.tgz#a43136f094bca5dcc1ae784c296446a85211cc62" + integrity sha512-jVZa3njBv6tcOUw34nlUdUM/40wwtm/gnVF8rtk0tA6vNcokqYI8CFU1BZjlpFwUSZaXxYkrtuPE/f2MMFlTxQ== dependencies: js-yaml "^3.10.0" tslib "^2.4.0" @@ -6673,11 +8161,50 @@ abbrev@1: resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== +abitype@0.9.8: + version "0.9.8" + resolved "https://registry.yarnpkg.com/abitype/-/abitype-0.9.8.tgz#1f120b6b717459deafd213dfbf3a3dd1bf10ae8c" + integrity sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ== + abortcontroller-polyfill@^1.1.9: version "1.7.5" resolved "https://registry.yarnpkg.com/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz#6738495f4e901fbb57b6c0611d0c75f76c485bed" integrity sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ== +abstract-leveldown@^6.2.1: + version "6.3.0" + resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-6.3.0.tgz#d25221d1e6612f820c35963ba4bd739928f6026a" + integrity sha512-TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ== + dependencies: + buffer "^5.5.0" + immediate "^3.2.3" + level-concat-iterator "~2.0.0" + level-supports "~1.0.0" + xtend "~4.0.0" + +abstract-leveldown@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz#08d19d4e26fb5be426f7a57004851b39e1795a2e" + integrity sha512-DnhQwcFEaYsvYDnACLZhMmCWd3rkOeEvglpa4q5i/5Jlm3UIsWaxVzuXvDLFCSCWRO3yy2/+V/G7FusFgejnfQ== + dependencies: + buffer "^6.0.3" + catering "^2.0.0" + is-buffer "^2.0.5" + level-concat-iterator "^3.0.0" + level-supports "^2.0.1" + queue-microtask "^1.2.3" + +abstract-leveldown@~6.2.1: + version "6.2.3" + resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz#036543d87e3710f2528e47040bc3261b77a9a8eb" + integrity sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ== + dependencies: + buffer "^5.5.0" + immediate "^3.2.3" + level-concat-iterator "~2.0.0" + level-supports "~1.0.0" + xtend "~4.0.0" + accepts@~1.3.5, accepts@~1.3.8: version "1.3.8" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" @@ -6694,12 +8221,12 @@ acorn-globals@^4.3.2: acorn "^6.0.1" acorn-walk "^6.0.1" -acorn-import-assertions@^1.7.6: - version "1.8.0" - resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" - integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== +acorn-import-assertions@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" + integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== -acorn-jsx@^5.0.0, acorn-jsx@^5.2.0, acorn-jsx@^5.3.1: +acorn-jsx@^5.0.0, acorn-jsx@^5.2.0, acorn-jsx@^5.3.1, acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== @@ -6715,11 +8242,11 @@ acorn-walk@^7.2.0: integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== acorn-walk@^8.1.1, acorn-walk@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" - integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== + version "8.3.0" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.0.tgz#2097665af50fd0cf7a2dfccd2b9368964e66540f" + integrity sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA== -acorn@^6.0.1, acorn@^6.4.1: +acorn@^6.0.1: version "6.4.2" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== @@ -6729,10 +8256,15 @@ acorn@^7.1.0, acorn@^7.1.1, acorn@^7.4.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.0.0, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.6.0, acorn@^8.7.0, acorn@^8.7.1, acorn@^8.8.2: - version "8.8.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" - integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== +acorn@^8.0.0, acorn@^8.10.0, acorn@^8.11.2, acorn@^8.4.1, acorn@^8.6.0, acorn@^8.7.0, acorn@^8.7.1, acorn@^8.8.2, acorn@^8.9.0: + version "8.11.2" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.2.tgz#ca0d78b51895be5390a5903c5b3bdcdaf78ae40b" + integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w== + +add-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" + integrity sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ== address@^1.0.1: version "1.2.2" @@ -6749,6 +8281,11 @@ aes-js@^3.1.2: resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.1.2.tgz#db9aabde85d5caabbfc0d4f2a4446960f627146a" integrity sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ== +agent-base@5: + version "5.1.1" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-5.1.1.tgz#e8fb3f242959db44d63be665db7a8e739537a32c" + integrity sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g== + agent-base@6, agent-base@^6.0.0, agent-base@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" @@ -6756,13 +8293,18 @@ agent-base@6, agent-base@^6.0.0, agent-base@^6.0.2: dependencies: debug "4" -agentkeepalive@^4.2.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.3.0.tgz#bb999ff07412653c1803b3ced35e50729830a255" - integrity sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg== +agent-base@^7.0.2: + version "7.1.0" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.0.tgz#536802b76bc0b34aa50195eb2442276d613e3434" + integrity sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg== + dependencies: + debug "^4.3.4" + +agentkeepalive@^4.3.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.5.0.tgz#2673ad1389b3c418c5a20c5d7364f93ca04be923" + integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== dependencies: - debug "^4.1.0" - depd "^2.0.0" humanize-ms "^1.2.1" aggregate-error@^3.0.0: @@ -6773,39 +8315,6 @@ aggregate-error@^3.0.0: clean-stack "^2.0.0" indent-string "^4.0.0" -ahocorasick@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/ahocorasick/-/ahocorasick-1.0.2.tgz#9eee93aef9d02bfb476d9b648d9b7a40ef2fd500" - integrity sha512-hCOfMzbFx5IDutmWLAt6MZwOUjIfSM9G9FyVxytmE4Rs/5YDPWQrD/+IR1w+FweD9H2oOZEnv36TmkjhNURBVA== - -airbnb-js-shims@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/airbnb-js-shims/-/airbnb-js-shims-2.2.1.tgz#db481102d682b98ed1daa4c5baa697a05ce5c040" - integrity sha512-wJNXPH66U2xjgo1Zwyjf9EydvJ2Si94+vSdk6EERcBfB2VZkeltpqIats0cqIZMLCXP3zcyaUKGYQeIBT6XjsQ== - dependencies: - array-includes "^3.0.3" - array.prototype.flat "^1.2.1" - array.prototype.flatmap "^1.2.1" - es5-shim "^4.5.13" - es6-shim "^0.35.5" - function.prototype.name "^1.1.0" - globalthis "^1.0.0" - object.entries "^1.1.0" - object.fromentries "^2.0.0 || ^1.0.0" - object.getownpropertydescriptors "^2.0.3" - object.values "^1.1.0" - promise.allsettled "^1.0.0" - promise.prototype.finally "^3.1.0" - string.prototype.matchall "^4.0.0 || ^3.0.1" - string.prototype.padend "^3.0.0" - string.prototype.padstart "^3.0.0" - symbol.prototype.description "^1.0.0" - -ajv-errors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" - integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== - ajv-formats@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" @@ -6813,12 +8322,12 @@ ajv-formats@^2.1.1: dependencies: ajv "^8.0.0" -ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: +ajv-keywords@^3.5.2: version "3.5.2" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv-keywords@^5.0.0: +ajv-keywords@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== @@ -6835,7 +8344,7 @@ ajv@8.6.3: require-from-string "^2.0.2" uri-js "^4.2.2" -ajv@^6.0.0, ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: +ajv@^6.0.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -6845,7 +8354,7 @@ ajv@^6.0.0, ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.12.3, ajv@ json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.0, ajv@^8.8.0: +ajv@^8.0.0, ajv@^8.9.0: version "8.12.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== @@ -6855,18 +8364,6 @@ ajv@^8.0.0, ajv@^8.8.0: require-from-string "^2.0.2" uri-js "^4.2.2" -ansi-align@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" - integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w== - dependencies: - string-width "^4.1.0" - -ansi-colors@^3.0.0: - version "3.2.4" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" - integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== - ansi-colors@^4.1.1: version "4.1.3" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" @@ -6884,16 +8381,18 @@ ansi-escapes@^4.2.1: dependencies: type-fest "^0.21.3" +ansi-escapes@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-5.0.0.tgz#b6a0caf0eef0c41af190e9a749e0c00ec04bb2a6" + integrity sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA== + dependencies: + type-fest "^1.0.2" + ansi-html-community@0.0.8, ansi-html-community@^0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== - ansi-regex@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" @@ -6909,6 +8408,11 @@ ansi-regex@^5.0.0, ansi-regex@^5.0.1: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" @@ -6923,12 +8427,15 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" -ansi-to-html@^0.6.11: - version "0.6.15" - resolved "https://registry.yarnpkg.com/ansi-to-html/-/ansi-to-html-0.6.15.tgz#ac6ad4798a00f6aa045535d7f6a9cb9294eebea7" - integrity sha512-28ijx2aHJGdzbs+O5SNQF65r6rrKYnkuwTYm8lZlChuoJ9P1vVzIpWO20sQTqTPDXYp6NFwk326vApTtLVFXpQ== - dependencies: - entities "^2.0.0" +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + +ansi-styles@^6.0.0, ansi-styles@^6.1.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== anymatch@^2.0.0: version "2.0.0" @@ -6938,7 +8445,7 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" -anymatch@^3.0.0, anymatch@^3.0.3, anymatch@~3.1.2: +anymatch@^3.0.3, anymatch@^3.1.3, anymatch@~3.1.1, anymatch@~3.1.2: version "3.1.3" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== @@ -6951,16 +8458,16 @@ app-root-dir@^1.0.2: resolved "https://registry.yarnpkg.com/app-root-dir/-/app-root-dir-1.0.2.tgz#38187ec2dea7577fff033ffcb12172692ff6e118" integrity sha512-jlpIfsOoNoafl92Sz//64uQHGSyMrD2vYG5d8o2a4qGvyNCvXur7bzIsWtAC/6flI2RYAp3kv8rsfBtaLm7w0g== -aproba@^1.0.3, aproba@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - "aproba@^1.0.3 || ^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== +arch@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" + integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== + are-we-there-yet@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz#372e0e7bd279d8e94c653aaa1f67200884bf3e1c" @@ -6969,14 +8476,6 @@ are-we-there-yet@^2.0.0: delegates "^1.0.0" readable-stream "^3.6.0" -are-we-there-yet@~1.1.2: - version "1.1.7" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz#b15474a932adab4ff8a50d9adfa7e4e926f21146" - integrity sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g== - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - arg@^4.1.0: version "4.1.3" resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" @@ -6999,12 +8498,19 @@ argparse@^2.0.1: resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -aria-query@^5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" - integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== +aria-hidden@^1.1.1: + version "1.2.3" + resolved "https://registry.yarnpkg.com/aria-hidden/-/aria-hidden-1.2.3.tgz#14aeb7fb692bbb72d69bebfa47279c1fd725e954" + integrity sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ== + dependencies: + tslib "^2.0.0" + +aria-query@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e" + integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== dependencies: - deep-equal "^2.0.5" + dequal "^2.0.3" arr-diff@^4.0.0: version "4.0.0" @@ -7026,6 +8532,11 @@ array-back@^3.0.1, array-back@^3.1.0: resolved "https://registry.yarnpkg.com/array-back/-/array-back-3.1.0.tgz#b8859d7a508871c9a7b2cf42f99428f65e96bfb0" integrity sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q== +array-back@^4.0.1, array-back@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-4.0.2.tgz#8004e999a6274586beeb27342168652fdb89fa1e" + integrity sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg== + array-buffer-byte-length@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" @@ -7035,14 +8546,9 @@ array-buffer-byte-length@^1.0.0: is-array-buffer "^3.0.1" array-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" - integrity sha512-H3LU5RLiSsGXPhN+Nipar0iR0IofH+8r89G2y1tBKxQ/agagKyAjhkAFDRBfodP2caPrNKHpAWNIM/c9yeL7uA== - -array-find-index@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - integrity sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw== + resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.2.tgz#a8572e64e822358271250b9156d20d96ef5dec04" + integrity sha512-gUHx76KtnhEgB3HOuFYiCm3FIdEs6ocM2asHvNTkfu/Y09qQVrrVVaOKENmS2KkSaGoxgXNqC+ZVtR/n0MOkSA== array-flatten@1.1.1: version "1.1.1" @@ -7054,102 +8560,87 @@ array-ify@^1.0.0: resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== -array-includes@^3.0.3, array-includes@^3.1.5, array-includes@^3.1.6: - version "3.1.6" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f" - integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== +array-includes@^3.1.6, array-includes@^3.1.7: + version "3.1.7" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.7.tgz#8cd2e01b26f7a3086cbc87271593fe921c62abda" + integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - get-intrinsic "^1.1.3" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" is-string "^1.0.7" -array-union@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - integrity sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng== - dependencies: - array-uniq "^1.0.1" - array-union@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q== - array-unique@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ== -array.prototype.flat@^1.2.1, array.prototype.flat@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2" - integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== +array.prototype.findlastindex@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz#b37598438f97b579166940814e2c0493a4f50207" + integrity sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + define-properties "^1.2.0" + es-abstract "^1.22.1" es-shim-unscopables "^1.0.0" + get-intrinsic "^1.2.1" -array.prototype.flatmap@^1.2.1, array.prototype.flatmap@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183" - integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ== +array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" + integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + define-properties "^1.2.0" + es-abstract "^1.22.1" es-shim-unscopables "^1.0.0" -array.prototype.map@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/array.prototype.map/-/array.prototype.map-1.0.5.tgz#6e43c2fee6c0fb5e4806da2dc92eb00970809e55" - integrity sha512-gfaKntvwqYIuC7mLLyv2wzZIJqrRhn5PZ9EfFejSx6a78sV7iDsGpG9P+3oUPtm1Rerqm6nrKS4FYuTIvWfo3g== +array.prototype.flatmap@^1.3.1, array.prototype.flatmap@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" + integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - es-array-method-boxes-properly "^1.0.0" - is-string "^1.0.7" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" -array.prototype.reduce@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/array.prototype.reduce/-/array.prototype.reduce-1.0.5.tgz#6b20b0daa9d9734dd6bc7ea66b5bbce395471eac" - integrity sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q== +array.prototype.tosorted@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz#620eff7442503d66c799d95503f82b475745cefd" + integrity sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - es-array-method-boxes-properly "^1.0.0" - is-string "^1.0.7" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + get-intrinsic "^1.2.1" -array.prototype.tosorted@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz#ccf44738aa2b5ac56578ffda97c03fd3e23dd532" - integrity sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ== +arraybuffer.prototype.slice@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz#98bd561953e3e74bb34938e77647179dfe6e9f12" + integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== dependencies: + array-buffer-byte-length "^1.0.0" call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - es-shim-unscopables "^1.0.0" - get-intrinsic "^1.1.3" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + is-array-buffer "^3.0.2" + is-shared-array-buffer "^1.0.2" arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== -arrify@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" - integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== - asap@~2.0.3: version "2.0.6" resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" @@ -7177,23 +8668,31 @@ assert-plus@1.0.0, assert-plus@^1.0.0: resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== -assert@^1.1.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" - integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== +assert@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/assert/-/assert-2.1.0.tgz#6d92a238d05dc02e7427c881fb8be81c8448b2dd" + integrity sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw== dependencies: - object-assign "^4.1.1" - util "0.10.3" + call-bind "^1.0.2" + is-nan "^1.3.2" + object-is "^1.1.5" + object.assign "^4.1.4" + util "^0.12.5" + +assertion-error@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" + integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== assign-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== -ast-types-flow@^0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" - integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag== +ast-types-flow@^0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.8.tgz#0a85e1c92695769ac13a428bb653e7538bea27d6" + integrity sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ== ast-types@0.15.2: version "0.15.2" @@ -7216,35 +8715,68 @@ ast-types@^0.14.2: dependencies: tslib "^2.0.1" +ast-types@^0.16.1: + version "0.16.1" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.16.1.tgz#7a9da1617c9081bc121faafe91711b4c8bb81da2" + integrity sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg== + dependencies: + tslib "^2.0.1" + astral-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== astring@^1.6.0: - version "1.8.4" - resolved "https://registry.yarnpkg.com/astring/-/astring-1.8.4.tgz#6d4c5d8de7be2ead9e4a3cc0e2efb8d759378904" - integrity sha512-97a+l2LBU3Op3bBQEff79i/E4jMD2ZLFD8rHx9B6mXyB2uQwhJQYfiDqUwtfjF4QA1F2qs//N6Cw8LetMbQjcw== + version "1.8.6" + resolved "https://registry.yarnpkg.com/astring/-/astring-1.8.6.tgz#2c9c157cf1739d67561c56ba896e6948f6b93731" + integrity sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg== -async-each@^1.0.1: - version "1.0.6" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.6.tgz#52f1d9403818c179b7561e11a5d1b77eb2160e77" - integrity sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg== +async-eventemitter@^0.2.4: + version "0.2.4" + resolved "https://registry.yarnpkg.com/async-eventemitter/-/async-eventemitter-0.2.4.tgz#f5e7c8ca7d3e46aab9ec40a292baf686a0bafaca" + integrity sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw== + dependencies: + async "^2.4.0" async-limiter@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== +async-listen@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/async-listen/-/async-listen-1.2.0.tgz#861ab6f92e1703ba54498b10ddb9b5da7b69f363" + integrity sha512-CcEtRh/oc9Jc4uWeUwdpG/+Mb2YUHKmdaTf0gUr7Wa+bfp4xx70HOb3RuSTJMvqKNB1TkdTfjLdrcz2X4rkkZA== + +async-listen@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/async-listen/-/async-listen-2.0.3.tgz#be1be5a1b15e6007123e67275450fc4e84955e61" + integrity sha512-WVLi/FGIQaXyfYyNvmkwKT1RZbkzszLLnmW/gFCc5lbVvN/0QQCWpBwRBk2OWSdkkmKRBc8yD6BrKsjA3XKaSw== + async-sema@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/async-sema/-/async-sema-3.1.1.tgz#e527c08758a0f8f6f9f15f799a173ff3c40ea808" integrity sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg== +async@^2.4.0: + version "2.6.4" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" + integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== + dependencies: + lodash "^4.17.14" + async@^3.2.3: - version "3.2.4" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" - integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== + version "3.2.5" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" + integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== + +asynciterator.prototype@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz#8c5df0514936cdd133604dfcc9d3fb93f09b2b62" + integrity sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg== + dependencies: + has-symbols "^1.0.3" asynckit@^0.4.0: version "0.4.0" @@ -7266,18 +8798,10 @@ atob@^2.1.2: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -autoprefixer@^9.8.6: - version "9.8.8" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.8.tgz#fd4bd4595385fa6f06599de749a4d5f7a474957a" - integrity sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA== - dependencies: - browserslist "^4.12.0" - caniuse-lite "^1.0.30001109" - normalize-range "^0.1.2" - num2fraction "^1.2.2" - picocolors "^0.2.1" - postcss "^7.0.32" - postcss-value-parser "^4.1.0" +atomic-sleep@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" + integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== available-typed-arrays@^1.0.5: version "1.0.5" @@ -7294,10 +8818,10 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.12.0.tgz#ce1c9d143389679e253b314241ea9aa5cec980d3" integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== -axe-core@^4.6.2: - version "4.6.3" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.6.3.tgz#fc0db6fdb65cc7a80ccf85286d91d64ababa3ece" - integrity sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg== +axe-core@=4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.7.0.tgz#34ba5a48a8b564f67e103f0aa5768d76e15bbbbf" + integrity sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ== axios@0.21.1: version "0.21.1" @@ -7306,27 +8830,13 @@ axios@0.21.1: dependencies: follow-redirects "^1.10.0" -axios@^0.19.0: - version "0.19.2" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.2.tgz#3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27" - integrity sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA== - dependencies: - follow-redirects "1.5.10" - -axios@^0.21.0, axios@^0.21.1, axios@^0.21.2, axios@^0.21.4: +axios@^0.21.1, axios@^0.21.2, axios@^0.21.4: version "0.21.4" resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== dependencies: follow-redirects "^1.14.0" -axios@^0.24.0: - version "0.24.0" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.24.0.tgz#804e6fa1e4b9c5288501dd9dff56a7a0940d20d6" - integrity sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA== - dependencies: - follow-redirects "^1.14.4" - axios@^0.27.2: version "0.27.2" resolved "https://registry.yarnpkg.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972" @@ -7336,25 +8846,25 @@ axios@^0.27.2: form-data "^4.0.0" axios@^1.0.0, axios@^1.2.6: - version "1.3.4" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.3.4.tgz#f5760cefd9cfb51fd2481acf88c05f67c4523024" - integrity sha512-toYm+Bsyl6VC5wSkfkbbNB6ROv7KY93PEBBL6xyDczaIHasAiv4wPqQ/c4RjoQzipxRD2W5g21cOqQulZ7rHwQ== + version "1.6.2" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.2.tgz#de67d42c755b571d3e698df1b6504cde9b0ee9f2" + integrity sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A== dependencies: follow-redirects "^1.15.0" form-data "^4.0.0" proxy-from-env "^1.1.0" -axobject-query@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.1.1.tgz#3b6e5c6d4e43ca7ba51c5babf99d22a9c68485e1" - integrity sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg== +axobject-query@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.2.1.tgz#39c378a6e3b06ca679f29138151e45b2b32da62a" + integrity sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg== dependencies: - deep-equal "^2.0.5" + dequal "^2.0.3" -b4a@^1.6.0: - version "1.6.3" - resolved "https://registry.yarnpkg.com/b4a/-/b4a-1.6.3.tgz#cce6e8a2f0d0774e5fe8062086827e979970266d" - integrity sha512-aX6/FqpWQve8VN9kyTExy7GlmwNShvxcCWWD5QVR3ZbRlyBGtCrG5Autu95xxSPH4CRs+5PSV4d7PRnWpmqFlA== +babel-core@^7.0.0-bridge.0: + version "7.0.0-bridge.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece" + integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg== babel-eslint@^10.0.3: version "10.1.0" @@ -7382,22 +8892,12 @@ babel-jest@^25.5.1: graceful-fs "^4.2.4" slash "^3.0.0" -babel-loader@^8.0.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.3.0.tgz#124936e841ba4fe8176786d6ff28add1f134d6a8" - integrity sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q== - dependencies: - find-cache-dir "^3.3.1" - loader-utils "^2.0.0" - make-dir "^3.1.0" - schema-utils "^2.6.5" - -babel-loader@^9.1.0: - version "9.1.2" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.1.2.tgz#a16a080de52d08854ee14570469905a5fc00d39c" - integrity sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA== +babel-loader@^9.0.0, babel-loader@^9.1.0: + version "9.1.3" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.1.3.tgz#3d0e01b4e69760cc694ee306fe16d358aa1c6f9a" + integrity sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw== dependencies: - find-cache-dir "^3.3.2" + find-cache-dir "^4.0.0" schema-utils "^4.0.0" babel-plugin-add-react-displayname@^0.0.5: @@ -7410,14 +8910,6 @@ babel-plugin-annotate-pure-calls@^0.4.0: resolved "https://registry.yarnpkg.com/babel-plugin-annotate-pure-calls/-/babel-plugin-annotate-pure-calls-0.4.0.tgz#78aa00fd878c4fcde4d49f3da397fcf5defbcce8" integrity sha512-oi4M/PWUJOU9ZyRGoPTfPMqdyMp06jbJAomd3RcyYuzUtBOddv98BqLm96Lucpi2QFoQHkdGQt0ACvw7VzVEQA== -babel-plugin-apply-mdx-type-prop@1.6.22: - version "1.6.22" - resolved "https://registry.yarnpkg.com/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz#d216e8fd0de91de3f1478ef3231e05446bc8705b" - integrity sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ== - dependencies: - "@babel/helper-plugin-utils" "7.10.4" - "@mdx-js/util" "1.6.22" - babel-plugin-dev-expression@^0.2.1: version "0.2.3" resolved "https://registry.yarnpkg.com/babel-plugin-dev-expression/-/babel-plugin-dev-expression-0.2.3.tgz#8aaf52155dfb063ed4ddec6280456fbc256fead4" @@ -7439,14 +8931,7 @@ babel-plugin-emotion@^10.0.27: find-root "^1.1.0" source-map "^0.5.7" -babel-plugin-extract-import-names@1.6.22: - version "1.6.22" - resolved "https://registry.yarnpkg.com/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz#de5f9a28eb12f3eb2578bf74472204e66d1a13dc" - integrity sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ== - dependencies: - "@babel/helper-plugin-utils" "7.10.4" - -babel-plugin-istanbul@^6.0.0: +babel-plugin-istanbul@^6.0.0, babel-plugin-istanbul@^6.1.1: version "6.1.1" resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== @@ -7484,30 +8969,27 @@ babel-plugin-macros@^3.0.1: cosmiconfig "^7.0.0" resolve "^1.19.0" -babel-plugin-polyfill-corejs2@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz#5d1bd3836d0a19e1b84bbf2d9640ccb6f951c122" - integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q== - dependencies: - "@babel/compat-data" "^7.17.7" - "@babel/helper-define-polyfill-provider" "^0.3.3" - semver "^6.1.1" +babel-plugin-named-exports-order@^0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/babel-plugin-named-exports-order/-/babel-plugin-named-exports-order-0.0.2.tgz#ae14909521cf9606094a2048239d69847540cb09" + integrity sha512-OgOYHOLoRK+/mvXU9imKHlG6GkPLYrUCvFXG/CM93R/aNNO8pOOF4aS+S8CCHMDQoNSeiOYEZb/G6RwL95Jktw== -babel-plugin-polyfill-corejs3@^0.1.0: - version "0.1.7" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.1.7.tgz#80449d9d6f2274912e05d9e182b54816904befd0" - integrity sha512-u+gbS9bbPhZWEeyy1oR/YaaSpod/KDT07arZHb80aTpl8H5ZBq+uN1nN9/xtX7jQyfLdPfoqI4Rue/MQSWJquw== +babel-plugin-polyfill-corejs2@^0.4.6: + version "0.4.6" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz#b2df0251d8e99f229a8e60fc4efa9a68b41c8313" + integrity sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q== dependencies: - "@babel/helper-define-polyfill-provider" "^0.1.5" - core-js-compat "^3.8.1" + "@babel/compat-data" "^7.22.6" + "@babel/helper-define-polyfill-provider" "^0.4.3" + semver "^6.3.1" -babel-plugin-polyfill-corejs3@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz#56ad88237137eade485a71b52f72dbed57c6230a" - integrity sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA== +babel-plugin-polyfill-corejs3@^0.8.5: + version "0.8.6" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz#25c2d20002da91fe328ff89095c85a391d6856cf" + integrity sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ== dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.3" - core-js-compat "^3.25.1" + "@babel/helper-define-polyfill-provider" "^0.4.3" + core-js-compat "^3.33.1" babel-plugin-polyfill-regenerator@^0.0.4: version "0.0.4" @@ -7516,12 +8998,12 @@ babel-plugin-polyfill-regenerator@^0.0.4: dependencies: "@babel/helper-define-polyfill-provider" "^0.0.3" -babel-plugin-polyfill-regenerator@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz#390f91c38d90473592ed43351e801a9d3e0fd747" - integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw== +babel-plugin-polyfill-regenerator@^0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz#d4c49e4b44614607c13fb769bcd85c72bb26a4a5" + integrity sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw== dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.3" + "@babel/helper-define-polyfill-provider" "^0.4.3" babel-plugin-react-docgen@^4.2.1: version "4.2.1" @@ -7567,11 +9049,6 @@ babel-preset-jest@^25.5.0: babel-plugin-jest-hoist "^25.5.0" babel-preset-current-node-syntax "^0.1.2" -bail@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776" - integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== - bail@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/bail/-/bail-2.0.2.tgz#d26f5cd8fe5d6f832a31517b9f7c356040ba6d5d" @@ -7619,27 +9096,27 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" -bech32@*: - version "2.0.0" - resolved "https://registry.yarnpkg.com/bech32/-/bech32-2.0.0.tgz#078d3686535075c8c79709f054b1b226a133b355" - integrity sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg== - bech32@1.1.4, bech32@^1.1.3, bech32@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== -better-opn@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/better-opn/-/better-opn-2.1.1.tgz#94a55b4695dc79288f31d7d0e5f658320759f7c6" - integrity sha512-kIPXZS5qwyKiX/HcRvDYfmBQUa8XP17I0mYZZ0y4UhpYOSvtsLHDYqmomS+Mj20aDvD3knEiQ0ecQy2nhio3yA== +bech32@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/bech32/-/bech32-2.0.0.tgz#078d3686535075c8c79709f054b1b226a133b355" + integrity sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg== + +better-opn@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/better-opn/-/better-opn-3.0.2.tgz#f96f35deaaf8f34144a4102651babcf00d1d8817" + integrity sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ== dependencies: - open "^7.0.3" + open "^8.0.4" -big-integer@^1.6.48, big-integer@^1.6.7: - version "1.6.51" - resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" - integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== +big-integer@^1.6.44, big-integer@^1.6.48: + version "1.6.52" + resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.52.tgz#60a887f3047614a8e1bffe5d7173490a97dc8c85" + integrity sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg== big.js@^5.2.2: version "5.2.2" @@ -7653,15 +9130,10 @@ bigint-buffer@^1.1.5: dependencies: bindings "^1.3.0" -bignumber.js@^9.0.2, bignumber.js@^9.1.1: - version "9.1.1" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.1.tgz#c4df7dc496bd849d4c9464344c1aa74228b4dac6" - integrity sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig== - -binary-extensions@^1.0.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" - integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== +bignumber.js@^9.0.0, bignumber.js@^9.1.1: + version "9.1.2" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.2.tgz#b7c4242259c008903b13707983b5f4bbd31eda0c" + integrity sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug== binary-extensions@^2.0.0: version "2.2.0" @@ -7675,7 +9147,7 @@ bindings@^1.3.0, bindings@^1.4.0, bindings@^1.5.0: dependencies: file-uri-to-path "1.0.0" -bip32@^2.0.5, bip32@^2.0.6: +bip32@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/bip32/-/bip32-2.0.6.tgz#6a81d9f98c4cd57d05150c60d8f9e75121635134" integrity sha512-HpV5OMLLGTjSVblmrtYRfFFKuQB+GArM0+XP8HGWfJ5vxYBqo+DesvJwOdC2WJ3bCkZShGf0QIfoIpeomVzVdA== @@ -7688,6 +9160,16 @@ bip32@^2.0.5, bip32@^2.0.6: typeforce "^1.11.5" wif "^2.0.6" +bip39@3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.0.4.tgz#5b11fed966840b5e1b8539f0f54ab6392969b2a0" + integrity sha512-YZKQlb752TrUWqHWj7XAwCSjYEgGAk+/Aas3V7NyjQeZYsztO8JnQUaCWhcnL4T+jL8nvB8typ2jRPzTlgugNw== + dependencies: + "@types/node" "11.11.6" + create-hash "^1.1.0" + pbkdf2 "^3.0.9" + randombytes "^2.0.1" + bip39@^3.0.2, bip39@^3.0.3: version "3.1.0" resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.1.0.tgz#c55a418deaf48826a6ceb34ac55b3ee1577e18a3" @@ -7704,22 +9186,22 @@ bl@^4.0.3, bl@^4.1.0: inherits "^2.0.4" readable-stream "^3.4.0" -bluebird@^3.5.5: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== +blakejs@^1.1.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814" + integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ== bn.js@4.11.8: version "4.11.8" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.8, bn.js@^4.11.9: +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.0, bn.js@^4.11.1, bn.js@^4.11.8, bn.js@^4.11.9: version "4.12.0" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== -bn.js@^5.0.0, bn.js@^5.1.1, bn.js@^5.2.0, bn.js@^5.2.1: +bn.js@^5.0.0, bn.js@^5.1.2, bn.js@^5.2.0, bn.js@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== @@ -7756,26 +9238,17 @@ borsh@^0.7.0: bs58 "^4.0.0" text-encoding-utf-8 "^1.0.2" -boxen@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50" - integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ== - dependencies: - ansi-align "^3.0.0" - camelcase "^6.2.0" - chalk "^4.1.0" - cli-boxes "^2.2.1" - string-width "^4.2.2" - type-fest "^0.20.2" - widest-line "^3.1.0" - wrap-ansi "^7.0.0" +bowser@^2.11.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f" + integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== -bplist-parser@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.1.1.tgz#d60d5dcc20cba6dc7e1f299b35d3e1f95dafbae6" - integrity sha512-2AEM0FXy8ZxVLBuqX0hqt1gDwcnz2zygEkQ6zaD5Wko/sB9paUNwlpawrFtKeHUAQUOzjVy9AO4oeonqIHKA9Q== +bplist-parser@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.2.0.tgz#43a9d183e5bf9d545200ceac3e712f79ebbe8d0e" + integrity sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw== dependencies: - big-integer "^1.6.7" + big-integer "^1.6.44" brace-expansion@^1.1.7: version "1.1.11" @@ -7792,7 +9265,7 @@ brace-expansion@^2.0.1: dependencies: balanced-match "^1.0.0" -braces@^2.3.1, braces@^2.3.2: +braces@^2.3.1: version "2.3.2" resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== @@ -7808,7 +9281,7 @@ braces@^2.3.1, braces@^2.3.2: split-string "^3.0.2" to-regex "^3.0.1" -braces@^3.0.2, braces@~3.0.2: +braces@^3.0.1, braces@^3.0.2, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== @@ -7820,6 +9293,16 @@ brorand@^1.0.1, brorand@^1.1.0: resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== +browser-assert@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/browser-assert/-/browser-assert-1.2.1.tgz#9aaa5a2a8c74685c2ae05bfe46efd606f068c200" + integrity sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ== + +browser-headers@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/browser-headers/-/browser-headers-0.4.1.tgz#4308a7ad3b240f4203dbb45acedb38dc2d65dd02" + integrity sha512-CA9hsySZVo9371qEHjHZtYxV2cFtVj5Wj/ZHi8ooEsrtm4vOnl9Y9HmyYWk9q+05d7K3rdoAE0j3MVEFVvtQtg== + browser-process-hrtime@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" @@ -7832,7 +9315,7 @@ browser-resolve@^1.11.3: dependencies: resolve "1.1.7" -browserify-aes@^1.0.0, browserify-aes@^1.0.4: +browserify-aes@^1.0.0, browserify-aes@^1.0.4, browserify-aes@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== @@ -7863,7 +9346,7 @@ browserify-des@^1.0.0: inherits "^2.0.1" safe-buffer "^5.1.2" -browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: +browserify-rsa@^4.0.0, browserify-rsa@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== @@ -7872,19 +9355,19 @@ browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: randombytes "^2.0.1" browserify-sign@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" - integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== + version "4.2.2" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.2.tgz#e78d4b69816d6e3dd1c747e64e9947f9ad79bc7e" + integrity sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg== dependencies: - bn.js "^5.1.1" - browserify-rsa "^4.0.1" + bn.js "^5.2.1" + browserify-rsa "^4.1.0" create-hash "^1.2.0" create-hmac "^1.1.7" - elliptic "^6.5.3" + elliptic "^6.5.4" inherits "^2.0.4" - parse-asn1 "^5.1.5" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" + parse-asn1 "^5.1.6" + readable-stream "^3.6.2" + safe-buffer "^5.2.1" browserify-zlib@^0.1.4: version "0.1.4" @@ -7893,22 +9376,15 @@ browserify-zlib@^0.1.4: dependencies: pako "~0.2.0" -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== - dependencies: - pako "~1.0.5" - -browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.21.3, browserslist@^4.21.5, browserslist@^4.6.6: - version "4.21.5" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7" - integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== +browserslist@^4.14.5, browserslist@^4.21.9, browserslist@^4.22.1, browserslist@^4.6.6: + version "4.22.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.1.tgz#ba91958d1a59b87dab6fed8dfbcb3da5e2e9c619" + integrity sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ== dependencies: - caniuse-lite "^1.0.30001449" - electron-to-chromium "^1.4.284" - node-releases "^2.0.8" - update-browserslist-db "^1.0.10" + caniuse-lite "^1.0.30001541" + electron-to-chromium "^1.4.535" + node-releases "^2.0.13" + update-browserslist-db "^1.0.13" bs-logger@0.x: version "0.2.6" @@ -7931,7 +9407,7 @@ bs58@^5.0.0: dependencies: base-x "^4.0.0" -bs58check@<3.0.0, bs58check@^2.1.1: +bs58check@<3.0.0, bs58check@^2.1.1, bs58check@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== @@ -7947,25 +9423,12 @@ bser@2.1.1: dependencies: node-int64 "^0.4.0" -buffer-alloc-unsafe@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" - integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== - -buffer-alloc@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" - integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== - dependencies: - buffer-alloc-unsafe "^1.1.0" - buffer-fill "^1.0.0" - -buffer-fill@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" - integrity sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ== +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== -buffer-from@1.x, buffer-from@^1.0.0, buffer-from@^1.1.1: +buffer-from@1.x, buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== @@ -7975,6 +9438,13 @@ buffer-xor@^1.0.3: resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== +buffer-xor@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-2.0.2.tgz#34f7c64f04c777a1f8aac5e661273bb9dd320289" + integrity sha512-eHslX0bin3GB+Lx2p7lEYRShRewuNZL3fUl4qlVJGGiwoPGftmt8JQgk2Y9Ji5/01TnVDo33E5b5O3vUB1HdqQ== + dependencies: + safe-buffer "^5.1.1" + buffer@6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.1.tgz#3cbea8c1463e5a0779e30b66d4c88c6ffa182ac2" @@ -7991,16 +9461,7 @@ buffer@6.0.3, buffer@^6.0.3, buffer@~6.0.3: base64-js "^1.3.1" ieee754 "^1.2.1" -buffer@^4.3.0: - version "4.9.2" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" - integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -buffer@^5.4.3, buffer@^5.5.0: +buffer@^5.5.0, buffer@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== @@ -8016,10 +9477,17 @@ buffer@~5.4.3: base64-js "^1.0.2" ieee754 "^1.1.4" -bufferutil@^4.0.1: - version "4.0.7" - resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.7.tgz#60c0d19ba2c992dd8273d3f73772ffc894c153ad" - integrity sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw== +bufferutil@4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.5.tgz#da9ea8166911cc276bf677b8aed2d02d31f59028" + integrity sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A== + dependencies: + node-gyp-build "^4.3.0" + +bufferutil@^4.0.1, bufferutil@^4.0.3: + version "4.0.8" + resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.8.tgz#1de6a71092d65d7766c4d8a522b261a6e787e8ea" + integrity sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw== dependencies: node-gyp-build "^4.3.0" @@ -8028,16 +9496,6 @@ builtin-modules@^3.1.0: resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ== - -bytes-iec@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/bytes-iec/-/bytes-iec-3.1.1.tgz#94cd36bf95c2c22a82002c247df8772d1d591083" - integrity sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA== - bytes@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" @@ -8049,9 +9507,9 @@ bytes@3.1.2: integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== c8@^7.6.0: - version "7.13.0" - resolved "https://registry.yarnpkg.com/c8/-/c8-7.13.0.tgz#a2a70a851278709df5a9247d62d7f3d4bcb5f2e4" - integrity sha512-/NL4hQTv1gBL6J6ei80zu3IiTrmePDKXKXOTLpHvcIWZTVYQlDhVWjjWvkhICylE8EwwnMVzDZugCvdx0/DIIA== + version "7.14.0" + resolved "https://registry.yarnpkg.com/c8/-/c8-7.14.0.tgz#f368184c73b125a80565e9ab2396ff0be4d732f3" + integrity sha512-i04rtkkcNcCf7zsQcSv/T9EbUn4RXQ6mropeMcjFOsQXQ0iGLAr/xT6TImQg4+U9hmNpN9XdvPkjUL1IzbgxJw== dependencies: "@bcoe/v8-coverage" "^0.2.3" "@istanbuljs/schema" "^0.1.3" @@ -8071,27 +9529,6 @@ cac@^6.7.14: resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.14.tgz#804e1e6f506ee363cb0e3ccbb09cad5dd9870959" integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== -cacache@^12.0.2: - version "12.0.4" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" - integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== - dependencies: - bluebird "^3.5.5" - chownr "^1.1.1" - figgy-pudding "^3.5.1" - glob "^7.1.4" - graceful-fs "^4.1.15" - infer-owner "^1.0.3" - lru-cache "^5.1.1" - mississippi "^3.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.3" - ssri "^6.0.1" - unique-filename "^1.1.1" - y18n "^4.0.0" - cacache@^15.0.5: version "15.3.0" resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" @@ -8137,9 +9574,9 @@ cacheable-lookup@^5.0.3: integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== cacheable-request@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.2.tgz#ea0d0b889364a25854757301ca12b2da77f91d27" - integrity sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew== + version "7.0.4" + resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.4.tgz#7a33ebf08613178b403635be7b899d3e69bbe817" + integrity sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg== dependencies: clone-response "^1.0.2" get-stream "^5.1.0" @@ -8149,25 +9586,26 @@ cacheable-request@^7.0.2: normalize-url "^6.0.1" responselike "^2.0.0" -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" +caip@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/caip/-/caip-1.1.0.tgz#0ccd5bf1bff822459389ccec0a8555712a30c374" + integrity sha512-yOO3Fu4ygyKYAdznuoaqschMKIZzcdgyMpBNtrIfrUhnOeaOWG+dh0c13wcOS6B/46IGGbncoyzJlio79jU7rw== -call-me-maybe@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.2.tgz#03f964f19522ba643b1b0693acb9152fe2074baa" - integrity sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ== +call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513" + integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== + dependencies: + function-bind "^1.1.2" + get-intrinsic "^1.2.1" + set-function-length "^1.1.1" callsites@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camel-case@^4.1.1: +camel-case@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== @@ -8175,19 +9613,6 @@ camel-case@^4.1.1: pascal-case "^3.1.2" tslib "^2.0.3" -camelcase-css@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" - integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== - -camelcase-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" - integrity sha512-bA/Z/DERHKqoEOrp+qeGKw1QlvEQkGZSc0XaY6VnTxZr+Kv1G5zFwttpjv8qxZ/sBPT4nthwZaAcsAZTJlSKXQ== - dependencies: - camelcase "^2.0.0" - map-obj "^1.0.0" - camelcase-keys@^6.2.2: version "6.2.2" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" @@ -8197,11 +9622,6 @@ camelcase-keys@^6.2.2: map-obj "^4.0.0" quick-lru "^4.0.1" -camelcase@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - integrity sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw== - camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" @@ -8217,10 +9637,10 @@ can-use-dom@^0.1.0: resolved "https://registry.yarnpkg.com/can-use-dom/-/can-use-dom-0.1.0.tgz#22cc4a34a0abc43950f42c6411024a3f6366b45a" integrity sha512-ceOhN1DL7Y4O6M0j9ICgmTYziV89WMd96SvSl0REd8PMgrY0B/WBOPoed5S1KUmJqXgUXh8gzSe6E3ae27upsQ== -caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001449: - version "1.0.30001474" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001474.tgz#13b6fe301a831fe666cce8ca4ef89352334133d5" - integrity sha512-iaIZ8gVrWfemh5DG3T9/YqarVZoYf0r188IjaGwx68j4Pf0SGY6CQkmJUIE+NZHkkecQGohzXmBGEwWDr9aM3Q== +caniuse-lite@^1.0.30001541: + version "1.0.30001565" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001565.tgz#a528b253c8a2d95d2b415e11d8b9942acc100c4f" + integrity sha512-xrE//a3O7TP0vaJ8ikzkD2c2NgcVUvsEe2IvFTntV4Yd1Z9FVzh+gW+enX96L0psrbaFMcVcH2l90xNuGDWc8w== capture-exit@^2.0.0: version "2.0.0" @@ -8229,7 +9649,7 @@ capture-exit@^2.0.0: dependencies: rsvp "^4.8.4" -case-sensitive-paths-webpack-plugin@^2.3.0: +case-sensitive-paths-webpack-plugin@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz#db64066c6422eed2e08cc14b986ca43796dbc6d4" integrity sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw== @@ -8239,12 +9659,30 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== -ccount@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" - integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== +catering@^2.0.0, catering@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/catering/-/catering-2.1.1.tgz#66acba06ed5ee28d5286133982a927de9a04b510" + integrity sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w== + +chai@^4.3.7: + version "4.3.10" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.10.tgz#d784cec635e3b7e2ffb66446a63b4e33bd390384" + integrity sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g== + 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.6" + pathval "^1.1.1" + type-detect "^4.0.8" + +chalk@5.3.0, chalk@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" + integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== -chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2: +chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -8269,11 +9707,6 @@ chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.2.0.tgz#249623b7d66869c673699fb66d65723e54dfcfb3" - integrity sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA== - character-entities-html4@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz#1f1adb940c971a4b22ba39ddca6b618dc6e56b2b" @@ -8319,26 +9752,29 @@ charenc@~0.0.1: resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" integrity sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA== -chokidar@^2.1.8: - version "2.1.8" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" - integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== +check-error@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.3.tgz#a6502e4312a7ee969f646e83bb3ddd56281bd694" + integrity sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^3.1.0" - inherits "^2.0.3" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^3.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.2.1" - upath "^1.1.1" + get-func-name "^2.0.2" + +chokidar@3.5.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" + integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.5.0" optionalDependencies: - fsevents "^1.2.7" + fsevents "~2.3.1" -chokidar@^3.4.1, chokidar@^3.4.2, chokidar@^3.5.1, chokidar@^3.5.3: +chokidar@^3.5.1, chokidar@^3.5.3: version "3.5.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== @@ -8363,7 +9799,7 @@ chownr@^2.0.0: resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== -chrome-trace-event@^1.0.2: +chrome-trace-event@^1.0.2, chrome-trace-event@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== @@ -8373,6 +9809,11 @@ ci-info@^2.0.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== +ci-info@^3.2.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== + cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" @@ -8381,6 +9822,13 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: inherits "^2.0.1" safe-buffer "^5.0.1" +citty@^0.1.3, citty@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/citty/-/citty-0.1.5.tgz#fe37ceae5dc764af75eb2fece99d2bf527ea4e50" + integrity sha512-AS7n5NSc0OQVMV9v6wt3ByujNIrne0/cTjiC2MYqhvao57VNfiuVksTSr2p17nVOhEr2KtqiAkGwHcgMC/qUuQ== + dependencies: + consola "^3.2.3" + class-utils@^0.3.5: version "0.3.6" resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" @@ -8391,10 +9839,10 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" -clean-css@^4.2.3: - version "4.2.4" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.4.tgz#733bf46eba4e607c6891ea57c24a989356831178" - integrity sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A== +clean-css@^5.2.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.3.2.tgz#70ecc7d4d4114921f5d298349ff86a31a9975224" + integrity sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww== dependencies: source-map "~0.6.0" @@ -8403,11 +9851,6 @@ clean-stack@^2.0.0: resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== -cli-boxes@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" - integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== - cli-cursor@3.1.0, cli-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" @@ -8422,6 +9865,13 @@ cli-cursor@^2.0.0: dependencies: restore-cursor "^2.0.0" +cli-cursor@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-4.0.0.tgz#3cecfe3734bf4fe02a8361cbdc0f6fe28c6a57ea" + integrity sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg== + dependencies: + restore-cursor "^4.0.0" + cli-spinners@2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.6.1.tgz#adc954ebe281c37a6319bfa401e6dd2488ffb70d" @@ -8433,9 +9883,9 @@ cli-spinners@^1.3.1: integrity sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg== cli-spinners@^2.2.0, cli-spinners@^2.5.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.7.0.tgz#f815fd30b5f9eaac02db604c7a231ed7cb2f797a" - integrity sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw== + version "2.9.2" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41" + integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== cli-table3@^0.6.1: version "0.6.3" @@ -8446,6 +9896,21 @@ cli-table3@^0.6.1: optionalDependencies: "@colors/colors" "1.5.0" +cli-table@0.3.6: + version "0.3.6" + resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.6.tgz#e9d6aa859c7fe636981fd3787378c2a20bce92fc" + integrity sha512-ZkNZbnZjKERTY5NwC2SeMeLeifSPq/pubeRoTpdr3WchLlnZg6hEgvHkK5zL7KNFdd9PmHN8lxrENUwI3cE8vQ== + dependencies: + colors "1.0.3" + +cli-truncate@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389" + integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA== + dependencies: + slice-ansi "^5.0.0" + string-width "^5.0.0" + cli-width@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-3.0.0.tgz#a2f48437a2caa9a22436e794bf071ec9e61cedf6" @@ -8460,14 +9925,14 @@ clipboard@^2.0.0: select "^1.1.2" tiny-emitter "^2.0.0" -cliui@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" - integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== +clipboardy@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-3.0.0.tgz#f3876247404d334c9ed01b6f269c11d09a5e3092" + integrity sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg== dependencies: - string-width "^3.1.0" - strip-ansi "^5.2.0" - wrap-ansi "^5.1.0" + arch "^2.2.0" + execa "^5.1.1" + is-wsl "^2.2.0" cliui@^6.0.0: version "6.0.0" @@ -8522,6 +9987,11 @@ clone@^2.1.1: resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w== +cluster-key-slot@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz#88ddaa46906e303b5de30d3153b7d9fe0a0c19ac" + integrity sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA== + co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -8532,20 +10002,10 @@ code-block-writer@^10.1.1: resolved "https://registry.yarnpkg.com/code-block-writer/-/code-block-writer-10.1.1.tgz#ad5684ed4bfb2b0783c8b131281ae84ee640a42f" integrity sha512-67ueh2IRGst/51p0n6FvPrnRjAGHY5F8xdjkgrYE7DDzpJe6qA07RYQ9VcoUeo5ATOjSOiWpSL3SWBRRbempMw== -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA== - -collapse-white-space@^1.0.2: - version "1.0.6" - resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287" - integrity sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ== - collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== + version "1.0.2" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" + integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== collection-visit@^1.0.0: version "1.0.0" @@ -8574,7 +10034,7 @@ color-name@1.1.3: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== -color-name@~1.1.4: +color-name@^1.1.4, color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== @@ -8584,6 +10044,16 @@ color-support@^1.1.2: resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== +colorette@^2.0.10, colorette@^2.0.20: + version "2.0.20" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== + +colors@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" + integrity sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw== + combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" @@ -8601,7 +10071,12 @@ comma-separated-tokens@^2.0.0: resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee" integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg== -command-line-args@^5.2.1: +command-exists@^1.2.8: + version "1.2.9" + resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69" + integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w== + +command-line-args@^5.1.1, command-line-args@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-5.2.1.tgz#c44c32e437a57d7c51157696893c5909e9cec42e" integrity sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg== @@ -8611,16 +10086,31 @@ command-line-args@^5.2.1: lodash.camelcase "^4.3.0" typical "^4.0.0" +command-line-usage@^6.1.0: + version "6.1.3" + resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-6.1.3.tgz#428fa5acde6a838779dfa30e44686f4b6761d957" + integrity sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw== + dependencies: + array-back "^4.0.2" + chalk "^2.4.2" + table-layout "^1.0.2" + typical "^5.2.0" + +commander@11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-11.0.0.tgz#43e19c25dbedc8256203538e8d7e9346877a6f67" + integrity sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ== + +commander@^10.0.0: + version "10.0.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" + integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== + commander@^2.19.0, commander@^2.20.0, commander@^2.20.3: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -commander@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== - commander@^6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" @@ -8631,6 +10121,16 @@ commander@^7.0.0, commander@^7.2.0: resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== +commander@^8.1.0, commander@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + +commander@^9.4.1: + version "9.5.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-9.5.0.tgz#bc08d1eb5cedf7ccb797a96199d41c7bc3e60d30" + integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ== + common-path-prefix@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0" @@ -8650,9 +10150,9 @@ compare-func@^2.0.0: dot-prop "^5.1.0" component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + version "1.3.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.1.tgz#ef1d5796f7d93f135ee6fb684340b26403c97d17" + integrity sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ== compressible@~2.0.16: version "2.0.18" @@ -8679,7 +10179,7 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== -concat-stream@^1.5.0: +concat-stream@^1.6.2: version "1.6.2" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== @@ -8704,12 +10204,12 @@ confusing-browser-globals@^1.0.9: resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== -console-browserify@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" - integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== +consola@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/consola/-/consola-3.2.3.tgz#0741857aa88cfa0d6fd53f1cff0375136e98502f" + integrity sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ== -console-control-strings@^1.0.0, console-control-strings@^1.1.0, console-control-strings@~1.1.0: +console-control-strings@^1.0.0, console-control-strings@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== @@ -8731,7 +10231,7 @@ content-type@~1.0.4: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== -conventional-changelog-angular@^5.0.13: +conventional-changelog-angular@^5.0.12, conventional-changelog-angular@^5.0.13: version "5.0.13" resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c" integrity sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA== @@ -8739,11 +10239,133 @@ conventional-changelog-angular@^5.0.13: compare-func "^2.0.0" q "^1.5.1" +conventional-changelog-atom@^2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz#a759ec61c22d1c1196925fca88fe3ae89fd7d8de" + integrity sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw== + dependencies: + q "^1.5.1" + +conventional-changelog-cli@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/conventional-changelog-cli/-/conventional-changelog-cli-2.2.2.tgz#9a7746cede92c6a8f27dc46692efaadfbed60daa" + integrity sha512-8grMV5Jo8S0kP3yoMeJxV2P5R6VJOqK72IiSV9t/4H5r/HiRqEBQ83bYGuz4Yzfdj4bjaAEhZN/FFbsFXr5bOA== + dependencies: + add-stream "^1.0.0" + conventional-changelog "^3.1.24" + lodash "^4.17.15" + meow "^8.0.0" + tempfile "^3.0.0" + +conventional-changelog-codemirror@^2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz#398e9530f08ce34ec4640af98eeaf3022eb1f7dc" + integrity sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw== + dependencies: + q "^1.5.1" + +conventional-changelog-conventionalcommits@^4.5.0: + version "4.6.3" + resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz#0765490f56424b46f6cb4db9135902d6e5a36dc2" + integrity sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g== + dependencies: + compare-func "^2.0.0" + lodash "^4.17.15" + q "^1.5.1" + +conventional-changelog-core@^4.2.1: + version "4.2.4" + resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz#e50d047e8ebacf63fac3dc67bf918177001e1e9f" + integrity sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg== + dependencies: + add-stream "^1.0.0" + conventional-changelog-writer "^5.0.0" + conventional-commits-parser "^3.2.0" + dateformat "^3.0.0" + get-pkg-repo "^4.0.0" + git-raw-commits "^2.0.8" + git-remote-origin-url "^2.0.0" + git-semver-tags "^4.1.1" + lodash "^4.17.15" + normalize-package-data "^3.0.0" + q "^1.5.1" + read-pkg "^3.0.0" + read-pkg-up "^3.0.0" + through2 "^4.0.0" + +conventional-changelog-ember@^2.0.9: + version "2.0.9" + resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz#619b37ec708be9e74a220f4dcf79212ae1c92962" + integrity sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A== + dependencies: + q "^1.5.1" + +conventional-changelog-eslint@^3.0.9: + version "3.0.9" + resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz#689bd0a470e02f7baafe21a495880deea18b7cdb" + integrity sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA== + dependencies: + q "^1.5.1" + +conventional-changelog-express@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz#420c9d92a347b72a91544750bffa9387665a6ee8" + integrity sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ== + dependencies: + q "^1.5.1" + +conventional-changelog-jquery@^3.0.11: + version "3.0.11" + resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz#d142207400f51c9e5bb588596598e24bba8994bf" + integrity sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw== + dependencies: + q "^1.5.1" + +conventional-changelog-jshint@^2.0.9: + version "2.0.9" + resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz#f2d7f23e6acd4927a238555d92c09b50fe3852ff" + integrity sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA== + dependencies: + compare-func "^2.0.0" + q "^1.5.1" + conventional-changelog-preset-loader@^2.3.4: version "2.3.4" resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz#14a855abbffd59027fd602581f1f34d9862ea44c" integrity sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g== +conventional-changelog-writer@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz#e0757072f045fe03d91da6343c843029e702f359" + integrity sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ== + dependencies: + conventional-commits-filter "^2.0.7" + dateformat "^3.0.0" + handlebars "^4.7.7" + json-stringify-safe "^5.0.1" + lodash "^4.17.15" + meow "^8.0.0" + semver "^6.0.0" + split "^1.0.0" + through2 "^4.0.0" + +conventional-changelog@^3.1.24: + version "3.1.25" + resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-3.1.25.tgz#3e227a37d15684f5aa1fb52222a6e9e2536ccaff" + integrity sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ== + dependencies: + conventional-changelog-angular "^5.0.12" + conventional-changelog-atom "^2.0.8" + conventional-changelog-codemirror "^2.0.8" + conventional-changelog-conventionalcommits "^4.5.0" + conventional-changelog-core "^4.2.1" + conventional-changelog-ember "^2.0.9" + conventional-changelog-eslint "^3.0.9" + conventional-changelog-express "^2.0.6" + conventional-changelog-jquery "^3.0.11" + conventional-changelog-jshint "^2.0.9" + conventional-changelog-preset-loader "^2.3.4" + conventional-commits-filter@^2.0.7: version "2.0.7" resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz#f8d9b4f182fce00c9af7139da49365b136c8a0b3" @@ -8752,7 +10374,7 @@ conventional-commits-filter@^2.0.7: lodash.ismatch "^4.4.0" modify-values "^1.0.0" -conventional-commits-parser@^3.2.0: +conventional-commits-parser@^3.2.0, conventional-commits-parser@^3.2.4: version "3.2.4" resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz#a7d3b77758a202a9b2293d2112a8d8052c740972" integrity sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q== @@ -8783,11 +10405,21 @@ convert-hrtime@^3.0.0: resolved "https://registry.yarnpkg.com/convert-hrtime/-/convert-hrtime-3.0.0.tgz#62c7593f5809ca10be8da858a6d2f702bcda00aa" integrity sha512-7V+KqSvMiHp8yWDuwfww06XleMWVVB9b9tURBx+G7UTADuo5hYPuowKloz4OzOqbPezxgo+fdQ1522WzPG4OeA== -convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: +convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.6.0: version "1.9.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + +cookie-es@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/cookie-es/-/cookie-es-1.0.0.tgz#4759684af168dfc54365b2c2dda0a8d7ee1e4865" + integrity sha512-mWYvfOLrfEc996hlKcdABeIiPHUPC6DM2QYZdGGOvhOTbA3tjm2eBwqlJpoFdjC89NI4Qt6h0Pu06Mp+1Pj5OQ== + cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" @@ -8803,51 +10435,39 @@ cookie@^0.4.1: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== -copy-concurrently@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== - dependencies: - aproba "^1.1.1" - fs-write-stream-atomic "^1.0.8" - iferr "^0.1.5" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.0" - copy-descriptor@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== -copy-to-clipboard@^3.3.1, copy-to-clipboard@^3.3.3: +copy-to-clipboard@^3.3.3: version "3.3.3" resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz#55ac43a1db8ae639a4bd99511c148cdd1b83a1b0" integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA== dependencies: toggle-selection "^1.0.6" -core-js-compat@^3.25.1, core-js-compat@^3.8.1: - version "3.30.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.30.0.tgz#99aa2789f6ed2debfa1df3232784126ee97f4d80" - integrity sha512-P5A2h/9mRYZFIAP+5Ab8ns6083IyVpSclU74UNvbGVQ8VM7n3n3/g2yF3AkKQ9NXz2O+ioxLbEWKnDtgsFamhg== +core-js-compat@^3.31.0, core-js-compat@^3.33.1: + version "3.33.3" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.33.3.tgz#ec678b772c5a2d8a7c60a91c3a81869aa704ae01" + integrity sha512-cNzGqFsh3Ot+529GIXacjTJ7kegdt5fPXxCBVS1G0iaZpuo/tBz399ymceLJveQhFFZ8qThHiP3fzuoQjKN2ow== dependencies: - browserslist "^4.21.5" + browserslist "^4.22.1" -core-js-pure@^3.23.3: - version "3.30.0" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.30.0.tgz#41b6c42e5f363bd53d79999bd35093b17e42e1bf" - integrity sha512-+2KbMFGeBU0ln/csoPqTe0i/yfHbrd2EUhNMObsGtXMKS/RTtlkYyi+/3twLcevbgNR0yM/r0Psa3TEoQRpFMQ== +core-js-pure@^3.0.1, core-js-pure@^3.23.3: + version "3.33.3" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.33.3.tgz#cbf9180ac4c4653823d784862bfb5c77eac0bf98" + integrity sha512-taJ00IDOP+XYQEA2dAe4ESkmHt1fL8wzYDo3mRWQey8uO9UojlBFMneA65kMyxfYP7106c6LzWaq7/haDT6BCQ== core-js@^1.0.0: version "1.2.7" resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" integrity sha512-ZiPp9pZlgxpWRu0M+YWbm6+aQ84XEfH1JRXvfOc/fILWI0VKhLC2LX13X1NYq4fULzLMq7Hfh43CSo2/aIaUPA== -core-js@^3.0.1, core-js@^3.0.4, core-js@^3.6.5, core-js@^3.8.2: - version "3.30.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.30.0.tgz#64ac6f83bc7a49fd42807327051701d4b1478dea" - integrity sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg== +core-js@^3.0.1: + version "3.33.3" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.33.3.tgz#3c644a323f0f533a0d360e9191e37f7fc059088d" + integrity sha512-lo0kOocUlLKmm6kv/FswQL8zbkH7mVsLJ/FULClOhv8WRVmKLVcs6XPNQAzstfeJTCHMyButEwG+z1kHxHoDZw== core-util-is@1.0.2: version "1.0.2" @@ -8881,6 +10501,16 @@ cosmiconfig@^7.0.0, cosmiconfig@^7.0.1: path-type "^4.0.0" yaml "^1.10.0" +cosmiconfig@^8.0.0, cosmiconfig@^8.1.3: + version "8.3.6" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3" + integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== + dependencies: + import-fresh "^3.3.0" + js-yaml "^4.1.0" + parse-json "^5.2.0" + path-type "^4.0.0" + cosmjs-types@^0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/cosmjs-types/-/cosmjs-types-0.5.2.tgz#2d42b354946f330dfb5c90a87fdc2a36f97b965d" @@ -8889,30 +10519,26 @@ cosmjs-types@^0.5.2: long "^4.0.0" protobufjs "~6.11.2" -cp-file@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/cp-file/-/cp-file-7.0.0.tgz#b9454cfd07fe3b974ab9ea0e5f29655791a9b8cd" - integrity sha512-0Cbj7gyvFVApzpK/uhCtQ/9kE9UnYpxMzaq5nQQC/Dh4iaj5fxp7iEFIullrYwzj8nf0qnsI1Qsx34hAeAebvw== +cosmjs-types@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/cosmjs-types/-/cosmjs-types-0.8.0.tgz#2ed78f3e990f770229726f95f3ef5bf9e2b6859b" + integrity sha512-Q2Mj95Fl0PYMWEhA2LuGEIhipF7mQwd9gTQ85DdP9jjjopeoGaDxvmPa5nakNzsq7FnO1DMTatXTAx6bxMH7Lg== dependencies: - graceful-fs "^4.1.2" - make-dir "^3.0.0" - nested-error-stacks "^2.0.0" - p-event "^4.1.0" + long "^4.0.0" + protobufjs "~6.11.2" -cpy@^8.1.2: - version "8.1.2" - resolved "https://registry.yarnpkg.com/cpy/-/cpy-8.1.2.tgz#e339ea54797ad23f8e3919a5cffd37bfc3f25935" - integrity sha512-dmC4mUesv0OYH2kNFEidtf/skUwv4zePmGeepjyyJ0qTo5+8KhA1o99oIAwVVLzQMAeDJml74d6wPPKb6EZUTg== - dependencies: - arrify "^2.0.1" - cp-file "^7.0.0" - globby "^9.2.0" - has-glob "^1.0.0" - junk "^3.1.0" - nested-error-stacks "^2.1.0" - p-all "^2.1.0" - p-filter "^2.1.0" - p-map "^3.0.0" +cosmos-wallet@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/cosmos-wallet/-/cosmos-wallet-1.2.0.tgz#1243066fe933cf5482de1aec0b96169cebe867c6" + integrity sha512-lMEpNhjN6FHU6c8l/lYi1hWU/74bOlTmo3pz0mwVpCHjNSe5u7sZCO7j0dndd3oV0tM8tj/u3eJa4NgZxG9a0Q== + dependencies: + "@cosmjs/amino" "^0.25.4" + "@cosmjs/proto-signing" "^0.25.4" + +crc-32@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" + integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== create-ecdh@^4.0.0: version "4.0.4" @@ -8958,13 +10584,6 @@ create-require@^1.1.0: resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== -cross-fetch@3.1.5, cross-fetch@^3.1.4: - version "3.1.5" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" - integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== - dependencies: - node-fetch "2.6.7" - cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" @@ -8976,7 +10595,7 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.0, cross-spawn@^7.0.3: +cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -8990,7 +10609,7 @@ crypt@~0.0.1: resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" integrity sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow== -crypto-browserify@^3.11.0, crypto-browserify@^3.12.0: +crypto-browserify@^3.12.0: version "3.12.0" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== @@ -9007,34 +10626,29 @@ crypto-browserify@^3.11.0, crypto-browserify@^3.12.0: randombytes "^2.0.0" randomfill "^1.0.3" -crypto-js@^3.1.9-1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-3.3.0.tgz#846dd1cce2f68aacfa156c8578f926a609b7976b" - integrity sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q== - crypto-js@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.1.1.tgz#9e485bcf03521041bd85844786b83fb7619736cf" - integrity sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw== + version "4.2.0" + resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.2.0.tgz#4d931639ecdfd12ff80e8186dba6af2c2e856631" + integrity sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q== -css-loader@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.6.0.tgz#2e4b2c7e6e2d27f8c8f28f61bffcd2e6c91ef645" - integrity sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ== +crypto-random-string@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" + integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== + +css-loader@^6.7.1: + version "6.8.1" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.8.1.tgz#0f8f52699f60f5e679eab4ec0fcd68b8e8a50a88" + integrity sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g== dependencies: - camelcase "^5.3.1" - cssesc "^3.0.0" - icss-utils "^4.1.1" - loader-utils "^1.2.3" - normalize-path "^3.0.0" - postcss "^7.0.32" - postcss-modules-extract-imports "^2.0.0" - postcss-modules-local-by-default "^3.0.2" - postcss-modules-scope "^2.2.0" - postcss-modules-values "^3.0.0" - postcss-value-parser "^4.1.0" - schema-utils "^2.7.0" - semver "^6.3.0" + icss-utils "^5.1.0" + postcss "^8.4.21" + postcss-modules-extract-imports "^3.0.0" + postcss-modules-local-by-default "^4.0.3" + postcss-modules-scope "^3.0.0" + postcss-modules-values "^4.0.0" + postcss-value-parser "^4.2.0" + semver "^7.3.8" css-select@^4.1.3: version "4.3.0" @@ -9047,6 +10661,17 @@ css-select@^4.1.3: domutils "^2.8.0" nth-check "^2.0.1" +css-select@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6" + integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== + dependencies: + boolbase "^1.0.0" + css-what "^6.1.0" + domhandler "^5.0.2" + domutils "^3.0.1" + nth-check "^2.0.1" + css-tree@^1.1.2, css-tree@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" @@ -9055,12 +10680,23 @@ css-tree@^1.1.2, css-tree@^1.1.3: mdn-data "2.0.14" source-map "^0.6.1" -css-what@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" - integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw== +css-tree@^2.2.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20" + integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== + dependencies: + mdn-data "2.0.30" + source-map-js "^1.0.1" + +css-tree@~2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.2.1.tgz#36115d382d60afd271e377f9c5f67d02bd48c032" + integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA== + dependencies: + mdn-data "2.0.28" + source-map-js "^1.0.1" -css-what@^6.0.1: +css-what@^6.0.1, css-what@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== @@ -9070,6 +10706,13 @@ cssesc@^3.0.0: resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== +csso@5.0.5: + version "5.0.5" + resolved "https://registry.yarnpkg.com/csso/-/csso-5.0.5.tgz#f9b7fe6cc6ac0b7d90781bb16d5e9874303e2ca6" + integrity sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ== + dependencies: + css-tree "~2.2.0" + csso@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" @@ -9104,23 +10747,11 @@ csstype@^3.0.2, csstype@^3.0.7: resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== -currently-unhandled@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" - integrity sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng== - dependencies: - array-find-index "^1.0.1" - curve25519-js@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/curve25519-js/-/curve25519-js-0.0.4.tgz#e6ad967e8cd284590d657bbfc90d8b50e49ba060" integrity sha512-axn2UMEnkhyDUPWOwVKBMVIzSQy2ejH2xRGy1wq81dqRwApXfIzfbE3hIX0ZRFBIihf/KDqK158DLwESu4AK1w== -cyclist@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" - integrity sha512-NJGVKPS81XejHcLhaLJS7plab0fK3slPh11mESeeDq2W4ZI5kUKK/LRRdVDvjJseojbPB7ZwjnyOybg3Igea/A== - damerau-levenshtein@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" @@ -9138,6 +10769,11 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" +dashify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dashify/-/dashify-2.0.0.tgz#fff270ca2868ca427fee571de35691d6e437a648" + integrity sha512-hpA5C/YrPjucXypHPPc0oJ1l9Hf6wWbiOL7Ik42cxnsUOhWiCB/fylKbKqqJalW9FgkNQCw16YO8uW9Hs0Iy1A== + data-uri-to-buffer@3: version "3.0.1" resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz#594b8973938c5bc2c33046535785341abc4f3636" @@ -9152,41 +10788,46 @@ data-urls@^1.1.0: whatwg-mimetype "^2.2.0" whatwg-url "^7.0.0" +date-fns@^2.16.1, date-fns@^2.29.3: + version "2.30.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz#f367e644839ff57894ec6ac480de40cae4b0f4d0" + integrity sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw== + dependencies: + "@babel/runtime" "^7.21.0" + +dateformat@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" + integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== + dayjs@^1.11.7: - version "1.11.7" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.7.tgz#4b296922642f70999544d1144a2c25730fce63e2" - integrity sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ== + version "1.11.10" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0" + integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ== deasync@^0.1.0: - version "0.1.28" - resolved "https://registry.yarnpkg.com/deasync/-/deasync-0.1.28.tgz#9b447b79b3f822432f0ab6a8614c0062808b5ad2" - integrity sha512-QqLF6inIDwiATrfROIyQtwOQxjZuek13WRYZ7donU5wJPLoP67MnYxA6QtqdvdBy2mMqv5m3UefBVdJjvevOYg== + version "0.1.29" + resolved "https://registry.yarnpkg.com/deasync/-/deasync-0.1.29.tgz#8bbbf9d0b235c561b36edd440b6272f1de6c572c" + integrity sha512-EBtfUhVX23CE9GR6m+F8WPeImEE4hR/FW9RkK0PMl9V1t283s0elqsTD8EZjaKX28SY1BW2rYfCgNsAYdpamUw== dependencies: bindings "^1.5.0" node-addon-api "^1.7.1" -debug@2.6.9, debug@^2.2.0, debug@^2.3.3: +debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" -debug@4, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.4: +debug@4, debug@4.3.4, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: ms "2.1.2" -debug@=3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - dependencies: - ms "2.0.0" - -debug@^3.0.0, debug@^3.2.7: +debug@^3.1.0, debug@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== @@ -9201,11 +10842,16 @@ decamelize-keys@^1.1.0: decamelize "^1.1.0" map-obj "^1.0.0" -decamelize@^1.1.0, decamelize@^1.1.2, decamelize@^1.2.0: +decamelize@^1.1.0, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== +decimal.js@^10.2.1: + version "10.4.3" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" + integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== + decode-named-character-reference@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz#daabac9690874c394c81e4162a0304b35d824f0e" @@ -9213,18 +10859,11 @@ decode-named-character-reference@^1.0.0: dependencies: character-entities "^2.0.0" -decode-uri-component@^0.2.0: +decode-uri-component@^0.2.0, decode-uri-component@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== -decompress-response@^4.2.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-4.2.1.tgz#414023cc7a302da25ce2ec82d0d5238ccafd8986" - integrity sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw== - dependencies: - mimic-response "^2.0.0" - decompress-response@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" @@ -9237,47 +10876,31 @@ dedent@^0.7.0: resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== -deep-equal@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" - integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== +deep-eql@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.3.tgz#7c7775513092f7df98d8df9996dd085eb668cc6d" + integrity sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== dependencies: - is-arguments "^1.0.4" - is-date-object "^1.0.1" - is-regex "^1.0.4" - object-is "^1.0.1" - object-keys "^1.1.1" - regexp.prototype.flags "^1.2.0" + type-detect "^4.0.0" -deep-equal@^2.0.5: - version "2.2.0" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.0.tgz#5caeace9c781028b9ff459f33b779346637c43e6" - integrity sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw== +deep-equal@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.2.tgz#78a561b7830eef3134c7f6f3a3d6af272a678761" + integrity sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg== dependencies: - call-bind "^1.0.2" - es-get-iterator "^1.1.2" - get-intrinsic "^1.1.3" is-arguments "^1.1.1" - is-array-buffer "^3.0.1" is-date-object "^1.0.5" is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - isarray "^2.0.5" object-is "^1.1.5" object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.4.3" - side-channel "^1.0.4" - which-boxed-primitive "^1.0.2" - which-collection "^1.0.1" - which-typed-array "^1.1.9" + regexp.prototype.flags "^1.5.1" -deep-extend@^0.6.0: +deep-extend@~0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== -deep-is@~0.1.3: +deep-is@^0.1.3, deep-is@~0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== @@ -9287,19 +10910,18 @@ deep-object-diff@^1.1.0, deep-object-diff@^1.1.9: resolved "https://registry.yarnpkg.com/deep-object-diff/-/deep-object-diff-1.1.9.tgz#6df7ef035ad6a0caa44479c536ed7b02570f4595" integrity sha512-Rn+RuwkmkDwCi2/oXOFS9Gsr5lJZu/yTGpK7wAaAIE75CC+LCGEZHpY6VQJa/RoJcrmaA/docWJZvYohlNkWPA== -deepmerge@^4.2.2: +deepmerge@^4.2.2, deepmerge@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== -default-browser-id@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/default-browser-id/-/default-browser-id-1.0.4.tgz#e59d09a5d157b828b876c26816e61c3d2a2c203a" - integrity sha512-qPy925qewwul9Hifs+3sx1ZYn14obHxpkX+mPD369w4Rzg+YkJBgi3SOvwUq81nWSjqGUegIgEPwD8u+HUnxlw== +default-browser-id@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/default-browser-id/-/default-browser-id-3.0.0.tgz#bee7bbbef1f4e75d31f98f4d3f1556a14cea790c" + integrity sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA== dependencies: - bplist-parser "^0.1.0" - meow "^3.1.0" - untildify "^2.0.0" + bplist-parser "^0.2.0" + untildify "^4.0.0" defaults@^1.0.3: version "1.0.4" @@ -9313,16 +10935,34 @@ defer-to-connect@^2.0.0: resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== +deferred-leveldown@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-5.3.0.tgz#27a997ad95408b61161aa69bd489b86c71b78058" + integrity sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw== + dependencies: + abstract-leveldown "~6.2.1" + inherits "^2.0.3" + +define-data-property@^1.0.1, define-data-property@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3" + integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== + dependencies: + get-intrinsic "^1.2.1" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" + define-lazy-prop@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== -define-properties@^1.1.2, define-properties@^1.1.3, define-properties@^1.1.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" - integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== +define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0, define-properties@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" + integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== dependencies: + define-data-property "^1.0.1" has-property-descriptors "^1.0.0" object-keys "^1.1.1" @@ -9348,15 +10988,34 @@ define-property@^2.0.2: is-descriptor "^1.0.2" isobject "^3.0.1" +defu@^6.1.2, defu@^6.1.3: + version "6.1.3" + resolved "https://registry.yarnpkg.com/defu/-/defu-6.1.3.tgz#6d7f56bc61668e844f9f593ace66fd67ef1205fd" + integrity sha512-Vy2wmG3NTkmHNg/kzpuvHhkqeIx3ODWqasgCRbKtbXEN0G+HpEEv9BtJLp7ZG1CZloFaC41Ah3ZFbq7aqCqMeQ== + degenerator@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/degenerator/-/degenerator-3.0.3.tgz#a081ac30052ca84e1d1c6e86c972ae8dabbc4079" - integrity sha512-FTq/qYMeBJACu1gHcXJvzsRBTK6aw5zWCYbEnIOyamOt5UJufWJRQ5XfDb6OuayfJWvmWAHgcZyt43vm/hbj7g== + version "3.0.4" + resolved "https://registry.yarnpkg.com/degenerator/-/degenerator-3.0.4.tgz#07ccf95bc11044a37a6efc2f66029fb636e31f24" + integrity sha512-Z66uPeBfHZAHVmue3HPfyKu2Q0rC2cRxbTOsvmU/po5fvvcx27W4mIu9n0PUlQih4oUYvcG1BsbtVv8x7KDOSw== dependencies: ast-types "^0.13.2" escodegen "^1.8.1" esprima "^4.0.0" - vm2 "^3.9.11" + vm2 "^3.9.17" + +del@^6.0.0: + version "6.1.1" + resolved "https://registry.yarnpkg.com/del/-/del-6.1.1.tgz#3b70314f1ec0aa325c6b14eb36b95786671edb7a" + integrity sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg== + dependencies: + globby "^11.0.1" + graceful-fs "^4.2.4" + is-glob "^4.0.1" + is-path-cwd "^2.2.0" + is-path-inside "^3.0.2" + p-map "^4.0.0" + rimraf "^3.0.2" + slash "^3.0.0" delay@^5.0.0: version "5.0.0" @@ -9378,42 +11037,50 @@ delegates@^1.0.0: resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== -depd@2.0.0, depd@^2.0.0: +denque@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/denque/-/denque-2.1.0.tgz#e93e1a6569fb5e66f16a3c2a2964617d349d6ab1" + integrity sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw== + +depd@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== -dequal@^2.0.0: +dequal@^2.0.0, dequal@^2.0.2, dequal@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== des.js@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" - integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== + version "1.1.0" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.1.0.tgz#1d37f5766f3bbff4ee9638e871a8768c173b81da" + integrity sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg== dependencies: inherits "^2.0.1" minimalistic-assert "^1.0.0" +destr@^2.0.1, destr@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/destr/-/destr-2.0.2.tgz#8d3c0ee4ec0a76df54bc8b819bca215592a8c218" + integrity sha512-65AlobnZMiCET00KaFFjUefxDX0khFA/E4myqZ7a6Sq1yZtR8+FVIvilVX66vF2uobSumxooYZChiRPCKNqhmg== + destroy@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== -detab@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/detab/-/detab-2.0.4.tgz#b927892069aff405fbb9a186fe97a44a92a94b43" - integrity sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g== - dependencies: - repeat-string "^1.5.4" - detect-browser@5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.2.0.tgz#c9cd5afa96a6a19fda0bbe9e9be48a6b6e1e9c97" integrity sha512-tr7XntDAu50BVENgQfajMLzacmSe34D+qZc4zjnniz0ZVuw/TZcLcyxHQjYpJTM36sGEkZZlYLnIM1hH7alTMA== -detect-indent@^6.0.0: +detect-browser@5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.3.0.tgz#9705ef2bddf46072d0f7265a1fe300e36fe7ceca" + integrity sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w== + +detect-indent@^6.0.0, detect-indent@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== @@ -9423,10 +11090,10 @@ detect-libc@^1.0.3: resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== -detect-libc@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.1.tgz#e1897aa88fa6ad197862937fbc0441ef352ee0cd" - integrity sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w== +detect-libc@^2.0.0, detect-libc@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.2.tgz#8ccf2ba9315350e1241b88d0ac3b0e1fbd99605d" + integrity sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== detect-newline@3.1.0, detect-newline@^3.0.0: version "3.1.0" @@ -9458,6 +11125,11 @@ diff-sequences@^25.2.6: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd" integrity sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg== +diff-sequences@^29.4.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" + integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== + diff@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" @@ -9478,16 +11150,9 @@ diffie-hellman@^5.0.0: randombytes "^2.0.0" dijkstrajs@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.2.tgz#2e48c0d3b825462afe75ab4ad5e829c8ece36257" - integrity sha512-QV6PMaHTCNmKSeP6QoXhVTw9snc9VD8MulTT0Bd99Pacp4SS1cjcrYPgBPmibqKVtMJJfqC6XvOXgPMEEPH/fg== - -dir-glob@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" - integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== - dependencies: - path-type "^3.0.0" + version "1.0.3" + resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz#4c8dbdea1f0f6478bff94d9c49c784d623e4fc23" + integrity sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA== dir-glob@^3.0.1: version "3.0.1" @@ -9526,17 +11191,21 @@ dom-serializer@^1.0.1: domhandler "^4.2.0" entities "^2.0.0" +dom-serializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" + integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.2" + entities "^4.2.0" + dom-walk@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== -domain-browser@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" - integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== - -domelementtype@^2.0.1, domelementtype@^2.2.0: +domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== @@ -9555,6 +11224,13 @@ domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.2.2, domhandler@^4.3.1: dependencies: domelementtype "^2.2.0" +domhandler@^5.0.2, domhandler@^5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" + integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== + dependencies: + domelementtype "^2.3.0" + domutils@^2.5.2, domutils@^2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" @@ -9564,6 +11240,15 @@ domutils@^2.5.2, domutils@^2.8.0: domelementtype "^2.2.0" domhandler "^4.2.0" +domutils@^3.0.1: + version "3.1.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.1.0.tgz#c47f551278d3dc4b0b1ab8cbb42d751a6f0d824e" + integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA== + dependencies: + dom-serializer "^2.0.0" + domelementtype "^2.3.0" + domhandler "^5.0.3" + dot-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" @@ -9579,26 +11264,26 @@ dot-prop@^5.1.0: dependencies: is-obj "^2.0.0" +dotenv-expand@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-10.0.0.tgz#12605d00fb0af6d0a592e6558585784032e4ef37" + integrity sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A== + dotenv-expand@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== dotenv@^16.0.0: - version "16.0.3" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.3.tgz#115aec42bac5053db3c456db30cc243a5a836a07" - integrity sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ== + version "16.3.1" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.1.tgz#369034de7d7e5b120972693352a3bf112172cc3e" + integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ== dotenv@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-7.0.0.tgz#a2be3cd52736673206e8a85fb5210eea29628e7c" integrity sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g== -dotenv@^8.0.0: - version "8.6.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" - integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== - dotenv@~10.0.0: version "10.0.0" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" @@ -9609,7 +11294,7 @@ duplexer@^0.1.1: resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== -duplexify@^3.4.2, duplexify@^3.5.0, duplexify@^3.5.1, duplexify@^3.6.0: +duplexify@^3.5.0, duplexify@^3.6.0: version "3.7.1" resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== @@ -9619,7 +11304,7 @@ duplexify@^3.4.2, duplexify@^3.5.0, duplexify@^3.5.1, duplexify@^3.6.0: readable-stream "^2.0.0" stream-shift "^1.0.0" -duplexify@^4.1.1: +duplexify@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-4.1.2.tgz#18b4f8d28289132fa0b9573c898d9f903f81c7b0" integrity sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw== @@ -9629,6 +11314,11 @@ duplexify@^4.1.1: readable-stream "^3.1.1" stream-shift "^1.0.0" +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + ecc-jsbn@~0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" @@ -9637,15 +11327,15 @@ ecc-jsbn@~0.1.1: jsbn "~0.1.0" safer-buffer "^2.1.0" -edge-runtime@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/edge-runtime/-/edge-runtime-2.0.0.tgz#4739e1c8f4237db8ad8a16db5f0e28cc6de16aab" - integrity sha512-TmRJhKi4mlM1e+zgF4CSzVU5gJ1sWj7ia+XhVgZ8PYyYUxk4PPjJU8qScpSLsAbdSxoBghLxdMuwuCzdYLd1sQ== +edge-runtime@2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/edge-runtime/-/edge-runtime-2.1.4.tgz#aea4e103897f451f98a9094df26b07c4d1eb75b3" + integrity sha512-SertKByzAmjm+MkLbFl1q0ko+/90V24dhZgQM8fcdguQaDYVEVtb6okEBGeg8IQgL1/JUP8oSlUIxSI/bvsVRQ== dependencies: - "@edge-runtime/format" "1.1.0" - "@edge-runtime/vm" "2.0.0" + "@edge-runtime/format" "2.0.1" + "@edge-runtime/vm" "2.1.2" + async-listen "2.0.3" exit-hook "2.2.1" - http-status "1.5.3" mri "1.2.0" picocolors "1.0.0" pretty-bytes "5.6.0" @@ -9657,26 +11347,19 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -eip1193-provider@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/eip1193-provider/-/eip1193-provider-1.0.1.tgz#420d29cf4f6c443e3f32e718fb16fafb250637c3" - integrity sha512-kSuqwQ26d7CzuS/t3yRXo2Su2cVH0QfvyKbr2H7Be7O5YDyIq4hQGCNTo5wRdP07bt+E2R/8nPCzey4ojBHf7g== - dependencies: - "@json-rpc-tools/provider" "^1.5.5" - -ejs@^3.1.7: +ejs@^3.1.7, ejs@^3.1.8: version "3.1.9" resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.9.tgz#03c9e8777fe12686a9effcef22303ca3d8eeb361" integrity sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ== dependencies: jake "^10.8.5" -electron-to-chromium@^1.4.284: - version "1.4.349" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.349.tgz#c65a4378cea805accfe6f585730ce2a3afe07f1d" - integrity sha512-34LBfVDiL6byWorSmQOPwq4gD5wpN8Mhh5yPGQr67FbcxsfUS0BDJP9y6RykSgeWVUfSkN/2dChywnsrmKVyUg== +electron-to-chromium@^1.4.535: + version "1.4.594" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.594.tgz#f69f207fba80735a44a988df42f3f439115d0515" + integrity sha512-xT1HVAu5xFn7bDfkjGQi9dNpMqGchUkebwf1GL7cZN32NSwwlHRPMSDJ1KN6HkS0bWUtndbSQZqvpQftKG2uFQ== -elliptic@6.5.4, elliptic@^6.0.0, elliptic@^6.4.0, elliptic@^6.5.3, elliptic@^6.5.4: +elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.5.2, elliptic@^6.5.3, elliptic@^6.5.4: version "6.5.4" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== @@ -9689,6 +11372,11 @@ elliptic@6.5.4, elliptic@^6.0.0, elliptic@^6.4.0, elliptic@^6.5.3, elliptic@^6.5 minimalistic-assert "^1.0.1" minimalistic-crypto-utils "^1.0.1" +emittery@0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.0.tgz#bb373c660a9d421bb44706ec4967ed50c02a8026" + integrity sha512-AGvFfs+d0JKCJQ4o01ASQLGPmSCxgfU9RFXvzPvZdjKK8oscynksuJhWrSTSw7j7Ep/sZct5b5ZhYCi8S/t0HQ== + emoji-regex@^7.0.1: version "7.0.3" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" @@ -9718,11 +11406,26 @@ emotion-theming@^10.0.19: "@emotion/weak-memoize" "0.2.5" hoist-non-react-statics "^3.3.0" +encode-utf8@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/encode-utf8/-/encode-utf8-1.0.3.tgz#f30fdd31da07fb596f281beb2f6b027851994cda" + integrity sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw== + encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== +encoding-down@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/encoding-down/-/encoding-down-6.3.0.tgz#b1c4eb0e1728c146ecaef8e32963c549e76d082b" + integrity sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw== + dependencies: + abstract-leveldown "^6.2.1" + inherits "^2.0.3" + level-codec "^9.0.0" + level-errors "^2.0.0" + encoding@^0.1.11: version "0.1.13" resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" @@ -9746,24 +11449,23 @@ endent@^2.0.1: fast-json-parse "^1.0.3" objectorarray "^1.0.5" -enhanced-resolve@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" - integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.5.0" - tapable "^1.0.0" - -enhanced-resolve@^5.10.0: - version "5.12.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz#300e1c90228f5b570c4d35babf263f6da7155634" - integrity sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ== +enhanced-resolve@^5.15.0: + version "5.15.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35" + integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" -enquirer@^2.3.4, enquirer@~2.3.6: +enquirer@^2.3.4: + version "2.4.1" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.4.1.tgz#93334b3fbd74fc7097b224ab4a8fb7e40bf4ae56" + integrity sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ== + dependencies: + ansi-colors "^4.1.1" + strip-ansi "^6.0.1" + +enquirer@~2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== @@ -9780,14 +11482,24 @@ entities@^3.0.1: resolved "https://registry.yarnpkg.com/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4" integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== -errno@^0.1.3, errno@~0.1.7: +entities@^4.2.0, entities@^4.4.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== + +envinfo@^7.7.3: + version "7.11.0" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.11.0.tgz#c3793f44284a55ff8c82faf1ffd91bc6478ea01f" + integrity sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg== + +errno@~0.1.1: version "0.1.8" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== dependencies: prr "~1.0.1" -error-ex@^1.2.0, error-ex@^1.3.1: +error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== @@ -9801,25 +11513,26 @@ error-stack-parser@^2.0.6: dependencies: stackframe "^1.3.4" -es-abstract@^1.19.0, es-abstract@^1.20.4: - version "1.21.2" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.2.tgz#a56b9695322c8a185dc25975aa3b8ec31d0e7eff" - integrity sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg== +es-abstract@^1.22.1: + version "1.22.3" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.3.tgz#48e79f5573198de6dee3589195727f4f74bc4f32" + integrity sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA== dependencies: array-buffer-byte-length "^1.0.0" + arraybuffer.prototype.slice "^1.0.2" available-typed-arrays "^1.0.5" - call-bind "^1.0.2" + call-bind "^1.0.5" es-set-tostringtag "^2.0.1" es-to-primitive "^1.2.1" - function.prototype.name "^1.1.5" - get-intrinsic "^1.2.0" + function.prototype.name "^1.1.6" + get-intrinsic "^1.2.2" get-symbol-description "^1.0.0" globalthis "^1.0.3" gopd "^1.0.1" - has "^1.0.3" has-property-descriptors "^1.0.0" has-proto "^1.0.1" has-symbols "^1.0.3" + hasown "^2.0.0" internal-slot "^1.0.5" is-array-buffer "^3.0.2" is-callable "^1.2.7" @@ -9827,60 +11540,64 @@ es-abstract@^1.19.0, es-abstract@^1.20.4: is-regex "^1.1.4" is-shared-array-buffer "^1.0.2" is-string "^1.0.7" - is-typed-array "^1.1.10" + is-typed-array "^1.1.12" is-weakref "^1.0.2" - object-inspect "^1.12.3" + object-inspect "^1.13.1" object-keys "^1.1.1" object.assign "^4.1.4" - regexp.prototype.flags "^1.4.3" + regexp.prototype.flags "^1.5.1" + safe-array-concat "^1.0.1" safe-regex-test "^1.0.0" - string.prototype.trim "^1.2.7" - string.prototype.trimend "^1.0.6" - string.prototype.trimstart "^1.0.6" + string.prototype.trim "^1.2.8" + string.prototype.trimend "^1.0.7" + string.prototype.trimstart "^1.0.7" + typed-array-buffer "^1.0.0" + typed-array-byte-length "^1.0.0" + typed-array-byte-offset "^1.0.0" typed-array-length "^1.0.4" unbox-primitive "^1.0.2" - which-typed-array "^1.1.9" + which-typed-array "^1.1.13" -es-array-method-boxes-properly@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" - integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== - -es-get-iterator@^1.0.2, es-get-iterator@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" - integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== +es-iterator-helpers@^1.0.12, es-iterator-helpers@^1.0.15: + version "1.0.15" + resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz#bd81d275ac766431d19305923707c3efd9f1ae40" + integrity sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g== dependencies: + asynciterator.prototype "^1.0.0" call-bind "^1.0.2" - get-intrinsic "^1.1.3" + define-properties "^1.2.1" + es-abstract "^1.22.1" + es-set-tostringtag "^2.0.1" + function-bind "^1.1.1" + get-intrinsic "^1.2.1" + globalthis "^1.0.3" + has-property-descriptors "^1.0.0" + has-proto "^1.0.1" has-symbols "^1.0.3" - is-arguments "^1.1.1" - is-map "^2.0.2" - is-set "^2.0.2" - is-string "^1.0.7" - isarray "^2.0.5" - stop-iteration-iterator "^1.0.0" + internal-slot "^1.0.5" + iterator.prototype "^1.1.2" + safe-array-concat "^1.0.1" -es-module-lexer@^0.9.0: - version "0.9.3" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" - integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== +es-module-lexer@^1.2.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz#41ea21b43908fe6a287ffcbe4300f790555331f5" + integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== es-set-tostringtag@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" - integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== + version "2.0.2" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz#11f7cc9f63376930a5f20be4915834f4bc74f9c9" + integrity sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q== dependencies: - get-intrinsic "^1.1.3" - has "^1.0.3" + get-intrinsic "^1.2.2" has-tostringtag "^1.0.0" + hasown "^2.0.0" es-shim-unscopables@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" - integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== + version "1.0.2" + resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" + integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== dependencies: - has "^1.0.3" + hasown "^2.0.0" es-to-primitive@^1.2.1: version "1.2.1" @@ -9891,11 +11608,6 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -es5-shim@^4.5.13: - version "4.6.7" - resolved "https://registry.yarnpkg.com/es5-shim/-/es5-shim-4.6.7.tgz#bc67ae0fc3dd520636e0a1601cc73b450ad3e955" - integrity sha512-jg21/dmlrNQI7JyyA2w7n+yifSxBng0ZralnSfVZjoCawgNTCnS+yBCyVM9DL5itm7SUnDGgv7hcq2XCZX4iRQ== - es6-promise@^4.0.3: version "4.2.8" resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" @@ -9908,11 +11620,6 @@ es6-promisify@^5.0.0: dependencies: es6-promise "^4.0.3" -es6-shim@^0.35.5: - version "0.35.8" - resolved "https://registry.yarnpkg.com/es6-shim/-/es6-shim-0.35.8.tgz#89216f6fbf8bacba3f897c8c0e814d2a41c05fb7" - integrity sha512-Twf7I2v4/1tLoIXMT8HlqaBSS5H2wQTs2wx3MNYCI8K1R1/clXyCazrcVCPm/FuO9cyV8+leEaZOWD5C253NDg== - esbuild-android-64@0.14.47: version "0.14.47" resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.14.47.tgz#ef95b42c67bcf4268c869153fa3ad1466c4cea6b" @@ -9993,6 +11700,18 @@ esbuild-openbsd-64@0.14.47: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.47.tgz#309af806db561aa886c445344d1aacab850dbdc5" integrity sha512-QpgN8ofL7B9z8g5zZqJE+eFvD1LehRlxr25PBkjyyasakm4599iroUpaj96rdqRlO2ShuyqwJdr+oNqWwTUmQw== +esbuild-plugin-alias@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/esbuild-plugin-alias/-/esbuild-plugin-alias-0.2.1.tgz#45a86cb941e20e7c2bc68a2bea53562172494fcb" + integrity sha512-jyfL/pwPqaFXyKnj8lP8iLk6Z0m099uXR45aSN8Av1XD4vhvQutxxPzgA2bTcAwQpa1zCXDcWOlhFgyP3GKqhQ== + +esbuild-register@^3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/esbuild-register/-/esbuild-register-3.5.0.tgz#449613fb29ab94325c722f560f800dd946dc8ea8" + integrity sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A== + dependencies: + debug "^4.3.4" + esbuild-sunos-64@0.14.47: version "0.14.47" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.47.tgz#3f19612dcdb89ba6c65283a7ff6e16f8afbf8aaa" @@ -10095,33 +11814,61 @@ esbuild@0.17.6: "@esbuild/win32-ia32" "0.17.6" "@esbuild/win32-x64" "0.17.6" -esbuild@^0.17.5, esbuild@^0.17.7: - version "0.17.15" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.15.tgz#209ebc87cb671ffb79574db93494b10ffaf43cbc" - integrity sha512-LBUV2VsUIc/iD9ME75qhT4aJj0r75abCVS0jakhFzOtR7TQsqQA5w0tZ+KTKnwl3kXE0MhskNdHDh/I5aCR1Zw== +esbuild@^0.17.10, esbuild@^0.17.19: + version "0.17.19" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.19.tgz#087a727e98299f0462a3d0bcdd9cd7ff100bd955" + integrity sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw== + optionalDependencies: + "@esbuild/android-arm" "0.17.19" + "@esbuild/android-arm64" "0.17.19" + "@esbuild/android-x64" "0.17.19" + "@esbuild/darwin-arm64" "0.17.19" + "@esbuild/darwin-x64" "0.17.19" + "@esbuild/freebsd-arm64" "0.17.19" + "@esbuild/freebsd-x64" "0.17.19" + "@esbuild/linux-arm" "0.17.19" + "@esbuild/linux-arm64" "0.17.19" + "@esbuild/linux-ia32" "0.17.19" + "@esbuild/linux-loong64" "0.17.19" + "@esbuild/linux-mips64el" "0.17.19" + "@esbuild/linux-ppc64" "0.17.19" + "@esbuild/linux-riscv64" "0.17.19" + "@esbuild/linux-s390x" "0.17.19" + "@esbuild/linux-x64" "0.17.19" + "@esbuild/netbsd-x64" "0.17.19" + "@esbuild/openbsd-x64" "0.17.19" + "@esbuild/sunos-x64" "0.17.19" + "@esbuild/win32-arm64" "0.17.19" + "@esbuild/win32-ia32" "0.17.19" + "@esbuild/win32-x64" "0.17.19" + +esbuild@^0.18.0, esbuild@^0.18.10: + version "0.18.20" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.20.tgz#4709f5a34801b43b799ab7d6d82f7284a9b7a7a6" + integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA== optionalDependencies: - "@esbuild/android-arm" "0.17.15" - "@esbuild/android-arm64" "0.17.15" - "@esbuild/android-x64" "0.17.15" - "@esbuild/darwin-arm64" "0.17.15" - "@esbuild/darwin-x64" "0.17.15" - "@esbuild/freebsd-arm64" "0.17.15" - "@esbuild/freebsd-x64" "0.17.15" - "@esbuild/linux-arm" "0.17.15" - "@esbuild/linux-arm64" "0.17.15" - "@esbuild/linux-ia32" "0.17.15" - "@esbuild/linux-loong64" "0.17.15" - "@esbuild/linux-mips64el" "0.17.15" - "@esbuild/linux-ppc64" "0.17.15" - "@esbuild/linux-riscv64" "0.17.15" - "@esbuild/linux-s390x" "0.17.15" - "@esbuild/linux-x64" "0.17.15" - "@esbuild/netbsd-x64" "0.17.15" - "@esbuild/openbsd-x64" "0.17.15" - "@esbuild/sunos-x64" "0.17.15" - "@esbuild/win32-arm64" "0.17.15" - "@esbuild/win32-ia32" "0.17.15" - "@esbuild/win32-x64" "0.17.15" + "@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" escalade@^3.1.1: version "3.1.1" @@ -10160,15 +11907,14 @@ escodegen@^1.11.1, escodegen@^1.8.1: optionalDependencies: source-map "~0.6.1" -escodegen@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" - integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== +escodegen@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17" + integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== dependencies: esprima "^4.0.1" estraverse "^5.2.0" esutils "^2.0.2" - optionator "^0.8.1" optionalDependencies: source-map "~0.6.1" @@ -10179,6 +11925,11 @@ eslint-config-prettier@^6.0.0: dependencies: get-stdin "^6.0.0" +eslint-config-prettier@^8.8.0: + version "8.10.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz#3a06a662130807e2502fc3ff8b4143d8a0658e11" + integrity sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg== + eslint-config-react-app@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz#698bf7aeee27f0cea0139eaef261c7bf7dd623df" @@ -10186,22 +11937,29 @@ eslint-config-react-app@^5.2.1: dependencies: confusing-browser-globals "^1.0.9" -eslint-import-resolver-node@^0.3.7: - version "0.3.7" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz#83b375187d412324a1963d84fa664377a23eb4d7" - integrity sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA== +eslint-import-resolver-node@^0.3.9: + version "0.3.9" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" + integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== dependencies: debug "^3.2.7" - is-core-module "^2.11.0" - resolve "^1.22.1" + is-core-module "^2.13.0" + resolve "^1.22.4" -eslint-module-utils@^2.7.4: - version "2.7.4" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974" - integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA== +eslint-module-utils@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49" + integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== dependencies: debug "^3.2.7" +eslint-plugin-destructuring@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-destructuring/-/eslint-plugin-destructuring-2.2.1.tgz#7c0681174699af03fd9fab4c9619fcad45156fbe" + integrity sha512-I/jbm7E3xamiFqn8NLwyhZkDjCb0lTFIykNxIWwDwHsTlU+8hR4gDQmrXTWdyDHG9k1i2uFeHMhoMAtERNWp4w== + dependencies: + lodash.zipobject "^4.1.3" + eslint-plugin-flowtype@^3.13.0: version "3.13.0" resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.13.0.tgz#e241ebd39c0ce519345a3f074ec1ebde4cf80f2c" @@ -10209,48 +11967,50 @@ eslint-plugin-flowtype@^3.13.0: dependencies: lodash "^4.17.15" -eslint-plugin-import@^2.18.2: - version "2.27.5" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz#876a6d03f52608a3e5bb439c2550588e51dd6c65" - integrity sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow== +eslint-plugin-import@^2.18.2, eslint-plugin-import@^2.27.5: + version "2.29.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.29.0.tgz#8133232e4329ee344f2f612885ac3073b0b7e155" + integrity sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg== dependencies: - array-includes "^3.1.6" - array.prototype.flat "^1.3.1" - array.prototype.flatmap "^1.3.1" + array-includes "^3.1.7" + array.prototype.findlastindex "^1.2.3" + array.prototype.flat "^1.3.2" + array.prototype.flatmap "^1.3.2" debug "^3.2.7" doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.7" - eslint-module-utils "^2.7.4" - has "^1.0.3" - is-core-module "^2.11.0" + eslint-import-resolver-node "^0.3.9" + eslint-module-utils "^2.8.0" + hasown "^2.0.0" + is-core-module "^2.13.1" is-glob "^4.0.3" minimatch "^3.1.2" - object.values "^1.1.6" - resolve "^1.22.1" - semver "^6.3.0" - tsconfig-paths "^3.14.1" + object.fromentries "^2.0.7" + object.groupby "^1.0.1" + object.values "^1.1.7" + semver "^6.3.1" + tsconfig-paths "^3.14.2" eslint-plugin-jsx-a11y@^6.2.3: - version "6.7.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz#fca5e02d115f48c9a597a6894d5bcec2f7a76976" - integrity sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA== - dependencies: - "@babel/runtime" "^7.20.7" - aria-query "^5.1.3" - array-includes "^3.1.6" - array.prototype.flatmap "^1.3.1" - ast-types-flow "^0.0.7" - axe-core "^4.6.2" - axobject-query "^3.1.1" + version "6.8.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz#2fa9c701d44fcd722b7c771ec322432857fcbad2" + integrity sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA== + dependencies: + "@babel/runtime" "^7.23.2" + aria-query "^5.3.0" + array-includes "^3.1.7" + array.prototype.flatmap "^1.3.2" + ast-types-flow "^0.0.8" + axe-core "=4.7.0" + axobject-query "^3.2.1" damerau-levenshtein "^1.0.8" emoji-regex "^9.2.2" - has "^1.0.3" - jsx-ast-utils "^3.3.3" - language-tags "=1.0.5" + es-iterator-helpers "^1.0.15" + hasown "^2.0.0" + jsx-ast-utils "^3.3.5" + language-tags "^1.0.9" minimatch "^3.1.2" - object.entries "^1.1.6" - object.fromentries "^2.0.6" - semver "^6.3.0" + object.entries "^1.1.7" + object.fromentries "^2.0.7" eslint-plugin-prettier@^3.1.0: version "3.4.1" @@ -10259,20 +12019,33 @@ eslint-plugin-prettier@^3.1.0: dependencies: prettier-linter-helpers "^1.0.0" +eslint-plugin-prettier@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz#651cbb88b1dab98bfd42f017a12fa6b2d993f94b" + integrity sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ== + dependencies: + prettier-linter-helpers "^1.0.0" + eslint-plugin-react-hooks@^2.2.0: version "2.5.1" resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-2.5.1.tgz#4ef5930592588ce171abeb26f400c7fbcbc23cd0" integrity sha512-Y2c4b55R+6ZzwtTppKwSmK/Kar8AdLiC2f9NADCuxbcTgPPg41Gyqa6b9GppgXSvCtkRw43ZE86CT5sejKC6/g== -eslint-plugin-react@^7.14.3: - version "7.32.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz#e71f21c7c265ebce01bcbc9d0955170c55571f10" - integrity sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg== +eslint-plugin-react-hooks@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" + integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== + +eslint-plugin-react@^7.14.3, eslint-plugin-react@^7.32.2: + version "7.33.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz#69ee09443ffc583927eafe86ffebb470ee737608" + integrity sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw== dependencies: array-includes "^3.1.6" array.prototype.flatmap "^1.3.1" array.prototype.tosorted "^1.1.1" doctrine "^2.1.0" + es-iterator-helpers "^1.0.12" estraverse "^5.3.0" jsx-ast-utils "^2.4.1 || ^3.0.0" minimatch "^3.1.2" @@ -10282,10 +12055,10 @@ eslint-plugin-react@^7.14.3: object.values "^1.1.6" prop-types "^15.8.1" resolve "^2.0.0-next.4" - semver "^6.3.0" + semver "^6.3.1" string.prototype.matchall "^4.0.8" -eslint-scope@5.1.1, eslint-scope@^5.0.0: +eslint-scope@5.1.1, eslint-scope@^5.0.0, eslint-scope@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== @@ -10293,15 +12066,15 @@ eslint-scope@5.1.1, eslint-scope@^5.0.0: esrecurse "^4.3.0" estraverse "^4.1.1" -eslint-scope@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" - integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== +eslint-scope@^7.2.2: + version "7.2.2" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" + integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" + esrecurse "^4.3.0" + estraverse "^5.2.0" -eslint-utils@^1.4.2, eslint-utils@^1.4.3: +eslint-utils@^1.4.3: version "1.4.3" resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== @@ -10320,6 +12093,11 @@ eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== + eslint@^6.1.0: version "6.8.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" @@ -10363,6 +12141,50 @@ eslint@^6.1.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" +eslint@^8.41.0: + version "8.54.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.54.0.tgz#588e0dd4388af91a2e8fa37ea64924074c783537" + integrity sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.6.1" + "@eslint/eslintrc" "^2.1.3" + "@eslint/js" "8.54.0" + "@humanwhocodes/config-array" "^0.11.13" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + "@ungap/structured-clone" "^1.2.0" + ajv "^6.12.4" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.2.2" + eslint-visitor-keys "^3.4.3" + espree "^9.6.1" + esquery "^1.4.2" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + graphemer "^1.4.0" + ignore "^5.2.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.3" + strip-ansi "^6.0.1" + text-table "^0.2.0" + espree@^6.1.2: version "6.2.1" resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" @@ -10372,19 +12194,28 @@ espree@^6.1.2: acorn-jsx "^5.2.0" eslint-visitor-keys "^1.1.0" +espree@^9.6.0, espree@^9.6.1: + version "9.6.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== + dependencies: + acorn "^8.9.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.1" + esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== -esquery@^1.0.1: +esquery@^1.0.1, esquery@^1.4.2: version "1.5.0" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== dependencies: estraverse "^5.1.0" -esrecurse@^4.1.0, esrecurse@^4.3.0: +esrecurse@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== @@ -10483,6 +12314,89 @@ etag@1.8.1, etag@~1.8.1: resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== +eth-rpc-errors@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-4.0.3.tgz#6ddb6190a4bf360afda82790bb7d9d5e724f423a" + integrity sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg== + dependencies: + fast-safe-stringify "^2.0.6" + +ethereum-cryptography@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191" + integrity sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ== + dependencies: + "@types/pbkdf2" "^3.0.0" + "@types/secp256k1" "^4.0.1" + blakejs "^1.1.0" + browserify-aes "^1.2.0" + bs58check "^2.1.2" + create-hash "^1.2.0" + create-hmac "^1.1.7" + hash.js "^1.1.7" + keccak "^3.0.0" + pbkdf2 "^3.0.17" + randombytes "^2.1.0" + safe-buffer "^5.1.2" + scrypt-js "^3.0.0" + secp256k1 "^4.0.1" + setimmediate "^1.0.5" + +ethereum-waffle@^4.0.10: + version "4.0.10" + resolved "https://registry.yarnpkg.com/ethereum-waffle/-/ethereum-waffle-4.0.10.tgz#f1ef1564c0155236f1a66c6eae362a5d67c9f64c" + integrity sha512-iw9z1otq7qNkGDNcMoeNeLIATF9yKl1M8AIeu42ElfNBplq0e+5PeasQmm8ybY/elkZ1XyRO0JBQxQdVRb8bqQ== + dependencies: + "@ethereum-waffle/chai" "4.0.10" + "@ethereum-waffle/compiler" "4.0.3" + "@ethereum-waffle/mock-contract" "4.0.4" + "@ethereum-waffle/provider" "4.0.5" + solc "0.8.15" + typechain "^8.0.0" + +ethereumjs-abi@0.6.8: + version "0.6.8" + resolved "https://registry.yarnpkg.com/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz#71bc152db099f70e62f108b7cdfca1b362c6fcae" + integrity sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA== + dependencies: + bn.js "^4.11.8" + ethereumjs-util "^6.0.0" + +ethereumjs-util@7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.3.tgz#b55d7b64dde3e3e45749e4c41288238edec32d23" + integrity sha512-y+82tEbyASO0K0X1/SRhbJJoAlfcvq8JbrG4a5cjrOks7HS/36efU/0j2flxCPOUM++HFahk33kr/ZxyC4vNuw== + dependencies: + "@types/bn.js" "^5.1.0" + bn.js "^5.1.2" + create-hash "^1.1.2" + ethereum-cryptography "^0.1.3" + rlp "^2.2.4" + +ethereumjs-util@^6.0.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz#fcb4e4dd5ceacb9d2305426ab1a5cd93e3163b69" + integrity sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw== + dependencies: + "@types/bn.js" "^4.11.3" + bn.js "^4.11.0" + create-hash "^1.1.2" + elliptic "^6.5.2" + ethereum-cryptography "^0.1.3" + ethjs-util "0.1.6" + rlp "^2.2.3" + +ethereumjs-util@^7.1.1, ethereumjs-util@^7.1.3, ethereumjs-util@^7.1.4, ethereumjs-util@^7.1.5: + version "7.1.5" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz#9ecf04861e4fbbeed7465ece5f23317ad1129181" + integrity sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg== + dependencies: + "@types/bn.js" "^5.1.0" + bn.js "^5.1.2" + create-hash "^1.1.2" + ethereum-cryptography "^0.1.3" + rlp "^2.2.4" + ethers@^5.7.2: version "5.7.2" resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" @@ -10519,23 +12433,42 @@ ethers@^5.7.2: "@ethersproject/web" "5.7.1" "@ethersproject/wordlists" "5.7.0" -eval@0.1.6: +ethjs-util@0.1.6: version "0.1.6" - resolved "https://registry.yarnpkg.com/eval/-/eval-0.1.6.tgz#9620d7d8c85515e97e6b47c5814f46ae381cb3cc" - integrity sha512-o0XUw+5OGkXw4pJZzQoXUk+H87DHuC+7ZE//oSrRGtatTmr12oTnLfg6QOq9DyTt0c/p4TwzgmkKrBzWTSizyQ== + resolved "https://registry.yarnpkg.com/ethjs-util/-/ethjs-util-0.1.6.tgz#f308b62f185f9fe6237132fb2a9818866a5cd536" + integrity sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w== + dependencies: + is-hex-prefixed "1.0.0" + strip-hex-prefix "1.0.0" + +eval@0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/eval/-/eval-0.1.8.tgz#2b903473b8cc1d1989b83a1e7923f883eb357f85" + integrity sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw== dependencies: + "@types/node" "*" require-like ">= 0.1.1" -eventemitter3@4.0.7, eventemitter3@^4.0.7: +eventemitter3@^4.0.7: version "4.0.7" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== -events@^3.0.0, events@^3.2.0, events@^3.3.0: +eventemitter3@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" + integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== + +events@^3.2.0, events@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== +eventsource@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-2.0.2.tgz#76dfcc02930fb2ff339520b6d290da573a9e8508" + integrity sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA== + evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" @@ -10549,7 +12482,7 @@ exec-sh@^0.3.2: resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== -execa@5.1.1, execa@^5.1.1: +execa@5.1.1, execa@^5.0.0, execa@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== @@ -10564,6 +12497,21 @@ execa@5.1.1, execa@^5.1.1: signal-exit "^3.0.3" strip-final-newline "^2.0.0" +execa@7.2.0, execa@^7.1.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-7.2.0.tgz#657e75ba984f42a70f38928cedc87d6f2d4fe4e9" + integrity sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.1" + human-signals "^4.3.0" + is-stream "^3.0.0" + merge-stream "^2.0.0" + npm-run-path "^5.1.0" + onetime "^6.0.0" + signal-exit "^3.0.7" + strip-final-newline "^3.0.0" + execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" @@ -10608,21 +12556,6 @@ execa@^4.0.3: signal-exit "^3.0.2" strip-final-newline "^2.0.0" -execa@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-7.1.1.tgz#3eb3c83d239488e7b409d48e8813b76bb55c9c43" - integrity sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.1" - human-signals "^4.3.0" - is-stream "^3.0.0" - merge-stream "^2.0.0" - npm-run-path "^5.1.0" - onetime "^6.0.0" - signal-exit "^3.0.7" - strip-final-newline "^3.0.0" - exit-hook@2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-2.2.1.tgz#007b2d92c6428eda2b76e7016a34351586934593" @@ -10646,11 +12579,6 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" -expand-template@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" - integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== - expect@^25.5.0: version "25.5.0" resolved "https://registry.yarnpkg.com/expect/-/expect-25.5.0.tgz#f07f848712a2813bb59167da3fb828ca21f58bba" @@ -10663,7 +12591,7 @@ expect@^25.5.0: jest-message-util "^25.5.0" jest-regex-util "^25.2.6" -express@^4.17.1: +express@^4.17.1, express@^4.17.3: version "4.18.2" resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== @@ -10743,6 +12671,16 @@ extglob@^2.0.4: snapdragon "^0.8.1" to-regex "^3.0.1" +extract-zip@^1.6.6: + version "1.7.0" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz#556cc3ae9df7f452c493a0cfb51cc30277940927" + integrity sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA== + dependencies: + concat-stream "^1.6.2" + debug "^2.6.9" + mkdirp "^0.5.4" + yauzl "^2.10.0" + extsprintf@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" @@ -10774,9 +12712,9 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-diff@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" - integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== + version "1.3.0" + resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" + integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== fast-glob@3.2.11: version "3.2.11" @@ -10800,22 +12738,10 @@ fast-glob@3.2.7: merge2 "^1.3.0" micromatch "^4.0.4" -fast-glob@^2.2.6: - version "2.2.7" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" - integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw== - dependencies: - "@mrmlnc/readdir-enhanced" "^2.2.1" - "@nodelib/fs.stat" "^1.1.2" - glob-parent "^3.1.0" - is-glob "^4.0.0" - merge2 "^1.2.3" - micromatch "^3.1.10" - fast-glob@^3.0.3, fast-glob@^3.2.7, fast-glob@^3.2.9: - version "3.2.12" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" - integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== + version "3.3.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" @@ -10828,16 +12754,26 @@ fast-json-parse@^1.0.3: resolved "https://registry.yarnpkg.com/fast-json-parse/-/fast-json-parse-1.0.3.tgz#43e5c61ee4efa9265633046b770fb682a7577c4d" integrity sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw== -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: +fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fast-levenshtein@~2.0.6: +fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== +fast-redact@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.3.0.tgz#7c83ce3a7be4898241a46560d51de10f653f7634" + integrity sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ== + +fast-safe-stringify@^2.0.6: + version "2.1.1" + resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" + integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== + fast-stable-stringify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz#5c5543462b22aeeefd36d05b34e51c78cb86d313" @@ -10850,7 +12786,7 @@ fastq@^1.6.0: dependencies: reusify "^1.0.4" -fault@^1.0.2: +fault@^1.0.0, fault@^1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/fault/-/fault-1.0.4.tgz#eafcfc0a6d214fc94601e170df29954a4f842f13" integrity sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA== @@ -10884,15 +12820,17 @@ fbjs@^0.8.4: setimmediate "^1.0.5" ua-parser-js "^0.7.30" -fetch-retry@^5.0.2: - version "5.0.4" - resolved "https://registry.yarnpkg.com/fetch-retry/-/fetch-retry-5.0.4.tgz#06e8e4533030bf6faa00ffbb9450cb9264c23c12" - integrity sha512-LXcdgpdcVedccGg0AZqg+S8lX/FCdwXD92WNZ5k5qsb0irRhSFsBOpcJt7oevyqT2/C2nEE0zSFNdBEpj3YOSw== +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== + dependencies: + pend "~1.2.0" -figgy-pudding@^3.5.1: - version "3.5.2" - resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" - integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== +fetch-retry@^5.0.2: + version "5.0.6" + resolved "https://registry.yarnpkg.com/fetch-retry/-/fetch-retry-5.0.6.tgz#17d0bc90423405b7a88b74355bf364acd2a7fa56" + integrity sha512-3yurQZ2hD9VISAhJJP9bpYFNQrHHBXE2JxxjY5aLEcDi46RmAzJE2OC9FAde0yis5ElW0jTTzs0zfg/Cca4XqQ== figures@3.2.0, figures@^3.0.0: version "3.2.0" @@ -10908,21 +12846,20 @@ file-entry-cache@^5.0.1: dependencies: flat-cache "^2.0.1" -file-loader@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" - integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" + flat-cache "^3.0.4" -file-system-cache@^1.0.5: - version "1.1.0" - resolved "https://registry.yarnpkg.com/file-system-cache/-/file-system-cache-1.1.0.tgz#984de17b976b75a77a27e08d6828137c1aa80fa1" - integrity sha512-IzF5MBq+5CR0jXx5RxPe4BICl/oEhBSXKaL9fLhAXrIfIUS77Hr4vzrYyqYMHN6uTt+BOqi3fDCTjjEBCjERKw== +file-system-cache@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/file-system-cache/-/file-system-cache-2.3.0.tgz#201feaf4c8cd97b9d0d608e96861bb6005f46fe6" + integrity sha512-l4DMNdsIPsVnKrgEXbJwDJsA5mB8rGwHYERMgqQx/xAUtChPJMre1bXBzDEqqVbWv9AIbFezXMxeEkZDSrXUOQ== dependencies: - fs-extra "^10.1.0" - ramda "^0.28.0" + fs-extra "11.1.1" + ramda "0.29.0" file-uri-to-path@1.0.0: version "1.0.0" @@ -10934,7 +12871,7 @@ file-uri-to-path@2: resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz#7b415aeba227d575851e0a5b0c640d7656403fba" integrity sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg== -filelist@^1.0.1: +filelist@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== @@ -10958,6 +12895,11 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" +filter-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" + integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== + finalhandler@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" @@ -10971,7 +12913,7 @@ finalhandler@1.2.0: statuses "2.0.1" unpipe "~1.0.0" -find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: +find-cache-dir@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== @@ -10980,7 +12922,7 @@ find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: make-dir "^2.0.0" pkg-dir "^3.0.0" -find-cache-dir@^3.3.1, find-cache-dir@^3.3.2: +find-cache-dir@^3.0.0, find-cache-dir@^3.3.1: version "3.3.2" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== @@ -10989,6 +12931,14 @@ find-cache-dir@^3.3.1, find-cache-dir@^3.3.2: make-dir "^3.0.2" pkg-dir "^4.1.0" +find-cache-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-4.0.0.tgz#a30ee0448f81a3990708f6453633c733e2f6eec2" + integrity sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg== + dependencies: + common-path-prefix "^3.0.0" + pkg-dir "^7.0.0" + find-replace@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-3.0.0.tgz#3e7e23d3b05167a76f770c9fbd5258b0def68c38" @@ -11001,13 +12951,12 @@ find-root@^1.1.0: resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - integrity sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA== +find-up@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" + locate-path "^2.0.0" find-up@^3.0.0: version "3.0.0" @@ -11032,6 +12981,14 @@ find-up@^5.0.0: locate-path "^6.0.0" path-exists "^4.0.0" +find-up@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.3.0.tgz#2abab3d3280b2dc7ac10199ef324c4e002c8c790" + integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== + dependencies: + locate-path "^7.1.0" + path-exists "^5.0.0" + flat-cache@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" @@ -11042,11 +12999,12 @@ flat-cache@^2.0.1: write "1.0.3" flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + version "3.2.0" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" + integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== dependencies: - flatted "^3.1.0" + flatted "^3.2.9" + keyv "^4.5.3" rimraf "^3.0.2" flat@^5.0.2: @@ -11059,37 +13017,27 @@ flatted@^2.0.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== -flatted@^3.1.0: - version "3.2.7" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" - integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== +flatted@^3.2.9: + version "3.2.9" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" + integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== -flush-write-stream@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" - integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== - dependencies: - inherits "^2.0.3" - readable-stream "^2.3.6" +flow-parser@0.*: + version "0.222.0" + resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.222.0.tgz#88decc0e35bc11c011af66dbc2f669589d69a6b2" + integrity sha512-Fq5OkFlFRSMV2EOZW+4qUYMTE0uj8pcLsYJMxXYriSBDpHAF7Ofx3PibCTy3cs5P6vbsry7eYj7Z7xFD49GIOQ== -focus-lock@^0.11.6: - version "0.11.6" - resolved "https://registry.yarnpkg.com/focus-lock/-/focus-lock-0.11.6.tgz#e8821e21d218f03e100f7dc27b733f9c4f61e683" - integrity sha512-KSuV3ur4gf2KqMNoZx3nXNVhqCkn42GuTYCX4tXPEwf0MjpFQmNMiN6m7dXaUXgIoivL6/65agoUMg4RLS0Vbg== +focus-lock@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/focus-lock/-/focus-lock-1.0.0.tgz#2c50d8ce59d3d6608cda2672be9e65812459206c" + integrity sha512-a8Ge6cdKh9za/GZR/qtigTAk7SrGore56EFcoMshClsh7FLk1zwszc/ltuMfKhx56qeuyL/jWQ4J4axou0iJ9w== dependencies: tslib "^2.0.3" -follow-redirects@1.5.10: - version "1.5.10" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a" - integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ== - dependencies: - debug "=3.1.0" - -follow-redirects@^1.10.0, follow-redirects@^1.14.0, follow-redirects@^1.14.4, follow-redirects@^1.14.9, follow-redirects@^1.15.0: - version "1.15.2" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" - integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== +follow-redirects@^1.10.0, follow-redirects@^1.12.1, follow-redirects@^1.14.0, follow-redirects@^1.14.9, follow-redirects@^1.15.0: + version "1.15.3" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.3.tgz#fe2f3ef2690afce7e82ed0b44db08165b207123a" + integrity sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q== for-each@^0.3.3: version "0.3.3" @@ -11111,51 +13059,36 @@ foreground-child@^2.0.0: cross-spawn "^7.0.0" signal-exit "^3.0.2" +foreground-child@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d" + integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== + dependencies: + cross-spawn "^7.0.0" + signal-exit "^4.0.1" + forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== -fork-ts-checker-webpack-plugin@^4.1.6: - version "4.1.6" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz#5055c703febcf37fa06405d400c122b905167fc5" - integrity sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw== - dependencies: - "@babel/code-frame" "^7.5.5" - chalk "^2.4.1" - micromatch "^3.1.10" - minimatch "^3.0.4" - semver "^5.6.0" - tapable "^1.0.0" - worker-rpc "^0.1.0" - -fork-ts-checker-webpack-plugin@^6.0.4: - version "6.5.3" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz#eda2eff6e22476a2688d10661688c47f611b37f3" - integrity sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ== +fork-ts-checker-webpack-plugin@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-8.0.0.tgz#dae45dfe7298aa5d553e2580096ced79b6179504" + integrity sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg== dependencies: - "@babel/code-frame" "^7.8.3" - "@types/json-schema" "^7.0.5" - chalk "^4.1.0" - chokidar "^3.4.2" - cosmiconfig "^6.0.0" + "@babel/code-frame" "^7.16.7" + chalk "^4.1.2" + chokidar "^3.5.3" + cosmiconfig "^7.0.1" deepmerge "^4.2.2" - fs-extra "^9.0.0" - glob "^7.1.6" - memfs "^3.1.2" + fs-extra "^10.0.0" + memfs "^3.4.1" minimatch "^3.0.4" - schema-utils "2.7.0" - semver "^7.3.2" - tapable "^1.0.0" - -form-data@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" - integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" + node-abort-controller "^3.0.1" + schema-utils "^3.1.1" + semver "^7.3.5" + tapable "^2.2.1" form-data@^4.0.0: version "4.0.0" @@ -11197,14 +13130,6 @@ fresh@0.5.2: resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== -from2@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - integrity sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g== - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - fs-constants@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" @@ -11219,6 +13144,15 @@ fs-extra@11.1.0: jsonfile "^6.0.1" universalify "^2.0.0" +fs-extra@11.1.1, fs-extra@^11.1.0: + version "11.1.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d" + integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + fs-extra@8.1.0, fs-extra@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" @@ -11228,7 +13162,7 @@ fs-extra@8.1.0, fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-extra@^10.0.0, fs-extra@^10.1.0: +fs-extra@^10.0.0: version "10.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== @@ -11237,16 +13171,16 @@ fs-extra@^10.0.0, fs-extra@^10.1.0: jsonfile "^6.0.1" universalify "^2.0.0" -fs-extra@^11.1.0: - version "11.1.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d" - integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ== +fs-extra@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" -fs-extra@^9.0.0, fs-extra@^9.0.1: +fs-extra@^9.0.0: version "9.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== @@ -11263,38 +13197,20 @@ fs-minipass@^2.0.0: dependencies: minipass "^3.0.0" -fs-monkey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3" - integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q== - -fs-write-stream-atomic@^1.0.8: - version "1.0.10" - resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - integrity sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA== - dependencies: - graceful-fs "^4.1.2" - iferr "^0.1.5" - imurmurhash "^0.1.4" - readable-stream "1 || 2" +fs-monkey@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.5.tgz#fe450175f0db0d7ea758102e1d84096acb925788" + integrity sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew== fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@^1.2.7: - version "1.2.13" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" - integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== - dependencies: - bindings "^1.5.0" - nan "^2.12.1" - -fsevents@^2.1.2, fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== +fsevents@^2.1.2, fsevents@^2.3.2, fsevents@~2.3.1, fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== ftp@^0.3.10: version "0.3.10" @@ -11304,31 +13220,48 @@ ftp@^0.3.10: readable-stream "1.1.x" xregexp "2.0.0" -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +function-bind@^1.1.1, function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== -function.prototype.name@^1.1.0, function.prototype.name@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" - integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== +function.prototype.name@^1.1.5, function.prototype.name@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" + integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.0" - functions-have-names "^1.2.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + functions-have-names "^1.2.3" -functional-red-black-tree@^1.0.1: +functional-red-black-tree@^1.0.1, functional-red-black-tree@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== -functions-have-names@^1.2.2: +functions-have-names@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== +ganache@7.4.3: + version "7.4.3" + resolved "https://registry.yarnpkg.com/ganache/-/ganache-7.4.3.tgz#e995f1250697264efbb34d4241c374a2b0271415" + integrity sha512-RpEDUiCkqbouyE7+NMXG26ynZ+7sGiODU84Kz+FVoXUnQ4qQM4M8wif3Y4qUCt+D/eM1RVeGq0my62FPD6Y1KA== + dependencies: + "@trufflesuite/bigint-buffer" "1.1.10" + "@types/bn.js" "^5.1.0" + "@types/lru-cache" "5.1.1" + "@types/seedrandom" "3.0.1" + emittery "0.10.0" + keccak "3.0.2" + leveldown "6.1.0" + secp256k1 "4.0.3" + optionalDependencies: + bufferutil "4.0.5" + utf-8-validate "5.0.7" + gauge@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/gauge/-/gauge-3.0.2.tgz#03bf4441c044383908bcfa0656ad91803259b395" @@ -11344,20 +13277,6 @@ gauge@^3.0.0: strip-ansi "^6.0.1" wide-align "^1.1.2" -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - integrity sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg== - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - generic-names@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/generic-names/-/generic-names-4.0.0.tgz#0bd8a2fd23fe8ea16cbd0a279acd69c06933d9a3" @@ -11365,7 +13284,7 @@ generic-names@^4.0.0: dependencies: loader-utils "^3.2.0" -gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2: +gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== @@ -11375,20 +13294,56 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" - integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== +get-func-name@^2.0.1, get-func-name@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" + integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b" + integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== dependencies: - function-bind "^1.1.1" - has "^1.0.3" + function-bind "^1.1.2" + has-proto "^1.0.1" has-symbols "^1.0.3" + hasown "^2.0.0" + +get-nonce@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-nonce/-/get-nonce-1.0.1.tgz#fdf3f0278073820d2ce9426c18f07481b1e0cdf3" + integrity sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q== + +get-npm-tarball-url@^2.0.3: + version "2.1.0" + resolved "https://registry.yarnpkg.com/get-npm-tarball-url/-/get-npm-tarball-url-2.1.0.tgz#cbd6bb25884622bc3191c761466c93ac83343213" + integrity sha512-ro+DiMu5DXgRBabqXupW38h7WPZ9+Ad8UjwhvsmmN8w1sU7ab0nzAXvVZ4kqYg57OrqomRtJvepX5/xvFKNtjA== + +get-own-enumerable-keys@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-own-enumerable-keys/-/get-own-enumerable-keys-1.0.0.tgz#59bbda0f7e7469c8c74086e08f79f1381b203899" + integrity sha512-PKsK2FSrQCyxcGHsGrLDcK0lx+0Ke+6e8KFFozA9/fIQLhQzPaRvJFdcz7+Axg3jUH/Mq+NI4xa5u/UT2tQskA== get-package-type@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== +get-pkg-repo@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz#75973e1c8050c73f48190c52047c4cee3acbf385" + integrity sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA== + dependencies: + "@hutson/parse-repository-url" "^3.0.0" + hosted-git-info "^4.0.0" + through2 "^2.0.0" + yargs "^16.2.0" + +get-port-please@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/get-port-please/-/get-port-please-3.1.1.tgz#2556623cddb4801d823c0a6a15eec038abb483be" + integrity sha512-3UBAyM3u4ZBVYDsxOQfJDxEa6XTbpBDrOjp4mf7ExFRt5BKs/QywQQiJsh2B+hxcZLSapWqCRvElUe8DnKcFHA== + get-port@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/get-port/-/get-port-4.2.0.tgz#e37368b1e863b7629c43c5a323625f95cf24b119" @@ -11399,11 +13354,6 @@ get-port@^5.1.1: resolved "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193" integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ== -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - integrity sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw== - get-stdin@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" @@ -11460,6 +13410,19 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" +giget@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/giget/-/giget-1.1.3.tgz#574ed901031eafa732347a7990d84bfa6484c51a" + integrity sha512-zHuCeqtfgqgDwvXlR84UNgnJDuUHQcNI5OqWqFxxuk2BshuKbYhJWdxBsEo4PvKqoGh23lUAIvBNpChMLv7/9Q== + dependencies: + colorette "^2.0.20" + defu "^6.1.2" + https-proxy-agent "^7.0.2" + mri "^1.2.0" + node-fetch-native "^1.4.0" + pathe "^1.1.1" + tar "^6.2.0" + git-hooks-list@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/git-hooks-list/-/git-hooks-list-1.0.3.tgz#be5baaf78203ce342f2f844a9d2b03dba1b45156" @@ -11476,6 +13439,14 @@ git-raw-commits@^2.0.8: split2 "^3.0.0" through2 "^4.0.0" +git-remote-origin-url@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f" + integrity sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw== + dependencies: + gitconfiglocal "^1.0.0" + pify "^2.3.0" + git-semver-tags@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-4.1.1.tgz#63191bcd809b0ec3e151ba4751c16c444e5b5780" @@ -11484,44 +13455,33 @@ git-semver-tags@^4.1.1: meow "^8.0.0" semver "^6.0.0" -github-from-package@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" - integrity sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw== +gitconfiglocal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" + integrity sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ== + dependencies: + ini "^1.3.2" github-slugger@^1.0.0: version "1.5.0" resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.5.0.tgz#17891bbc73232051474d68bd867a34625c955f7d" integrity sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw== -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA== - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob-parent@^5.0.0, glob-parent@^5.1.2, glob-parent@~5.1.2: +glob-parent@^5.0.0, glob-parent@^5.1.2, glob-parent@~5.1.0, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" -glob-promise@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/glob-promise/-/glob-promise-3.4.0.tgz#b6b8f084504216f702dc2ce8c9bc9ac8866fdb20" - integrity sha512-q08RJ6O+eJn+dVanerAndJwIcumgbDdYiUT7zFQl3Wm1xD6fBKtah7H8ZJChj4wP+8C+QfeVy8xautR7rdmKEw== +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== dependencies: - "@types/glob" "*" - -glob-to-regexp@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" - integrity sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig== + is-glob "^4.0.3" -glob-to-regexp@^0.4.1: +glob-to-regexp@0.4.1, glob-to-regexp@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== @@ -11538,6 +13498,29 @@ glob@7.1.4: once "^1.3.0" path-is-absolute "^1.0.0" +glob@7.1.7: + version "7.1.7" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^10.0.0, glob@^10.3.7: + version "10.3.10" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.10.tgz#0351ebb809fd187fe421ab96af83d3a70715df4b" + integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== + dependencies: + foreground-child "^3.1.0" + jackspeak "^2.3.5" + minimatch "^9.0.1" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + path-scurry "^1.10.1" + glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" @@ -11550,6 +13533,17 @@ glob@^7.0.0, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^8.0.3: + version "8.1.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + global@^4.3.2, global@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406" @@ -11570,14 +13564,14 @@ globals@^12.1.0: dependencies: type-fest "^0.8.1" -globals@^13.2.0: - version "13.20.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" - integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== +globals@^13.19.0, globals@^13.2.0: + version "13.23.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.23.0.tgz#ef31673c926a0976e1f61dab4dca57e0c0a8af02" + integrity sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA== dependencies: type-fest "^0.20.2" -globalthis@^1.0.0, globalthis@^1.0.1, globalthis@^1.0.3: +globalthis@^1.0.1, globalthis@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== @@ -11603,7 +13597,7 @@ globby@10.0.0: merge2 "^1.2.3" slash "^3.0.0" -globby@^11.0.2, globby@^11.1.0: +globby@^11.0.1, globby@^11.0.2, globby@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== @@ -11615,20 +13609,6 @@ globby@^11.0.2, globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" -globby@^9.2.0: - version "9.2.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d" - integrity sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg== - dependencies: - "@types/glob" "^7.1.1" - array-union "^1.0.2" - dir-glob "^2.2.2" - fast-glob "^2.2.6" - glob "^7.1.3" - ignore "^4.0.3" - pify "^4.0.1" - slash "^2.0.0" - globrex@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" @@ -11641,6 +13621,11 @@ good-listener@^1.2.2: dependencies: delegate "^3.1.2" +google-protobuf@^3.17.3: + version "3.21.2" + resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.21.2.tgz#4580a2bea8bbb291ee579d1fefb14d6fa3070ea4" + integrity sha512-3MSOYFO5U9mPGikIYCzK0SaThypfGgS6bHqrUGXG3DPHCrb+txNqeEcns1W0lkGfk0rCyNXm7xB9rMxnCiZOoA== + gopd@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" @@ -11665,11 +13650,16 @@ got@^11.0.0: p-cancelable "^2.0.0" responselike "^2.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9: +graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.9: version "4.2.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== + growly@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" @@ -11692,13 +13682,27 @@ gunzip-maybe@^1.4.2: pumpify "^1.3.3" through2 "^2.0.3" +h3@^1.8.1, h3@^1.8.2: + version "1.9.0" + resolved "https://registry.yarnpkg.com/h3/-/h3-1.9.0.tgz#c5f512a93026df9837db6f30c9ef51135dd46752" + integrity sha512-+F3ZqrNV/CFXXfZ2lXBINHi+rM4Xw3CDC5z2CDK3NMPocjonKipGLLDSkrqY9DOrioZNPTIdDMWfQKm//3X2DA== + dependencies: + cookie-es "^1.0.0" + defu "^6.1.3" + destr "^2.0.2" + iron-webcrypto "^1.0.0" + radix3 "^1.1.0" + ufo "^1.3.2" + uncrypto "^0.1.3" + unenv "^1.7.4" + handlebars@^4.7.7: - version "4.7.7" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" - integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== + version "4.7.8" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9" + integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ== dependencies: minimist "^1.2.5" - neo-async "^2.6.0" + neo-async "^2.6.2" source-map "^0.6.1" wordwrap "^1.0.0" optionalDependencies: @@ -11737,19 +13741,12 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-glob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-glob/-/has-glob-1.0.0.tgz#9aaa9eedbffb1ba3990a7b0010fb678ee0081207" - integrity sha512-D+8A457fBShSEI3tFCj65PAbT++5sKiFtdCdOam0gnfBgw9D277OERk+HM9qYJXmdVLZ/znez10SqHN0BBQ50g== - dependencies: - is-glob "^3.0.0" - has-property-descriptors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" - integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" + integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== dependencies: - get-intrinsic "^1.1.1" + get-intrinsic "^1.2.2" has-proto@^1.0.1: version "1.0.1" @@ -11768,7 +13765,7 @@ has-tostringtag@^1.0.0: dependencies: has-symbols "^1.0.2" -has-unicode@^2.0.0, has-unicode@^2.0.1: +has-unicode@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== @@ -11804,13 +13801,6 @@ has-values@^1.0.0: is-number "^3.0.0" kind-of "^4.0.0" -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - hash-base@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" @@ -11828,56 +13818,22 @@ hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7, hash.js@~1.1.7: inherits "^2.0.3" minimalistic-assert "^1.0.1" -hast-to-hyperscript@^9.0.0: - version "9.0.1" - resolved "https://registry.yarnpkg.com/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz#9b67fd188e4c81e8ad66f803855334173920218d" - integrity sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA== - dependencies: - "@types/unist" "^2.0.3" - comma-separated-tokens "^1.0.0" - property-information "^5.3.0" - space-separated-tokens "^1.0.0" - style-to-object "^0.3.0" - unist-util-is "^4.0.0" - web-namespaces "^1.0.0" - -hast-util-from-parse5@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz#554e34abdeea25ac76f5bd950a1f0180e0b3bc2a" - integrity sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA== +hasown@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" + integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== dependencies: - "@types/parse5" "^5.0.0" - hastscript "^6.0.0" - property-information "^5.0.0" - vfile "^4.0.0" - vfile-location "^3.2.0" - web-namespaces "^1.0.0" + function-bind "^1.1.2" hast-util-parse-selector@^2.0.0: version "2.2.5" resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz#d57c23f4da16ae3c63b3b6ca4616683313499c3a" integrity sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ== -hast-util-raw@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/hast-util-raw/-/hast-util-raw-6.0.1.tgz#973b15930b7529a7b66984c98148b46526885977" - integrity sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig== - dependencies: - "@types/hast" "^2.0.0" - hast-util-from-parse5 "^6.0.0" - hast-util-to-parse5 "^6.0.0" - html-void-elements "^1.0.0" - parse5 "^6.0.0" - unist-util-position "^3.0.0" - vfile "^4.0.0" - web-namespaces "^1.0.0" - xtend "^4.0.0" - zwitch "^1.0.0" - hast-util-to-estree@^2.0.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/hast-util-to-estree/-/hast-util-to-estree-2.3.2.tgz#11ab0cd2e70ecf0305151af56e636b1cdfbba0bf" - integrity sha512-YYDwATNdnvZi3Qi84iatPIl1lWpXba1MeNrNbDfJfVzEBZL8uUmtR7mt7bxKBC8kuAuvb0bkojXYZzsNHyHCLg== + version "2.3.3" + resolved "https://registry.yarnpkg.com/hast-util-to-estree/-/hast-util-to-estree-2.3.3.tgz#da60142ffe19a6296923ec222aba73339c8bf470" + integrity sha512-ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ== dependencies: "@types/estree" "^1.0.0" "@types/estree-jsx" "^1.0.0" @@ -11895,17 +13851,6 @@ hast-util-to-estree@^2.0.0: unist-util-position "^4.0.0" zwitch "^2.0.0" -hast-util-to-parse5@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz#1ec44650b631d72952066cea9b1445df699f8479" - integrity sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ== - dependencies: - hast-to-hyperscript "^9.0.0" - property-information "^5.0.0" - web-namespaces "^1.0.0" - xtend "^4.0.0" - zwitch "^1.0.0" - hast-util-whitespace@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz#0ec64e257e6fc216c7d14c8a1b74d27d650b4557" @@ -11937,6 +13882,21 @@ he@^1.2.0: resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== +hex-rgb@^4.1.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/hex-rgb/-/hex-rgb-4.3.0.tgz#af5e974e83bb2fefe44d55182b004ec818c07776" + integrity sha512-Ox1pJVrDCyGHMG9CFg1tmrRUMRPRsAWYc/PinY0XzJU4K7y7vjNoLKIQ7BR5UJMCxNN8EM1MNDmHWA/B3aZUuw== + +hey-listen@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/hey-listen/-/hey-listen-1.0.8.tgz#8e59561ff724908de1aa924ed6ecc84a56a9aa68" + integrity sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q== + +highlight.js@^10.4.1, highlight.js@~10.7.0: + version "10.7.3" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.7.3.tgz#697272e3991356e40c3cac566a74eef681756531" + integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A== + highlight.js@~9.13.0: version "9.13.1" resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.13.1.tgz#054586d53a6863311168488a0f58d6c505ce641e" @@ -11963,12 +13923,12 @@ hoist-non-react-statics@^3.3.0: dependencies: react-is "^16.7.0" -hosted-git-info@^2.1.4: +hosted-git-info@^2.1.4, hosted-git-info@^2.6.0: version "2.8.9" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== -hosted-git-info@^4.0.1: +hosted-git-info@^4.0.0, hosted-git-info@^4.0.1: version "4.1.0" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== @@ -11983,27 +13943,27 @@ html-encoding-sniffer@^1.0.2: whatwg-encoding "^1.0.1" html-entities@^2.1.0: - version "2.3.3" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.3.3.tgz#117d7626bece327fc8baace8868fa6f5ef856e46" - integrity sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA== + version "2.4.0" + resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.4.0.tgz#edd0cee70402584c8c76cc2c0556db09d1f45061" + integrity sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ== html-escaper@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== -html-minifier-terser@^5.0.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#922e96f1f3bb60832c2634b79884096389b1f054" - integrity sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg== +html-minifier-terser@^6.0.2: + version "6.1.0" + resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#bfc818934cc07918f6b3669f5774ecdfd48f32ab" + integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw== dependencies: - camel-case "^4.1.1" - clean-css "^4.2.3" - commander "^4.1.1" + camel-case "^4.1.2" + clean-css "^5.2.2" + commander "^8.3.0" he "^1.2.0" - param-case "^3.0.3" + param-case "^3.0.4" relateurl "^0.2.7" - terser "^4.6.3" + terser "^5.10.0" html-parse-stringify@^3.0.1: version "3.0.1" @@ -12013,36 +13973,27 @@ html-parse-stringify@^3.0.1: void-elements "3.1.0" html-tags@^3.1.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.3.0.tgz#02b73689e4b31647edd447bfe9bf5878427582e7" - integrity sha512-mH3dWNbvfCKcAEysbpD7wvtIJ6ImPog8aFhfzqog9gCN8CJFhKjLDtjpohG3IxYRLqHMJ1PWpBvnSMkFJBQ6Jg== + version "3.3.1" + resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.3.1.tgz#a04026a18c882e4bba8a01a3d39cfe465d40b5ce" + integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ== -html-void-elements@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-1.0.5.tgz#ce9159494e86d95e45795b166c2021c2cfca4483" - integrity sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w== - -html-webpack-plugin@^4.0.0: - version "4.5.2" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.5.2.tgz#76fc83fa1a0f12dd5f7da0404a54e2699666bc12" - integrity sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A== - dependencies: - "@types/html-minifier-terser" "^5.0.0" - "@types/tapable" "^1.0.5" - "@types/webpack" "^4.41.8" - html-minifier-terser "^5.0.1" - loader-utils "^1.2.3" - lodash "^4.17.20" - pretty-error "^2.1.1" - tapable "^1.1.3" - util.promisify "1.0.0" +html-webpack-plugin@^5.5.0: + version "5.5.3" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz#72270f4a78e222b5825b296e5e3e1328ad525a3e" + integrity sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg== + dependencies: + "@types/html-minifier-terser" "^6.0.0" + html-minifier-terser "^6.0.2" + lodash "^4.17.21" + pretty-error "^4.0.0" + tapable "^2.0.0" htmlnano@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/htmlnano/-/htmlnano-2.0.3.tgz#50ee639ed63357d4a6c01309f52a35892e4edc2e" - integrity sha512-S4PGGj9RbdgW8LhbILNK7W9JhmYP8zmDY7KDV/8eCiJBQJlbmltp5I0gv8c5ntLljfdxxfmJ+UJVSqyH4mb41A== + version "2.1.0" + resolved "https://registry.yarnpkg.com/htmlnano/-/htmlnano-2.1.0.tgz#67b31b3cd3fad23f0b610ca628fdb48382209c3c" + integrity sha512-jVGRE0Ep9byMBKEu0Vxgl8dhXYOUk0iNQ2pjsG+BcRB0u0oDF5A9p/iBGMg/PGKYUyMD0OAGu8dVT5Lzj8S58g== dependencies: - cosmiconfig "^7.0.1" + cosmiconfig "^8.0.0" posthtml "^0.16.5" timsort "^0.3.0" @@ -12091,6 +14042,11 @@ http-proxy-agent@^4.0.0, http-proxy-agent@^4.0.1: agent-base "6" debug "4" +http-shutdown@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/http-shutdown/-/http-shutdown-1.2.2.tgz#41bc78fc767637c4c95179bc492f312c0ae64c5f" + integrity sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw== + http-signature@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" @@ -12100,11 +14056,6 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" -http-status@1.5.3: - version "1.5.3" - resolved "https://registry.yarnpkg.com/http-status/-/http-status-1.5.3.tgz#9d1f6adcd1a609f535679f6e1b82811b96c3306e" - integrity sha512-jCClqdnnwigYslmtfb28vPplOgoiZ0siP2Z8C5Ua+3UKbx410v+c+jT+jh1bbI4TvcEySuX0vd/CfFZFbDkJeQ== - http2-wrapper@^1.0.0-beta.5.2: version "1.0.3" resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" @@ -12113,11 +14064,6 @@ http2-wrapper@^1.0.0-beta.5.2: quick-lru "^5.1.1" resolve-alpn "^1.0.0" -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg== - https-proxy-agent@5, https-proxy-agent@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" @@ -12126,6 +14072,22 @@ https-proxy-agent@5, https-proxy-agent@^5.0.0: agent-base "6" debug "4" +https-proxy-agent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz#702b71fb5520a132a66de1f67541d9e62154d82b" + integrity sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg== + dependencies: + agent-base "5" + debug "4" + +https-proxy-agent@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz#e2645b846b90e96c6e6f347fb5b2e41f1590b09b" + integrity sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA== + dependencies: + agent-base "^7.0.2" + debug "4" + human-signals@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" @@ -12142,9 +14104,9 @@ human-signals@^4.3.0: integrity sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ== humanize-duration@^3.15.3: - version "3.28.0" - resolved "https://registry.yarnpkg.com/humanize-duration/-/humanize-duration-3.28.0.tgz#f79770c0bec34d3bfd4899338cc40643bc04df72" - integrity sha512-jMAxraOOmHuPbffLVDKkEKi/NeG8dMqP8lGRd6Tbf7JgAeG33jjgPWDbXXU7ypCI0o+oNKJFgbSB9FKVdWNI2A== + version "3.31.0" + resolved "https://registry.yarnpkg.com/humanize-duration/-/humanize-duration-3.31.0.tgz#a0384d22555024cd17e6e9f8561540d37756bf4c" + integrity sha512-fRrehgBG26NNZysRlTq1S+HPtDpp3u+Jzdc/d5A4cEzOD86YLAkDaJyJg8krSdCi7CJ+s7ht3fwRj8Dl+Btd0w== humanize-ms@^1.2.1: version "1.2.1" @@ -12158,27 +14120,6 @@ husky@^8.0.2, husky@^8.0.3: resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.3.tgz#4936d7212e46d1dea28fef29bb3a108872cd9184" integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg== -i18next-browser-languagedetector@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.0.1.tgz#ead34592edc96c6c3a618a51cb57ad027c5b5d87" - integrity sha512-Pa5kFwaczXJAeHE56CHG2aWzFBMJNUNghf0Pm4SwSrEMps/PTKqW90EYWlIvhuYStf3Sn1K0vw+gH3+TLdkH1g== - dependencies: - "@babel/runtime" "^7.19.4" - -i18next-http-backend@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/i18next-http-backend/-/i18next-http-backend-2.1.1.tgz#72a21d61c2e96eea9ad45ba1b9dd0090e119709a" - integrity sha512-jByfUCDVgQ8+/Wens7queQhYYvMcGTW/lR4IJJNEDDXnmqjLrwi8ubXKpmp76/JIWEZHffNdWqnxFJcTVGeaOw== - dependencies: - cross-fetch "3.1.5" - -i18next@^22.4.11: - version "22.4.11" - resolved "https://registry.yarnpkg.com/i18next/-/i18next-22.4.11.tgz#8b6c9be95176de90d3f10a78af125d95d3a3258d" - integrity sha512-ShfTzXVMjXdF2iPiT/wbizOrssLh9Ab6VpuVROihLCAu+u25KbZiEYVgsA0W6g0SgjPa/JmGWcUEV/g6cKzEjQ== - dependencies: - "@babel/runtime" "^7.20.6" - iconv-lite@0.4.24, iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -12193,18 +14134,16 @@ iconv-lite@^0.6.2: dependencies: safer-buffer ">= 2.1.2 < 3.0.0" -icss-utils@^4.0.0, icss-utils@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" - integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== - dependencies: - postcss "^7.0.14" - icss-utils@^5.0.0, icss-utils@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== +idb-keyval@^6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/idb-keyval/-/idb-keyval-6.2.1.tgz#94516d625346d16f56f3b33855da11bfded2db33" + integrity sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg== + idb@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/idb/-/idb-7.1.1.tgz#d910ded866d32c7ced9befc5bfdf36f572ced72b" @@ -12215,27 +14154,32 @@ ieee754@^1.1.13, ieee754@^1.1.4, ieee754@^1.2.1: resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== -iferr@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - integrity sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA== - -ignore@^4.0.3, ignore@^4.0.6: +ignore@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== ignore@^5.0.4, ignore@^5.1.1, ignore@^5.2.0: - version "5.2.4" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" - integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + version "5.3.0" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.0.tgz#67418ae40d34d6999c95ff56016759c718c82f78" + integrity sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg== + +immediate@^3.2.3: + version "3.3.0" + resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.3.0.tgz#1aef225517836bcdf7f2a2de2600c79ff0269266" + integrity sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q== + +immediate@~3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.2.3.tgz#d140fa8f614659bd6541233097ddaac25cdd991c" + integrity sha512-RrGCXRm/fRVqMIhqXrGEX9rRADavPiDFSoMb/k64i9XMk8uH4r/Omi5Ctierj6XzNecwDbO4WuFbDD1zmpl3Tg== immer@^9.0.19: version "9.0.21" resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.21.tgz#1e025ea31a40f24fb064f1fef23e931496330176" integrity sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA== -import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: +import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1, import-fresh@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== @@ -12256,19 +14200,12 @@ imurmurhash@^0.1.4: resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== -indent-string@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" - integrity sha512-aqwDFWSgSgfRaEwao5lg5KEcVd/2a+D1rvoG7NdilmYz0NwRk6StWpWdz/Hpk34MKPpx7s8XxUqimfcQK6gGlg== - dependencies: - repeating "^2.0.0" - indent-string@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== -infer-owner@^1.0.3, infer-owner@^1.0.4: +infer-owner@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== @@ -12281,22 +14218,12 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.0, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3, inherits@~2.0.4: +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3, inherits@~2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - integrity sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA== - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== - -ini@~1.3.0: +ini@^1.3.2: version "1.3.8" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== @@ -12306,7 +14233,7 @@ inline-style-parser@0.1.1: resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1" integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== -inquirer@^7.0.0: +inquirer@^7.0.0, inquirer@^7.3.3: version "7.3.3" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.3.3.tgz#04d176b2af04afc157a83fd7c100e98ee0aad003" integrity sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA== @@ -12326,9 +14253,9 @@ inquirer@^7.0.0: through "^2.3.6" inquirer@^8.2.1: - version "8.2.5" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.5.tgz#d8654a7542c35a9b9e069d27e2df4858784d54f8" - integrity sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ== + version "8.2.6" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.6.tgz#733b74888195d8d400a67ac332011b5fae5ea562" + integrity sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg== dependencies: ansi-escapes "^4.2.1" chalk "^4.1.1" @@ -12344,15 +14271,15 @@ inquirer@^8.2.1: string-width "^4.1.0" strip-ansi "^6.0.0" through "^2.3.6" - wrap-ansi "^7.0.0" + wrap-ansi "^6.0.1" -internal-slot@^1.0.3, internal-slot@^1.0.4, internal-slot@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" - integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== +internal-slot@^1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.6.tgz#37e756098c4911c5e912b8edbf71ed3aa116f930" + integrity sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg== dependencies: - get-intrinsic "^1.2.0" - has "^1.0.3" + get-intrinsic "^1.2.2" + hasown "^2.0.0" side-channel "^1.0.4" interpret@^1.0.0: @@ -12360,11 +14287,6 @@ interpret@^1.0.0: resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== -interpret@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" - integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== - invariant@^2.2.3, invariant@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" @@ -12372,6 +14294,21 @@ invariant@^2.2.3, invariant@^2.2.4: dependencies: loose-envify "^1.0.0" +ioredis@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/ioredis/-/ioredis-5.3.2.tgz#9139f596f62fc9c72d873353ac5395bcf05709f7" + integrity sha512-1DKMMzlIHM02eBBVOFQ1+AolGjs6+xEcM4PDL7NqOS6szq7H9jSaEkIUH6/a5Hl241LzW6JLSiAbNvTQjUupUA== + dependencies: + "@ioredis/commands" "^1.1.1" + cluster-key-slot "^1.1.0" + debug "^4.3.4" + denque "^2.1.0" + lodash.defaults "^4.2.0" + lodash.isarguments "^3.1.0" + redis-errors "^1.2.0" + redis-parser "^3.0.0" + standard-as-callback "^2.1.0" + ip-regex@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" @@ -12392,26 +14329,24 @@ ipaddr.js@1.9.1: resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== +iron-webcrypto@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/iron-webcrypto/-/iron-webcrypto-1.0.0.tgz#e3b689c0c61b434a0a4cb82d0aeabbc8b672a867" + integrity sha512-anOK1Mktt8U1Xi7fCM3RELTuYbnFikQY5VtrDj7kPgpejV7d43tWKhzgioO0zpkazLEL/j/iayRqnJhrGfqUsg== + is-absolute-url@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A== - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== +is-accessor-descriptor@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz#3223b10628354644b86260db29b3e693f5ceedd4" + integrity sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA== dependencies: - kind-of "^6.0.0" + hasown "^2.0.0" -is-alphabetical@1.0.4, is-alphabetical@^1.0.0: +is-alphabetical@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== @@ -12459,6 +14394,13 @@ is-arrayish@^0.2.1: resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== +is-async-function@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-async-function/-/is-async-function-2.0.0.tgz#8e4418efd3e5d3a6ebb0164c05ef5afb69aa9646" + integrity sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA== + dependencies: + has-tostringtag "^1.0.0" + is-bigint@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" @@ -12466,13 +14408,6 @@ is-bigint@^1.0.1: dependencies: has-bigints "^1.0.1" -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q== - dependencies: - binary-extensions "^1.0.0" - is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" @@ -12493,7 +14428,7 @@ is-buffer@^1.1.5, is-buffer@~1.1.1: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== -is-buffer@^2.0.0: +is-buffer@^2.0.0, is-buffer@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== @@ -12510,33 +14445,19 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" -is-core-module@^2.11.0, is-core-module@^2.9.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" - integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== - dependencies: - has "^1.0.3" - -is-core-module@^2.5.0: - version "2.12.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.0.tgz#36ad62f6f73c8253fd6472517a12483cf03e7ec4" - integrity sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ== - dependencies: - has "^1.0.3" - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg== +is-core-module@^2.13.0, is-core-module@^2.13.1, is-core-module@^2.5.0: + version "2.13.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== dependencies: - kind-of "^3.0.2" + hasown "^2.0.0" -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== +is-data-descriptor@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz#2109164426166d32ea38c405c1e0945d9e6a4eeb" + integrity sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw== dependencies: - kind-of "^6.0.0" + hasown "^2.0.0" is-date-object@^1.0.1, is-date-object@^1.0.5: version "1.0.5" @@ -12561,36 +14482,26 @@ is-deflate@^1.0.0: integrity sha512-YDoFpuZWu1VRXlsnlYMzKyVRITXj7Ej/V9gXQ2/pAe7X1J7M/RNOqaIYi6qUn+B7nGyB9pDXrv02dsB58d2ZAQ== is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + version "0.1.7" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.7.tgz#2727eb61fd789dcd5bdf0ed4569f551d2fe3be33" + integrity sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg== dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" + is-accessor-descriptor "^1.0.1" + is-data-descriptor "^1.0.1" is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.3.tgz#92d27cb3cd311c4977a4db47df457234a13cb306" + integrity sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw== dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" + is-accessor-descriptor "^1.0.1" + is-data-descriptor "^1.0.1" is-docker@^2.0.0, is-docker@^2.1.1: version "2.2.1" resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== -is-dom@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-dom/-/is-dom-1.1.0.tgz#af1fced292742443bb59ca3f76ab5e80907b4e8a" - integrity sha512-u82f6mvhYxRPKpw8V1N0W8ce1xXwOrQtgGcxl6UCL5zBmZu3is/18K0rR7uFCnMDuAsS/3W54mGL4vsaFUQlEQ== - dependencies: - is-object "^1.0.1" - is-window "^1.0.2" - is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" @@ -12603,22 +14514,17 @@ is-extendable@^1.0.1: dependencies: is-plain-object "^2.0.4" -is-extglob@^2.1.0, is-extglob@^2.1.1: +is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== -is-finite@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" - integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw== +is-finalizationregistry@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz#c8749b65f17c133313e661b1289b95ad3dbd62e6" + integrity sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw== dependencies: - number-is-nan "^1.0.0" + call-bind "^1.0.2" is-fullwidth-code-point@^2.0.0: version "2.0.0" @@ -12630,7 +14536,12 @@ is-fullwidth-code-point@^3.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== -is-function@^1.0.1, is-function@^1.0.2: +is-fullwidth-code-point@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" + integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== + +is-function@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08" integrity sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ== @@ -12640,20 +14551,13 @@ is-generator-fn@^2.0.0: resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== -is-generator-function@^1.0.7: +is-generator-function@^1.0.10, is-generator-function@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== dependencies: has-tostringtag "^1.0.0" -is-glob@^3.0.0, is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw== - dependencies: - is-extglob "^2.1.0" - is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" @@ -12666,6 +14570,11 @@ is-gzip@^1.0.0: resolved "https://registry.yarnpkg.com/is-gzip/-/is-gzip-1.0.0.tgz#6ca8b07b99c77998025900e555ced8ed80879a83" integrity sha512-rcfALRIb1YewtnksfRIHGcIY93QnK8BIQ/2c9yDYcG/Y6+vRoJuTWBmmSEbyLLYtXm7q35pHOHbZFQBaLrhlWQ== +is-hex-prefixed@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" + integrity sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA== + is-hexadecimal@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" @@ -12686,7 +14595,7 @@ is-json@^2.0.1: resolved "https://registry.yarnpkg.com/is-json/-/is-json-2.0.1.tgz#6be166d144828a131d686891b983df62c39491ff" integrity sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA== -is-map@^2.0.1, is-map@^2.0.2: +is-map@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== @@ -12696,6 +14605,14 @@ is-module@^1.0.0: resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g== +is-nan@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d" + integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + is-negative-zero@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" @@ -12725,12 +14642,22 @@ is-obj@^2.0.0: resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== -is-object@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.2.tgz#a56552e1c665c9e950b4a025461da87e72f86fcf" - integrity sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA== +is-obj@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-3.0.0.tgz#b0889f1f9f8cb87e87df53a8d1230a2250f8b9be" + integrity sha512-IlsXEHOjtKhpN8r/tRFj2nDyTmHvcfNeu/nrRIcXE17ROeatXchkojffa1SpdqW4cr/Fj6QkEf/Gn4zf6KKvEQ== + +is-path-cwd@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" + integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== -is-plain-obj@2.1.0, is-plain-obj@^2.0.0: +is-path-inside@^3.0.2, is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + +is-plain-obj@2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== @@ -12770,13 +14697,13 @@ is-reference@^1.1.2: "@types/estree" "*" is-reference@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-3.0.1.tgz#d400f4260f7e55733955e60d361d827eb4d3b831" - integrity sha512-baJJdQLiYaJdvFbJqXrcGv3WU3QCzBlUcI5QhbesIm6/xPsvmO+2CDoi/GMOFBQEQm+PXkwOPrp9KK5ozZsp2w== + version "3.0.2" + resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-3.0.2.tgz#154747a01f45cd962404ee89d43837af2cba247c" + integrity sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg== dependencies: "@types/estree" "*" -is-regex@^1.0.4, is-regex@^1.1.2, is-regex@^1.1.4: +is-regex@^1.0.4, is-regex@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== @@ -12784,7 +14711,12 @@ is-regex@^1.0.4, is-regex@^1.1.2, is-regex@^1.1.4: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-set@^2.0.1, is-set@^2.0.2: +is-regexp@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-3.1.0.tgz#0235eab9cda5b83f96ac4a263d8c32c9d5ad7422" + integrity sha512-rbku49cWloU5bSMI+zaRaXdQHXnthP6DZ/vLnfdSKyL4zUzuWnomtOEiZZOd+ioQ+avFo/qau3KPTc7Fjy1uPA== + +is-set@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec" integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== @@ -12832,16 +14764,12 @@ is-text-path@^1.0.1: dependencies: text-extensions "^1.0.0" -is-typed-array@^1.1.10, is-typed-array@^1.1.3, is-typed-array@^1.1.9: - version "1.1.10" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" - integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== +is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.3, is-typed-array@^1.1.9: + version "1.1.12" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a" + integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" + which-typed-array "^1.1.11" is-typedarray@1.0.0, is-typedarray@^1.0.0, is-typedarray@~1.0.0: version "1.0.0" @@ -12853,10 +14781,10 @@ is-unicode-supported@^0.1.0: resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== -is-utf8@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - integrity sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q== +is-url@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52" + integrity sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww== is-weakmap@^2.0.1: version "2.0.1" @@ -12878,31 +14806,11 @@ is-weakset@^2.0.1: call-bind "^1.0.2" get-intrinsic "^1.1.1" -is-whitespace-character@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7" - integrity sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w== - -is-window@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-window/-/is-window-1.0.2.tgz#2c896ca53db97de45d3c33133a65d8c9f563480d" - integrity sha512-uj00kdXyZb9t9RcAUAwMZAnkBUwdYGhYlt7djMXhfyhUCzwNba50tIiBKR7q0l7tdoBtFVw/3JmLY6fI3rmZmg== - is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== -is-word-character@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.4.tgz#ce0e73216f98599060592f62ff31354ddbeb0230" - integrity sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA== - -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw== - is-wsl@^2.1.1, is-wsl@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" @@ -12910,22 +14818,17 @@ is-wsl@^2.1.1, is-wsl@^2.2.0: dependencies: is-docker "^2.0.0" -is_js@^0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/is_js/-/is_js-0.9.0.tgz#0ab94540502ba7afa24c856aa985561669e9c52d" - integrity sha512-8Y5EHSH+TonfUHX2g3pMJljdbGavg55q4jmHzghJCdqYDbdNROC8uw/YFQwIRCRqRJT1EY3pJefz+kglw+o7sg== - isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: +isarray@1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== -isarray@^2.0.1, isarray@^2.0.5: +isarray@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== @@ -12960,28 +14863,25 @@ isomorphic-fetch@^2.1.1: node-fetch "^1.0.1" whatwg-fetch ">=0.10.0" -isomorphic-unfetch@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz#87341d5f4f7b63843d468438128cb087b7c3e98f" - integrity sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q== - dependencies: - node-fetch "^2.6.1" - unfetch "^4.2.0" - isomorphic-ws@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc" integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== +isows@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/isows/-/isows-1.0.3.tgz#93c1cf0575daf56e7120bab5c8c448b0809d0d74" + integrity sha512-2cKei4vlmg2cxEjm3wVSqn8pcoRF/LX/wpifuuNquFO4SQmPwarClT+SUCA2lt+l581tTeZIPIZuIDo2jWN1fg== + isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" - integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== + version "3.2.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" + integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== istanbul-lib-instrument@^4.0.0: version "4.0.3" @@ -13005,15 +14905,15 @@ istanbul-lib-instrument@^5.0.4: semver "^6.3.0" istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + version "3.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" + integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== dependencies: istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" + make-dir "^4.0.0" supports-color "^7.1.0" -istanbul-lib-source-maps@^4.0.0: +istanbul-lib-source-maps@^4.0.0, istanbul-lib-source-maps@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== @@ -13022,36 +14922,43 @@ istanbul-lib-source-maps@^4.0.0: istanbul-lib-coverage "^3.0.0" source-map "^0.6.1" -istanbul-reports@^3.0.2, istanbul-reports@^3.1.4: - version "3.1.5" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae" - integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== +istanbul-reports@^3.0.2, istanbul-reports@^3.1.4, istanbul-reports@^3.1.5: + version "3.1.6" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.6.tgz#2544bcab4768154281a2f0870471902704ccaa1a" + integrity sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg== dependencies: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -iterate-iterator@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/iterate-iterator/-/iterate-iterator-1.0.2.tgz#551b804c9eaa15b847ea6a7cdc2f5bf1ec150f91" - integrity sha512-t91HubM4ZDQ70M9wqp+pcNpu8OyJ9UAtXntT/Bcsvp5tZMnz9vRa+IunKXeI8AnfZMTv0jNuVEmGeLSMjVvfPw== +iterator.prototype@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/iterator.prototype/-/iterator.prototype-1.1.2.tgz#5e29c8924f01916cb9335f1ff80619dcff22b0c0" + integrity sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w== + dependencies: + define-properties "^1.2.1" + get-intrinsic "^1.2.1" + has-symbols "^1.0.3" + reflect.getprototypeof "^1.0.4" + set-function-name "^2.0.1" -iterate-value@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/iterate-value/-/iterate-value-1.0.2.tgz#935115bd37d006a52046535ebc8d07e9c9337f57" - integrity sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ== +jackspeak@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8" + integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== dependencies: - es-get-iterator "^1.0.2" - iterate-iterator "^1.0.1" + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" jake@^10.8.5: - version "10.8.5" - resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.5.tgz#f2183d2c59382cb274226034543b9c03b8164c46" - integrity sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw== + version "10.8.7" + resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.7.tgz#63a32821177940c33f356e0ba44ff9d34e1c7d8f" + integrity sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w== dependencies: async "^3.2.3" chalk "^4.0.2" - filelist "^1.0.1" - minimatch "^3.0.4" + filelist "^1.0.4" + minimatch "^3.1.2" javascript-stringify@^2.0.1: version "2.1.0" @@ -13077,6 +14984,24 @@ jayson@^3.4.4: uuid "^8.3.2" ws "^7.4.5" +jayson@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/jayson/-/jayson-4.1.0.tgz#60dc946a85197317f2b1439d672a8b0a99cea2f9" + integrity sha512-R6JlbyLN53Mjku329XoRT2zJAE6ZgOQ8f91ucYdMCD4nkGCF9kZSrcGXpHIU4jeKj58zUZke2p+cdQchU7Ly7A== + dependencies: + "@types/connect" "^3.4.33" + "@types/node" "^12.12.54" + "@types/ws" "^7.4.4" + JSONStream "^1.3.5" + commander "^2.20.3" + delay "^5.0.0" + es6-promisify "^5.0.0" + eyes "^0.1.8" + isomorphic-ws "^4.0.1" + json-stringify-safe "^5.0.1" + uuid "^8.3.2" + ws "^7.4.5" + jest-changed-files@^25.5.0: version "25.5.0" resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-25.5.0.tgz#141cc23567ceb3f534526f8614ba39421383634c" @@ -13188,6 +15113,11 @@ jest-get-type@^25.2.6: resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz#0b0a32fab8908b44d508be81681487dbabb8d877" integrity sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig== +jest-get-type@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" + integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== + jest-haste-map@^25.5.1: version "25.5.1" resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-25.5.1.tgz#1df10f716c1d94e60a1ebf7798c9fb3da2620943" @@ -13208,26 +15138,24 @@ jest-haste-map@^25.5.1: optionalDependencies: fsevents "^2.1.2" -jest-haste-map@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" - integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== +jest-haste-map@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104" + integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== dependencies: - "@jest/types" "^26.6.2" - "@types/graceful-fs" "^4.1.2" + "@jest/types" "^29.6.3" + "@types/graceful-fs" "^4.1.3" "@types/node" "*" anymatch "^3.0.3" fb-watchman "^2.0.0" - graceful-fs "^4.2.4" - jest-regex-util "^26.0.0" - jest-serializer "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - micromatch "^4.0.2" - sane "^4.0.3" - walker "^1.0.7" + graceful-fs "^4.2.9" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + jest-worker "^29.7.0" + micromatch "^4.0.4" + walker "^1.0.8" optionalDependencies: - fsevents "^2.1.2" + fsevents "^2.3.2" jest-jasmine2@^25.5.4: version "25.5.4" @@ -13301,10 +15229,10 @@ jest-regex-util@^25.2.1, jest-regex-util@^25.2.6: resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-25.2.6.tgz#d847d38ba15d2118d3b06390056028d0f2fd3964" integrity sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw== -jest-regex-util@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" - integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== +jest-regex-util@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52" + integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== jest-resolve-dependencies@^25.5.4: version "25.5.4" @@ -13394,14 +15322,6 @@ jest-serializer@^25.5.0: dependencies: graceful-fs "^4.2.4" -jest-serializer@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" - integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== - dependencies: - "@types/node" "*" - graceful-fs "^4.2.4" - jest-snapshot@^25.5.1: version "25.5.1" resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-25.5.1.tgz#1a2a576491f9961eb8d00c2e5fd479bc28e5ff7f" @@ -13434,17 +15354,17 @@ jest-util@^25.5.0: is-ci "^2.0.0" make-dir "^3.0.0" -jest-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" - integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== +jest-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" + integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== dependencies: - "@jest/types" "^26.6.2" + "@jest/types" "^29.6.3" "@types/node" "*" chalk "^4.0.0" - graceful-fs "^4.2.4" - is-ci "^2.0.0" - micromatch "^4.0.2" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" jest-validate@^25.5.0: version "25.5.0" @@ -13458,6 +15378,18 @@ jest-validate@^25.5.0: leven "^3.1.0" pretty-format "^25.5.0" +jest-validate@^29.4.3: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c" + integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== + dependencies: + "@jest/types" "^29.6.3" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^29.6.3" + leven "^3.1.0" + pretty-format "^29.7.0" + jest-watch-typeahead@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/jest-watch-typeahead/-/jest-watch-typeahead-0.5.0.tgz#903dba6112f22daae7e90b0a271853f7ff182008" @@ -13499,15 +15431,6 @@ jest-worker@^25.5.0: merge-stream "^2.0.0" supports-color "^7.0.0" -jest-worker@^26.5.0, jest-worker@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" - integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - jest-worker@^27.4.5: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" @@ -13517,6 +15440,16 @@ jest-worker@^27.4.5: merge-stream "^2.0.0" supports-color "^8.0.0" +jest-worker@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" + integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== + dependencies: + "@types/node" "*" + jest-util "^29.7.0" + merge-stream "^2.0.0" + supports-color "^8.0.0" + jest@^25.3.0: version "25.5.4" resolved "https://registry.yarnpkg.com/jest/-/jest-25.5.4.tgz#f21107b6489cfe32b076ce2adcadee3587acb9db" @@ -13526,6 +15459,11 @@ jest@^25.3.0: import-local "^3.0.2" jest-cli "^25.5.4" +jiti@^1.17.1, jiti@^1.20.0: + version "1.21.0" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.0.tgz#7c97f8fe045724e136a397f7340475244156105d" + integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== + jpjs@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/jpjs/-/jpjs-1.2.1.tgz#f343833de8838a5beba1f42d5a219be0114c44b7" @@ -13582,17 +15520,12 @@ js-sha3@0.8.0, js-sha3@^0.8.0: resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== -js-string-escape@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/js-string-escape/-/js-string-escape-1.0.1.tgz#e2625badbc0d67c7533e9edc1068c587ae4137ef" - integrity sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg== - "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@4.1.0, js-yaml@^4.0.0: +js-yaml@4.1.0, js-yaml@^4.0.0, js-yaml@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== @@ -13612,6 +15545,36 @@ jsbn@~0.1.0: resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== +jscodeshift@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.14.0.tgz#7542e6715d6d2e8bde0b4e883f0ccea358b46881" + integrity sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA== + dependencies: + "@babel/core" "^7.13.16" + "@babel/parser" "^7.13.16" + "@babel/plugin-proposal-class-properties" "^7.13.0" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.13.8" + "@babel/plugin-proposal-optional-chaining" "^7.13.12" + "@babel/plugin-transform-modules-commonjs" "^7.13.8" + "@babel/preset-flow" "^7.13.13" + "@babel/preset-typescript" "^7.13.0" + "@babel/register" "^7.13.16" + babel-core "^7.0.0-bridge.0" + chalk "^4.1.2" + flow-parser "0.*" + graceful-fs "^4.2.4" + micromatch "^4.0.4" + neo-async "^2.5.0" + node-dir "^0.1.17" + recast "^0.21.0" + temp "^0.8.4" + write-file-atomic "^2.3.0" + +jscrypto@^1.0.0, jscrypto@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/jscrypto/-/jscrypto-1.0.3.tgz#598febca2a939d6f679c54f56e1fe364cef30cc9" + integrity sha512-lryZl0flhodv4SZHOqyb1bx5sKcJxj0VBo0Kzb4QMAg3L021IC9uGpl0RCZa+9KJwlRGSK2C80ITcwbe19OKLQ== + jsdom@^15.2.1: version "15.2.1" resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-15.2.1.tgz#d2feb1aef7183f86be521b8c6833ff5296d07ec5" @@ -13659,12 +15622,19 @@ jsesc@~0.5.0: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== +json-bigint@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-bigint/-/json-bigint-1.0.0.tgz#ae547823ac0cad8398667f8cd9ef4730f5b01ff1" + integrity sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ== + dependencies: + bignumber.js "^9.0.0" + json-buffer@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== -json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: +json-parse-better-errors@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== @@ -13712,7 +15682,7 @@ json5@2.x, json5@^2.1.2, json5@^2.2.0, json5@^2.2.1, json5@^2.2.2, json5@^2.2.3: resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== -json5@^1.0.1, json5@^1.0.2: +json5@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== @@ -13755,23 +15725,46 @@ jsprim@^1.2.2: json-schema "0.4.0" verror "1.10.0" -"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea" - integrity sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw== +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.5: + version "3.3.5" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a" + integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== + dependencies: + array-includes "^3.1.6" + array.prototype.flat "^1.3.1" + object.assign "^4.1.4" + object.values "^1.1.6" + +keccak@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.1.tgz#ae30a0e94dbe43414f741375cff6d64c8bea0bff" + integrity sha512-epq90L9jlFWCW7+pQa6JOnKn2Xgl2mtI664seYR6MHskvI9agt7AnDqmAlp9TqU4/caMYbA08Hi5DMZAl5zdkA== dependencies: - array-includes "^3.1.5" - object.assign "^4.1.3" + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" -junk@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/junk/-/junk-3.1.0.tgz#31499098d902b7e98c5d9b9c80f43457a88abfa1" - integrity sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ== +keccak@3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.2.tgz#4c2c6e8c54e04f2670ee49fa734eb9da152206e0" + integrity sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ== + dependencies: + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + readable-stream "^3.6.0" + +keccak@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.4.tgz#edc09b89e633c0549da444432ecf062ffadee86d" + integrity sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q== + dependencies: + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + readable-stream "^3.6.0" -keyv@^4.0.0: - version "4.5.2" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.2.tgz#0e310ce73bf7851ec702f2eaf46ec4e3805cce56" - integrity sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g== +keyv@^4.0.0, keyv@^4.5.3: + version "4.5.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== dependencies: json-buffer "3.0.1" @@ -13794,12 +15787,7 @@ kind-of@^4.0.0: dependencies: is-buffer "^1.1.5" -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: +kind-of@^6.0.2, kind-of@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== @@ -13814,33 +15802,118 @@ kleur@^4.0.3: resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780" integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== -klona@^2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22" - integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== - -language-subtag-registry@~0.3.2: +language-subtag-registry@^0.3.20: version "0.3.22" resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d" integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w== -language-tags@=1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a" - integrity sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ== +language-tags@^1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.9.tgz#1ffdcd0ec0fafb4b1be7f8b11f306ad0f9c08777" + integrity sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA== dependencies: - language-subtag-registry "~0.3.2" + language-subtag-registry "^0.3.20" -lazy-universal-dotenv@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lazy-universal-dotenv/-/lazy-universal-dotenv-3.0.1.tgz#a6c8938414bca426ab8c9463940da451a911db38" - integrity sha512-prXSYk799h3GY3iOWnC6ZigYzMPjxN2svgjJ9shk7oMadSNX3wXy0B6F32PMJv7qtMnrIbUxoEHzbutvxR2LBQ== +lazy-universal-dotenv@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/lazy-universal-dotenv/-/lazy-universal-dotenv-4.0.0.tgz#0b220c264e89a042a37181a4928cdd298af73422" + integrity sha512-aXpZJRnTkpK6gQ/z4nk+ZBLd/Qdp118cvPruLSIQzQNRhKwEcdXCOzXuF55VDqIiuAaY3UGZ10DJtvZzDcvsxg== dependencies: - "@babel/runtime" "^7.5.0" app-root-dir "^1.0.2" - core-js "^3.0.4" - dotenv "^8.0.0" - dotenv-expand "^5.1.0" + dotenv "^16.0.0" + dotenv-expand "^10.0.0" + +level-codec@^9.0.0: + version "9.0.2" + resolved "https://registry.yarnpkg.com/level-codec/-/level-codec-9.0.2.tgz#fd60df8c64786a80d44e63423096ffead63d8cbc" + integrity sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ== + dependencies: + buffer "^5.6.0" + +level-concat-iterator@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/level-concat-iterator/-/level-concat-iterator-3.1.0.tgz#5235b1f744bc34847ed65a50548aa88d22e881cf" + integrity sha512-BWRCMHBxbIqPxJ8vHOvKUsaO0v1sLYZtjN3K2iZJsRBYtp+ONsY6Jfi6hy9K3+zolgQRryhIn2NRZjZnWJ9NmQ== + dependencies: + catering "^2.1.0" + +level-concat-iterator@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz#1d1009cf108340252cb38c51f9727311193e6263" + integrity sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw== + +level-errors@^2.0.0, level-errors@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-2.0.1.tgz#2132a677bf4e679ce029f517c2f17432800c05c8" + integrity sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw== + dependencies: + errno "~0.1.1" + +level-iterator-stream@~4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz#7ceba69b713b0d7e22fcc0d1f128ccdc8a24f79c" + integrity sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q== + dependencies: + inherits "^2.0.4" + readable-stream "^3.4.0" + xtend "^4.0.2" + +level-mem@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/level-mem/-/level-mem-5.0.1.tgz#c345126b74f5b8aa376dc77d36813a177ef8251d" + integrity sha512-qd+qUJHXsGSFoHTziptAKXoLX87QjR7v2KMbqncDXPxQuCdsQlzmyX+gwrEHhlzn08vkf8TyipYyMmiC6Gobzg== + dependencies: + level-packager "^5.0.3" + memdown "^5.0.0" + +level-packager@^5.0.3: + version "5.1.1" + resolved "https://registry.yarnpkg.com/level-packager/-/level-packager-5.1.1.tgz#323ec842d6babe7336f70299c14df2e329c18939" + integrity sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ== + dependencies: + encoding-down "^6.3.0" + levelup "^4.3.2" + +level-supports@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/level-supports/-/level-supports-2.1.0.tgz#9af908d853597ecd592293b2fad124375be79c5f" + integrity sha512-E486g1NCjW5cF78KGPrMDRBYzPuueMZ6VBXHT6gC7A8UYWGiM14fGgp+s/L1oFfDWSPV/+SFkYCmZ0SiESkRKA== + +level-supports@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/level-supports/-/level-supports-1.0.1.tgz#2f530a596834c7301622521988e2c36bb77d122d" + integrity sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg== + dependencies: + xtend "^4.0.2" + +level-ws@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/level-ws/-/level-ws-2.0.0.tgz#207a07bcd0164a0ec5d62c304b4615c54436d339" + integrity sha512-1iv7VXx0G9ec1isqQZ7y5LmoZo/ewAsyDHNA8EFDW5hqH2Kqovm33nSFkSdnLLAK+I5FlT+lo5Cw9itGe+CpQA== + dependencies: + inherits "^2.0.3" + readable-stream "^3.1.0" + xtend "^4.0.1" + +leveldown@6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/leveldown/-/leveldown-6.1.0.tgz#7ab1297706f70c657d1a72b31b40323aa612b9ee" + integrity sha512-8C7oJDT44JXxh04aSSsfcMI8YiaGRhOFI9/pMEL7nWJLVsWajDPTRxsSHTM2WcTVY5nXM+SuRHzPPi0GbnDX+w== + dependencies: + abstract-leveldown "^7.2.0" + napi-macros "~2.0.0" + node-gyp-build "^4.3.0" + +levelup@^4.3.2: + version "4.4.0" + resolved "https://registry.yarnpkg.com/levelup/-/levelup-4.4.0.tgz#f89da3a228c38deb49c48f88a70fb71f01cafed6" + integrity sha512-94++VFO3qN95cM/d6eBXvd894oJE0w3cInq9USsyQzzoJxmiYzPAocNcuGCPGGjoXqDVJcr3C1jzt1TSjyaiLQ== + dependencies: + deferred-leveldown "~5.3.0" + level-errors "~2.0.0" + level-iterator-stream "~4.0.0" + level-supports "~1.0.0" + xtend "~4.0.0" leven@^3.1.0: version "3.1.0" @@ -13855,117 +15928,213 @@ levn@^0.3.0, levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +libsodium-sumo@^0.7.13: + version "0.7.13" + resolved "https://registry.yarnpkg.com/libsodium-sumo/-/libsodium-sumo-0.7.13.tgz#533b97d2be44b1277e59c1f9f60805978ac5542d" + integrity sha512-zTGdLu4b9zSNLfovImpBCbdAA4xkpkZbMnSQjP8HShyOutnGjRHmSOKlsylh1okao6QhLiz7nG98EGn+04cZjQ== + +libsodium-wrappers-sumo@^0.7.11: + version "0.7.13" + resolved "https://registry.yarnpkg.com/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.13.tgz#a33aea845a0bb56db067548f04feba28c730ab8e" + integrity sha512-lz4YdplzDRh6AhnLGF2Dj2IUj94xRN6Bh8T0HLNwzYGwPehQJX6c7iYVrFUPZ3QqxE0bqC+K0IIqqZJYWumwSQ== + dependencies: + libsodium-sumo "^0.7.13" + libsodium-wrappers@^0.7.6: - version "0.7.11" - resolved "https://registry.yarnpkg.com/libsodium-wrappers/-/libsodium-wrappers-0.7.11.tgz#53bd20606dffcc54ea2122133c7da38218f575f7" - integrity sha512-SrcLtXj7BM19vUKtQuyQKiQCRJPgbpauzl3s0rSwD+60wtHqSUuqcoawlMDheCJga85nKOQwxNYQxf/CKAvs6Q== - dependencies: - libsodium "^0.7.11" - -libsodium@^0.7.11: - version "0.7.11" - resolved "https://registry.yarnpkg.com/libsodium/-/libsodium-0.7.11.tgz#cd10aae7bcc34a300cc6ad0ac88fcca674cfbc2e" - integrity sha512-WPfJ7sS53I2s4iM58QxY3Inb83/6mjlYgcmZs7DJsvDlnmVUwNinBCi5vBT43P6bHRy01O4zsMU2CoVR6xJ40A== - -lightningcss-darwin-arm64@1.19.0: - version "1.19.0" - resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.19.0.tgz#56ab071e932f845dbb7667f44f5b78441175a343" - integrity sha512-wIJmFtYX0rXHsXHSr4+sC5clwblEMji7HHQ4Ub1/CznVRxtCFha6JIt5JZaNf8vQrfdZnBxLLC6R8pC818jXqg== - -lightningcss-darwin-x64@1.19.0: - version "1.19.0" - resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.19.0.tgz#c867308b88859ba61a2c46c82b1ca52ff73a1bd0" - integrity sha512-Lif1wD6P4poaw9c/4Uh2z+gmrWhw/HtXFoeZ3bEsv6Ia4tt8rOJBdkfVaUJ6VXmpKHALve+iTyP2+50xY1wKPw== - -lightningcss-linux-arm-gnueabihf@1.19.0: - version "1.19.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.19.0.tgz#0f921dc45f2e5c3aea70fab98844ac0e5f2f81be" - integrity sha512-P15VXY5682mTXaiDtbnLYQflc8BYb774j2R84FgDLJTN6Qp0ZjWEFyN1SPqyfTj2B2TFjRHRUvQSSZ7qN4Weig== - -lightningcss-linux-arm64-gnu@1.19.0: - version "1.19.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.19.0.tgz#027f9df9c7f4ffa127c37a71726245a5794d7ba2" - integrity sha512-zwXRjWqpev8wqO0sv0M1aM1PpjHz6RVIsBcxKszIG83Befuh4yNysjgHVplF9RTU7eozGe3Ts7r6we1+Qkqsww== - -lightningcss-linux-arm64-musl@1.19.0: - version "1.19.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.19.0.tgz#85ea987da868524eac6db94f8e1eaa23d0b688a3" - integrity sha512-vSCKO7SDnZaFN9zEloKSZM5/kC5gbzUjoJQ43BvUpyTFUX7ACs/mDfl2Eq6fdz2+uWhUh7vf92c4EaaP4udEtA== - -lightningcss-linux-x64-gnu@1.19.0: - version "1.19.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.19.0.tgz#02bec89579ab4153dccc0def755d1fd9e3ee7f3c" - integrity sha512-0AFQKvVzXf9byrXUq9z0anMGLdZJS+XSDqidyijI5njIwj6MdbvX2UZK/c4FfNmeRa2N/8ngTffoIuOUit5eIQ== - -lightningcss-linux-x64-musl@1.19.0: - version "1.19.0" - resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.19.0.tgz#e36a5df8193ae961d22974635e4c100a1823bb8c" - integrity sha512-SJoM8CLPt6ECCgSuWe+g0qo8dqQYVcPiW2s19dxkmSI5+Uu1GIRzyKA0b7QqmEXolA+oSJhQqCmJpzjY4CuZAg== - -lightningcss-win32-x64-msvc@1.19.0: - version "1.19.0" - resolved "https://registry.yarnpkg.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.19.0.tgz#0854dbd153035eca1396e2227c708ad43655a61c" - integrity sha512-C+VuUTeSUOAaBZZOPT7Etn/agx/MatzJzGRkeV+zEABmPuntv1zihncsi+AyGmjkkzq3wVedEy7h0/4S84mUtg== + version "0.7.13" + resolved "https://registry.yarnpkg.com/libsodium-wrappers/-/libsodium-wrappers-0.7.13.tgz#83299e06ee1466057ba0e64e532777d2929b90d3" + integrity sha512-kasvDsEi/r1fMzKouIDv7B8I6vNmknXwGiYodErGuESoFTohGSKZplFtVxZqHaoQ217AynyIFgnOVRitpHs0Qw== + dependencies: + libsodium "^0.7.13" + +libsodium@^0.7.13: + version "0.7.13" + resolved "https://registry.yarnpkg.com/libsodium/-/libsodium-0.7.13.tgz#230712ec0b7447c57b39489c48a4af01985fb393" + integrity sha512-mK8ju0fnrKXXfleL53vtp9xiPq5hKM0zbDQtcxQIsSmxNgSxqCj6R7Hl9PkrNe2j29T4yoDaF7DJLK9/i5iWUw== + +lightningcss-darwin-arm64@1.22.1: + version "1.22.1" + resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.22.1.tgz#c03c042335fd7e9e1f45c977b39ff6886b8b064f" + integrity sha512-ldvElu+R0QimNTjsKpaZkUv3zf+uefzLy/R1R19jtgOfSRM+zjUCUgDhfEDRmVqJtMwYsdhMI2aJtJChPC6Osg== + +lightningcss-darwin-x64@1.22.1: + version "1.22.1" + resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.22.1.tgz#cdd380006a176b7faea83d1d642d9c5d65620f74" + integrity sha512-5p2rnlVTv6Gpw4PlTLq925nTVh+HFh4MpegX8dPDYJae+NFVjQ67gY7O6iHIzQjLipDiYejFF0yHrhjU3XgLBQ== + +lightningcss-freebsd-x64@1.22.1: + version "1.22.1" + resolved "https://registry.yarnpkg.com/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.22.1.tgz#dd1b19308e3b0f24b6f79da10fd3975e5e02ebda" + integrity sha512-1FaBtcFrZqB2hkFbAxY//Pnp8koThvyB6AhjbdVqKD4/pu13Rl91fKt2N9qyeQPUt3xy7ORUvSO+dPk3J6EjXg== + +lightningcss-linux-arm-gnueabihf@1.22.1: + version "1.22.1" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.22.1.tgz#134cf9b41abd44ec53d8bae02c9f6e4f257eb617" + integrity sha512-6rub98tYGfE5I5j0BP8t/2d4BZyu1S7Iz9vUkm0H26snAFHYxLfj3RbQn0xHHIePSetjLnhcg3QlfwUAkD/FYg== + +lightningcss-linux-arm64-gnu@1.22.1: + version "1.22.1" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.22.1.tgz#33800723fb3d782c71cc131cf38ca678a0e9d1fa" + integrity sha512-nYO5qGtb/1kkTZu3FeTiM+2B2TAb7m2DkLCTgQIs2bk2o9aEs7I96fwySKcoHWQAiQDGR9sMux9vkV4KQXqPaQ== + +lightningcss-linux-arm64-musl@1.22.1: + version "1.22.1" + resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.22.1.tgz#cff86acaa98a0245add5a333098befc894802137" + integrity sha512-MCV6RuRpzXbunvzwY644iz8cw4oQxvW7oer9xPkdadYqlEyiJJ6wl7FyJOH7Q6ZYH4yjGAUCvxDBxPbnDu9ZVg== + +lightningcss-linux-x64-gnu@1.22.1: + version "1.22.1" + resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.22.1.tgz#3f68602228b49d661db0692548e061456b603ca2" + integrity sha512-RjNgpdM20VUXgV7us/VmlO3Vn2ZRiDnc3/bUxCVvySZWPiVPprpqW/QDWuzkGa+NCUf6saAM5CLsZLSxncXJwg== + +lightningcss-linux-x64-musl@1.22.1: + version "1.22.1" + resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.22.1.tgz#e713e56798f8a50df3e3f285ef102191a01ef951" + integrity sha512-ZgO4C7Rd6Hv/5MnyY2KxOYmIlzk4rplVolDt3NbkNR8DndnyX0Q5IR4acJWNTBICQ21j3zySzKbcJaiJpk/4YA== + +lightningcss-win32-x64-msvc@1.22.1: + version "1.22.1" + resolved "https://registry.yarnpkg.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.22.1.tgz#48b141554bf05cc4338f064b6892dd5dd16185ef" + integrity sha512-4pozV4eyD0MDET41ZLHAeBo+H04Nm2UEYIk5w/ts40231dRFV7E0cjwbnZvSoc1DXFgecAhiC0L16ruv/ZDCpg== lightningcss@^1.16.1: - version "1.19.0" - resolved "https://registry.yarnpkg.com/lightningcss/-/lightningcss-1.19.0.tgz#fbbad0975de66252e38d96b5bdd2a62f2dd0ffbf" - integrity sha512-yV5UR7og+Og7lQC+70DA7a8ta1uiOPnWPJfxa0wnxylev5qfo4P+4iMpzWAdYWOca4jdNQZii+bDL/l+4hUXIA== + version "1.22.1" + resolved "https://registry.yarnpkg.com/lightningcss/-/lightningcss-1.22.1.tgz#8108ddecb2e859032bdd99908abd2b37515b1750" + integrity sha512-Fy45PhibiNXkm0cK5FJCbfO8Y6jUpD/YcHf/BtuI+jvYYqSXKF4muk61jjE8YxCR9y+hDYIWSzHTc+bwhDE6rQ== 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" - -lilconfig@^2.0.5, lilconfig@^2.0.6: + lightningcss-darwin-arm64 "1.22.1" + lightningcss-darwin-x64 "1.22.1" + lightningcss-freebsd-x64 "1.22.1" + lightningcss-linux-arm-gnueabihf "1.22.1" + lightningcss-linux-arm64-gnu "1.22.1" + lightningcss-linux-arm64-musl "1.22.1" + lightningcss-linux-x64-gnu "1.22.1" + lightningcss-linux-x64-musl "1.22.1" + lightningcss-win32-x64-msvc "1.22.1" + +lilconfig@2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== +lilconfig@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.0.0.tgz#f8067feb033b5b74dab4602a5f5029420be749bc" + integrity sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g== + lines-and-columns@^1.1.6: version "1.2.4" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== lines-and-columns@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-2.0.3.tgz#b2f0badedb556b747020ab8ea7f0373e22efac1b" - integrity sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w== + version "2.0.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-2.0.4.tgz#d00318855905d2660d8c0822e3f5a4715855fc42" + integrity sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A== + +lint-staged@^13.2.2: + version "13.3.0" + resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.3.0.tgz#7965d72a8d6a6c932f85e9c13ccf3596782d28a5" + integrity sha512-mPRtrYnipYYv1FEE134ufbWpeggNTo+O/UPzngoaKzbzHAthvR55am+8GfHTnqNRQVRRrYQLGW9ZyUoD7DsBHQ== + dependencies: + chalk "5.3.0" + commander "11.0.0" + debug "4.3.4" + execa "7.2.0" + lilconfig "2.1.0" + listr2 "6.6.1" + micromatch "4.0.5" + pidtree "0.6.0" + string-argv "0.3.2" + yaml "2.3.1" + +listhen@^1.5.5: + version "1.5.5" + resolved "https://registry.yarnpkg.com/listhen/-/listhen-1.5.5.tgz#58915512af70f770aa3e9fb19367adf479bb58c4" + integrity sha512-LXe8Xlyh3gnxdv4tSjTjscD1vpr/2PRpzq8YIaMJgyKzRG8wdISlWVWnGThJfHnlJ6hmLt2wq1yeeix0TEbuoA== + dependencies: + "@parcel/watcher" "^2.3.0" + "@parcel/watcher-wasm" "2.3.0" + citty "^0.1.4" + clipboardy "^3.0.0" + consola "^3.2.3" + defu "^6.1.2" + get-port-please "^3.1.1" + h3 "^1.8.1" + http-shutdown "^1.2.2" + jiti "^1.20.0" + mlly "^1.4.2" + node-forge "^1.3.1" + pathe "^1.1.1" + std-env "^3.4.3" + ufo "^1.3.0" + untun "^0.1.2" + uqr "^0.1.2" + +listr2@6.6.1: + version "6.6.1" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-6.6.1.tgz#08b2329e7e8ba6298481464937099f4a2cd7f95d" + integrity sha512-+rAXGHh0fkEWdXBmX+L6mmfmXmXvDGEKzkjxO+8mP3+nI/r/CWznVBvsibXdxda9Zz0OW2e2ikphN3OwCT/jSg== + dependencies: + cli-truncate "^3.1.0" + colorette "^2.0.20" + eventemitter3 "^5.0.1" + log-update "^5.0.1" + rfdc "^1.3.0" + wrap-ansi "^8.1.0" + +lit-element@^3.3.0: + version "3.3.3" + resolved "https://registry.yarnpkg.com/lit-element/-/lit-element-3.3.3.tgz#10bc19702b96ef5416cf7a70177255bfb17b3209" + integrity sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA== + dependencies: + "@lit-labs/ssr-dom-shim" "^1.1.0" + "@lit/reactive-element" "^1.3.0" + lit-html "^2.8.0" -lmdb@2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/lmdb/-/lmdb-2.5.2.tgz#37e28a9fb43405f4dc48c44cec0e13a14c4a6ff1" - integrity sha512-V5V5Xa2Hp9i2XsbDALkBTeHXnBXh/lEmk9p22zdr7jtuOIY9TGhjK6vAvTpOOx9IKU4hJkRWZxn/HsvR1ELLtA== +lit-html@^2.7.0, lit-html@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/lit-html/-/lit-html-2.8.0.tgz#96456a4bb4ee717b9a7d2f94562a16509d39bffa" + integrity sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q== dependencies: - msgpackr "^1.5.4" - node-addon-api "^4.3.0" - node-gyp-build-optional-packages "5.0.3" - ordered-binary "^1.2.4" - weak-lru-cache "^1.2.2" - optionalDependencies: - "@lmdb/lmdb-darwin-arm64" "2.5.2" - "@lmdb/lmdb-darwin-x64" "2.5.2" - "@lmdb/lmdb-linux-arm" "2.5.2" - "@lmdb/lmdb-linux-arm64" "2.5.2" - "@lmdb/lmdb-linux-x64" "2.5.2" - "@lmdb/lmdb-win32-x64" "2.5.2" - -load-json-file@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - integrity sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A== + "@types/trusted-types" "^2.0.2" + +lit@2.7.6: + version "2.7.6" + resolved "https://registry.yarnpkg.com/lit/-/lit-2.7.6.tgz#810007b876ed43e0c70124de91831921598b1665" + integrity sha512-1amFHA7t4VaaDe+vdQejSVBklwtH9svGoG6/dZi9JhxtJBBlqY5D1RV7iLUYY0trCqQc4NfhYYZilZiVHt7Hxg== dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" + "@lit/reactive-element" "^1.6.0" + lit-element "^3.3.0" + lit-html "^2.7.0" + +lmdb@2.8.5: + version "2.8.5" + resolved "https://registry.yarnpkg.com/lmdb/-/lmdb-2.8.5.tgz#ce191110c755c0951caa062722e300c703973837" + integrity sha512-9bMdFfc80S+vSldBmG3HOuLVHnxRdNTlpzR6QDnzqCQtCzGUEAGTzBKYMeIM+I/sU4oZfgbcbS7X7F65/z/oxQ== + dependencies: + msgpackr "^1.9.5" + node-addon-api "^6.1.0" + node-gyp-build-optional-packages "5.1.1" + ordered-binary "^1.4.1" + weak-lru-cache "^1.2.2" + optionalDependencies: + "@lmdb/lmdb-darwin-arm64" "2.8.5" + "@lmdb/lmdb-darwin-x64" "2.8.5" + "@lmdb/lmdb-linux-arm" "2.8.5" + "@lmdb/lmdb-linux-arm64" "2.8.5" + "@lmdb/lmdb-linux-x64" "2.8.5" + "@lmdb/lmdb-win32-x64" "2.8.5" load-json-file@^4.0.0: version "4.0.0" @@ -13977,25 +16146,11 @@ load-json-file@^4.0.0: pify "^3.0.0" strip-bom "^3.0.0" -loader-runner@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" - integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== - loader-runner@^4.2.0: version "4.3.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== -loader-utils@^1.2.3: - version "1.4.2" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.2.tgz#29a957f3a63973883eb684f10ffd3d151fec01a3" - integrity sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^1.0.1" - loader-utils@^2.0.0, loader-utils@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" @@ -14010,6 +16165,19 @@ loader-utils@^3.2.0: resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-3.2.1.tgz#4fb104b599daafd82ef3e1a41fb9265f87e1f576" integrity sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw== +local-pkg@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/local-pkg/-/local-pkg-0.4.3.tgz#0ff361ab3ae7f1c19113d9bb97b98b905dbc4963" + integrity sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g== + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + locate-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" @@ -14032,6 +16200,13 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" +locate-path@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.2.0.tgz#69cb1779bd90b35ab1e771e1f2f89a202c2a8a8a" + integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== + dependencies: + p-locate "^6.0.0" + lodash-es@^4.17.15: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" @@ -14047,6 +16222,26 @@ lodash.debounce@^4.0.8: resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== +lodash.defaults@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" + integrity sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ== + +lodash.get@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" + integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== + +lodash.isarguments@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" + integrity sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg== + +lodash.isequal@4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== + lodash.ismatch@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" @@ -14072,10 +16267,10 @@ lodash.throttle@^4.1.1: resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" integrity sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ== -lodash.uniq@4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== +lodash.zipobject@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/lodash.zipobject/-/lodash.zipobject-4.1.3.tgz#b399f5aba8ff62a746f6979bf20b214f964dbef8" + integrity sha512-A9SzX4hMKWS25MyalwcOnNoplyHbkNVsjidhTp8ru0Sj23wY9GWBKS8gAIGDSAqeWjIjvE4KBEl24XXAs+v4wQ== lodash@^4.0.1, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21: version "4.17.21" @@ -14106,6 +16301,17 @@ log-update@^2.3.0: cli-cursor "^2.0.0" wrap-ansi "^3.0.1" +log-update@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-5.0.1.tgz#9e928bf70cb183c1f0c9e91d9e6b7115d597ce09" + integrity sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw== + dependencies: + ansi-escapes "^5.0.0" + cli-cursor "^4.0.0" + slice-ansi "^5.0.0" + strip-ansi "^7.0.1" + wrap-ansi "^8.0.1" + lolex@^5.0.0: version "5.1.2" resolved "https://registry.yarnpkg.com/lolex/-/lolex-5.1.2.tgz#953694d098ce7c07bc5ed6d0e42bc6c0c6d5a367" @@ -14119,9 +16325,9 @@ long@^4.0.0: integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== long@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/long/-/long-5.2.1.tgz#e27595d0083d103d2fa2c20c7699f8e0c92b897f" - integrity sha512-GKSNGeNAtw8IryjjkhZxuKB3JzlcLTwjtiQCHKvqQet81I93kXslhDQruGI/QsddO83mcDToBVy7GqGS/zYf/A== + version "5.2.3" + resolved "https://registry.yarnpkg.com/long/-/long-5.2.3.tgz#a3ba97f3877cf1d778eccbcb048525ebb77499e1" + integrity sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q== longest-streak@^3.0.0: version "3.1.0" @@ -14135,13 +16341,12 @@ loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1, loose-envify@^1.4 dependencies: js-tokens "^3.0.0 || ^4.0.0" -loud-rejection@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" - integrity sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ== +loupe@^2.3.6: + version "2.3.7" + resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.7.tgz#6e69b7d4db7d3ab436328013d37d1c8c3540c697" + integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== dependencies: - currently-unhandled "^0.4.1" - signal-exit "^3.0.0" + get-func-name "^2.0.1" lower-case@^2.0.2: version "2.0.2" @@ -14155,6 +16360,14 @@ lowercase-keys@^2.0.0: resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== +lowlight@^1.17.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/lowlight/-/lowlight-1.20.0.tgz#ddb197d33462ad0d93bf19d17b6c301aa3941888" + integrity sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw== + dependencies: + fault "^1.0.0" + highlight.js "~10.7.0" + lowlight@~1.11.0: version "1.11.0" resolved "https://registry.yarnpkg.com/lowlight/-/lowlight-1.11.0.tgz#1304d83005126d4e8b1dc0f07981e9b689ec2efc" @@ -14163,6 +16376,11 @@ lowlight@~1.11.0: fault "^1.0.2" highlight.js "~9.13.0" +lru-cache@^10.0.2, "lru-cache@^9.1.1 || ^10.0.0": + version "10.1.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.1.0.tgz#2098d41c2dc56500e6c88584aa656c84de7d0484" + integrity sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag== + lru-cache@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" @@ -14182,6 +16400,11 @@ lru-cache@^7.14.1: resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== +ltgt@~2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ltgt/-/ltgt-2.2.1.tgz#f35ca91c493f7b73da0e07495304f17b31f87ee5" + integrity sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA== + magic-string@^0.25.2, magic-string@^0.25.3, magic-string@^0.25.7: version "0.25.9" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" @@ -14189,6 +16412,13 @@ magic-string@^0.25.2, magic-string@^0.25.3, magic-string@^0.25.7: dependencies: sourcemap-codec "^1.4.8" +magic-string@^0.30.1: + version "0.30.5" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.5.tgz#1994d980bd1c8835dc6e78db7cbd4ae4f24746f9" + integrity sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.15" + make-dir@^2.0.0, make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -14204,6 +16434,13 @@ make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: dependencies: semver "^6.0.0" +make-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" + integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== + dependencies: + semver "^7.5.3" + make-error@1.x, make-error@^1.1.1: version "1.3.6" resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" @@ -14221,7 +16458,7 @@ map-cache@^0.2.2: resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== -map-obj@^1.0.0, map-obj@^1.0.1: +map-obj@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== @@ -14243,11 +16480,6 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" -markdown-escapes@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.4.tgz#c95415ef451499d7602b91095f3c8e8975f78535" - integrity sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg== - markdown-extensions@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/markdown-extensions/-/markdown-extensions-1.1.1.tgz#fea03b539faeaee9b4ef02a3769b455b189f7fc3" @@ -14261,6 +16493,11 @@ markdown-to-jsx@^6.11.4: prop-types "^15.6.2" unquote "^1.1.0" +markdown-to-jsx@^7.1.8: + version "7.3.2" + resolved "https://registry.yarnpkg.com/markdown-to-jsx/-/markdown-to-jsx-7.3.2.tgz#f286b4d112dad3028acc1e77dfe1f653b347e131" + integrity sha512-B+28F5ucp83aQm+OxNrPkS8z0tMKaeHiy0lHJs3LqCyDQFtWuenaIrkaVTgAm1pf1AU85LXltva86hlaT17i8Q== + marked@^0.3.12: version "0.3.19" resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.19.tgz#5d47f709c4c9fc3c216b6d46127280f40b39d790" @@ -14280,6 +16517,11 @@ material-colors@^1.2.1: resolved "https://registry.yarnpkg.com/material-colors/-/material-colors-1.2.6.tgz#6d1958871126992ceecc72f4bcc4d8f010865f46" integrity sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg== +mcl-wasm@^0.7.1: + version "0.7.9" + resolved "https://registry.yarnpkg.com/mcl-wasm/-/mcl-wasm-0.7.9.tgz#c1588ce90042a8700c3b60e40efb339fc07ab87f" + integrity sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ== + md5.js@^1.3.4: version "1.3.5" resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" @@ -14298,13 +16540,6 @@ md5@~2.2.1: crypt "~0.0.1" is-buffer "~1.1.1" -mdast-squeeze-paragraphs@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz#7c4c114679c3bee27ef10b58e2e015be79f1ef97" - integrity sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ== - dependencies: - unist-util-remove "^2.0.0" - mdast-util-definitions@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz#c5c1a84db799173b4dcf7643cda999e440c24db2" @@ -14322,9 +16557,9 @@ mdast-util-definitions@^5.0.0: unist-util-visit "^4.0.0" mdast-util-from-markdown@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.0.tgz#0214124154f26154a2b3f9d401155509be45e894" - integrity sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g== + version "1.3.1" + resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz#9421a5a247f10d31d2faed2a30df5ec89ceafcf0" + integrity sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww== dependencies: "@types/mdast" "^3.0.0" "@types/unist" "^2.0.0" @@ -14401,20 +16636,6 @@ mdast-util-phrasing@^3.0.0: "@types/mdast" "^3.0.0" unist-util-is "^5.0.0" -mdast-util-to-hast@10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz#0cfc82089494c52d46eb0e3edb7a4eb2aea021eb" - integrity sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA== - dependencies: - "@types/mdast" "^3.0.0" - "@types/unist" "^2.0.0" - mdast-util-definitions "^4.0.0" - mdurl "^1.0.0" - unist-builder "^2.0.0" - unist-util-generated "^1.0.0" - unist-util-position "^3.0.0" - unist-util-visit "^2.0.0" - mdast-util-to-hast@^11.0.0: version "11.3.0" resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-11.3.0.tgz#ea9220617a710e80aa5cc3ac7cc9d4bb0440ae7a" @@ -14461,6 +16682,16 @@ mdn-data@2.0.14: resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== +mdn-data@2.0.28: + version "2.0.28" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.28.tgz#5ec48e7bef120654539069e1ae4ddc81ca490eba" + integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g== + +mdn-data@2.0.30: + version "2.0.30" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc" + integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== + mdurl@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" @@ -14478,12 +16709,24 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== -memfs@^3.1.2: - version "3.4.13" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.13.tgz#248a8bd239b3c240175cd5ec548de5227fc4f345" - integrity sha512-omTM41g3Skpvx5dSYeZIbXKcXoAVc/AoMNwn9TKx++L/gaen/+4TTttmu8ZSch5vfVJ8uJvGbroTsIlslRg6lg== +memdown@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/memdown/-/memdown-5.1.0.tgz#608e91a9f10f37f5b5fe767667a8674129a833cb" + integrity sha512-B3J+UizMRAlEArDjWHTMmadet+UKwHd3UjMgGBkZcKAxAYVPS9o0Yeiha4qvz7iGiL2Sb3igUft6p7nbFWctpw== + dependencies: + abstract-leveldown "~6.2.1" + functional-red-black-tree "~1.0.1" + immediate "~3.2.3" + inherits "~2.0.1" + ltgt "~2.2.0" + safe-buffer "~5.2.0" + +memfs@^3.4.1, memfs@^3.4.12: + version "3.6.0" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6" + integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== dependencies: - fs-monkey "^1.0.3" + fs-monkey "^1.0.4" "memoize-one@>=3.1.1 <6": version "5.2.1" @@ -14497,43 +16740,11 @@ memoizerific@^1.11.3: dependencies: map-or-similar "^1.5.0" -memory-fs@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - integrity sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ== - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -memory-fs@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" - integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - memorystream@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" integrity sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw== -meow@^3.1.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" - integrity sha512-TNdwZs0skRlpPpCUK25StC4VH+tP5GgeY1HQOOGP+lQ2xtdkN2VtT/5tiX9k3IWpkBPV9b3LsAWXn4GGi/PrSA== - dependencies: - camelcase-keys "^2.0.0" - decamelize "^1.1.2" - loud-rejection "^1.0.0" - map-obj "^1.0.1" - minimist "^1.1.3" - normalize-package-data "^2.3.4" - object-assign "^4.0.1" - read-pkg-up "^1.0.1" - redent "^1.0.0" - trim-newlines "^1.0.0" - meow@^8.0.0: version "8.1.2" resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897" @@ -14566,20 +16777,27 @@ merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== +merkle-patricia-tree@^4.2.2, merkle-patricia-tree@^4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/merkle-patricia-tree/-/merkle-patricia-tree-4.2.4.tgz#ff988d045e2bf3dfa2239f7fabe2d59618d57413" + integrity sha512-eHbf/BG6eGNsqqfbLED9rIqbsF4+sykEaBn6OLNs71tjclbMcMOk1tEPmJKcNcNCLkvbpY/lwyOlizWsqPNo8w== + dependencies: + "@types/levelup" "^4.3.0" + ethereumjs-util "^7.1.4" + level-mem "^5.0.1" + level-ws "^2.0.0" + readable-stream "^3.6.0" + semaphore-async-await "^1.5.1" + methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== -microevent.ts@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/microevent.ts/-/microevent.ts-0.1.1.tgz#70b09b83f43df5172d0205a63025bce0f7357fa0" - integrity sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g== - micromark-core-commonmark@^1.0.0, micromark-core-commonmark@^1.0.1: - version "1.0.6" - resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz#edff4c72e5993d93724a3c206970f5a15b0585ad" - integrity sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz#1386628df59946b2d39fb2edfd10f3e8e0a75bb8" + integrity sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw== dependencies: decode-named-character-reference "^1.0.0" micromark-factory-destination "^1.0.0" @@ -14599,9 +16817,9 @@ micromark-core-commonmark@^1.0.0, micromark-core-commonmark@^1.0.1: uvu "^0.5.0" micromark-extension-frontmatter@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-extension-frontmatter/-/micromark-extension-frontmatter-1.1.0.tgz#f8da3c2d880266c809dcf07eb0606448b2f837c5" - integrity sha512-0nLelmvXR5aZ+F2IL6/Ed4cDnHLpL/VD/EELKuclsTWHrLI8UgxGHEmeoumeX2FXiM6z2WrBIOEcbKUZR8RYNg== + version "1.1.1" + resolved "https://registry.yarnpkg.com/micromark-extension-frontmatter/-/micromark-extension-frontmatter-1.1.1.tgz#2946643938e491374145d0c9aacc3249e38a865f" + integrity sha512-m2UH9a7n3W8VAH9JO9y01APpPKmNNNs71P0RbknEmYSaZU5Ghogv38BYO94AI5Xw6OYfxZRdHZZ2nYjs/Z+SZQ== dependencies: fault "^2.0.0" micromark-util-character "^1.0.0" @@ -14609,10 +16827,11 @@ micromark-extension-frontmatter@^1.0.0: micromark-util-types "^1.0.0" micromark-extension-mdx-expression@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.4.tgz#33fe2c6ee214738255de175a084281c11894ddda" - integrity sha512-TCgLxqW6ReQ3AJgtj1P0P+8ZThBTloLbeb7jNaqr6mCOLDpxUiBFE/9STgooMZttEwOQu5iEcCCa3ZSDhY9FGw== + version "1.0.8" + resolved "https://registry.yarnpkg.com/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.8.tgz#5bc1f5fd90388e8293b3ef4f7c6f06c24aff6314" + integrity sha512-zZpeQtc5wfWKdzDsHRBY003H2Smg+PUi2REhqgIhdzAa5xonhP03FcXxqFSerFiNUr5AWmHpaNPQTBVOS4lrXw== dependencies: + "@types/estree" "^1.0.0" micromark-factory-mdx-expression "^1.0.0" micromark-factory-space "^1.0.0" micromark-util-character "^1.0.0" @@ -14622,11 +16841,12 @@ micromark-extension-mdx-expression@^1.0.0: uvu "^0.5.0" micromark-extension-mdx-jsx@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.3.tgz#9f196be5f65eb09d2a49b237a7b3398bba2999be" - integrity sha512-VfA369RdqUISF0qGgv2FfV7gGjHDfn9+Qfiv5hEwpyr1xscRj/CiVRkU7rywGFCO7JwJ5L0e7CJz60lY52+qOA== + version "1.0.5" + resolved "https://registry.yarnpkg.com/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.5.tgz#e72d24b7754a30d20fb797ece11e2c4e2cae9e82" + integrity sha512-gPH+9ZdmDflbu19Xkb8+gheqEDqkSpdCEubQyxuz/Hn8DOXiXvrXeikOoBA71+e8Pfi0/UYmU3wW3H58kr7akA== dependencies: "@types/acorn" "^4.0.0" + "@types/estree" "^1.0.0" estree-util-is-identifier-name "^2.0.0" micromark-factory-mdx-expression "^1.0.0" micromark-factory-space "^1.0.0" @@ -14637,17 +16857,18 @@ micromark-extension-mdx-jsx@^1.0.0: vfile-message "^3.0.0" micromark-extension-mdx-md@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.0.tgz#382f5df9ee3706dd120b51782a211f31f4760d22" - integrity sha512-xaRAMoSkKdqZXDAoSgp20Azm0aRQKGOl0RrS81yGu8Hr/JhMsBmfs4wR7m9kgVUIO36cMUQjNyiyDKPrsv8gOw== + version "1.0.1" + resolved "https://registry.yarnpkg.com/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.1.tgz#595d4b2f692b134080dca92c12272ab5b74c6d1a" + integrity sha512-7MSuj2S7xjOQXAjjkbjBsHkMtb+mDGVW6uI2dBL9snOBCbZmoNgDAeZ0nSn9j3T42UE/g2xVNMn18PJxZvkBEA== dependencies: micromark-util-types "^1.0.0" micromark-extension-mdxjs-esm@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.3.tgz#630d9dc9db2c2fd470cac8c1e7a824851267404d" - integrity sha512-2N13ol4KMoxb85rdDwTAC6uzs8lMX0zeqpcyx7FhS7PxXomOnLactu8WI8iBNXW8AVyea3KIJd/1CKnUmwrK9A== + version "1.0.5" + resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.5.tgz#e4f8be9c14c324a80833d8d3a227419e2b25dec1" + integrity sha512-xNRBw4aoURcyz/S69B19WnZAkWJMxHMT5hE36GtDAyhoyn/8TuAeqjFJQlwk+MKQsUD7b3l7kFX+vlfVWgcX1w== dependencies: + "@types/estree" "^1.0.0" micromark-core-commonmark "^1.0.0" micromark-util-character "^1.0.0" micromark-util-events-to-acorn "^1.0.0" @@ -14658,9 +16879,9 @@ micromark-extension-mdxjs-esm@^1.0.0: vfile-message "^3.0.0" micromark-extension-mdxjs@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.0.tgz#772644e12fc8299a33e50f59c5aa15727f6689dd" - integrity sha512-TZZRZgeHvtgm+IhtgC2+uDMR7h8eTKF0QUX9YsgoL9+bADBpBY6SiLvWqnBlLbCEevITmTqmEuY3FoxMKVs1rQ== + version "1.0.1" + resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.1.tgz#f78d4671678d16395efeda85170c520ee795ded8" + integrity sha512-7YA7hF6i5eKOfFUzZ+0z6avRG52GpWR8DL+kN47y3f2KhxbBZMhmxe7auOeaTBrW2DenbbZTf1ea9tA2hDpC2Q== dependencies: acorn "^8.0.0" acorn-jsx "^5.0.0" @@ -14672,18 +16893,18 @@ micromark-extension-mdxjs@^1.0.0: micromark-util-types "^1.0.0" micromark-factory-destination@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz#fef1cb59ad4997c496f887b6977aa3034a5a277e" - integrity sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz#eb815957d83e6d44479b3df640f010edad667b9f" + integrity sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg== dependencies: micromark-util-character "^1.0.0" micromark-util-symbol "^1.0.0" micromark-util-types "^1.0.0" micromark-factory-label@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz#6be2551fa8d13542fcbbac478258fb7a20047137" - integrity sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz#cc95d5478269085cfa2a7282b3de26eb2e2dec68" + integrity sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w== dependencies: micromark-util-character "^1.0.0" micromark-util-symbol "^1.0.0" @@ -14691,11 +16912,11 @@ micromark-factory-label@^1.0.0: uvu "^0.5.0" micromark-factory-mdx-expression@^1.0.0: - version "1.0.7" - resolved "https://registry.yarnpkg.com/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.7.tgz#e38298dc1f7eaf6ba1d9f210531ceae17155c00f" - integrity sha512-QAdFbkQagTZ/eKb8zDGqmjvgevgJH3+aQpvvKrXWxNJp3o8/l2cAbbrBd0E04r0Gx6nssPpqWIjnbHFvZu5qsQ== + version "1.0.9" + resolved "https://registry.yarnpkg.com/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.9.tgz#57ba4571b69a867a1530f34741011c71c73a4976" + integrity sha512-jGIWzSmNfdnkJq05c7b0+Wv0Kfz3NJ3N4cBjnbO4zjXIlxJr+f8lk+5ZmwFvqdAbUy2q6B5rCY//g0QAAaXDWA== dependencies: - micromark-factory-space "^1.0.0" + "@types/estree" "^1.0.0" micromark-util-character "^1.0.0" micromark-util-events-to-acorn "^1.0.0" micromark-util-symbol "^1.0.0" @@ -14705,28 +16926,27 @@ micromark-factory-mdx-expression@^1.0.0: vfile-message "^3.0.0" micromark-factory-space@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz#cebff49968f2b9616c0fcb239e96685cb9497633" - integrity sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz#c8f40b0640a0150751d3345ed885a080b0d15faf" + integrity sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ== dependencies: micromark-util-character "^1.0.0" micromark-util-types "^1.0.0" micromark-factory-title@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz#7e09287c3748ff1693930f176e1c4a328382494f" - integrity sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz#dd0fe951d7a0ac71bdc5ee13e5d1465ad7f50ea1" + integrity sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ== dependencies: micromark-factory-space "^1.0.0" micromark-util-character "^1.0.0" micromark-util-symbol "^1.0.0" micromark-util-types "^1.0.0" - uvu "^0.5.0" micromark-factory-whitespace@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz#e991e043ad376c1ba52f4e49858ce0794678621c" - integrity sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz#798fb7489f4c8abafa7ca77eed6b5745853c9705" + integrity sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ== dependencies: micromark-factory-space "^1.0.0" micromark-util-character "^1.0.0" @@ -14734,48 +16954,48 @@ micromark-factory-whitespace@^1.0.0: micromark-util-types "^1.0.0" micromark-util-character@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-1.1.0.tgz#d97c54d5742a0d9611a68ca0cd4124331f264d86" - integrity sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg== + version "1.2.0" + resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-1.2.0.tgz#4fedaa3646db249bc58caeb000eb3549a8ca5dcc" + integrity sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg== dependencies: micromark-util-symbol "^1.0.0" micromark-util-types "^1.0.0" micromark-util-chunked@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz#5b40d83f3d53b84c4c6bce30ed4257e9a4c79d06" - integrity sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz#37a24d33333c8c69a74ba12a14651fd9ea8a368b" + integrity sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ== dependencies: micromark-util-symbol "^1.0.0" micromark-util-classify-character@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz#cbd7b447cb79ee6997dd274a46fc4eb806460a20" - integrity sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz#6a7f8c8838e8a120c8e3c4f2ae97a2bff9190e9d" + integrity sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw== dependencies: micromark-util-character "^1.0.0" micromark-util-symbol "^1.0.0" micromark-util-types "^1.0.0" micromark-util-combine-extensions@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz#91418e1e74fb893e3628b8d496085639124ff3d5" - integrity sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz#192e2b3d6567660a85f735e54d8ea6e3952dbe84" + integrity sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA== dependencies: micromark-util-chunked "^1.0.0" micromark-util-types "^1.0.0" micromark-util-decode-numeric-character-reference@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz#dcc85f13b5bd93ff8d2868c3dba28039d490b946" - integrity sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz#b1e6e17009b1f20bc652a521309c5f22c85eb1c6" + integrity sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw== dependencies: micromark-util-symbol "^1.0.0" micromark-util-decode-string@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz#942252ab7a76dec2dbf089cc32505ee2bc3acf02" - integrity sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz#dc12b078cba7a3ff690d0203f95b5d5537f2809c" + integrity sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ== dependencies: decode-named-character-reference "^1.0.0" micromark-util-character "^1.0.0" @@ -14783,55 +17003,56 @@ micromark-util-decode-string@^1.0.0: micromark-util-symbol "^1.0.0" micromark-util-encode@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz#2c1c22d3800870ad770ece5686ebca5920353383" - integrity sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz#92e4f565fd4ccb19e0dcae1afab9a173bbeb19a5" + integrity sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw== micromark-util-events-to-acorn@^1.0.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.1.tgz#d5b9dfbc589ece7917de24de0a57b909c0d36583" - integrity sha512-mkg3BaWlw6ZTkQORrKVBW4o9ICXPxLtGz51vml5mQpKFdo9vqIX68CAx5JhTOdjQyAHH7JFmm4rh8toSPQZUmg== + version "1.2.3" + resolved "https://registry.yarnpkg.com/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.3.tgz#a4ab157f57a380e646670e49ddee97a72b58b557" + integrity sha512-ij4X7Wuc4fED6UoLWkmo0xJQhsktfNh1J0m8g4PbIMPlx+ek/4YdW5mvbye8z/aZvAPUoxgXHrwVlXAPKMRp1w== dependencies: "@types/acorn" "^4.0.0" "@types/estree" "^1.0.0" + "@types/unist" "^2.0.0" estree-util-visit "^1.0.0" + micromark-util-symbol "^1.0.0" micromark-util-types "^1.0.0" uvu "^0.5.0" - vfile-location "^4.0.0" vfile-message "^3.0.0" micromark-util-html-tag-name@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz#eb227118befd51f48858e879b7a419fc0df20497" - integrity sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA== + version "1.2.0" + resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz#48fd7a25826f29d2f71479d3b4e83e94829b3588" + integrity sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q== micromark-util-normalize-identifier@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz#4a3539cb8db954bbec5203952bfe8cedadae7828" - integrity sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz#7a73f824eb9f10d442b4d7f120fecb9b38ebf8b7" + integrity sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q== dependencies: micromark-util-symbol "^1.0.0" micromark-util-resolve-all@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz#a7c363f49a0162e931960c44f3127ab58f031d88" - integrity sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz#4652a591ee8c8fa06714c9b54cd6c8e693671188" + integrity sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA== dependencies: micromark-util-types "^1.0.0" micromark-util-sanitize-uri@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.1.0.tgz#f12e07a85106b902645e0364feb07cf253a85aee" - integrity sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg== + version "1.2.0" + resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz#613f738e4400c6eedbc53590c67b197e30d7f90d" + integrity sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A== dependencies: micromark-util-character "^1.0.0" micromark-util-encode "^1.0.0" micromark-util-symbol "^1.0.0" micromark-util-subtokenize@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz#ff6f1af6ac836f8bfdbf9b02f40431760ad89105" - integrity sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz#941c74f93a93eaf687b9054aeb94642b0e92edb1" + integrity sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A== dependencies: micromark-util-chunked "^1.0.0" micromark-util-symbol "^1.0.0" @@ -14839,19 +17060,19 @@ micromark-util-subtokenize@^1.0.0: uvu "^0.5.0" micromark-util-symbol@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz#b90344db62042ce454f351cf0bebcc0a6da4920e" - integrity sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz#813cd17837bdb912d069a12ebe3a44b6f7063142" + integrity sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag== micromark-util-types@^1.0.0, micromark-util-types@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-1.0.2.tgz#f4220fdb319205812f99c40f8c87a9be83eded20" - integrity sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-1.1.0.tgz#e6676a8cae0bb86a2171c498167971886cb7e283" + integrity sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg== micromark@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/micromark/-/micromark-3.1.0.tgz#eeba0fe0ac1c9aaef675157b52c166f125e89f62" - integrity sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA== + version "3.2.0" + resolved "https://registry.yarnpkg.com/micromark/-/micromark-3.2.0.tgz#1af9fef3f995ea1ea4ac9c7e2f19c48fd5c006e9" + integrity sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA== dependencies: "@types/debug" "^4.0.0" debug "^4.0.0" @@ -14871,7 +17092,15 @@ micromark@^3.0.0: micromark-util-types "^1.0.1" uvu "^0.5.0" -micromatch@4.x, micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: +micromatch@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== + dependencies: + braces "^3.0.1" + picomatch "^2.0.5" + +micromatch@4.0.5, micromatch@4.x, micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== @@ -14879,7 +17108,7 @@ micromatch@4.x, micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: braces "^3.0.2" picomatch "^2.3.1" -micromatch@^3.1.10, micromatch@^3.1.4: +micromatch@^3.1.4: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== @@ -14911,7 +17140,7 @@ mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== -mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: +mime-types@^2.1.12, mime-types@^2.1.25, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: version "2.1.35" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== @@ -14923,11 +17152,16 @@ mime@1.6.0: resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== -mime@^2.4.4: +mime@^2.0.3: version "2.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== +mime@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7" + integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A== + mimic-fn@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" @@ -14948,11 +17182,6 @@ mimic-response@^1.0.0: resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== -mimic-response@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.1.0.tgz#d13763d35f613d09ec37ebb30bac0469c0ee8f43" - integrity sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA== - mimic-response@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" @@ -14987,7 +17216,7 @@ minimatch@3.0.5: dependencies: brace-expansion "^1.1.7" -minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: +minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -15001,6 +17230,13 @@ minimatch@^5.0.1: dependencies: brace-expansion "^2.0.1" +minimatch@^9.0.1: + version "9.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" + integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== + dependencies: + brace-expansion "^2.0.1" + minimist-options@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" @@ -15010,7 +17246,7 @@ minimist-options@4.1.0: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@^1.2.6: +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -15043,10 +17279,15 @@ minipass@^3.0.0, minipass@^3.1.1: dependencies: yallist "^4.0.0" -minipass@^4.0.0: - version "4.2.5" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.5.tgz#9e0e5256f1e3513f8c34691dd68549e85b2c8ceb" - integrity sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q== +minipass@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" + integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== + +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0": + version "7.0.4" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c" + integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== minizlib@^2.1.1: version "2.1.2" @@ -15061,26 +17302,18 @@ miscreant@0.3.2: resolved "https://registry.yarnpkg.com/miscreant/-/miscreant-0.3.2.tgz#a91c046566cca70bd6b5e9fbdd3f67617fa85034" integrity sha512-fL9KxsQz9BJB2KGPMHFrReioywkiomBiuaLk6EuChijK0BsJsIKJXdVomR+/bPj5mvbFD6wM0CM3bZio9g7OHA== -mississippi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" - integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== - dependencies: - concat-stream "^1.5.0" - duplexify "^3.4.2" - end-of-stream "^1.1.0" - flush-write-stream "^1.0.0" - from2 "^2.1.0" - parallel-transform "^1.1.0" - pump "^3.0.0" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - mitt@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mitt/-/mitt-3.0.0.tgz#69ef9bd5c80ff6f57473e8d89326d01c414be0bd" - integrity sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ== + version "3.0.1" + resolved "https://registry.yarnpkg.com/mitt/-/mitt-3.0.1.tgz#ea36cf0cc30403601ae074c8f77b7092cdab36d1" + integrity sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw== + +mix-css-color@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/mix-css-color/-/mix-css-color-0.2.0.tgz#413a2346effcb36a815b1d09bcbac12bcf3aac63" + integrity sha512-mZugANySFPE21tjELbQddhC6HAZNzqp7gDxmW8fJFURSWtJ0nuXU26dyrb/1AR6ZYxdEAtW2bbWT9QnRtI6Jzg== + dependencies: + parse-css-color "^0.1.2" + pure-color "^1.3.0" mixin-deep@^1.2.0: version "1.3.2" @@ -15090,12 +17323,12 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" -mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: +mkdirp-classic@^0.5.2: version "0.5.3" resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== -mkdirp@0.x, mkdirp@^0.5.1, mkdirp@^0.5.3: +mkdirp@0.x, mkdirp@^0.5.1, mkdirp@^0.5.4: version "0.5.6" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== @@ -15107,34 +17340,49 @@ mkdirp@^1.0.3, mkdirp@^1.0.4: resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== -mlly@^1.1.0, mlly@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.2.0.tgz#f0f6c2fc8d2d12ea6907cd869066689b5031b613" - integrity sha512-+c7A3CV0KGdKcylsI6khWyts/CYrGTrRVo4R/I7u/cUsy0Conxa6LUhiEzVKIw14lc2L5aiO4+SeVe4TeGRKww== +mlly@^1.1.0, mlly@^1.2.0, mlly@^1.4.0, mlly@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.4.2.tgz#7cf406aa319ff6563d25da6b36610a93f2a8007e" + integrity sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg== dependencies: - acorn "^8.8.2" - pathe "^1.1.0" - pkg-types "^1.0.2" - ufo "^1.1.1" + acorn "^8.10.0" + pathe "^1.1.1" + pkg-types "^1.0.3" + ufo "^1.3.0" + +mobile-detect@^1.4.5: + version "1.4.5" + resolved "https://registry.yarnpkg.com/mobile-detect/-/mobile-detect-1.4.5.tgz#da393c3c413ca1a9bcdd9ced653c38281c0fb6ad" + integrity sha512-yc0LhH6tItlvfLBugVUEtgawwFU2sIe+cSdmRJJCTMZ5GEJyLxNyC/NIOAOGk67Fa8GNpOttO3Xz/1bHpXFD/g== + +modern-ahocorasick@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/modern-ahocorasick/-/modern-ahocorasick-1.0.1.tgz#dec373444f51b5458ac05216a8ec376e126dd283" + integrity sha512-yoe+JbhTClckZ67b2itRtistFKf8yPYelHLc7e5xAwtNAXxM6wJTUx2C7QeVSJFDzKT7bCIFyBVybPMKvmB9AA== modify-values@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== -move-concurrently@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - integrity sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ== - dependencies: - aproba "^1.1.1" - copy-concurrently "^1.0.0" - fs-write-stream-atomic "^1.0.8" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.3" - -mri@1.2.0, mri@^1.1.0: +moo@^0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/moo/-/moo-0.5.2.tgz#f9fe82473bc7c184b0d32e2215d3f6e67278733c" + integrity sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q== + +motion@10.16.2: + version "10.16.2" + resolved "https://registry.yarnpkg.com/motion/-/motion-10.16.2.tgz#7dc173c6ad62210a7e9916caeeaf22c51e598d21" + integrity sha512-p+PurYqfUdcJZvtnmAqu5fJgV2kR0uLFQuBKtLeFVTrYEVllI99tiOTSefVNYuip9ELTEkepIIDftNdze76NAQ== + dependencies: + "@motionone/animation" "^10.15.1" + "@motionone/dom" "^10.16.2" + "@motionone/svelte" "^10.16.2" + "@motionone/types" "^10.15.1" + "@motionone/utils" "^10.15.1" + "@motionone/vue" "^10.16.2" + +mri@1.2.0, mri@^1.1.0, mri@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== @@ -15144,11 +17392,6 @@ ms@2.0.0: resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== -ms@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== - ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" @@ -15159,7 +17402,7 @@ ms@2.1.3, ms@^2.0.0, ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -msgpackr-extract@^3.0.1: +msgpackr-extract@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/msgpackr-extract/-/msgpackr-extract-3.0.2.tgz#e05ec1bb4453ddf020551bcd5daaf0092a2c279d" integrity sha512-SdzXp4kD/Qf8agZ9+iTu6eql0m3kWm1A2y1hkpTeVNENutaB0BwHlSvAIaMxwntmRUAUjon2V4L8Z/njd0Ct8A== @@ -15173,27 +17416,32 @@ msgpackr-extract@^3.0.1: "@msgpackr-extract/msgpackr-extract-linux-x64" "3.0.2" "@msgpackr-extract/msgpackr-extract-win32-x64" "3.0.2" -msgpackr@^1.5.4: - version "1.8.5" - resolved "https://registry.yarnpkg.com/msgpackr/-/msgpackr-1.8.5.tgz#8cadfb935357680648f33699d0e833c9179dbfeb" - integrity sha512-mpPs3qqTug6ahbblkThoUY2DQdNXcm4IapwOS3Vm/87vmpzLVelvp9h3It1y9l1VPpiFLV11vfOXnmeEwiIXwg== +msgpackr@^1.9.5, msgpackr@^1.9.9: + version "1.9.9" + resolved "https://registry.yarnpkg.com/msgpackr/-/msgpackr-1.9.9.tgz#ec71e37beb8729280847f683cb0a340eb35ce70f" + integrity sha512-sbn6mioS2w0lq1O6PpGtsv6Gy8roWM+o3o4Sqjd6DudrL/nOugY+KyJUimoWzHnf9OkO0T6broHFnYE/R05t9A== optionalDependencies: - msgpackr-extract "^3.0.1" + msgpackr-extract "^3.0.2" + +multiformats@^9.4.2: + version "9.9.0" + resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.9.0.tgz#c68354e7d21037a8f1f8833c8ccd68618e8f1d37" + integrity sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg== mute-stream@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== -nan@^2.12.1, nan@^2.13.2: - version "2.17.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb" - integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ== +nan@^2.13.2: + version "2.18.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.18.0.tgz#26a6faae7ffbeb293a39660e88a76b82e30b7554" + integrity sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w== -nanoid@^3.3.1, nanoid@^3.3.4: - version "3.3.6" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" - integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== +nanoid@^3.3.6: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== nanomatch@^1.2.9: version "1.2.13" @@ -15212,48 +17460,36 @@ nanomatch@^1.2.9: snapdragon "^0.8.1" to-regex "^3.0.1" -nanospinner@^1.1.0: +napi-macros@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/napi-macros/-/napi-macros-2.0.0.tgz#2b6bae421e7b96eb687aa6c77a7858640670001b" + integrity sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg== + +napi-wasm@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/nanospinner/-/nanospinner-1.1.0.tgz#d17ff621cb1784b0a206b400da88a0ef6db39b97" - integrity sha512-yFvNYMig4AthKYfHFl1sLj7B2nkHL4lzdig4osvl9/LdGbXwrdFRoqBS98gsEsOakr0yH+r5NZ/1Y9gdVB8trA== - dependencies: - picocolors "^1.0.0" + resolved "https://registry.yarnpkg.com/napi-wasm/-/napi-wasm-1.1.0.tgz#bbe617823765ae9c1bc12ff5942370eae7b2ba4e" + integrity sha512-lHwIAJbmLSjF9VDRm9GoVOy9AGp3aIvkjv+Kvz9h16QR3uSVYH78PNQUnT2U4X53mhlnV2M7wrhibQ3GHicDmg== -napi-build-utils@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806" - integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg== +natural-compare-lite@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" + integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== -ndjson@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/ndjson/-/ndjson-1.5.0.tgz#ae603b36b134bcec347b452422b0bf98d5832ec8" - integrity sha512-hUPLuaziboGjNF7wHngkgVc0FOclR8dDk/HfEvTtDr/iUrqBWiRcRSTK3/nLOqKH33th714BrMmTPtObI9gZxQ== - dependencies: - json-stringify-safe "^5.0.1" - minimist "^1.2.0" - split2 "^2.1.0" - through2 "^2.0.3" - negotiator@0.6.3: version "0.6.3" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== -neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1, neo-async@^2.6.2: +neo-async@^2.5.0, neo-async@^2.6.1, neo-async@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== -nested-error-stacks@^2.0.0, nested-error-stacks@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.1.1.tgz#26c8a3cee6cc05fbcf1e333cd2fc3e003326c0b5" - integrity sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw== - nested-object-assign@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/nested-object-assign/-/nested-object-assign-1.0.4.tgz#c9db56078eb6043960fdb6ba918a5122a06ccac4" @@ -15277,35 +17513,55 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" -node-abi@^2.21.0: - version "2.30.1" - resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.30.1.tgz#c437d4b1fe0e285aaf290d45b45d4d7afedac4cf" - integrity sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w== - dependencies: - semver "^5.4.1" +node-abort-controller@^3.0.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" + integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== node-addon-api@^1.7.1: version "1.7.2" resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d" integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg== -node-addon-api@^3.0.2, node-addon-api@^3.2.1: +node-addon-api@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" + integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== + +node-addon-api@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== -node-addon-api@^4.2.0, node-addon-api@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-4.3.0.tgz#52a1a0b475193e0928e98e0426a0d1254782b77f" - integrity sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ== +node-addon-api@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-6.1.0.tgz#ac8470034e58e67d0c6f1204a18ae6995d9c0d76" + integrity sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA== + +node-addon-api@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.0.0.tgz#8136add2f510997b3b94814f4af1cce0b0e3962e" + integrity sha512-vgbBJTS4m5/KkE16t5Ly0WW9hz46swAstv0hYYwMtbG7AznRhNyfLRe8HZAiWIpcHzoO7HxhLuBQj9rJ/Ho0ZA== -node-dir@^0.1.10: +node-dir@^0.1.10, node-dir@^0.1.17: version "0.1.17" resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5" integrity sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg== dependencies: minimatch "^3.0.2" +node-fetch-native@^1.4.0, node-fetch-native@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-1.4.1.tgz#5a336e55b4e1b1e72b9927da09fecd2b374c9be5" + integrity sha512-NsXBU0UgBxo2rQLOeWNZqS3fvflWePMECr8CoSWoSTqCqGbVVsvl9vZu1HfQicYN0g5piV9Gh8RTEvo/uP752w== + +node-fetch@2, node-fetch@^2.0.0, node-fetch@^2.6.12, node-fetch@^2.6.7, node-fetch@^2.6.9: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + node-fetch@2.6.7: version "2.6.7" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" @@ -15321,71 +17577,43 @@ node-fetch@^1.0.1: encoding "^0.1.11" is-stream "^1.0.1" -node-fetch@^2.6.1, node-fetch@^2.6.7: - version "2.6.9" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6" - integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg== - dependencies: - whatwg-url "^5.0.0" - -node-gyp-build-optional-packages@5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.3.tgz#92a89d400352c44ad3975010368072b41ad66c17" - integrity sha512-k75jcVzk5wnnc/FMxsf4udAoTEUv2jY3ycfdSd3yWu6Cnd1oee6/CfZJApyscA4FJOmdoixWwiwOyf16RzD5JA== +node-forge@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== node-gyp-build-optional-packages@5.0.7: version "5.0.7" resolved "https://registry.yarnpkg.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.0.7.tgz#5d2632bbde0ab2f6e22f1bbac2199b07244ae0b3" integrity sha512-YlCCc6Wffkx0kHkmam79GKvDQ6x+QZkMjFGrIMxgFNILFvGSbCp2fCBC55pGTT9gVaz8Na5CLmxt/urtzRv36w== -node-gyp-build@^4.2.2, node-gyp-build@^4.3.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.0.tgz#0c52e4cbf54bbd28b709820ef7b6a3c2d6209055" - integrity sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ== - -node-hid@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/node-hid/-/node-hid-2.1.1.tgz#f83c8aa0bb4e6758b5f7383542477da93f67359d" - integrity sha512-Skzhqow7hyLZU93eIPthM9yjot9lszg9xrKxESleEs05V2NcbUptZc5HFqzjOkSmL0sFlZFr3kmvaYebx06wrw== +node-gyp-build-optional-packages@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz#52b143b9dd77b7669073cbfe39e3f4118bfc603c" + integrity sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw== dependencies: - bindings "^1.5.0" - node-addon-api "^3.0.2" - prebuild-install "^6.0.0" + detect-libc "^2.0.1" + +node-gyp-build@4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.3.0.tgz#9f256b03e5826150be39c764bf51e993946d71a3" + integrity sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q== + +node-gyp-build@4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.4.0.tgz#42e99687ce87ddeaf3a10b99dc06abc11021f3f4" + integrity sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ== + +node-gyp-build@^4.2.0, node-gyp-build@^4.2.2, node-gyp-build@^4.3.0: + version "4.7.1" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.7.1.tgz#cd7d2eb48e594874053150a9418ac85af83ca8f7" + integrity sha512-wTSrZ+8lsRRa3I3H8Xr65dLWSgCvY2l4AOnaeKdPA9TB/WYMPaTcrzf3rXvFoVvjKNVnu0CcWSx54qq9GKRUYg== node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== -node-libs-browser@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" - integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== - dependencies: - assert "^1.1.1" - browserify-zlib "^0.2.0" - buffer "^4.3.0" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.11.0" - domain-browser "^1.1.1" - events "^3.0.0" - https-browserify "^1.0.0" - os-browserify "^0.3.0" - path-browserify "0.0.1" - process "^0.11.10" - punycode "^1.2.4" - querystring-es3 "^0.2.0" - readable-stream "^2.3.3" - stream-browserify "^2.0.1" - stream-http "^2.7.2" - string_decoder "^1.0.0" - timers-browserify "^2.0.4" - tty-browserify "0.0.0" - url "^0.11.0" - util "^0.11.0" - vm-browserify "^1.0.1" - node-notifier@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-6.0.0.tgz#cea319e06baa16deec8ce5cd7f133c4a46b68e12" @@ -15397,10 +17625,10 @@ node-notifier@^6.0.0: shellwords "^0.1.1" which "^1.3.1" -node-releases@^2.0.8: - version "2.0.10" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f" - integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w== +node-releases@^2.0.13: + version "2.0.13" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d" + integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== nopt@^5.0.0: version "5.0.0" @@ -15409,7 +17637,7 @@ nopt@^5.0.0: dependencies: abbrev "1" -normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.5.0: +normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== @@ -15441,11 +17669,6 @@ normalize-path@^3.0.0, normalize-path@~3.0.0: resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== - normalize-url@^6.0.1: version "6.1.0" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" @@ -15487,16 +17710,6 @@ npm-run-path@^5.1.0: dependencies: path-key "^4.0.0" -npmlog@^4.0.1: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - npmlog@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-5.0.1.tgz#f06678e80e29419ad67ab964e0fa69959c1eb8b0" @@ -15515,32 +17728,72 @@ nth-check@^2.0.1: boolbase "^1.0.0" nullthrows@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1" - integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw== - -num2fraction@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" - integrity sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg== - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ== + version "1.1.1" + resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1" + integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw== nwsapi@^2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.2.tgz#e5418863e7905df67d51ec95938d67bf801f0bb0" - integrity sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw== + version "2.2.7" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30" + integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ== -nx@15.9.2: - version "15.9.2" - resolved "https://registry.yarnpkg.com/nx/-/nx-15.9.2.tgz#d7ace1e5ae64a47f1b553dc5da08dbdd858bde96" - integrity sha512-wtcs+wsuplSckvgk+bV+/XuGlo+sVWzSG0RpgWBjQYeqA3QsVFEAPVY66Z5cSoukDbTV77ddcAjEw+Rz8oOR1A== +nx@15.9.7: + version "15.9.7" + resolved "https://registry.yarnpkg.com/nx/-/nx-15.9.7.tgz#f0e713cedb8637a517d9c4795c99afec4959a1b6" + integrity sha512-1qlEeDjX9OKZEryC8i4bA+twNg+lB5RKrozlNwWx/lLJHqWPUfvUTvxh+uxlPYL9KzVReQjUuxMLFMsHNqWUrA== dependencies: - "@nrwl/cli" "15.9.2" - "@nrwl/tao" "15.9.2" + "@nrwl/cli" "15.9.7" + "@nrwl/tao" "15.9.7" + "@parcel/watcher" "2.0.4" + "@yarnpkg/lockfile" "^1.1.0" + "@yarnpkg/parsers" "3.0.0-rc.46" + "@zkochan/js-yaml" "0.0.6" + axios "^1.0.0" + chalk "^4.1.0" + cli-cursor "3.1.0" + cli-spinners "2.6.1" + cliui "^7.0.2" + dotenv "~10.0.0" + enquirer "~2.3.6" + fast-glob "3.2.7" + figures "3.2.0" + flat "^5.0.2" + fs-extra "^11.1.0" + glob "7.1.4" + ignore "^5.0.4" + js-yaml "4.1.0" + jsonc-parser "3.2.0" + lines-and-columns "~2.0.3" + minimatch "3.0.5" + npm-run-path "^4.0.1" + open "^8.4.0" + semver "7.5.4" + string-width "^4.2.3" + strong-log-transformer "^2.1.0" + tar-stream "~2.2.0" + tmp "~0.2.1" + tsconfig-paths "^4.1.2" + tslib "^2.3.0" + v8-compile-cache "2.3.0" + yargs "^17.6.2" + yargs-parser "21.1.1" + optionalDependencies: + "@nrwl/nx-darwin-arm64" "15.9.7" + "@nrwl/nx-darwin-x64" "15.9.7" + "@nrwl/nx-linux-arm-gnueabihf" "15.9.7" + "@nrwl/nx-linux-arm64-gnu" "15.9.7" + "@nrwl/nx-linux-arm64-musl" "15.9.7" + "@nrwl/nx-linux-x64-gnu" "15.9.7" + "@nrwl/nx-linux-x64-musl" "15.9.7" + "@nrwl/nx-win32-arm64-msvc" "15.9.7" + "@nrwl/nx-win32-x64-msvc" "15.9.7" + +nx@16.2.1: + version "16.2.1" + resolved "https://registry.yarnpkg.com/nx/-/nx-16.2.1.tgz#8571a4663c79dc9d60c98599b19146b58c59b473" + integrity sha512-O+yGcYIQtYKYagbIuOQFk1P8ki5PHn0BZjdZpsa4K8UZ4pCaRWzlwWwwUL91FUJe6tdhic5710DwAAakbGKP7Q== + dependencies: + "@nrwl/tao" "16.2.1" "@parcel/watcher" "2.0.4" "@yarnpkg/lockfile" "^1.1.0" "@yarnpkg/parsers" "^3.0.0-rc.18" @@ -15575,22 +17828,22 @@ nx@15.9.2: yargs "^17.6.2" yargs-parser "21.1.1" optionalDependencies: - "@nrwl/nx-darwin-arm64" "15.9.2" - "@nrwl/nx-darwin-x64" "15.9.2" - "@nrwl/nx-linux-arm-gnueabihf" "15.9.2" - "@nrwl/nx-linux-arm64-gnu" "15.9.2" - "@nrwl/nx-linux-arm64-musl" "15.9.2" - "@nrwl/nx-linux-x64-gnu" "15.9.2" - "@nrwl/nx-linux-x64-musl" "15.9.2" - "@nrwl/nx-win32-arm64-msvc" "15.9.2" - "@nrwl/nx-win32-x64-msvc" "15.9.2" + "@nx/nx-darwin-arm64" "16.2.1" + "@nx/nx-darwin-x64" "16.2.1" + "@nx/nx-linux-arm-gnueabihf" "16.2.1" + "@nx/nx-linux-arm64-gnu" "16.2.1" + "@nx/nx-linux-arm64-musl" "16.2.1" + "@nx/nx-linux-x64-gnu" "16.2.1" + "@nx/nx-linux-x64-musl" "16.2.1" + "@nx/nx-win32-arm64-msvc" "16.2.1" + "@nx/nx-win32-x64-msvc" "16.2.1" oauth-sign@~0.9.0: version "0.9.0" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== -object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: +object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== @@ -15604,12 +17857,12 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-inspect@^1.12.3, object-inspect@^1.9.0: - version "1.12.3" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" - integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== +object-inspect@^1.13.1, object-inspect@^1.9.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" + integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== -object-is@^1.0.1, object-is@^1.1.5: +object-is@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== @@ -15629,7 +17882,7 @@ object-visit@^1.0.0: dependencies: isobject "^3.0.0" -object.assign@^4.1.3, object.assign@^4.1.4: +object.assign@^4.1.4: version "4.1.4" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== @@ -15639,41 +17892,41 @@ object.assign@^4.1.3, object.assign@^4.1.4: has-symbols "^1.0.3" object-keys "^1.1.1" -object.entries@^1.1.0, object.entries@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.6.tgz#9737d0e5b8291edd340a3e3264bb8a3b00d5fa23" - integrity sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w== +object.entries@^1.1.6, object.entries@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.7.tgz#2b47760e2a2e3a752f39dd874655c61a7f03c131" + integrity sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + define-properties "^1.2.0" + es-abstract "^1.22.1" -"object.fromentries@^2.0.0 || ^1.0.0", object.fromentries@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.6.tgz#cdb04da08c539cffa912dcd368b886e0904bfa73" - integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg== +object.fromentries@^2.0.6, object.fromentries@^2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.7.tgz#71e95f441e9a0ea6baf682ecaaf37fa2a8d7e616" + integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + define-properties "^1.2.0" + es-abstract "^1.22.1" -object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.2: - version "2.1.5" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.5.tgz#db5a9002489b64eef903df81d6623c07e5b4b4d3" - integrity sha512-yDNzckpM6ntyQiGTik1fKV1DcVDRS+w8bvpWNCBanvH5LfRX9O8WTHqQzG4RZwRAM4I0oU7TV11Lj5v0g20ibw== +object.groupby@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.1.tgz#d41d9f3c8d6c778d9cbac86b4ee9f5af103152ee" + integrity sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ== dependencies: - array.prototype.reduce "^1.0.5" call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" object.hasown@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.2.tgz#f919e21fad4eb38a57bc6345b3afd496515c3f92" - integrity sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw== + version "1.1.3" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.3.tgz#6a5f2897bb4d3668b8e79364f98ccf971bda55ae" + integrity sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA== dependencies: - define-properties "^1.1.4" - es-abstract "^1.20.4" + define-properties "^1.2.0" + es-abstract "^1.22.1" object.pick@^1.3.0: version "1.3.0" @@ -15682,20 +17935,34 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" -object.values@^1.1.0, object.values@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d" - integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== +object.values@^1.1.6, object.values@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.7.tgz#617ed13272e7e1071b43973aa1655d9291b8442a" + integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + define-properties "^1.2.0" + es-abstract "^1.22.1" objectorarray@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/objectorarray/-/objectorarray-1.0.5.tgz#2c05248bbefabd8f43ad13b41085951aac5e68a5" integrity sha512-eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg== +ofetch@^1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/ofetch/-/ofetch-1.3.3.tgz#588cb806a28e5c66c2c47dd8994f9059a036d8c0" + integrity sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg== + dependencies: + destr "^2.0.1" + node-fetch-native "^1.4.0" + ufo "^1.3.0" + +on-exit-leak-free@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz#b39c9e3bf7690d890f4861558b0d7b90a442d209" + integrity sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg== + on-finished@2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" @@ -15736,15 +18003,7 @@ onetime@^6.0.0: dependencies: mimic-fn "^4.0.0" -open@^7.0.3: - version "7.4.2" - resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" - integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== - dependencies: - is-docker "^2.0.0" - is-wsl "^2.1.1" - -open@^8.4.0: +open@^8.0.4, open@^8.4.0: version "8.4.2" resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== @@ -15765,6 +18024,18 @@ optionator@^0.8.1, optionator@^0.8.3: type-check "~0.3.2" word-wrap "~1.2.3" +optionator@^0.9.3: + version "0.9.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" + integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== + dependencies: + "@aashutoshrathi/word-wrap" "^1.2.3" + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + ora@^4.0.3: version "4.1.1" resolved "https://registry.yarnpkg.com/ora/-/ora-4.1.1.tgz#566cc0348a15c36f5f0e979612842e02ba9dddbc" @@ -15779,7 +18050,7 @@ ora@^4.0.3: strip-ansi "^6.0.0" wcwidth "^1.0.1" -ora@^5.4.1: +ora@^5.1.0, ora@^5.4.1: version "5.4.1" resolved "https://registry.yarnpkg.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== @@ -15794,21 +18065,16 @@ ora@^5.4.1: strip-ansi "^6.0.0" wcwidth "^1.0.1" -ordered-binary@^1.2.4: - version "1.4.0" - resolved "https://registry.yarnpkg.com/ordered-binary/-/ordered-binary-1.4.0.tgz#6bb53d44925f3b8afc33d1eed0fa15693b211389" - integrity sha512-EHQ/jk4/a9hLupIKxTfUsQRej1Yd/0QLQs3vGvIqg5ZtCYSzNhkzHoZc7Zf4e4kUlDaC3Uw8Q/1opOLNN2OKRQ== +ordered-binary@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/ordered-binary/-/ordered-binary-1.4.1.tgz#205cb6efd6c27fa0ef4eced994a023e081cdc911" + integrity sha512-9LtiGlPy982CsgxZvJGNNp2/NnrgEr6EAyN3iIEP3/8vd3YLgAZQHbQ75ZrkfBRGrNg37Dk3U6tuVb+B4Xfslg== os-browserify@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A== -os-homedir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - integrity sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ== - os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -15819,13 +18085,6 @@ outdent@^0.8.0: resolved "https://registry.yarnpkg.com/outdent/-/outdent-0.8.0.tgz#2ebc3e77bf49912543f1008100ff8e7f44428eb0" integrity sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A== -p-all@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-all/-/p-all-2.1.0.tgz#91419be56b7dee8fe4c5db875d55e0da084244a0" - integrity sha512-HbZxz5FONzz/z2gJfk6bFca0BCiSRF8jU3yCsWOen/vR6lZjfPOu/e7L3uFzTW1i0H8TlC3vqQstEJPQL4/uLA== - dependencies: - p-map "^2.0.0" - p-cancelable@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" @@ -15836,20 +18095,6 @@ p-each-series@^2.1.0: resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== -p-event@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/p-event/-/p-event-4.2.0.tgz#af4b049c8acd91ae81083ebd1e6f5cae2044c1b5" - integrity sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ== - dependencies: - p-timeout "^3.1.0" - -p-filter@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-filter/-/p-filter-2.1.0.tgz#1b1472562ae7a0f742f0f3d3d3718ea66ff9c09c" - integrity sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw== - dependencies: - p-map "^2.0.0" - p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" @@ -15860,6 +18105,13 @@ p-finally@^2.0.0: resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561" integrity sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw== +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" + p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" @@ -15874,6 +18126,20 @@ p-limit@^3.0.2: dependencies: yocto-queue "^0.1.0" +p-limit@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644" + integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== + dependencies: + yocto-queue "^1.0.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== + dependencies: + p-limit "^1.1.0" + p-locate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" @@ -15895,17 +18161,12 @@ p-locate@^5.0.0: dependencies: p-limit "^3.0.2" -p-map@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" - integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== - -p-map@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" - integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== +p-locate@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-6.0.0.tgz#3da9a49d4934b901089dca3302fa65dc5a05c04f" + integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== dependencies: - aggregate-error "^3.0.0" + p-limit "^4.0.0" p-map@^4.0.0: version "4.0.0" @@ -15914,12 +18175,10 @@ p-map@^4.0.0: dependencies: aggregate-error "^3.0.0" -p-timeout@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" - integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== - dependencies: - p-finally "^1.0.0" +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== p-try@^2.0.0: version "2.2.0" @@ -15950,7 +18209,7 @@ pac-resolver@^5.0.0: ip "^1.1.5" netmask "^2.0.2" -pako@1.0.11, pako@~1.0.5: +pako@1.0.11: version "1.0.11" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== @@ -15960,16 +18219,7 @@ pako@~0.2.0: resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" integrity sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA== -parallel-transform@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" - integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== - dependencies: - cyclist "^1.0.1" - inherits "^2.0.3" - readable-stream "^2.1.5" - -param-case@^3.0.3: +param-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== @@ -15977,25 +18227,25 @@ param-case@^3.0.3: dot-case "^3.0.4" tslib "^2.0.3" -parcel@^2.7.0, parcel@^2.8.0: - version "2.8.3" - resolved "https://registry.yarnpkg.com/parcel/-/parcel-2.8.3.tgz#1ff71d7317274fd367379bc7310a52c6b75d30c2" - integrity sha512-5rMBpbNE72g6jZvkdR5gS2nyhwIXaJy8i65osOqs/+5b7zgf3eMKgjSsDrv6bhz3gzifsba6MBJiZdBckl+vnA== - dependencies: - "@parcel/config-default" "2.8.3" - "@parcel/core" "2.8.3" - "@parcel/diagnostic" "2.8.3" - "@parcel/events" "2.8.3" - "@parcel/fs" "2.8.3" - "@parcel/logger" "2.8.3" - "@parcel/package-manager" "2.8.3" - "@parcel/reporter-cli" "2.8.3" - "@parcel/reporter-dev-server" "2.8.3" - "@parcel/utils" "2.8.3" +parcel@^2.9.3: + version "2.10.3" + resolved "https://registry.yarnpkg.com/parcel/-/parcel-2.10.3.tgz#f91a0c98896df98ca857505ea2d1c0dcb0560a01" + integrity sha512-Ocx33N4ZVnotJTALhMZ0AqPIE9UN5uP6jjA+lYJ4FlEYuYYZsvOQXZQgeMa62pFj6jrOHWh7ho8uJhRdTNwVyg== + dependencies: + "@parcel/config-default" "2.10.3" + "@parcel/core" "2.10.3" + "@parcel/diagnostic" "2.10.3" + "@parcel/events" "2.10.3" + "@parcel/fs" "2.10.3" + "@parcel/logger" "2.10.3" + "@parcel/package-manager" "2.10.3" + "@parcel/reporter-cli" "2.10.3" + "@parcel/reporter-dev-server" "2.10.3" + "@parcel/reporter-tracer" "2.10.3" + "@parcel/utils" "2.10.3" chalk "^4.1.0" commander "^7.0.0" get-port "^4.2.0" - v8-compile-cache "^2.0.0" parent-module@^1.0.0: version "1.0.1" @@ -16004,7 +18254,7 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-asn1@^5.0.0, parse-asn1@^5.1.5: +parse-asn1@^5.0.0, parse-asn1@^5.1.6: version "5.1.6" resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== @@ -16015,6 +18265,22 @@ parse-asn1@^5.0.0, parse-asn1@^5.1.5: pbkdf2 "^3.0.3" safe-buffer "^5.1.1" +parse-css-color@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/parse-css-color/-/parse-css-color-0.2.0.tgz#e9f2d620900787164022f0c6b909a72ce4cd03db" + integrity sha512-uWQyuOe+SMxnUgHf4mjdn2C/YzA1tOW+uU8Z2UiV3qnao9ZFnvYeyzeoU7TNv8NLIJo0PiRkETW48QNJZ4IA9g== + dependencies: + color-name "^1.1.4" + hex-rgb "^4.1.0" + +parse-css-color@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/parse-css-color/-/parse-css-color-0.1.2.tgz#9d178f2d2b5eb7245c0deb22ea35046b79ff3f83" + integrity sha512-z7v/tf0edGsnlm9VONQtH+u/YVrdUqZXrSBzqM13scef8Abl2VyZfYsZaJoyb/AyY4SIxtoJChSQ4MURHfY3Sg== + dependencies: + color-name "^1.1.4" + hex-rgb "^4.1.0" + parse-entities@^1.1.2: version "1.2.2" resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.2.tgz#c31bf0f653b6661354f8973559cb86dd1d5edf50" @@ -16053,13 +18319,6 @@ parse-entities@^4.0.0: is-decimal "^2.0.0" is-hexadecimal "^2.0.0" -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ== - dependencies: - error-ex "^1.2.0" - parse-json@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" @@ -16068,7 +18327,7 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" -parse-json@^5.0.0: +parse-json@^5.0.0, parse-json@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== @@ -16088,12 +18347,7 @@ parse5@5.1.0: resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ== -parse5@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - -parseurl@~1.3.2, parseurl@~1.3.3: +parseurl@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== @@ -16111,28 +18365,11 @@ pascalcase@^0.1.1: resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw== -path-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" - integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== - -path-browserify@^1.0.1: +path-browserify@^1.0.0, path-browserify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q== - -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - integrity sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ== - dependencies: - pinkie-promise "^2.0.0" - path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" @@ -16143,6 +18380,11 @@ path-exists@^4.0.0: resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== +path-exists@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7" + integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== + path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -16168,6 +18410,14 @@ path-parse@^1.0.6, path-parse@^1.0.7: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== +path-scurry@^1.10.1: + version "1.10.1" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.10.1.tgz#9ba6bf5aa8500fe9fd67df4f0d9483b2b0bfc698" + integrity sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ== + dependencies: + lru-cache "^9.1.1 || ^10.0.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" @@ -16183,15 +18433,6 @@ path-to-regexp@6.2.1: resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-6.2.1.tgz#d54934d6798eb9e5ef14e7af7962c945906918e5" integrity sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw== -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - integrity sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg== - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - path-type@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" @@ -16204,12 +18445,17 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -pathe@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.0.tgz#e2e13f6c62b31a3289af4ba19886c230f295ec03" - integrity sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w== +pathe@^1.1.0, pathe@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.1.tgz#1dd31d382b974ba69809adc9a7a347e65d84829a" + integrity sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q== -pbkdf2@^3.0.16, pbkdf2@^3.0.3, pbkdf2@^3.1.1: +pathval@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" + integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== + +pbkdf2@^3.0.16, pbkdf2@^3.0.17, pbkdf2@^3.0.3, pbkdf2@^3.0.9, pbkdf2@^3.1.1: version "3.1.2" resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== @@ -16229,6 +18475,11 @@ peek-stream@^1.1.0: duplexify "^3.5.0" through2 "^2.0.3" +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== + performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" @@ -16248,22 +18499,22 @@ picocolors@1.0.0, picocolors@^1.0.0: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picocolors@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" - integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.3.0, picomatch@^2.3.1: +picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatch@^2.3.0, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== +pidtree@0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" + integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== + pidtree@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a" integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA== -pify@^2.0.0: +pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== @@ -16278,22 +18529,40 @@ pify@^4.0.1: resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw== +pino-abstract-transport@v0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz#4b54348d8f73713bfd14e3dc44228739aa13d9c0" + integrity sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ== dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== + duplexify "^4.1.2" + split2 "^4.0.0" -pirates@^4.0.1, pirates@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" - integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== +pino-std-serializers@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz#1791ccd2539c091ae49ce9993205e2cd5dbba1e2" + integrity sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q== + +pino@7.11.0: + version "7.11.0" + resolved "https://registry.yarnpkg.com/pino/-/pino-7.11.0.tgz#0f0ea5c4683dc91388081d44bff10c83125066f6" + integrity sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg== + dependencies: + atomic-sleep "^1.0.0" + fast-redact "^3.0.0" + on-exit-leak-free "^0.2.0" + pino-abstract-transport v0.5.0 + pino-std-serializers "^4.0.0" + process-warning "^1.0.0" + quick-format-unescaped "^4.0.3" + real-require "^0.1.0" + safe-stable-stringify "^2.1.0" + sonic-boom "^2.2.1" + thread-stream "^0.15.1" + +pirates@^4.0.1, pirates@^4.0.4, pirates@^4.0.5: + version "4.0.6" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" + integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== pkg-dir@^3.0.0: version "3.0.0" @@ -16316,31 +18585,43 @@ pkg-dir@^5.0.0: dependencies: find-up "^5.0.0" -pkg-types@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-1.0.2.tgz#c233efc5210a781e160e0cafd60c0d0510a4b12e" - integrity sha512-hM58GKXOcj8WTqUXnsQyJYXdeAPbythQgEF3nTcEo+nkD49chjQ9IKm/QJy9xf6JakXptz86h7ecP2024rrLaQ== +pkg-dir@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-7.0.0.tgz#8f0c08d6df4476756c5ff29b3282d0bab7517d11" + integrity sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA== + dependencies: + find-up "^6.3.0" + +pkg-types@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-1.0.3.tgz#988b42ab19254c01614d13f4f65a2cfc7880f868" + integrity sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A== dependencies: jsonc-parser "^3.2.0" - mlly "^1.1.1" + mlly "^1.2.0" pathe "^1.1.0" +pkg-up@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" + integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== + dependencies: + find-up "^3.0.0" + pn@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== -pngjs@^3.3.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f" - integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w== +pngjs@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb" + integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw== -pnp-webpack-plugin@1.6.4: - version "1.6.4" - resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz#c9711ac4dc48a685dabafc86f8b6dd9f8df84149" - integrity sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg== - dependencies: - ts-pnp "^1.1.6" +pofile@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/pofile/-/pofile-1.1.4.tgz#eab7e29f5017589b2a61b2259dff608c0cad76a2" + integrity sha512-r6Q21sKsY1AjTVVjOuU02VYKVNQGJNQHjTIvs4dEbeuuYfxgYk/DGD2mqqq4RDaVkwdSq0VEtmQUOPe/wH8X3g== polished@^3.3.1: version "3.7.2" @@ -16371,71 +18652,28 @@ postcss-discard-duplicates@^5.1.0: resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz#9eb4fe8456706a4eebd6d3b7b777d07bad03e848" integrity sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw== -postcss-flexbugs-fixes@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.2.1.tgz#9218a65249f30897deab1033aced8578562a6690" - integrity sha512-9SiofaZ9CWpQWxOwRh1b/r85KD5y7GgvsNt1056k6OYLvWUun0czCvogfJgylC22uJTwW1KzY3Gz65NZRlvoiQ== - dependencies: - postcss "^7.0.26" - postcss-load-config@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-4.0.1.tgz#152383f481c2758274404e4962743191d73875bd" - integrity sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA== - dependencies: - lilconfig "^2.0.5" - yaml "^2.1.1" - -postcss-loader@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-4.3.0.tgz#2c4de9657cd4f07af5ab42bd60a673004da1b8cc" - integrity sha512-M/dSoIiNDOo8Rk0mUqoj4kpGq91gcxCfb9PoyZVdZ76/AuhxylHDYZblNE8o+EQ9AMSASeMFEKxZf5aU6wlx1Q== - dependencies: - cosmiconfig "^7.0.0" - klona "^2.0.4" - loader-utils "^2.0.0" - schema-utils "^3.0.0" - semver "^7.3.4" - -postcss-modules-extract-imports@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" - integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-4.0.2.tgz#7159dcf626118d33e299f485d6afe4aff7c4a3e3" + integrity sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ== dependencies: - postcss "^7.0.5" + lilconfig "^3.0.0" + yaml "^2.3.4" postcss-modules-extract-imports@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== -postcss-modules-local-by-default@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz#bb14e0cc78279d504dbdcbfd7e0ca28993ffbbb0" - integrity sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw== - dependencies: - icss-utils "^4.1.1" - postcss "^7.0.32" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.1.0" - -postcss-modules-local-by-default@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c" - integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ== +postcss-modules-local-by-default@^4.0.0, postcss-modules-local-by-default@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz#b08eb4f083050708998ba2c6061b50c2870ca524" + integrity sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA== dependencies: icss-utils "^5.0.0" postcss-selector-parser "^6.0.2" postcss-value-parser "^4.1.0" -postcss-modules-scope@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" - integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^6.0.0" - postcss-modules-scope@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" @@ -16443,14 +18681,6 @@ postcss-modules-scope@^3.0.0: dependencies: postcss-selector-parser "^6.0.4" -postcss-modules-values@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" - integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== - dependencies: - icss-utils "^4.0.0" - postcss "^7.0.6" - postcss-modules-values@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" @@ -16472,10 +18702,10 @@ postcss-modules@^6.0.0: postcss-modules-values "^4.0.0" string-hash "^1.1.1" -postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: - version "6.0.11" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz#2e41dc39b7ad74046e1615185185cd0b17d0c8dc" - integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g== +postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: + version "6.0.13" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b" + integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ== dependencies: cssesc "^3.0.0" util-deprecate "^1.0.2" @@ -16485,20 +18715,12 @@ postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@^7.0.14, postcss@^7.0.26, postcss@^7.0.32, postcss@^7.0.36, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.39" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" - integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== - dependencies: - picocolors "^0.2.1" - source-map "^0.6.1" - -postcss@^8.4.19, postcss@^8.4.21: - version "8.4.21" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4" - integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg== +postcss@^8.4.19, postcss@^8.4.21, postcss@^8.4.27: + version "8.4.31" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d" + integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ== dependencies: - nanoid "^3.3.4" + nanoid "^3.3.6" picocolors "^1.0.0" source-map-js "^1.0.2" @@ -16531,29 +18753,10 @@ posthtml@^0.16.4, posthtml@^0.16.5: posthtml-parser "^0.11.0" posthtml-render "^3.0.0" -preact@10.4.1: - version "10.4.1" - resolved "https://registry.yarnpkg.com/preact/-/preact-10.4.1.tgz#9b3ba020547673a231c6cf16f0fbaef0e8863431" - integrity sha512-WKrRpCSwL2t3tpOOGhf2WfTpcmbpxaWtDbdJdKdjd0aEiTkvOmS4NBkG6kzlaAHI9AkQ3iVqbFWM3Ei7mZ4o1Q== - -prebuild-install@^6.0.0: - version "6.1.4" - resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-6.1.4.tgz#ae3c0142ad611d58570b89af4986088a4937e00f" - integrity sha512-Z4vpywnK1lBg+zdPCVCsKq0xO66eEV9rWo2zrROGGiRS4JtueBOdlB1FnY8lcy7JsUud/Q3ijUxyWN26Ika0vQ== - dependencies: - detect-libc "^1.0.3" - expand-template "^2.0.3" - github-from-package "0.0.0" - minimist "^1.2.3" - mkdirp-classic "^0.5.3" - napi-build-utils "^1.0.1" - node-abi "^2.21.0" - npmlog "^4.0.1" - pump "^3.0.0" - rc "^1.2.7" - simple-get "^3.0.3" - tar-fs "^2.0.0" - tunnel-agent "^0.6.0" +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== prelude-ls@~1.1.2: version "1.1.2" @@ -16572,33 +18775,28 @@ prettier@2.7.1: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== -"prettier@>=2.2.1 <=2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.3.0.tgz#b6a5bf1284026ae640f17f7ff5658a7567fc0d18" - integrity sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w== - prettier@^1.19.1: version "1.19.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== -prettier@^2.7.1: - version "2.8.7" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.7.tgz#bb79fc8729308549d28fe3a98fce73d2c0656450" - integrity sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw== +prettier@^2.3.1, prettier@^2.7.1, prettier@^2.8.0, prettier@^2.8.7: + version "2.8.8" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" + integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== pretty-bytes@5.6.0: version "5.6.0" resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== -pretty-error@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6" - integrity sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw== +pretty-error@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6" + integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw== dependencies: lodash "^4.17.20" - renderkid "^2.0.4" + renderkid "^3.0.0" pretty-format@^25.2.1, pretty-format@^25.5.0: version "25.5.0" @@ -16610,6 +18808,15 @@ pretty-format@^25.2.1, pretty-format@^25.5.0: ansi-styles "^4.0.0" react-is "^16.12.0" +pretty-format@^29.5.0, pretty-format@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" + integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== + dependencies: + "@jest/schemas" "^29.6.3" + ansi-styles "^5.0.0" + react-is "^18.0.0" + pretty-hrtime@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" @@ -16622,7 +18829,7 @@ pretty-ms@7.0.1, pretty-ms@^7.0.1: dependencies: parse-ms "^2.1.0" -prismjs@^1.8.4: +prismjs@^1.27.0, prismjs@^1.8.4: version "1.29.0" resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.29.0.tgz#f113555a8fa9b57c35e637bba27509dcf802dd12" integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q== @@ -16634,11 +18841,21 @@ prismjs@~1.17.0: optionalDependencies: clipboard "^2.0.0" +prismjs@~1.27.0: + version "1.27.0" + resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.27.0.tgz#bb6ee3138a0b438a3653dd4d6ce0cc6510a45057" + integrity sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA== + process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== +process-warning@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/process-warning/-/process-warning-1.0.0.tgz#980a0b25dc38cd6034181be4b7726d89066b4616" + integrity sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q== + process@^0.11.10: version "0.11.10" resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" @@ -16654,7 +18871,7 @@ progress-estimator@^0.2.2: humanize-duration "^3.15.3" log-update "^2.3.0" -progress@^2.0.0: +progress@^2.0.0, progress@^2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== @@ -16664,27 +18881,6 @@ promise-inflight@^1.0.1: resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== -promise.allsettled@^1.0.0: - version "1.0.6" - resolved "https://registry.yarnpkg.com/promise.allsettled/-/promise.allsettled-1.0.6.tgz#8dc8ba8edf429feb60f8e81335b920e109c94b6e" - integrity sha512-22wJUOD3zswWFqgwjNHa1965LvqTX87WPu/lreY2KSd7SVcERfuZ4GfUaOnJNnvtoIv2yXT/W00YIGMetXtFXg== - dependencies: - array.prototype.map "^1.0.5" - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - get-intrinsic "^1.1.3" - iterate-value "^1.0.2" - -promise.prototype.finally@^3.1.0: - version "3.1.4" - resolved "https://registry.yarnpkg.com/promise.prototype.finally/-/promise.prototype.finally-3.1.4.tgz#4e756a154e4db27fae24c6b18703495c31da3927" - integrity sha512-nNc3YbgMfLzqtqvO/q5DP6RR0SiHI9pUPGzyDf1q+usTwCN2kjvAnJkBb7bHe3o+fFSBPpsGMoYtaSi+LTNqng== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - promise@^7.1.1: version "7.3.1" resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" @@ -16700,7 +18896,7 @@ prompts@^2.0.1, prompts@^2.4.0: kleur "^3.0.3" sisteransi "^1.0.5" -prop-types@^15.0.0, prop-types@^15.5.10, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: +prop-types@^15.5.10, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: version "15.8.1" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -16709,7 +18905,7 @@ prop-types@^15.0.0, prop-types@^15.5.10, prop-types@^15.6.0, prop-types@^15.6.1, object-assign "^4.1.1" react-is "^16.13.1" -property-information@^5.0.0, property-information@^5.3.0: +property-information@^5.0.0: version "5.6.0" resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.6.0.tgz#61675545fb23002f245c6540ec46077d4da3ed69" integrity sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA== @@ -16717,11 +18913,11 @@ property-information@^5.0.0, property-information@^5.3.0: xtend "^4.0.0" property-information@^6.0.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.2.0.tgz#b74f522c31c097b5149e3c3cb8d7f3defd986a1d" - integrity sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg== + version "6.4.0" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.4.0.tgz#6bc4c618b0c2d68b3bb8b552cbb97f8e300a0f82" + integrity sha512-9t5qARVofg2xQqKtytzt+lZ4d1Qvj8t5B8fEwXK6qOfgRLgH/b13QlgEyDh033NOS31nXeFbYv7CLUDG1CeifQ== -protobufjs@6.11.3, protobufjs@^6.10.2, protobufjs@^6.8.8, protobufjs@~6.11.2, protobufjs@~6.11.3: +protobufjs@6.11.3: version "6.11.3" resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.3.tgz#637a527205a35caa4f3e2a9a4a13ddffe0e7af74" integrity sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg== @@ -16740,6 +18936,25 @@ protobufjs@6.11.3, protobufjs@^6.10.2, protobufjs@^6.8.8, protobufjs@~6.11.2, pr "@types/node" ">=13.7.0" long "^4.0.0" +protobufjs@^6.10.2, protobufjs@^6.8.8, protobufjs@~6.11.2, protobufjs@~6.11.3: + version "6.11.4" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.4.tgz#29a412c38bf70d89e537b6d02d904a6f448173aa" + integrity sha512-5kQWPaJHi1WoCpjTGszzQ32PG2F4+wRY6BmAT4Vfw56Q2FZ4YZzK20xUYQH4YkfehY1e6QSICrJquM6xXZNcrw== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/long" "^4.0.1" + "@types/node" ">=13.7.0" + long "^4.0.0" + protobufjs@~6.10.2: version "6.10.3" resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.10.3.tgz#11ed1dd02acbfcb330becf1611461d4b407f9eef" @@ -16759,15 +18974,6 @@ protobufjs@~6.10.2: "@types/node" "^13.7.0" long "^4.0.0" -protocol-buffers-encodings@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/protocol-buffers-encodings/-/protocol-buffers-encodings-1.2.0.tgz#39900b85dcff3172a23f15bdf3fda70daa2b38d3" - integrity sha512-daeNPuKh1NlLD1uDfbLpD+xyUTc07nEtfHwmBZmt/vH0B7VOM+JOCOpDcx9ZRpqHjAiIkGqyTDi+wfGSl17R9w== - dependencies: - b4a "^1.6.0" - signed-varint "^2.0.1" - varint "5.0.0" - proxy-addr@~2.0.7: version "2.0.7" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" @@ -16790,6 +18996,11 @@ proxy-agent@^5.0.0: proxy-from-env "^1.0.0" socks-proxy-agent "^5.0.0" +proxy-compare@2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/proxy-compare/-/proxy-compare-2.5.1.tgz#17818e33d1653fbac8c2ec31406bce8a2966f600" + integrity sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA== + proxy-from-env@^1.0.0, proxy-from-env@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" @@ -16800,6 +19011,13 @@ prr@~1.0.1: resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== +pseudolocale@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pseudolocale/-/pseudolocale-2.0.0.tgz#4dbe725a6b5a6fb71aba8ba64ae2be71f5267316" + integrity sha512-g1K9tCQYY4e3UGtnW8qs3kGWAOONxt7i5wuOFvf3N1EIIRhiLVIhZ9AM/ZyGTxsp231JbFywJU/EbJ5ZoqnZdg== + dependencies: + commander "^10.0.0" + psl@^1.1.28: version "1.9.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" @@ -16842,47 +19060,51 @@ pumpify@^1.3.3: inherits "^2.0.3" pump "^2.0.0" -pumpify@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-2.0.1.tgz#abfc7b5a621307c728b551decbbefb51f0e4aa1e" - integrity sha512-m7KOje7jZxrmutanlkS1daj1dS6z6BgslzOXmcSEpIlCxM3VJH7lG5QLeck/6hgF6F4crFf01UtQmNsJfweTAw== - dependencies: - duplexify "^4.1.1" - inherits "^2.0.3" - pump "^3.0.0" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw== - -punycode@^1.2.4, punycode@^1.4.1: +punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== punycode@^2.1.0, punycode@^2.1.1: - version "2.3.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" - integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== + version "2.3.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +puppeteer-core@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/puppeteer-core/-/puppeteer-core-2.1.1.tgz#e9b3fbc1237b4f66e25999832229e9db3e0b90ed" + integrity sha512-n13AWriBMPYxnpbb6bnaY5YoY6rGj8vPLrz6CZF3o0qJNEwlcfJVxBzYZ0NJsQ21UbdJoijPCDrM++SUVEz7+w== + dependencies: + "@types/mime-types" "^2.1.0" + debug "^4.1.0" + extract-zip "^1.6.6" + https-proxy-agent "^4.0.0" + mime "^2.0.3" + mime-types "^2.1.25" + progress "^2.0.1" + proxy-from-env "^1.0.0" + rimraf "^2.6.1" + ws "^6.1.0" + +pure-color@1.3.0, pure-color@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/pure-color/-/pure-color-1.3.0.tgz#1fe064fb0ac851f0de61320a8bf796836422f33e" + integrity sha512-QFADYnsVoBMw1srW7OVKEYjG+MbIa49s54w1MA1EDY6r2r/sTcKKYqRX1f4GYvnXP7eN/Pe9HFcX+hwzmrXRHA== q@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== -qrcode@1.4.4: - version "1.4.4" - resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.4.4.tgz#f0c43568a7e7510a55efc3b88d9602f71963ea83" - integrity sha512-oLzEC5+NKFou9P0bMj5+v6Z40evexeE29Z9cummZXZ9QXyMr3lphkURzxjXgPJC5azpxcshoDWV1xE46z+/c3Q== +qrcode@1.5.3, qrcode@^1.5.0: + version "1.5.3" + resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.3.tgz#03afa80912c0dccf12bc93f615a535aad1066170" + integrity sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg== dependencies: - buffer "^5.4.3" - buffer-alloc "^1.2.0" - buffer-from "^1.1.1" dijkstrajs "^1.0.1" - isarray "^2.0.1" - pngjs "^3.3.0" - yargs "^13.2.4" + encode-utf8 "^1.0.3" + pngjs "^5.0.0" + yargs "^15.3.1" qs@6.11.0: version "6.11.0" @@ -16891,10 +19113,10 @@ qs@6.11.0: dependencies: side-channel "^1.0.4" -qs@^6.10.0, qs@^6.6.0: - version "6.11.1" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.1.tgz#6c29dff97f0c0060765911ba65cbc9764186109f" - integrity sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ== +qs@^6.10.0, qs@^6.11.2, qs@^6.6.0: + version "6.11.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.2.tgz#64bea51f12c1f5da1bc01496f48ffcff7c69d7d9" + integrity sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA== dependencies: side-channel "^1.0.4" @@ -16912,21 +19134,31 @@ query-string@6.13.5: split-on-first "^1.0.0" strict-uri-encode "^2.0.0" -querystring-es3@^0.2.0: +query-string@7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.3.tgz#a1cf90e994abb113a325804a972d98276fe02328" + integrity sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg== + dependencies: + decode-uri-component "^0.2.2" + filter-obj "^1.1.0" + split-on-first "^1.0.0" + strict-uri-encode "^2.0.0" + +querystring-es3@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" integrity sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA== -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g== - -queue-microtask@^1.2.2: +queue-microtask@^1.2.2, queue-microtask@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== +quick-format-unescaped@^4.0.3: + version "4.0.4" + resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7" + integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== + quick-lru@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" @@ -16937,10 +19169,20 @@ quick-lru@^5.1.1: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== -ramda@^0.28.0: - version "0.28.0" - resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.28.0.tgz#acd785690100337e8b063cab3470019be427cc97" - integrity sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA== +radix3@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/radix3/-/radix3-1.1.0.tgz#9745df67a49c522e94a33d0a93cf743f104b6e0d" + integrity sha512-pNsHDxbGORSvuSScqNJ+3Km6QAVqk8CfsCBIEoDgpqLrkD2f3QM4I7d1ozJJ172OmIcoUcerZaNWqtLkRXTV3A== + +ramda@0.29.0: + version "0.29.0" + resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.29.0.tgz#fbbb67a740a754c8a4cbb41e2a6e0eb8507f55fb" + integrity sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA== + +ramda@^0.27.1: + version "0.27.2" + resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.27.2.tgz#84463226f7f36dc33592f6f4ed6374c48306c3f1" + integrity sha512-SbiLPU40JuJniHexQSAgad32hfwd+DRUdwF2PlVuI5RZD0/vahUco7R8vD86J/tcEKKF9vZrUVwgtmGCqlCKyA== randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: version "2.1.0" @@ -16962,44 +19204,32 @@ range-parser@^1.2.1, range-parser@~1.2.1: resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -rango-sdk-basic@^0.0.9: - version "0.0.9" - resolved "https://registry.yarnpkg.com/rango-sdk-basic/-/rango-sdk-basic-0.0.9.tgz#df7084aaf04b16e8a1f82dfe91e29b8b012d82e1" - integrity sha512-Qclq2+lxoEnlxC+5jMZxvgVLRcZhEA1qERjI1bwyqqL6PnBuh8vFYYJcoHGFSuQA7hObpxZ+3KWaX0TciI9naA== - dependencies: - axios "^0.24.0" - bignumber.js "^9.0.2" - uuid "^8.3.2" - -rango-sdk@^0.1.20: - version "0.1.20" - resolved "https://registry.yarnpkg.com/rango-sdk/-/rango-sdk-0.1.20.tgz#fad3cabef81f0c5586a06aab68479ca27ed2112f" - integrity sha512-YGTIvnML6pH6cSDHLdqcKU+2FhqWhnuDDJ7PGwGY1M4VqrbgZ2t8PnNf2TFwWNu5UqfP3xUPuIu5E6MOfEHc7Q== +rango-sdk-basic@^0.1.44: + version "0.1.44" + resolved "https://registry.yarnpkg.com/rango-sdk-basic/-/rango-sdk-basic-0.1.44.tgz#591e141c59728c886e60cda85ba1c183918b5b45" + integrity sha512-rDZqqfcgAimN8YgtnJcZoGIdcqUpT+1ICKYSgOf75mY1UWS8jvKc8Yh8WrX66SFKYynvQ8NZZVcXR+2TJhQOtQ== dependencies: axios "^1.2.6" bignumber.js "^9.1.1" - rango-types "^0.1.23" + eth-rpc-errors "^4.0.3" + ethers "^5.7.2" + rango-types "^0.1.57" uuid-random "^1.3.2" -rango-sdk@^0.1.23: - version "0.1.23" - resolved "https://registry.yarnpkg.com/rango-sdk/-/rango-sdk-0.1.23.tgz#4f5d779bf4be08fe391b5848ecc82a2054c9033f" - integrity sha512-LJd9apkYyzxKlOk+XE/KnghcQxWROinaH+Bsl+tEoBpr9LDC3Szca5J4mTqbcC/fYtwQBrTDrB4tnFTUO2dfFw== +rango-sdk@^0.1.44: + version "0.1.44" + resolved "https://registry.yarnpkg.com/rango-sdk/-/rango-sdk-0.1.44.tgz#5883bd0b5a77bd5848bcef40e04f5116f38fb640" + integrity sha512-vKAJrou1UszbloZG2Kj2/3xCCY9wLK2n2TYzEwVpZlffTkWXtQcP1PVupI4she7bxE7MD6OtJAkUimnx03kS2Q== dependencies: axios "^1.2.6" bignumber.js "^9.1.1" - rango-types "^0.1.28" + rango-types "^0.1.57" uuid-random "^1.3.2" -rango-types@^0.1.23: - version "0.1.23" - resolved "https://registry.yarnpkg.com/rango-types/-/rango-types-0.1.23.tgz#3b3ad12fba7120838deb1b016ad16754da13deec" - integrity sha512-Q2E/17IOCMULYvF0siey87Qjlx7r4VGZeHrPxraHmI0RXbVqB+p2G7t3nTEZT8ex2VChRu8SAQCRhgYAr/5K7A== - -rango-types@^0.1.28: - version "0.1.28" - resolved "https://registry.yarnpkg.com/rango-types/-/rango-types-0.1.28.tgz#931ddf57e38115fab6f85cb5f6bacb3fb46c20eb" - integrity sha512-pZtblD2JvH6nB26TKW/6ySTwVlxYRJksMC6UIDfpmpn/6g/LHf3RxAGkrltC1wzdmGP1QxAUWOeq4JJv2lAFtQ== +rango-types@^0.1.57: + version "0.1.57" + resolved "https://registry.yarnpkg.com/rango-types/-/rango-types-0.1.57.tgz#0e5378ae2e4114c4c71ad0ec98b86b3966ebe765" + integrity sha512-F9bpBQovmP/GMENdFs5I4zZwbsPAHWmUCj33eIbu8ZbNa76/BmbC7nMfhViggNTXC2WHJaFsqhyukOEILU2Tlg== raw-body@2.5.1: version "2.5.1" @@ -17021,24 +19251,6 @@ raw-body@^2.2.0: iconv-lite "0.4.24" unpipe "1.0.0" -raw-loader@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-4.0.2.tgz#1aac6b7d1ad1501e66efdac1522c73e59a584eb6" - integrity sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - -rc@^1.2.7: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - react-addons-create-fragment@^15.6.2: version "15.6.2" resolved "https://registry.yarnpkg.com/react-addons-create-fragment/-/react-addons-create-fragment-15.6.2.tgz#a394de7c2c7becd6b5475ba1b97ac472ce7c74f8" @@ -17068,7 +19280,12 @@ react-color@^2.19.3: reactcss "^1.2.0" tinycolor2 "^1.4.1" -react-docgen-typescript@^2.1.1: +react-colorful@^5.1.2: + version "5.6.1" + resolved "https://registry.yarnpkg.com/react-colorful/-/react-colorful-5.6.1.tgz#7dc2aed2d7c72fac89694e834d179e32f3da563b" + integrity sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw== + +react-docgen-typescript@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/react-docgen-typescript/-/react-docgen-typescript-2.2.2.tgz#4611055e569edc071204aadb20e1c93e1ab1659c" integrity sha512-tvg2ZtOpOi6QDwsb3GZhOjDkkX0h8Z2gipvTg6OVMUyoYoURhEiRNePT8NZItTVCDh39JJHnLdfCOkzoLbFnTg== @@ -17107,7 +19324,7 @@ react-dom@^18.2.0: loose-envify "^1.1.0" scheduler "^0.23.0" -react-element-to-jsx-string@^14.0.2, react-element-to-jsx-string@^14.3.4: +react-element-to-jsx-string@^14.0.2: version "14.3.4" resolved "https://registry.yarnpkg.com/react-element-to-jsx-string/-/react-element-to-jsx-string-14.3.4.tgz#709125bc72f06800b68f9f4db485f2c7d31218a8" integrity sha512-t4ZwvV6vwNxzujDQ+37bspnLwA4JlgUPWhLjBJWsNIDceAf6ZKUTCjdm08cN6WeZ5pTMKiCJkmAYnpmR4Bm+dg== @@ -17116,23 +19333,32 @@ react-element-to-jsx-string@^14.0.2, react-element-to-jsx-string@^14.3.4: is-plain-object "5.0.0" react-is "17.0.2" +react-element-to-jsx-string@^15.0.0: + version "15.0.0" + resolved "https://registry.yarnpkg.com/react-element-to-jsx-string/-/react-element-to-jsx-string-15.0.0.tgz#1cafd5b6ad41946ffc8755e254da3fc752a01ac6" + integrity sha512-UDg4lXB6BzlobN60P8fHWVPX3Kyw8ORrTeBtClmIlGdkOOE+GYQSFvmEU5iLLpwp/6v42DINwNcwOhOLfQ//FQ== + dependencies: + "@base2/pretty-print-object" "1.0.1" + is-plain-object "5.0.0" + react-is "18.1.0" + react-error-overlay@6.0.9: version "6.0.9" resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.9.tgz#3c743010c9359608c375ecd6bc76f35d93995b0a" integrity sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew== react-fast-compare@^3.2.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.1.tgz#53933d9e14f364281d6cba24bfed7a4afb808b5f" - integrity sha512-xTYf9zFim2pEif/Fw16dBiXpe0hoy5PxcD8+OwBnTtNLfIm3g6WxhKNurY+6OmdH1u6Ta/W/Vl6vjbYP1MFnDg== + version "3.2.2" + resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.2.tgz#929a97a532304ce9fee4bcae44234f1ce2c21d49" + integrity sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ== react-focus-lock@^2.1.0: - version "2.9.4" - resolved "https://registry.yarnpkg.com/react-focus-lock/-/react-focus-lock-2.9.4.tgz#4753f6dcd167c39050c9d84f9c63c71b3ff8462e" - integrity sha512-7pEdXyMseqm3kVjhdVH18sovparAzLg5h6WvIx7/Ck3ekjhrrDMEegHSa3swwC8wgfdd7DIdUVRGeiHT9/7Sgg== + version "2.9.6" + resolved "https://registry.yarnpkg.com/react-focus-lock/-/react-focus-lock-2.9.6.tgz#cad168a150fdd72d5ab2419ba8e62780788011b1" + integrity sha512-B7gYnCjHNrNYwY2juS71dHbf0+UpXXojt02svxybj8N5bxceAkzPChKEncHuratjUHkIFNCn06k2qj1DRlzTug== dependencies: "@babel/runtime" "^7.0.0" - focus-lock "^0.11.6" + focus-lock "^1.0.0" prop-types "^15.6.2" react-clientside-effect "^1.2.6" use-callback-ref "^1.3.0" @@ -17150,33 +19376,34 @@ react-helmet-async@^1.0.2: shallowequal "^1.1.0" react-i18next@^12.2.0: - version "12.2.0" - resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-12.2.0.tgz#010e3f6070b8d700442947233352ebe4b252d7a1" - integrity sha512-5XeVgSygaGfyFmDd2WcXvINRw2WEC1XviW1LXY/xLOEMzsCFRwKqfnHN+hUjla8ZipbVJR27GCMSuTr0BhBBBQ== + version "12.3.1" + resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-12.3.1.tgz#30134a41a2a71c61dc69c6383504929aed1c99e7" + integrity sha512-5v8E2XjZDFzK7K87eSwC7AJcAkcLt5xYZ4+yTPDAW1i7C93oOY1dnr4BaQM7un4Hm+GmghuiPvevWwlca5PwDA== dependencies: "@babel/runtime" "^7.20.6" html-parse-stringify "^3.0.1" -react-inspector@^5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/react-inspector/-/react-inspector-5.1.1.tgz#58476c78fde05d5055646ed8ec02030af42953c8" - integrity sha512-GURDaYzoLbW8pMGXwYPDBIv6nqei4kK7LPRZ9q9HCZF54wqXz/dnylBp/kfE9XmekBhHvLDdcYeyIwSrvtOiWg== - dependencies: - "@babel/runtime" "^7.0.0" - is-dom "^1.0.0" - prop-types "^15.0.0" +react-inspector@^6.0.0: + version "6.0.2" + resolved "https://registry.yarnpkg.com/react-inspector/-/react-inspector-6.0.2.tgz#aa3028803550cb6dbd7344816d5c80bf39d07e9d" + integrity sha512-x+b7LxhmHXjHoU/VrFAzw5iutsILRoYyDq97EDYdFpPLcvqtEzk4ZSZSQjnFPbr5T57tLXnHcqFYoN1pI6u8uQ== react-is@17.0.2: version "17.0.2" resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== +react-is@18.1.0: + version "18.1.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.1.0.tgz#61aaed3096d30eacf2a2127118b5b41387d32a67" + integrity sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg== + react-is@^16.12.0, react-is@^16.13.1, react-is@^16.7.0, react-is@^16.8.3: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== -react-is@^18.2.0: +react-is@^18.0.0, react-is@^18.2.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== @@ -17207,35 +19434,53 @@ react-popper@^1.3.7: typed-styles "^0.0.7" warning "^4.0.2" -react-refresh@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.11.0.tgz#77198b944733f0f1f1a90e791de4541f9f074046" - integrity sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A== - -react-refresh@^0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.14.0.tgz#4e02825378a5f227079554d4284889354e5f553e" - integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ== - -react-refresh@^0.9.0: +react-refresh@0.9.0, react-refresh@^0.11.0, react-refresh@^0.14.0, react-refresh@^0.9.0: version "0.9.0" resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.9.0.tgz#71863337adc3e5c2f8a6bfddd12ae3bfe32aafbf" integrity sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ== -react-router-dom@^6.8.0: - version "6.10.0" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.10.0.tgz#090ddc5c84dc41b583ce08468c4007c84245f61f" - integrity sha512-E5dfxRPuXKJqzwSe/qGcqdwa18QiWC6f3H3cWXM24qj4N0/beCIf/CWTipop2xm7mR0RCS99NnaqPNjHtrAzCg== +react-remove-scroll-bar@^2.3.3: + version "2.3.4" + resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz#53e272d7a5cb8242990c7f144c44d8bd8ab5afd9" + integrity sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A== dependencies: - "@remix-run/router" "1.5.0" - react-router "6.10.0" + react-style-singleton "^2.2.1" + tslib "^2.0.0" -react-router@6.10.0: - version "6.10.0" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.10.0.tgz#230f824fde9dd0270781b5cb497912de32c0a971" - integrity sha512-Nrg0BWpQqrC3ZFFkyewrflCud9dio9ME3ojHCF/WLsprJVzkq3q3UeEhMCAW1dobjeGbWgjNn/PVF6m46ANxXQ== +react-remove-scroll@2.5.5: + version "2.5.5" + resolved "https://registry.yarnpkg.com/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz#1e31a1260df08887a8a0e46d09271b52b3a37e77" + integrity sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw== dependencies: - "@remix-run/router" "1.5.0" + react-remove-scroll-bar "^2.3.3" + react-style-singleton "^2.2.1" + tslib "^2.1.0" + use-callback-ref "^1.3.0" + use-sidecar "^1.1.2" + +react-router-dom@^6.10.0, react-router-dom@^6.8.0: + version "6.20.0" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.20.0.tgz#7b9527a1e29c7fb90736a5f89d54ca01f40e264b" + integrity sha512-CbcKjEyiSVpA6UtCHOIYLUYn/UJfwzp55va4yEfpk7JBN3GPqWfHrdLkAvNCcpXr8QoihcDMuk0dzWZxtlB/mQ== + dependencies: + "@remix-run/router" "1.13.0" + react-router "6.20.0" + +react-router@6.20.0: + version "6.20.0" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.20.0.tgz#4275a3567ecc55f7703073158048db10096bb539" + integrity sha512-pVvzsSsgUxxtuNfTHC4IxjATs10UaAtvLGVSA1tbUE4GDaOSU1Esu2xF5nWLz7KPiMuW8BJWuPFdlGYJ7/rW0w== + dependencies: + "@remix-run/router" "1.13.0" + +react-style-singleton@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/react-style-singleton/-/react-style-singleton-2.2.1.tgz#f99e420492b2d8f34d38308ff660b60d0b1205b4" + integrity sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g== + dependencies: + get-nonce "^1.0.0" + invariant "^2.2.4" + tslib "^2.0.0" react-syntax-highlighter@^11.0.2: version "11.0.3" @@ -17248,6 +19493,17 @@ react-syntax-highlighter@^11.0.2: prismjs "^1.8.4" refractor "^2.4.1" +react-syntax-highlighter@^15.5.0: + version "15.5.0" + resolved "https://registry.yarnpkg.com/react-syntax-highlighter/-/react-syntax-highlighter-15.5.0.tgz#4b3eccc2325fa2ec8eff1e2d6c18fa4a9e07ab20" + integrity sha512-+zq2myprEnQmH5yw6Gqc8lD55QHnpKaU8TOcFeC/Lg/MQSs8UknEA0JC4nTZGFAXC2J2Hyj/ijJ7NlabyPi2gg== + dependencies: + "@babel/runtime" "^7.3.1" + highlight.js "^10.4.1" + lowlight "^1.17.0" + prismjs "^1.27.0" + refractor "^3.6.0" + react-textarea-autosize@^7.1.0: version "7.1.2" resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-7.1.2.tgz#70fdb333ef86bcca72717e25e623e90c336e2cda" @@ -17257,19 +19513,19 @@ react-textarea-autosize@^7.1.0: prop-types "^15.6.0" react-virtualized-auto-sizer@^1.0.7: - version "1.0.11" - resolved "https://registry.yarnpkg.com/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.11.tgz#2ec880161c91327531f56b218d067736fd4ae3fe" - integrity sha512-v2YlC4KCnjEF7V5KtxrHCy50vPhbL73BS1qNOXFYaaE1XGeRqZHrGP+F4BE0QDv2pP+f1t9twL1n5pRp5GPMkQ== + version "1.0.20" + resolved "https://registry.yarnpkg.com/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.20.tgz#d9a907253a7c221c52fa57dc775a6ef40c182645" + integrity sha512-OdIyHwj4S4wyhbKHOKM1wLSj/UDXm839Z3Cvfg2a9j+He6yDa6i5p0qQvEiCnyQlGO/HyfSnigQwuxvYalaAXA== react-window-infinite-loader@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/react-window-infinite-loader/-/react-window-infinite-loader-1.0.8.tgz#f88b1444829e732a3f4c5ae861644815329ddd88" - integrity sha512-907ZLAiZZfBHuZyiY0V7uiSL4P/rI6UQyCF9wES1cDWTeyNLgGLaxu+BZkcUW3R5tSCQcbCcWBl0jVIpYzrKGQ== + version "1.0.9" + resolved "https://registry.yarnpkg.com/react-window-infinite-loader/-/react-window-infinite-loader-1.0.9.tgz#d861c03d5cbc550e2f185371af820fd22d46c099" + integrity sha512-5Hg89IdU4Vrp0RT8kZYKeTIxWZYhNkVXeI1HbKo01Vm/Z7qztDvXljwx16sMzsa9yapRJQW3ODZfMUw38SOWHw== react-window@^1.8.8: - version "1.8.8" - resolved "https://registry.yarnpkg.com/react-window/-/react-window-1.8.8.tgz#1b52919f009ddf91970cbdb2050a6c7be44df243" - integrity sha512-D4IiBeRtGXziZ1n0XklnFGu7h9gU684zepqyKzgPNzrsrk7xOCxni+TCckjg2Nr/DiaEEGVVmnhYSlT2rB47dQ== + version "1.8.10" + resolved "https://registry.yarnpkg.com/react-window/-/react-window-1.8.10.tgz#9e6b08548316814b443f7002b1cf8fd3a1bdde03" + integrity sha512-Y0Cx+dnU6NLa5/EvoHukUD0BklJ8qITCtVEPY1C/nL8wwoZ0b5aEw8Ff1dOVHw7fCzMt55XfJDd8S8W8LCaUCg== dependencies: "@babel/runtime" "^7.0.0" memoize-one ">=3.1.1 <6" @@ -17297,13 +19553,13 @@ reactcss@^1.2.0: dependencies: lodash "^4.0.1" -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - integrity sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A== +read-pkg-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" + integrity sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw== dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" + find-up "^2.0.0" + read-pkg "^3.0.0" read-pkg-up@^7.0.1: version "7.0.1" @@ -17314,15 +19570,6 @@ read-pkg-up@^7.0.1: read-pkg "^5.2.0" type-fest "^0.8.1" -read-pkg@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - integrity sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ== - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - read-pkg@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" @@ -17342,19 +19589,6 @@ read-pkg@^5.2.0: parse-json "^5.0.0" type-fest "^0.6.0" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" - integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - readable-stream@1.1.x: version "1.1.14" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" @@ -17365,7 +19599,7 @@ readable-stream@1.1.x: isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0: +readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.1.0, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0, readable-stream@^3.6.2: version "3.6.2" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== @@ -17374,14 +19608,25 @@ readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stre string_decoder "^1.1.1" util-deprecate "^1.0.1" -readdirp@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== +readable-stream@^2.0.0, readable-stream@^2.2.2, readable-stream@~2.3.6: + version "2.3.8" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readdirp@~3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" + integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== + dependencies: + picomatch "^2.2.1" readdirp@~3.6.0: version "3.6.0" @@ -17395,12 +19640,17 @@ readonly-date@^1.0.0: resolved "https://registry.yarnpkg.com/readonly-date/-/readonly-date-1.0.0.tgz#5af785464d8c7d7c40b9d738cbde8c646f97dcd9" integrity sha512-tMKIV7hlk0h4mO3JTmmVuIlJVXjKk3Sep9Bf5OH0O+758ruuVkUy2J9SttDLm91IEX/WHlXPSpxMGjPj4beMIQ== +real-require@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/real-require/-/real-require-0.1.0.tgz#736ac214caa20632847b7ca8c1056a0767df9381" + integrity sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg== + realpath-native@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-2.0.0.tgz#7377ac429b6e1fd599dc38d08ed942d0d7beb866" integrity sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q== -recast@^0.21.5: +recast@^0.21.0, recast@^0.21.5: version "0.21.5" resolved "https://registry.yarnpkg.com/recast/-/recast-0.21.5.tgz#e8cd22bb51bcd6130e54f87955d33a2b2e57b495" integrity sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg== @@ -17410,6 +19660,17 @@ recast@^0.21.5: source-map "~0.6.1" tslib "^2.0.1" +recast@^0.23.1: + version "0.23.4" + resolved "https://registry.yarnpkg.com/recast/-/recast-0.23.4.tgz#ca1bac7bfd3011ea5a28dfecb5df678559fb1ddf" + integrity sha512-qtEDqIZGVcSZCHniWwZWbRy79Dc6Wp3kT/UmDA2RJKBPg7+7k51aQBZirHmUGn5uvHf2rg8DkjizrN26k61ATw== + dependencies: + assert "^2.0.0" + ast-types "^0.16.1" + esprima "~4.0.0" + source-map "~0.6.1" + tslib "^2.0.1" + rechoir@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" @@ -17417,14 +19678,6 @@ rechoir@^0.6.2: dependencies: resolve "^1.1.6" -redent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" - integrity sha512-qtW5hKzGQZqKoh6JNSD+4lfitfPKGz42e6QwiRmPM5mmKtR0N41AbJRYu0xJi7nhOJ4WDgRkKvAk6tw4WIwR4g== - dependencies: - indent-string "^2.1.0" - strip-indent "^1.0.1" - redent@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" @@ -17433,6 +19686,35 @@ redent@^3.0.0: indent-string "^4.0.0" strip-indent "^3.0.0" +redis-errors@^1.0.0, redis-errors@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/redis-errors/-/redis-errors-1.2.0.tgz#eb62d2adb15e4eaf4610c04afe1529384250abad" + integrity sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w== + +redis-parser@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/redis-parser/-/redis-parser-3.0.0.tgz#b66d828cdcafe6b4b8a428a7def4c6bcac31c8b4" + integrity sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A== + dependencies: + redis-errors "^1.0.0" + +reduce-flatten@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-2.0.0.tgz#734fd84e65f375d7ca4465c69798c25c9d10ae27" + integrity sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w== + +reflect.getprototypeof@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz#aaccbf41aca3821b87bb71d9dcbc7ad0ba50a3f3" + integrity sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" + globalthis "^1.0.3" + which-builtin-type "^1.1.3" + refractor@^2.4.1: version "2.10.1" resolved "https://registry.yarnpkg.com/refractor/-/refractor-2.10.1.tgz#166c32f114ed16fd96190ad21d5193d3afc7d34e" @@ -17442,10 +19724,19 @@ refractor@^2.4.1: parse-entities "^1.1.2" prismjs "~1.17.0" +refractor@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/refractor/-/refractor-3.6.0.tgz#ac318f5a0715ead790fcfb0c71f4dd83d977935a" + integrity sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA== + dependencies: + hastscript "^6.0.0" + parse-entities "^2.0.0" + prismjs "~1.27.0" + regenerate-unicode-properties@^10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz#7c3192cab6dd24e21cb4461e5ddd7dd24fa8374c" - integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ== + version "10.1.1" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480" + integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== dependencies: regenerate "^1.4.2" @@ -17454,15 +19745,20 @@ regenerate@^1.4.2: resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== -regenerator-runtime@^0.13.11, regenerator-runtime@^0.13.4, regenerator-runtime@^0.13.7: +regenerator-runtime@^0.13.4, regenerator-runtime@^0.13.7: version "0.13.11" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== -regenerator-transform@^0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.1.tgz#f6c4e99fc1b4591f780db2586328e4d9a9d8dc56" - integrity sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg== +regenerator-runtime@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45" + integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== + +regenerator-transform@^0.15.2: + version "0.15.2" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4" + integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg== dependencies: "@babel/runtime" "^7.8.4" @@ -17474,14 +19770,14 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" -regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" - integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== +regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz#90ce989138db209f81492edd734183ce99f9677e" + integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== dependencies: call-bind "^1.0.2" - define-properties "^1.1.3" - functions-have-names "^1.2.2" + define-properties "^1.2.0" + set-function-name "^2.0.0" regexpp@^2.0.1: version "2.0.1" @@ -17528,11 +19824,6 @@ remark-external-links@^8.0.0: space-separated-tokens "^1.0.0" unist-util-visit "^2.0.0" -remark-footnotes@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/remark-footnotes/-/remark-footnotes-2.0.0.tgz#9001c4c2ffebba55695d2dd80ffb8b82f7e6303f" - integrity sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ== - remark-frontmatter@4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/remark-frontmatter/-/remark-frontmatter-4.0.1.tgz#84560f7ccef114ef076d3d3735be6d69f8922309" @@ -17553,46 +19844,10 @@ remark-mdx-frontmatter@^1.0.1: js-yaml "^4.0.0" toml "^3.0.0" -remark-mdx@1.6.22: - version "1.6.22" - resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-1.6.22.tgz#06a8dab07dcfdd57f3373af7f86bd0e992108bbd" - integrity sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ== - dependencies: - "@babel/core" "7.12.9" - "@babel/helper-plugin-utils" "7.10.4" - "@babel/plugin-proposal-object-rest-spread" "7.12.1" - "@babel/plugin-syntax-jsx" "7.12.1" - "@mdx-js/util" "1.6.22" - is-alphabetical "1.0.4" - remark-parse "8.0.3" - unified "9.2.0" - -remark-parse@8.0.3: - version "8.0.3" - resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-8.0.3.tgz#9c62aa3b35b79a486454c690472906075f40c7e1" - integrity sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q== - dependencies: - ccount "^1.0.0" - collapse-white-space "^1.0.2" - is-alphabetical "^1.0.0" - is-decimal "^1.0.0" - is-whitespace-character "^1.0.0" - is-word-character "^1.0.0" - markdown-escapes "^1.0.0" - parse-entities "^2.0.0" - repeat-string "^1.5.4" - state-toggle "^1.0.0" - trim "0.0.1" - trim-trailing-lines "^1.0.0" - unherit "^1.0.4" - unist-util-remove-position "^2.0.0" - vfile-location "^3.0.0" - xtend "^4.0.1" - remark-parse@^10.0.0: - version "10.0.1" - resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-10.0.1.tgz#6f60ae53edbf0cf38ea223fe643db64d112e0775" - integrity sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw== + version "10.0.2" + resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-10.0.2.tgz#ca241fde8751c2158933f031a4e3efbaeb8bc262" + integrity sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw== dependencies: "@types/mdast" "^3.0.0" mdast-util-from-markdown "^1.0.0" @@ -17617,46 +19872,32 @@ remark-slug@^6.0.0: mdast-util-to-string "^1.0.0" unist-util-visit "^2.0.0" -remark-squeeze-paragraphs@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz#76eb0e085295131c84748c8e43810159c5653ead" - integrity sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw== - dependencies: - mdast-squeeze-paragraphs "^4.0.0" - remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" integrity sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw== -renderkid@^2.0.4: - version "2.0.7" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.7.tgz#464f276a6bdcee606f4a15993f9b29fc74ca8609" - integrity sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ== +renderkid@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-3.0.0.tgz#5fd823e4d6951d37358ecc9a58b1f06836b6268a" + integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg== dependencies: css-select "^4.1.3" dom-converter "^0.2.0" htmlparser2 "^6.1.0" lodash "^4.17.21" - strip-ansi "^3.0.1" + strip-ansi "^6.0.1" repeat-element@^1.1.2: version "1.1.4" resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== -repeat-string@^1.5.4, repeat-string@^1.6.1: +repeat-string@^1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - integrity sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A== - dependencies: - is-finite "^1.0.0" - request-promise-core@1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" @@ -17673,7 +19914,7 @@ request-promise-native@^1.0.7: stealthy-require "^1.1.1" tough-cookie "^2.3.3" -request@^2.88.0: +request@^2.85.0, request@^2.88.0: version "2.88.2" resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== @@ -17763,21 +20004,21 @@ resolve@1.17.0: dependencies: path-parse "^1.0.6" -resolve@^1.1.6, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.19.0, resolve@^1.22.1, resolve@^1.3.2: - version "1.22.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.19.0, resolve@^1.22.4: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== dependencies: - is-core-module "^2.9.0" + is-core-module "^2.13.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" resolve@^2.0.0-next.4: - version "2.0.0-next.4" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660" - integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== + version "2.0.0-next.5" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" + integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== dependencies: - is-core-module "^2.9.0" + is-core-module "^2.13.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" @@ -17804,6 +20045,14 @@ restore-cursor@^3.1.0: onetime "^5.1.0" signal-exit "^3.0.2" +restore-cursor@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-4.0.0.tgz#519560a4318975096def6e609d44100edaa4ccb9" + integrity sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" @@ -17814,14 +20063,24 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rimraf@2.6.3: +rfdc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" + integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== + +rgb-hex@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/rgb-hex/-/rgb-hex-4.1.0.tgz#b343f394c8f9df629a7504c34c00b5bc63bd006f" + integrity sha512-UZLM57BW09Yi9J1R3OP8B1yCbbDK3NT8BDtihGZkGkGEs2b6EaV85rsfJ6yK4F+8UbxFFmfA+9xHT5ZWhN1gDQ== + +rimraf@2.6.3, rimraf@~2.6.2: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== dependencies: glob "^7.1.3" -rimraf@^2.5.4, rimraf@^2.6.3: +rimraf@^2.6.1: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== @@ -17835,6 +20094,13 @@ rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" +rimraf@^5.0.1: + version "5.0.5" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-5.0.5.tgz#9be65d2d6e683447d2e9013da2bf451139a61ccf" + integrity sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A== + dependencies: + glob "^10.3.7" + ripemd160@^2.0.0, ripemd160@^2.0.1, ripemd160@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" @@ -17843,6 +20109,20 @@ ripemd160@^2.0.0, ripemd160@^2.0.1, ripemd160@^2.0.2: hash-base "^3.0.0" inherits "^2.0.1" +rlp@2.2.6: + version "2.2.6" + resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.6.tgz#c80ba6266ac7a483ef1e69e8e2f056656de2fb2c" + integrity sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg== + dependencies: + bn.js "^4.11.1" + +rlp@^2.2.3, rlp@^2.2.4: + version "2.2.7" + resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf" + integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ== + dependencies: + bn.js "^5.2.0" + rollup-plugin-inject@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/rollup-plugin-inject/-/rollup-plugin-inject-3.0.2.tgz#e4233855bfba6c0c12a312fd6649dff9a13ee9f4" @@ -17905,17 +20185,17 @@ rollup@^1.32.1: "@types/node" "*" acorn "^7.1.0" -rollup@^3.18.0: - version "3.20.2" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.20.2.tgz#f798c600317f216de2e4ad9f4d9ab30a89b690ff" - integrity sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg== +rollup@^3.27.1: + version "3.29.4" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.29.4.tgz#4d70c0f9834146df8705bfb69a9a19c9e1109981" + integrity sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw== optionalDependencies: fsevents "~2.3.2" -rpc-websockets@^7.5.1: - version "7.5.1" - resolved "https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-7.5.1.tgz#e0a05d525a97e7efc31a0617f093a13a2e10c401" - integrity sha512-kGFkeTsmd37pHPMaHIgN1LVKXMi0JD782v4Ds9ZKtLlwdTKjn+CxM9A9/gLT2LaOuEcEFGL98h1QWQtlOIdW0w== +rpc-websockets@^7.5.0, rpc-websockets@^7.5.1: + version "7.8.0" + resolved "https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-7.8.0.tgz#1bcf571f65c51803e81f0824e9540a0da35a5287" + integrity sha512-AStkq6KDvSAmA4WiwlK1pDvj/33BWmExTATUokC0v+NhWekXSTNzXS5OGXeYwq501/pj6lBZMofg/h4dx4/tCg== dependencies: "@babel/runtime" "^7.17.2" eventemitter3 "^4.0.7" @@ -17942,24 +20222,22 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -run-queue@^1.0.0, run-queue@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - integrity sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg== - dependencies: - aproba "^1.1.1" +rustbn.js@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/rustbn.js/-/rustbn.js-0.2.0.tgz#8082cb886e707155fd1cb6f23bd591ab8d55d0ca" + integrity sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA== -rxjs@6, rxjs@^6.5.4, rxjs@^6.6.0: +rxjs@^6.5.4, rxjs@^6.6.0: version "6.6.7" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== dependencies: tslib "^1.9.0" -rxjs@^7.5.5: - version "7.8.0" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4" - integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg== +rxjs@^7.0.0, rxjs@^7.5.5: + version "7.8.1" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" + integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== dependencies: tslib "^2.1.0" @@ -17970,26 +20248,26 @@ sade@^1.4.2, sade@^1.7.3: dependencies: mri "^1.1.0" -safe-buffer@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" - integrity sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg== +safe-array-concat@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.1.tgz#91686a63ce3adbea14d61b14c99572a8ff84754c" + integrity sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + has-symbols "^1.0.3" + isarray "^2.0.5" safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: +safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -safe-json-utils@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/safe-json-utils/-/safe-json-utils-1.1.1.tgz#0e883874467d95ab914c3f511096b89bfb3e63b1" - integrity sha512-SAJWGKDs50tAbiDXLf89PDwt9XYkWyANFWVzn4dTXl5QyI8t2o/bW5/OJl3lvc2WVU4MEpTo9Yz5NVFNsp+OJQ== - safe-regex-test@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" @@ -18006,6 +20284,11 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" +safe-stable-stringify@^2.1.0: + version "2.4.3" + resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz#138c84b6f6edb3db5f8ef3ef7115b8f55ccbf886" + integrity sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g== + "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" @@ -18048,57 +20331,39 @@ scheduler@^0.23.0: dependencies: loose-envify "^1.1.0" -schema-utils@2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7" - integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== - dependencies: - "@types/json-schema" "^7.0.4" - ajv "^6.12.2" - ajv-keywords "^3.4.1" - -schema-utils@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" - integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== - dependencies: - ajv "^6.1.0" - ajv-errors "^1.0.0" - ajv-keywords "^3.1.0" - -schema-utils@^2.6.5, schema-utils@^2.7.0: - version "2.7.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" - integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== - dependencies: - "@types/json-schema" "^7.0.5" - ajv "^6.12.4" - ajv-keywords "^3.5.2" - -schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" - integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== +schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== dependencies: "@types/json-schema" "^7.0.8" ajv "^6.12.5" ajv-keywords "^3.5.2" schema-utils@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.0.0.tgz#60331e9e3ae78ec5d16353c467c34b3a0a1d3df7" - integrity sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg== + version "4.2.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.2.0.tgz#70d7c93e153a273a805801882ebd3bff20d89c8b" + integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== dependencies: "@types/json-schema" "^7.0.9" - ajv "^8.8.0" + ajv "^8.9.0" ajv-formats "^2.1.1" - ajv-keywords "^5.0.0" + ajv-keywords "^5.1.0" -scrypt-js@3.0.1: +scrypt-js@3.0.1, scrypt-js@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== +secp256k1@4.0.3, secp256k1@^4.0.0, secp256k1@^4.0.1, secp256k1@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.3.tgz#c4559ecd1b8d3c1827ed2d1b94190d69ce267303" + integrity sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA== + dependencies: + elliptic "^6.5.4" + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + secretjs@^0.17.0: version "0.17.8" resolved "https://registry.yarnpkg.com/secretjs/-/secretjs-0.17.8.tgz#a7158ebf492727da8297f9b80cf9c83597e70cc9" @@ -18116,30 +20381,45 @@ secretjs@^0.17.0: protobufjs "6.11.3" secure-random "1.1.2" -secure-random@1.1.2, secure-random@^1.1.2: +secure-random@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/secure-random/-/secure-random-1.1.2.tgz#ed103b460a851632d420d46448b2a900a41e7f7c" integrity sha512-H2bdSKERKdBV1SwoqYm6C0y+9EA94v6SUBOWO8kDndc4NoUih7Dv6Tsgma7zO1lv27wIvjlD0ZpMQk7um5dheQ== +seedrandom@3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/seedrandom/-/seedrandom-3.0.5.tgz#54edc85c95222525b0c7a6f6b3543d8e0b3aa0a7" + integrity sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg== + select@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d" integrity sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA== -"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== +semaphore-async-await@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/semaphore-async-await/-/semaphore-async-await-1.5.1.tgz#857bef5e3644601ca4b9570b87e9df5ca12974fa" + integrity sha512-b/ptP11hETwYWpeilHXXQiV5UJNJl7ZWWooKRE5eBIYWoom6dZ0SluCIdCtKycsMtZgKWE01/qAw6jblw1YVhg== + +semver-parser@^4.1.4: + version "4.1.6" + resolved "https://registry.yarnpkg.com/semver-parser/-/semver-parser-4.1.6.tgz#9d6b1e06bab8d727d117d522991ca1999c67323d" + integrity sha512-i37y4KxCbaYXIwQKLLUC2nsFYxCeiguMrS6lfv4rU0aHd59fSAypcE+jGib2sbQRcJp2C2NL5ngKAqpKqd0SJw== + +"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0: + version "5.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== semver@6.1.1: version "6.1.1" resolved "https://registry.yarnpkg.com/semver/-/semver-6.1.1.tgz#53f53da9b30b2103cd4f15eab3a18ecbcb210c9b" integrity sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ== -semver@6.x, semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== +semver@6.x, semver@^6.0.0, semver@^6.1.2, semver@^6.3.0, semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== semver@7.3.4: version "7.3.4" @@ -18148,13 +20428,20 @@ semver@7.3.4: dependencies: lru-cache "^6.0.0" -semver@7.3.8, semver@^7.1.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7: +semver@7.3.8: version "7.3.8" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== dependencies: lru-cache "^6.0.0" +semver@7.5.4, semver@^7.1.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.2, semver@^7.5.3: + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== + dependencies: + lru-cache "^6.0.0" + send@0.18.0: version "0.18.0" resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" @@ -18181,13 +20468,6 @@ serialize-javascript@^4.0.0: dependencies: randombytes "^2.1.0" -serialize-javascript@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" - integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== - dependencies: - randombytes "^2.1.0" - serialize-javascript@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz#b206efb27c3da0b0ab6b52f48d170b7996458e5c" @@ -18195,17 +20475,6 @@ serialize-javascript@^6.0.1: dependencies: randombytes "^2.1.0" -serve-favicon@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/serve-favicon/-/serve-favicon-2.5.0.tgz#935d240cdfe0f5805307fdfe967d88942a2cbcf0" - integrity sha512-FMW2RvqNr03x+C0WxTyu6sOv21oOjkq5j8tjquWccwa6ScNyGFOGJVpuS1NmTVGBAHS07xnSKotgf2ehQmf9iA== - dependencies: - etag "~1.8.1" - fresh "0.5.2" - ms "2.1.1" - parseurl "~1.3.2" - safe-buffer "5.1.1" - serve-static@1.15.0: version "1.15.0" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" @@ -18216,7 +20485,7 @@ serve-static@1.15.0: parseurl "~1.3.3" send "0.18.0" -set-blocking@^2.0.0, set-blocking@~2.0.0: +set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== @@ -18226,6 +20495,25 @@ set-cookie-parser@^2.4.8: resolved "https://registry.yarnpkg.com/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz#131921e50f62ff1a66a461d7d62d7b21d5d15a51" integrity sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ== +set-function-length@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.1.1.tgz#4bc39fafb0307224a33e106a7d35ca1218d659ed" + integrity sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ== + dependencies: + define-data-property "^1.1.1" + get-intrinsic "^1.2.1" + gopd "^1.0.1" + has-property-descriptors "^1.0.0" + +set-function-name@^2.0.0, set-function-name@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.1.tgz#12ce38b7954310b9f61faa12701620a0c882793a" + integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== + dependencies: + define-data-property "^1.0.1" + functions-have-names "^1.2.3" + has-property-descriptors "^1.0.0" + set-value@^2.0.0, set-value@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" @@ -18236,7 +20524,7 @@ set-value@^2.0.0, set-value@^2.0.1: is-plain-object "^2.0.3" split-string "^3.0.1" -setimmediate@^1.0.4, setimmediate@^1.0.5: +setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== @@ -18330,31 +20618,27 @@ side-channel@^1.0.4: get-intrinsic "^1.0.2" object-inspect "^1.9.0" +siginfo@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/siginfo/-/siginfo-2.0.0.tgz#32e76c70b79724e3bb567cb9d543eb858ccfaf30" + integrity sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== + signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== -signed-varint@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/signed-varint/-/signed-varint-2.0.1.tgz#50a9989da7c98c2c61dad119bc97470ef8528129" - integrity sha512-abgDPg1106vuZZOvw7cFwdCABddfJRz5akcCcchzTbhyhYnsG31y4AlZEgp315T7W3nQq5P4xeOm186ZiPVFzw== - dependencies: - varint "~5.0.0" - -simple-concat@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" - integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== +signal-exit@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== -simple-get@^3.0.3: - version "3.1.1" - resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-3.1.1.tgz#cc7ba77cfbe761036fbfce3d021af25fc5584d55" - integrity sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA== +simple-update-notifier@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz#d70b92bdab7d6d90dfd73931195a30b6e3d7cebb" + integrity sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w== dependencies: - decompress-response "^4.2.0" - once "^1.3.1" - simple-concat "^1.0.0" + semver "^7.5.3" simplebar-react@^1.0.0-alpha.6: version "1.2.3" @@ -18381,23 +20665,6 @@ sisteransi@^1.0.5: resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== -size-limit@^8.1.0: - version "8.2.4" - resolved "https://registry.yarnpkg.com/size-limit/-/size-limit-8.2.4.tgz#0ab0df7cbc89007d544a50b451f5fb4d110694ca" - integrity sha512-Un16nSreD1v2CYwSorattiJcHuAWqXvg4TsGgzpjnoByqQwsSfCIEQHuaD14HNStzredR8cdsO9oGH91ibypTA== - dependencies: - bytes-iec "^3.1.1" - chokidar "^3.5.3" - globby "^11.1.0" - lilconfig "^2.0.6" - nanospinner "^1.1.0" - picocolors "^1.0.0" - -slash@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" - integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== - slash@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" @@ -18412,11 +20679,27 @@ slice-ansi@^2.1.0: astral-regex "^1.0.0" is-fullwidth-code-point "^2.0.0" +slice-ansi@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a" + integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== + dependencies: + ansi-styles "^6.0.0" + is-fullwidth-code-point "^4.0.0" + smart-buffer@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== +snake-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c" + integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" @@ -18464,6 +20747,26 @@ socks@^2.3.3: ip "^2.0.0" smart-buffer "^4.2.0" +solc@0.8.15: + version "0.8.15" + resolved "https://registry.yarnpkg.com/solc/-/solc-0.8.15.tgz#d274dca4d5a8b7d3c9295d4cbdc9291ee1c52152" + integrity sha512-Riv0GNHNk/SddN/JyEuFKwbcWcEeho15iyupTSHw5Np6WuXA5D8kEHbyzDHi6sqmvLzu2l+8b1YmL8Ytple+8w== + dependencies: + command-exists "^1.2.8" + commander "^8.1.0" + follow-redirects "^1.12.1" + js-sha3 "0.8.0" + memorystream "^0.3.1" + semver "^5.5.0" + tmp "0.0.33" + +sonic-boom@^2.2.1: + version "2.8.0" + resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-2.8.0.tgz#c1def62a77425090e6ad7516aad8eb402e047611" + integrity sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg== + dependencies: + atomic-sleep "^1.0.0" + sort-object-keys@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/sort-object-keys/-/sort-object-keys-1.1.3.tgz#bff833fe85cab147b34742e45863453c1e190b45" @@ -18481,12 +20784,7 @@ sort-package-json@^1.55.0: is-plain-obj "2.1.0" sort-object-keys "^1.1.3" -source-list-map@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== - -source-map-js@^1.0.2: +source-map-js@^1.0.1, source-map-js@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== @@ -18523,7 +20821,7 @@ source-map-url@^0.4.0: resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== -source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7: +source-map@^0.5.6, source-map@^0.5.7: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== @@ -18538,6 +20836,13 @@ source-map@^0.7.0, source-map@^0.7.3: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== +source-map@^0.8.0-beta.0: + version "0.8.0-beta.0" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.8.0-beta.0.tgz#d4c1bb42c3f7ee925f005927ba10709e0d1d1f11" + integrity sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA== + dependencies: + whatwg-url "^7.0.0" + sourcemap-codec@^1.4.8: version "1.4.8" resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" @@ -18575,9 +20880,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.13" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz#7189a474c46f8d47c7b0da4b987bb45e908bd2d5" - integrity sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w== + version "3.0.16" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz#a14f64e0954f6e25cc6587bd4f392522db0d998f" + integrity sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw== split-on-first@^1.0.0: version "1.1.0" @@ -18591,13 +20896,6 @@ split-string@^3.0.1, split-string@^3.0.2: dependencies: extend-shallow "^3.0.0" -split2@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/split2/-/split2-2.2.0.tgz#186b2575bcf83e85b7d18465756238ee4ee42493" - integrity sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw== - dependencies: - through2 "^2.0.2" - split2@^3.0.0: version "3.2.2" resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" @@ -18605,6 +20903,18 @@ split2@^3.0.0: dependencies: readable-stream "^3.0.0" +split2@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/split2/-/split2-4.2.0.tgz#c9c5920904d148bab0b9f67145f245a86aadbfa4" + integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== + +split@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" + integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== + dependencies: + through "2" + sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" @@ -18616,9 +20926,9 @@ srcset@4: integrity sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw== sshpk@^1.7.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" - integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== + version "1.18.0" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.18.0.tgz#1663e55cddf4d688b86a46b77f0d5fe363aba028" + integrity sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ== dependencies: asn1 "~0.2.3" assert-plus "^1.0.0" @@ -18630,13 +20940,6 @@ sshpk@^1.7.0: safer-buffer "^2.0.2" tweetnacl "~0.14.0" -ssri@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5" - integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q== - dependencies: - figgy-pudding "^3.5.1" - ssri@^8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" @@ -18656,15 +20959,20 @@ stack-utils@^1.0.1: dependencies: escape-string-regexp "^2.0.0" +stackback@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/stackback/-/stackback-0.0.2.tgz#1ac8a0d9483848d1695e418b6d031a3c3ce68e3b" + integrity sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== + stackframe@^1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== -state-toggle@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.3.tgz#e123b16a88e143139b09c6852221bc9815917dfe" - integrity sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ== +standard-as-callback@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/standard-as-callback/-/standard-as-callback-2.1.0.tgz#8953fc05359868a77b5b9739a665c5977bb7df45" + integrity sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A== static-extend@^0.1.1: version "0.1.2" @@ -18679,30 +20987,27 @@ statuses@2.0.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== +std-env@^3.3.3, std-env@^3.4.3: + version "3.5.0" + resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.5.0.tgz#83010c9e29bd99bf6f605df87c19012d82d63b97" + integrity sha512-JGUEaALvL0Mf6JCfYnJOTcobY+Nc7sG/TemDRBqCA0wEr4DER7zDchaaixTlmOxAjG1uRJmX82EQcxwTQTkqVA== + stealthy-require@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" integrity sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g== -stop-iteration-iterator@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" - integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== - dependencies: - internal-slot "^1.0.4" - -store2@^2.12.0, store2@^2.7.1: +store2@^2.14.2, store2@^2.7.1: version "2.14.2" resolved "https://registry.yarnpkg.com/store2/-/store2-2.14.2.tgz#56138d200f9fe5f582ad63bc2704dbc0e4a45068" integrity sha512-siT1RiqlfQnGqgT/YzXVUNsom9S0H1OX+dpdGN1xkyYATo4I6sep5NmsRD/40s3IIOvlCq6akxkqG82urIZW1w== -stream-browserify@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" - integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== +storybook@^7.1.1: + version "7.5.3" + resolved "https://registry.yarnpkg.com/storybook/-/storybook-7.5.3.tgz#0003b072736b8b15c3b7205e9775d0c5ec898b4d" + integrity sha512-lkn9hcedNmSNCzbDIrky2LpZJqlpS7Fy1KpGBZmLY34g5Mb0+KnXaUqzY0dxsd7aFm8Oa7Du/emceMYNNL4DMA== dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" + "@storybook/cli" "7.5.3" stream-browserify@^3.0.0: version "3.0.0" @@ -18712,25 +21017,6 @@ stream-browserify@^3.0.0: inherits "~2.0.4" readable-stream "^3.5.0" -stream-each@^1.1.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" - integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== - dependencies: - end-of-stream "^1.1.0" - stream-shift "^1.0.0" - -stream-http@^2.7.2: - version "2.8.3" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" - integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.3.6" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - stream-shift@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" @@ -18741,6 +21027,16 @@ strict-uri-encode@^2.0.0: resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== +string-argv@0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6" + integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== + +string-format@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/string-format/-/string-format-2.0.0.tgz#f2df2e7097440d3b65de31b6d40d54c96eaffb9b" + integrity sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA== + string-hash@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" @@ -18754,16 +21050,7 @@ string-length@^3.1.0: astral-regex "^1.0.0" strip-ansi "^5.2.0" -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw== - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -18780,7 +21067,7 @@ string-width@^2.1.1: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" -string-width@^3.0.0, string-width@^3.1.0: +string-width@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== @@ -18789,66 +21076,67 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" -"string.prototype.matchall@^4.0.0 || ^3.0.1", string.prototype.matchall@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz#3bf85722021816dcd1bf38bb714915887ca79fd3" - integrity sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg== +string-width@^5.0.0, string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + +string.prototype.matchall@^4.0.8: + version "4.0.10" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz#a1553eb532221d4180c51581d6072cd65d1ee100" + integrity sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - get-intrinsic "^1.1.3" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" has-symbols "^1.0.3" - internal-slot "^1.0.3" - regexp.prototype.flags "^1.4.3" + internal-slot "^1.0.5" + regexp.prototype.flags "^1.5.0" + set-function-name "^2.0.0" side-channel "^1.0.4" string.prototype.padend@^3.0.0: - version "3.1.4" - resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.4.tgz#2c43bb3a89eb54b6750de5942c123d6c98dd65b6" - integrity sha512-67otBXoksdjsnXXRUq+KMVTdlVRZ2af422Y0aTyTjVaoQkGr3mxl2Bc5emi7dOQ3OGVVQQskmLEWwFXwommpNw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -string.prototype.padstart@^3.0.0: - version "3.1.4" - resolved "https://registry.yarnpkg.com/string.prototype.padstart/-/string.prototype.padstart-3.1.4.tgz#4842d58a09df2addac23cf0b325ce9f087978e90" - integrity sha512-XqOHj8horGsF+zwxraBvMTkBFM28sS/jHBJajh17JtJKA92qazidiQbLosV4UA18azvLOVKYo/E3g3T9Y5826w== + version "3.1.5" + resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.5.tgz#311ef3a4e3c557dd999cdf88fbdde223f2ac0f95" + integrity sha512-DOB27b/2UTTD+4myKUFh+/fXWcu/UDyASIXfg+7VzoCNNGOfWvoyU/x5pvVHr++ztyt/oSYI1BcWBBG/hmlNjA== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + define-properties "^1.2.0" + es-abstract "^1.22.1" -string.prototype.trim@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz#a68352740859f6893f14ce3ef1bb3037f7a90533" - integrity sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg== +string.prototype.trim@^1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd" + integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + define-properties "^1.2.0" + es-abstract "^1.22.1" -string.prototype.trimend@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" - integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== +string.prototype.trimend@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz#1bb3afc5008661d73e2dc015cd4853732d6c471e" + integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + define-properties "^1.2.0" + es-abstract "^1.22.1" -string.prototype.trimstart@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" - integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== +string.prototype.trimstart@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz#d4cdb44b83a4737ffbac2d406e405d43d0184298" + integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + define-properties "^1.2.0" + es-abstract "^1.22.1" -string_decoder@^1.0.0, string_decoder@^1.1.1: +string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== @@ -18875,12 +21163,21 @@ stringify-entities@^4.0.0: character-entities-html4 "^2.0.0" character-entities-legacy "^3.0.0" -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== +stringify-object@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-5.0.0.tgz#d5b05649fedaf8860640471641f70906fea7f351" + integrity sha512-zaJYxz2FtcMb4f+g60KsRNFOpVMUyuJgA51Zi5Z1DOTC3S59+OQiVOzE9GZt0x72uBGWKsQIuBKeF9iusmKFsg== + dependencies: + get-own-enumerable-keys "^1.0.0" + is-obj "^3.0.0" + is-regexp "^3.1.0" + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: - ansi-regex "^2.0.0" + ansi-regex "^5.0.1" strip-ansi@^4.0.0: version "4.0.0" @@ -18889,26 +21186,19 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" -strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: +strip-ansi@^5.1.0, strip-ansi@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== dependencies: ansi-regex "^4.1.0" -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - integrity sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g== +strip-ansi@^7.0.1: + version "7.1.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== dependencies: - is-utf8 "^0.2.0" + ansi-regex "^6.0.1" strip-bom@^3.0.0: version "3.0.0" @@ -18935,12 +21225,12 @@ strip-final-newline@^3.0.0: resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== -strip-indent@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" - integrity sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA== +strip-hex-prefix@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" + integrity sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A== dependencies: - get-stdin "^4.0.1" + is-hex-prefixed "1.0.0" strip-indent@^3.0.0: version "3.0.0" @@ -18949,15 +21239,17 @@ strip-indent@^3.0.0: dependencies: min-indent "^1.0.0" -strip-json-comments@^3.0.1: +strip-json-comments@^3.0.1, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== +strip-literal@^1.0.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/strip-literal/-/strip-literal-1.3.0.tgz#db3942c2ec1699e6836ad230090b84bb458e3a07" + integrity sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg== + dependencies: + acorn "^8.10.0" strong-log-transformer@^2.1.0: version "2.1.0" @@ -18968,28 +21260,23 @@ strong-log-transformer@^2.1.0: minimist "^1.2.0" through "^2.3.4" -style-loader@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.3.0.tgz#828b4a3b3b7e7aa5847ce7bae9e874512114249e" - integrity sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q== - dependencies: - loader-utils "^2.0.0" - schema-utils "^2.7.0" - -style-to-object@0.3.0, style-to-object@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.3.0.tgz#b1b790d205991cc783801967214979ee19a76e46" - integrity sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA== - dependencies: - inline-style-parser "0.1.1" +style-loader@^3.3.1: + version "3.3.3" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.3.tgz#bba8daac19930169c0c9c96706749a597ae3acff" + integrity sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw== style-to-object@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.4.1.tgz#53cf856f7cf7f172d72939d9679556469ba5de37" - integrity sha512-HFpbb5gr2ypci7Qw+IOhnP2zOU7e77b+rzM+wTzXzfi1PrtBCX0E7Pk4wL4iTLnhzZ+JgEGAhX81ebTg/aYjQw== + version "0.4.4" + resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.4.4.tgz#266e3dfd56391a7eefb7770423612d043c3f33ec" + integrity sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg== dependencies: inline-style-parser "0.1.1" +subtract-object@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/subtract-object/-/subtract-object-1.1.0.tgz#a26bb771e4b861f230bf38aa6cec4b861533261d" + integrity sha512-b6J++yZCkkmP1PODlbhjy3MNHOEkzIynZfqU6KeTzgBcFHB4KgqFPf0AMU1U8he7FQa2wq6/k3MjqObcovU28w== + superstruct@^0.14.2: version "0.14.2" resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-0.14.2.tgz#0dbcdf3d83676588828f1cf5ed35cda02f59025b" @@ -19036,6 +21323,11 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== +svg-parser@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" + integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== + svgo@^2.4.0: version "2.8.0" resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" @@ -19049,6 +21341,24 @@ svgo@^2.4.0: picocolors "^1.0.0" stable "^0.1.8" +svgo@^3.0.2: + version "3.0.4" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-3.0.4.tgz#67b40a710743e358e8d19ec288de8f1e388afbb4" + integrity sha512-T+Xul3JwuJ6VGXKo/p2ndqx1ibxNKnLTvRc1ZTWKCfyKS/GgNjRZcYsK84fxTsy/izr91g/Rwx6fGnVgaFSI5g== + dependencies: + "@trysound/sax" "0.2.0" + commander "^7.2.0" + css-select "^5.1.0" + css-tree "^2.2.1" + css-what "^6.1.0" + csso "5.0.5" + picocolors "^1.0.0" + +swc-loader@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/swc-loader/-/swc-loader-0.2.3.tgz#6792f1c2e4c9ae9bf9b933b3e010210e270c186d" + integrity sha512-D1p6XXURfSPleZZA/Lipb3A8pZ17fP4NObZvFCDjK/OKljroqDpPmsBdTraWhVBqUNpcWBQY1imWdoPScRlQ7A== + symbol-observable@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-2.0.3.tgz#5b521d3d07a43c351055fa43b8355b62d33fd16a" @@ -19059,21 +21369,21 @@ symbol-tree@^3.2.2: resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== -symbol.prototype.description@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/symbol.prototype.description/-/symbol.prototype.description-1.0.5.tgz#d30e01263b6020fbbd2d2884a6276ce4d49ab568" - integrity sha512-x738iXRYsrAt9WBhRCVG5BtIC3B7CUkFwbHW2zOvGtwM33s7JjrCDyq8V0zgMYVb5ymsL8+qkzzpANH63CPQaQ== - dependencies: - call-bind "^1.0.2" - get-symbol-description "^1.0.0" - has-symbols "^1.0.2" - object.getownpropertydescriptors "^2.1.2" - synchronous-promise@^2.0.15: version "2.0.17" resolved "https://registry.yarnpkg.com/synchronous-promise/-/synchronous-promise-2.0.17.tgz#38901319632f946c982152586f2caf8ddc25c032" integrity sha512-AsS729u2RHUfEra9xJrE39peJcc2stq2+poBXX8bcM08Y6g9j/i/PUzwNQqkaJde7Ntg1TO7bSREbR5sdosQ+g== +table-layout@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-1.0.2.tgz#c4038a1853b0136d63365a734b6931cf4fad4a04" + integrity sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A== + dependencies: + array-back "^4.0.1" + deep-extend "~0.6.0" + typical "^5.2.0" + wordwrapjs "^4.0.0" + table@^5.2.3: version "5.4.6" resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" @@ -19084,17 +21394,12 @@ table@^5.2.3: slice-ansi "^2.1.0" string-width "^3.0.0" -tapable@^1.0.0, tapable@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== - -tapable@^2.1.1, tapable@^2.2.0: +tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== -tar-fs@^2.0.0, tar-fs@^2.1.1: +tar-fs@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== @@ -19115,14 +21420,14 @@ tar-stream@^2.1.4, tar-stream@~2.2.0: inherits "^2.0.3" readable-stream "^3.1.1" -tar@^6.0.2, tar@^6.1.11: - version "6.1.13" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.13.tgz#46e22529000f612180601a6fe0680e7da508847b" - integrity sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw== +tar@^6.0.2, tar@^6.1.11, tar@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.0.tgz#b14ce49a79cb1cd23bc9b016302dea5474493f73" + integrity sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ== dependencies: chownr "^2.0.0" fs-minipass "^2.0.0" - minipass "^4.0.0" + minipass "^5.0.0" minizlib "^2.1.1" mkdirp "^1.0.3" yallist "^4.0.0" @@ -19141,20 +21446,44 @@ telejson@^3.2.0: lodash "^4.17.15" memoizerific "^1.11.3" -telejson@^6.0.8: - version "6.0.8" - resolved "https://registry.yarnpkg.com/telejson/-/telejson-6.0.8.tgz#1c432db7e7a9212c1fbd941c3e5174ec385148f7" - integrity sha512-nerNXi+j8NK1QEfBHtZUN/aLdDcyupA//9kAboYLrtzZlPLpUfqbVGWb9zz91f/mIjRbAYhbgtnJHY8I1b5MBg== +telejson@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/telejson/-/telejson-7.2.0.tgz#3994f6c9a8f8d7f2dba9be2c7c5bbb447e876f32" + integrity sha512-1QTEcJkJEhc8OnStBx/ILRu5J2p0GjvWsBx56bmZRqnrkdBMUe+nX92jxV+p3dB4CP6PZCdJMQJwCggkNBMzkQ== dependencies: - "@types/is-function" "^1.0.0" - global "^4.4.0" - is-function "^1.0.2" - is-regex "^1.1.2" - is-symbol "^1.0.3" - isobject "^4.0.0" - lodash "^4.17.21" memoizerific "^1.11.3" +temp-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-2.0.0.tgz#bde92b05bdfeb1516e804c9c00ad45177f31321e" + integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg== + +temp@^0.8.4: + version "0.8.4" + resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.4.tgz#8c97a33a4770072e0a05f919396c7665a7dd59f2" + integrity sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg== + dependencies: + rimraf "~2.6.2" + +tempfile@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/tempfile/-/tempfile-3.0.0.tgz#5376a3492de7c54150d0cc0612c3f00e2cdaf76c" + integrity sha512-uNFCg478XovRi85iD42egu+eSFUmmka750Jy7L5tfHI5hQKKtbPnxaSaXAbBqCDYrw3wx4tXjKwci4/QmsZJxw== + dependencies: + temp-dir "^2.0.0" + uuid "^3.3.2" + +tempy@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/tempy/-/tempy-1.0.1.tgz#30fe901fd869cfb36ee2bd999805aa72fbb035de" + integrity sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w== + dependencies: + del "^6.0.0" + is-stream "^2.0.0" + temp-dir "^2.0.0" + type-fest "^0.16.0" + unique-string "^2.0.0" + term-size@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54" @@ -19168,48 +21497,18 @@ terminal-link@^2.0.0: ansi-escapes "^4.2.1" supports-hyperlinks "^2.0.0" -terser-webpack-plugin@^1.4.3: - version "1.4.5" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" - integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== - dependencies: - cacache "^12.0.2" - find-cache-dir "^2.1.0" - is-wsl "^1.1.0" - schema-utils "^1.0.0" - serialize-javascript "^4.0.0" - source-map "^0.6.1" - terser "^4.1.2" - webpack-sources "^1.4.0" - worker-farm "^1.7.0" - -terser-webpack-plugin@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz#28daef4a83bd17c1db0297070adc07fc8cfc6a9a" - integrity sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ== - dependencies: - cacache "^15.0.5" - find-cache-dir "^3.3.1" - jest-worker "^26.5.0" - p-limit "^3.0.2" - schema-utils "^3.0.0" - serialize-javascript "^5.0.1" - source-map "^0.6.1" - terser "^5.3.4" - webpack-sources "^1.4.3" - -terser-webpack-plugin@^5.1.3: - version "5.3.7" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz#ef760632d24991760f339fe9290deb936ad1ffc7" - integrity sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw== +terser-webpack-plugin@^5.3.1, terser-webpack-plugin@^5.3.7: + version "5.3.9" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz#832536999c51b46d468067f9e37662a3b96adfe1" + integrity sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA== dependencies: "@jridgewell/trace-mapping" "^0.3.17" jest-worker "^27.4.5" schema-utils "^3.1.1" serialize-javascript "^6.0.1" - terser "^5.16.5" + terser "^5.16.8" -terser@^4.1.2, terser@^4.6.2, terser@^4.6.3: +terser@^4.6.2: version "4.8.1" resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.1.tgz#a00e5634562de2239fd404c649051bf6fc21144f" integrity sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw== @@ -19218,13 +21517,13 @@ terser@^4.1.2, terser@^4.6.2, terser@^4.6.3: source-map "~0.6.1" source-map-support "~0.5.12" -terser@^5.16.5, terser@^5.2.0, terser@^5.3.4: - version "5.16.8" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.8.tgz#ccde583dabe71df3f4ed02b65eb6532e0fae15d5" - integrity sha512-QI5g1E/ef7d+PsDifb+a6nnVgC4F22Bg6T0xrBrz6iloVB4PUkkunp6V8nzoOOZJIzjWVdAGqCdlKlhLq/TbIA== +terser@^5.10.0, terser@^5.16.8: + version "5.24.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.24.0.tgz#4ae50302977bca4831ccc7b4fef63a3c04228364" + integrity sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw== dependencies: - "@jridgewell/source-map" "^0.3.2" - acorn "^8.5.0" + "@jridgewell/source-map" "^0.3.3" + acorn "^8.8.2" commander "^2.20.0" source-map-support "~0.5.20" @@ -19252,12 +21551,19 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== +thread-stream@^0.15.1: + version "0.15.2" + resolved "https://registry.yarnpkg.com/thread-stream/-/thread-stream-0.15.2.tgz#fb95ad87d2f1e28f07116eb23d85aba3bc0425f4" + integrity sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA== + dependencies: + real-require "^0.1.0" + throat@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== -through2@^2.0.0, through2@^2.0.2, through2@^2.0.3: +through2@^2.0.0, through2@^2.0.3: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== @@ -19272,7 +21578,7 @@ through2@^4.0.0: dependencies: readable-stream "3" -"through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6: +through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== @@ -19284,13 +21590,6 @@ time-span@4.0.0: dependencies: convert-hrtime "^3.0.0" -timers-browserify@^2.0.4: - version "2.0.12" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" - integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== - dependencies: - setimmediate "^1.0.4" - timsort@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" @@ -19309,6 +21608,11 @@ tiny-glob@^0.2.6: globalyzer "0.1.0" globrex "^0.1.2" +tiny-invariant@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.1.tgz#8560808c916ef02ecfd55e66090df23a4b7aa642" + integrity sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw== + tiny-secp256k1@^1.1.3: version "1.1.6" resolved "https://registry.yarnpkg.com/tiny-secp256k1/-/tiny-secp256k1-1.1.6.tgz#7e224d2bee8ab8283f284e40e6b4acb74ffe047c" @@ -19320,19 +21624,34 @@ tiny-secp256k1@^1.1.3: elliptic "^6.4.0" nan "^2.13.2" +tinybench@^2.5.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-2.5.1.tgz#3408f6552125e53a5a48adee31261686fd71587e" + integrity sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg== + tinycolor2@^1.4.1: version "1.6.0" resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.6.0.tgz#f98007460169b0263b97072c5ae92484ce02d09e" integrity sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw== -tmp@^0.0.33: +tinypool@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tinypool/-/tinypool-0.6.0.tgz#c3640b851940abe2168497bb6e43b49fafb3ba7b" + integrity sha512-FdswUUo5SxRizcBc6b1GSuLpLjisa8N8qMyYoP3rl+bym+QauhtJP5bvZY1ytt8krKGmMLYIRl36HBZfeAoqhQ== + +tinyspy@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tinyspy/-/tinyspy-2.2.0.tgz#9dc04b072746520b432f77ea2c2d17933de5d6ce" + integrity sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg== + +tmp@0.0.33, tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== dependencies: os-tmpdir "~1.0.2" -tmp@~0.2.1: +tmp@^0.2.1, tmp@~0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== @@ -19344,11 +21663,6 @@ tmpl@1.0.5: resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - integrity sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA== - to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" @@ -19386,6 +21700,11 @@ to-regex@^3.0.1, to-regex@^3.0.2: regex-not "^1.0.2" safe-regex "^1.1.0" +tocbot@^4.20.1: + version "4.23.0" + resolved "https://registry.yarnpkg.com/tocbot/-/tocbot-4.23.0.tgz#5d3788ccf5a8b0ae2c00819b1ed0c127013e2e34" + integrity sha512-5DWuSZXsqG894mkGb8ZsQt9myyQyVxE50AiGRZ0obV0BVUTVkaZmc9jbgpknaAAPUm4FIrzGkEseD6FuQJYJDQ== + toggle-selection@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" @@ -19430,36 +21749,26 @@ tr46@~0.0.3: resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== -trim-newlines@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" - integrity sha512-Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw== - trim-newlines@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== -trim-trailing-lines@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz#bd4abbec7cc880462f10b2c8b5ce1d8d1ec7c2c0" - integrity sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ== - -trim@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd" - integrity sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ== - -trough@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" - integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== - trough@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/trough/-/trough-2.1.0.tgz#0f7b511a4fde65a46f18477ab38849b22c554876" integrity sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g== +ts-command-line-args@^2.2.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/ts-command-line-args/-/ts-command-line-args-2.5.1.tgz#e64456b580d1d4f6d948824c274cf6fa5f45f7f0" + integrity sha512-H69ZwTw3rFHb5WYpQya40YAX2/w7Ut75uUECbgBIsLmM+BNuYnxsltfyyLMxy6sEeKxgijLTnQtLd0nKd6+IYw== + dependencies: + chalk "^4.1.0" + command-line-args "^5.1.1" + command-line-usage "^6.1.0" + string-format "^2.0.0" + ts-dedent@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/ts-dedent/-/ts-dedent-1.2.0.tgz#6aa2229d837159bb6d635b6b233002423b91e0b0" @@ -19470,6 +21779,11 @@ ts-dedent@^2.0.0: resolved "https://registry.yarnpkg.com/ts-dedent/-/ts-dedent-2.2.0.tgz#39e4bd297cd036292ae2394eb3412be63f563bb5" integrity sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ== +ts-essentials@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-7.0.3.tgz#686fd155a02133eedcc5362dc8b5056cde3e5a38" + integrity sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ== + ts-jest@^25.3.1: version "25.5.1" resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-25.5.1.tgz#2913afd08f28385d54f2f4e828be4d261f4337c7" @@ -19513,17 +21827,12 @@ ts-node@10.9.1: v8-compile-cache-lib "^3.0.1" yn "3.1.1" -ts-pnp@^1.1.6: - version "1.2.0" - resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" - integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== - ts-toolbelt@^6.15.5: version "6.15.5" resolved "https://registry.yarnpkg.com/ts-toolbelt/-/ts-toolbelt-6.15.5.tgz#cb3b43ed725cb63644782c64fbcad7d8f28c0a83" integrity sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A== -tsconfig-paths@^3.14.1: +tsconfig-paths@^3.14.2: version "3.14.2" resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088" integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g== @@ -19604,7 +21913,7 @@ tsdx@^0.14.1: tslib "^1.9.3" typescript "^3.7.3" -tslib@1.14.1, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: +tslib@1.14.1, tslib@^1.13.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== @@ -19614,22 +21923,22 @@ tslib@2.0.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.1.tgz#410eb0d113e5b6356490eec749603725b021b43e" integrity sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ== -tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.4.0, tslib@^2.4.1: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" - integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== +tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.4.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== -tsutils@^3.17.1: +tsutils@^3.17.1, tsutils@^3.21.0: version "3.21.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== dependencies: tslib "^1.8.1" -tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - integrity sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw== +tty-browserify@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811" + integrity sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw== tunnel-agent@^0.6.0: version "0.6.0" @@ -19638,11 +21947,28 @@ tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" +tweetnacl-util@^0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz#b80fcdb5c97bcc508be18c44a4be50f022eea00b" + integrity sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw== + tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== +tweetnacl@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596" + integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw== + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + type-check@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" @@ -19650,11 +21976,16 @@ type-check@~0.3.2: dependencies: prelude-ls "~1.1.2" -type-detect@4.0.8: +type-detect@4.0.8, type-detect@^4.0.0, type-detect@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== +type-fest@^0.16.0: + version "0.16.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.16.0.tgz#3240b891a78b0deae910dbeb86553e552a148860" + integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg== + type-fest@^0.18.0: version "0.18.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" @@ -19680,6 +22011,16 @@ type-fest@^0.8.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== +type-fest@^1.0.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" + integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== + +type-fest@^2.19.0, type-fest@~2.19: + version "2.19.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" + integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== + type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" @@ -19693,6 +22034,52 @@ type-tagger@^1.0.0: resolved "https://registry.yarnpkg.com/type-tagger/-/type-tagger-1.0.0.tgz#dc6297e52e17097c1b92b42c16816a18f631e7f4" integrity sha512-FIPqqpmDgdaulCnRoKv1/d3U4xVBUrYn42QXWNP3XYmgfPUDuBUsgFOb9ntT0aIe0UsUP+lknpQ5d9Kn36RssA== +typechain@^8.0.0: + version "8.3.2" + resolved "https://registry.yarnpkg.com/typechain/-/typechain-8.3.2.tgz#1090dd8d9c57b6ef2aed3640a516bdbf01b00d73" + integrity sha512-x/sQYr5w9K7yv3es7jo4KTX05CLxOf7TRWwoHlrjRh8H82G64g+k7VuWPJlgMo6qrjfCulOdfBjiaDtmhFYD/Q== + dependencies: + "@types/prettier" "^2.1.1" + debug "^4.3.1" + fs-extra "^7.0.0" + glob "7.1.7" + js-sha3 "^0.8.0" + lodash "^4.17.15" + mkdirp "^1.0.4" + prettier "^2.3.1" + ts-command-line-args "^2.2.0" + ts-essentials "^7.0.1" + +typed-array-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz#18de3e7ed7974b0a729d3feecb94338d1472cd60" + integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.2.1" + is-typed-array "^1.1.10" + +typed-array-byte-length@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0" + integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== + dependencies: + call-bind "^1.0.2" + for-each "^0.3.3" + has-proto "^1.0.1" + is-typed-array "^1.1.10" + +typed-array-byte-offset@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz#cbbe89b51fdef9cd6aaf07ad4707340abbc4ea0b" + integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== + dependencies: + available-typed-arrays "^1.0.5" + call-bind "^1.0.2" + for-each "^0.3.3" + has-proto "^1.0.1" + is-typed-array "^1.1.10" + typed-array-length@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" @@ -19744,30 +22131,32 @@ typical@^4.0.0: resolved "https://registry.yarnpkg.com/typical/-/typical-4.0.0.tgz#cbeaff3b9d7ae1e2bbfaf5a4e6f11eccfde94fc4" integrity sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw== -u2f-api@0.2.7: - version "0.2.7" - resolved "https://registry.yarnpkg.com/u2f-api/-/u2f-api-0.2.7.tgz#17bf196b242f6bf72353d9858e6a7566cc192720" - integrity sha512-fqLNg8vpvLOD5J/z4B6wpPg4Lvowz1nJ9xdHcCzdUPKcFE/qNCceV2gNZxSJd5vhAZemHr/K/hbzVA0zxB5mkg== +typical@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/typical/-/typical-5.2.0.tgz#4daaac4f2b5315460804f0acf6cb69c52bb93066" + integrity sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg== ua-parser-js@^0.7.30: - version "0.7.35" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.35.tgz#8bda4827be4f0b1dda91699a29499575a1f1d307" - integrity sha512-veRf7dawaj9xaWEu9HoTVn5Pggtc/qj+kqTOFvNiN1l0YdxwC1kvel57UCjThjGa3BHBihE8/UJAHI+uQHmd/g== + version "0.7.37" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.37.tgz#e464e66dac2d33a7a1251d7d7a99d6157ec27832" + integrity sha512-xV8kqRKM+jhMvcHWUKthV9fNebIzrNy//2O9ZwWcfiBFR5f25XVZPLlEajk/sf3Ra15V92isyQqnIEXRDaZWEA== -ufo@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.1.1.tgz#e70265e7152f3aba425bd013d150b2cdf4056d7c" - integrity sha512-MvlCc4GHrmZdAllBc0iUDowff36Q9Ndw/UzqmEKyrfSzokTd9ZCy1i+IIk5hrYKkjoYVQyNbrw7/F8XJ2rEwTg== +ufo@^1.3.0, ufo@^1.3.1, ufo@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.3.2.tgz#c7d719d0628a1c80c006d2240e0d169f6e3c0496" + integrity sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA== uglify-js@^3.1.4: version "3.17.4" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.4.tgz#61678cf5fa3f5b7eb789bb345df29afb8257c22c" integrity sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g== -ultron@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" - integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og== +uint8arrays@^3.0.0, uint8arrays@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.1.1.tgz#2d8762acce159ccd9936057572dade9459f65ae0" + integrity sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg== + dependencies: + multiformats "^9.4.2" unbox-primitive@^1.0.2: version "1.0.2" @@ -19779,18 +22168,26 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" -unfetch@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.2.0.tgz#7e21b0ef7d363d8d9af0fb929a5555f6ef97a3be" - integrity sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA== +uncrypto@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/uncrypto/-/uncrypto-0.1.3.tgz#e1288d609226f2d02d8d69ee861fa20d8348ef2b" + integrity sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q== -unherit@^1.0.4: - version "1.1.3" - resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.3.tgz#6c9b503f2b41b262330c80e91c8614abdaa69c22" - integrity sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ== +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + +unenv@^1.7.4: + version "1.8.0" + resolved "https://registry.yarnpkg.com/unenv/-/unenv-1.8.0.tgz#0f860d5278405700bd95d47b23bc01f3a735d68c" + integrity sha512-uIGbdCWZfhRRmyKj1UioCepQ0jpq638j/Cf0xFTn4zD1nGJ2lSdzYHLzfdXN791oo/0juUiSWW1fBklXMTsuqg== dependencies: - inherits "^2.0.0" - xtend "^4.0.0" + consola "^3.2.3" + defu "^6.1.3" + mime "^3.0.0" + node-fetch-native "^1.4.1" + pathe "^1.1.1" unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" @@ -19815,18 +22212,6 @@ unicode-property-aliases-ecmascript@^2.0.0: resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== -unified@9.2.0: - version "9.2.0" - resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.0.tgz#67a62c627c40589edebbf60f53edfd4d822027f8" - integrity sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg== - dependencies: - bail "^1.0.0" - extend "^3.0.0" - is-buffer "^2.0.0" - is-plain-obj "^2.0.0" - trough "^1.0.0" - vfile "^4.0.0" - unified@^10.0.0: version "10.1.2" resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.2.tgz#b1d64e55dafe1f0b98bb6c719881103ecf6c86df" @@ -19864,10 +22249,12 @@ unique-slug@^2.0.0: dependencies: imurmurhash "^0.1.4" -unist-builder@2.0.3, unist-builder@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-2.0.3.tgz#77648711b5d86af0942f334397a33c5e91516436" - integrity sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw== +unique-string@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" + integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== + dependencies: + crypto-random-string "^2.0.0" unist-builder@^3.0.0: version "3.0.1" @@ -19876,11 +22263,6 @@ unist-builder@^3.0.0: dependencies: "@types/unist" "^2.0.0" -unist-util-generated@^1.0.0: - version "1.1.6" - resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.6.tgz#5ab51f689e2992a472beb1b35f2ce7ff2f324d4b" - integrity sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg== - unist-util-generated@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-2.0.1.tgz#e37c50af35d3ed185ac6ceacb6ca0afb28a85cae" @@ -19905,11 +22287,6 @@ unist-util-position-from-estree@^1.0.0, unist-util-position-from-estree@^1.1.0: dependencies: "@types/unist" "^2.0.0" -unist-util-position@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-3.1.0.tgz#1c42ee6301f8d52f47d14f62bbdb796571fa2d47" - integrity sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA== - unist-util-position@^4.0.0: version "4.0.4" resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-4.0.4.tgz#93f6d8c7d6b373d9b825844645877c127455f037" @@ -19917,13 +22294,6 @@ unist-util-position@^4.0.0: dependencies: "@types/unist" "^2.0.0" -unist-util-remove-position@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz#5d19ca79fdba712301999b2b73553ca8f3b352cc" - integrity sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA== - dependencies: - unist-util-visit "^2.0.0" - unist-util-remove-position@^4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-4.0.2.tgz#a89be6ea72e23b1a402350832b02a91f6a9afe51" @@ -19932,20 +22302,6 @@ unist-util-remove-position@^4.0.0: "@types/unist" "^2.0.0" unist-util-visit "^4.0.0" -unist-util-remove@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/unist-util-remove/-/unist-util-remove-2.1.0.tgz#b0b4738aa7ee445c402fda9328d604a02d010588" - integrity sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q== - dependencies: - unist-util-is "^4.0.0" - -unist-util-stringify-position@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da" - integrity sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g== - dependencies: - "@types/unist" "^2.0.2" - unist-util-stringify-position@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz#03ad3348210c2d930772d64b489580c13a7db39d" @@ -19969,7 +22325,7 @@ unist-util-visit-parents@^5.1.1: "@types/unist" "^2.0.0" unist-util-is "^5.0.0" -unist-util-visit@2.0.3, unist-util-visit@^2.0.0: +unist-util-visit@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c" integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q== @@ -19993,9 +22349,9 @@ universalify@^0.1.0: integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + version "2.0.1" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" + integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== unorm@^1.5.0: version "1.6.0" @@ -20007,11 +22363,31 @@ unpipe@1.0.0, unpipe@~1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== +unplugin@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-1.5.1.tgz#806688376fa3dcca4d2fa2c5d27cf6cd0370fbef" + integrity sha512-0QkvG13z6RD+1L1FoibQqnvTwVBXvS4XSPwAyinVgoOCl2jAgwzdUKmEj05o4Lt8xwQI85Hb6mSyYkcAGwZPew== + dependencies: + acorn "^8.11.2" + chokidar "^3.5.3" + webpack-sources "^3.2.3" + webpack-virtual-modules "^0.6.0" + unquote@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" integrity sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg== +unraw@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unraw/-/unraw-2.0.1.tgz#7b51dcdfb1e43d59d5e52cdb44d349d029edbaba" + integrity sha512-tdOvLfRzHolwYcHS6HIX860MkK9LQ4+oLuNwFYL7bpgTEO64PZrcQxkisgwJYCfF8sKiWLwwu1c83DvMkbefIQ== + +unraw@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/unraw/-/unraw-3.0.0.tgz#73443ed70d2ab09ccbac2b00525602d5991fbbe3" + integrity sha512-08/DA66UF65OlpUDIQtbJyrqTR0jTAlJ+jsnkQ4jxR7+K5g5YG1APZKQSMCE1vqqmD+2pv6+IdEjmopFatacvg== + unset-value@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" @@ -20020,26 +22396,50 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" -untildify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/untildify/-/untildify-2.1.0.tgz#17eb2807987f76952e9c0485fc311d06a826a2e0" - integrity sha512-sJjbDp2GodvkB0FZZcn7k6afVisqX5BZD7Yq3xp4nN2O15BBK0cLm3Vwn2vQaF7UDS0UUsrQMkkplmDI5fskig== +unstorage@^1.9.0: + version "1.10.1" + resolved "https://registry.yarnpkg.com/unstorage/-/unstorage-1.10.1.tgz#bf8cc00a406e40a6293e893da9807057d95875b0" + integrity sha512-rWQvLRfZNBpF+x8D3/gda5nUCQL2PgXy2jNG4U7/Rc9BGEv9+CAJd0YyGCROUBKs9v49Hg8huw3aih5Bf5TAVw== dependencies: - os-homedir "^1.0.0" + anymatch "^3.1.3" + chokidar "^3.5.3" + destr "^2.0.2" + h3 "^1.8.2" + ioredis "^5.3.2" + listhen "^1.5.5" + lru-cache "^10.0.2" + mri "^1.2.0" + node-fetch-native "^1.4.1" + ofetch "^1.3.3" + ufo "^1.3.1" + +untildify@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" + integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== -upath@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" - integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== +untun@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/untun/-/untun-0.1.2.tgz#fa42a62ae24c1c5c6f3209692a2b0e1f573f1353" + integrity sha512-wLAMWvxfqyTiBODA1lg3IXHQtjggYLeTK7RnSfqtOXixWJ3bAa2kK/HHmOOg19upteqO3muLvN6O/icbyQY33Q== + dependencies: + citty "^0.1.3" + consola "^3.2.3" + pathe "^1.1.1" -update-browserslist-db@^1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" - integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== +update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== dependencies: escalade "^3.1.1" picocolors "^1.0.0" +uqr@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/uqr/-/uqr-0.1.2.tgz#5c6cd5dcff9581f9bb35b982cb89e2c483a41d7d" + integrity sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA== + uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -20052,30 +22452,13 @@ urix@^0.1.0: resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg== -url-loader@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-4.1.1.tgz#28505e905cae158cf07c92ca622d7f237e70a4e2" - integrity sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA== - dependencies: - loader-utils "^2.0.0" - mime-types "^2.1.27" - schema-utils "^3.0.0" - url@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - integrity sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ== - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -usb@^1.7.0: - version "1.9.2" - resolved "https://registry.yarnpkg.com/usb/-/usb-1.9.2.tgz#fb6b36f744ecc707a196c45a6ec72442cb6f2b73" - integrity sha512-dryNz030LWBPAf6gj8vyq0Iev3vPbCLHCT8dBw3gQRXRzVNsIdeuU+VjPp3ksmSPkeMAl1k+kQ14Ij0QHyeiAg== + version "0.11.3" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.3.tgz#6f495f4b935de40ce4a0a52faee8954244f3d3ad" + integrity sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw== dependencies: - node-addon-api "^4.2.0" - node-gyp-build "^4.3.0" + punycode "^1.4.1" + qs "^6.11.2" use-callback-ref@^1.3.0: version "1.3.0" @@ -20084,10 +22467,12 @@ use-callback-ref@^1.3.0: dependencies: tslib "^2.0.0" -use-isomorphic-layout-effect@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz#497cefb13d863d687b08477d9e5a164ad8c1a6fb" - integrity sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA== +use-resize-observer@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/use-resize-observer/-/use-resize-observer-9.1.0.tgz#14735235cf3268569c1ea468f8a90c5789fc5c6c" + integrity sha512-R25VqO9Wb3asSD4eqtcxk8sJalvIOYBqS8MNZlpDSQ4l4xMQxC/J7Id9HoTqPq8FwULIn0PVW+OAqF2dyYbjow== + dependencies: + "@juggle/resize-observer" "^3.3.1" use-sidecar@^1.1.2: version "1.1.2" @@ -20107,7 +22492,14 @@ use@^3.1.0: resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== -utf-8-validate@^5.0.2: +utf-8-validate@5.0.7: + version "5.0.7" + resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.7.tgz#c15a19a6af1f7ad9ec7ddc425747ca28c3644922" + integrity sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q== + dependencies: + node-gyp-build "^4.3.0" + +utf-8-validate@^5.0.2, utf-8-validate@^5.0.5: version "5.0.10" resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2" integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ== @@ -20119,29 +22511,7 @@ util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== -util.promisify@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" - integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== - dependencies: - define-properties "^1.1.2" - object.getownpropertydescriptors "^2.0.3" - -util@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - integrity sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ== - dependencies: - inherits "2.0.1" - -util@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" - integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== - dependencies: - inherits "2.0.3" - -util@^0.12.3: +util@^0.12.3, util@^0.12.4, util@^0.12.5: version "0.12.5" resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== @@ -20167,11 +22537,6 @@ utils-merge@1.0.1: resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== -uuid-browser@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/uuid-browser/-/uuid-browser-3.1.0.tgz#0f05a40aef74f9e5951e20efbf44b11871e56410" - integrity sha512-dsNgbLaTrd6l3MMxTtouOCFw4CBFc/3a+GgYA2YyrJvyQ1u6q4pcu3ktLoUZ/VN/Aw9WsauazbgsgdfVWgAKQg== - uuid-random@^1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/uuid-random/-/uuid-random-1.3.2.tgz#96715edbaef4e84b1dcf5024b00d16f30220e2d0" @@ -20188,9 +22553,9 @@ uuid@^8.3.2: integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== uuid@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5" - integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg== + version "9.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" + integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== uvu@^0.5.0: version "0.5.6" @@ -20207,11 +22572,16 @@ v8-compile-cache-lib@^3.0.1: resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== -v8-compile-cache@2.3.0, v8-compile-cache@^2.0.0, v8-compile-cache@^2.0.3: +v8-compile-cache@2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== +v8-compile-cache@^2.0.3: + version "2.4.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz#cdada8bec61e15865f05d097c5f4fd30e94dc128" + integrity sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw== + v8-to-istanbul@^4.1.3: version "4.1.4" resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.1.4.tgz#b97936f21c0e2d9996d4985e5c5156e9d4e49cd6" @@ -20221,14 +22591,14 @@ v8-to-istanbul@^4.1.3: convert-source-map "^1.6.0" source-map "^0.7.3" -v8-to-istanbul@^9.0.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz#1b83ed4e397f58c85c266a570fc2558b5feb9265" - integrity sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA== +v8-to-istanbul@^9.0.0, v8-to-istanbul@^9.1.0: + version "9.2.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz#2ed7644a245cddd83d4e087b9b33b3e62dfd10ad" + integrity sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA== dependencies: "@jridgewell/trace-mapping" "^0.3.12" "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" + convert-source-map "^2.0.0" validate-npm-package-license@^3.0.1: version "3.0.4" @@ -20238,15 +22608,22 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" -varint@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/varint/-/varint-5.0.0.tgz#d826b89f7490732fabc0c0ed693ed475dcb29ebf" - integrity sha512-gC13b/bWrqQoKY2EmROCZ+AR0jitc6DnDGaQ6Ls9QpKmuSgJB1eQ7H3KETtQm7qSdMWMKCmsshyCmUwMLh3OAA== +valtio@1.11.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/valtio/-/valtio-1.11.0.tgz#c029dcd17a0f99d2fbec933721fe64cfd32a31ed" + integrity sha512-65Yd0yU5qs86b5lN1eu/nzcTgQ9/6YnD6iO+DDaDbQLn1Zv2w12Gwk43WkPlUBxk5wL/6cD5YMFf7kj6HZ1Kpg== + dependencies: + proxy-compare "2.5.1" + use-sync-external-store "1.2.0" -varint@~5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/varint/-/varint-5.0.2.tgz#5b47f8a947eb668b848e034dcfa87d0ff8a7f7a4" - integrity sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow== +values.js@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/values.js/-/values.js-2.1.1.tgz#d9b2aa5c6aca0b27411114e2832455840796f065" + integrity sha512-pI6dKW3kv7BR/WzS0NvIuxegeH1r8gk8y6BuXrIYGVccynmUsUZPhSpTfkt39VBHyciD7WZi+lM+7Zyamowzeg== + dependencies: + mix-css-color "0.2.0" + parse-css-color "0.2.0" + pure-color "1.3.0" vary@~1.1.2: version "1.1.2" @@ -20254,20 +22631,20 @@ vary@~1.1.2: integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== vercel@^28.16.12: - version "28.18.3" - resolved "https://registry.yarnpkg.com/vercel/-/vercel-28.18.3.tgz#2729512d7022b1a406200f77b92e38859c399a88" - integrity sha512-DUAHpIK5d4s8cz4AgFmpSaMyoq8c2ESmHLhSQRyYo6UY48IhczJfzZdi8CJUfQF79Qmf1wrJWaQ42m9/0MeCfA== - dependencies: - "@vercel/build-utils" "6.7.0" - "@vercel/go" "2.4.3" - "@vercel/hydrogen" "0.0.61" - "@vercel/next" "3.7.3" - "@vercel/node" "2.10.2" - "@vercel/python" "3.1.57" - "@vercel/redwood" "1.1.13" - "@vercel/remix-builder" "1.8.3" - "@vercel/ruby" "1.3.74" - "@vercel/static-build" "1.3.21" + version "28.20.0" + resolved "https://registry.yarnpkg.com/vercel/-/vercel-28.20.0.tgz#cb0ad28c6f07ee7c44e5c6f0ae0c611f6c5467f6" + integrity sha512-U+ZDKVVgxJyUJ26l/B7o53EeocP4PnbCt7D6Qyt/bI/eJ9BXpBtsWtMJf1CvgH3Iv/QRXFYlCvjHQJLs1BC7qw== + dependencies: + "@vercel/build-utils" "6.7.1" + "@vercel/go" "2.5.0" + "@vercel/hydrogen" "0.0.63" + "@vercel/next" "3.7.5" + "@vercel/node" "2.12.0" + "@vercel/python" "3.1.59" + "@vercel/redwood" "1.1.14" + "@vercel/remix-builder" "1.8.5" + "@vercel/ruby" "1.3.75" + "@vercel/static-build" "1.3.25" verror@1.10.0: version "1.10.0" @@ -20278,27 +22655,6 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -vfile-location@^3.0.0, vfile-location@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-3.2.0.tgz#d8e41fbcbd406063669ebf6c33d56ae8721d0f3c" - integrity sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA== - -vfile-location@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-4.1.0.tgz#69df82fb9ef0a38d0d02b90dd84620e120050dd0" - integrity sha512-YF23YMyASIIJXpktBa4vIGLJ5Gs88UB/XePgqPmTa7cDA+JeO3yclbpheQYCHjVHBn/yePzrXuygIL+xbvRYHw== - dependencies: - "@types/unist" "^2.0.0" - vfile "^5.0.0" - -vfile-message@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a" - integrity sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ== - dependencies: - "@types/unist" "^2.0.0" - unist-util-stringify-position "^2.0.0" - vfile-message@^3.0.0: version "3.1.4" resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.1.4.tgz#15a50816ae7d7c2d1fa87090a7f9f96612b59dea" @@ -20307,16 +22663,6 @@ vfile-message@^3.0.0: "@types/unist" "^2.0.0" unist-util-stringify-position "^3.0.0" -vfile@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.2.1.tgz#03f1dce28fc625c625bc6514350fbdb00fa9e624" - integrity sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA== - dependencies: - "@types/unist" "^2.0.0" - is-buffer "^2.0.0" - unist-util-stringify-position "^2.0.0" - vfile-message "^2.0.0" - vfile@^5.0.0: version "5.3.7" resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.7.tgz#de0677e6683e3380fafc46544cfe603118826ab7" @@ -20327,6 +22673,32 @@ vfile@^5.0.0: unist-util-stringify-position "^3.0.0" vfile-message "^3.0.0" +viem@^1.0.0: + version "1.19.9" + resolved "https://registry.yarnpkg.com/viem/-/viem-1.19.9.tgz#a11f3ad4a3323994ebd2010dbc659d1a2b12e583" + integrity sha512-Sf9U2x4jU0S/FALqYypcspWOGene0NZyD470oUripNhE0Ta6uOE/OgE4toTDVfRxov8qw0JFinr/wPGxYE3+HQ== + dependencies: + "@adraffy/ens-normalize" "1.10.0" + "@noble/curves" "1.2.0" + "@noble/hashes" "1.3.2" + "@scure/bip32" "1.3.2" + "@scure/bip39" "1.2.1" + abitype "0.9.8" + isows "1.0.3" + ws "8.13.0" + +vite-node@0.33.0: + version "0.33.0" + resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-0.33.0.tgz#c6a3a527e0b8090da7436241bc875760ae0eef28" + integrity sha512-19FpHYbwWWxDr73ruNahC+vtEdza52kA90Qb3La98yZ0xULqV8A5JLNPUff0f5zID4984tW7l3DH2przTJUZSw== + dependencies: + cac "^6.7.14" + debug "^4.3.4" + mlly "^1.4.0" + pathe "^1.1.1" + picocolors "^1.0.0" + vite "^3.0.0 || ^4.0.0" + vite-node@^0.28.5: version "0.28.5" resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-0.28.5.tgz#56d0f78846ea40fddf2e28390899df52a4738006" @@ -20342,26 +22714,55 @@ vite-node@^0.28.5: vite "^3.0.0 || ^4.0.0" "vite@^3.0.0 || ^4.0.0", vite@^4.1.4: - version "4.2.1" - resolved "https://registry.yarnpkg.com/vite/-/vite-4.2.1.tgz#6c2eb337b0dfd80a9ded5922163b94949d7fc254" - integrity sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg== + version "4.5.1" + resolved "https://registry.yarnpkg.com/vite/-/vite-4.5.1.tgz#3370986e1ed5dbabbf35a6c2e1fb1e18555b968a" + integrity sha512-AXXFaAJ8yebyqzoNB9fu2pHoo/nWX+xZlaRwoeYUxEqBO+Zj4msE5G+BhGBll9lYEKv9Hfks52PAF2X7qDYXQA== dependencies: - esbuild "^0.17.5" - postcss "^8.4.21" - resolve "^1.22.1" - rollup "^3.18.0" + esbuild "^0.18.10" + postcss "^8.4.27" + rollup "^3.27.1" optionalDependencies: fsevents "~2.3.2" -vm-browserify@^1.0.1: +vitest@^0.33.0: + version "0.33.0" + resolved "https://registry.yarnpkg.com/vitest/-/vitest-0.33.0.tgz#e2be6153aec1d30e3460ac6d64265bf72da2551c" + integrity sha512-1CxaugJ50xskkQ0e969R/hW47za4YXDUfWJDxip1hwbnhUjYolpfUn2AMOulqG/Dtd9WYAtkHmM/m3yKVrEejQ== + dependencies: + "@types/chai" "^4.3.5" + "@types/chai-subset" "^1.3.3" + "@types/node" "*" + "@vitest/expect" "0.33.0" + "@vitest/runner" "0.33.0" + "@vitest/snapshot" "0.33.0" + "@vitest/spy" "0.33.0" + "@vitest/utils" "0.33.0" + acorn "^8.9.0" + acorn-walk "^8.2.0" + cac "^6.7.14" + chai "^4.3.7" + debug "^4.3.4" + local-pkg "^0.4.3" + magic-string "^0.30.1" + pathe "^1.1.1" + picocolors "^1.0.0" + std-env "^3.3.3" + strip-literal "^1.0.1" + tinybench "^2.5.0" + tinypool "^0.6.0" + vite "^3.0.0 || ^4.0.0" + vite-node "0.33.0" + why-is-node-running "^2.2.2" + +vm-browserify@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== -vm2@^3.9.11: - version "3.9.14" - resolved "https://registry.yarnpkg.com/vm2/-/vm2-3.9.14.tgz#964042b474cf1e6e4f475a39144773cdb9deb734" - integrity sha512-HgvPHYHeQy8+QhzlFryvSteA4uQLBCOub02mgqdR+0bN/akRZ48TGB1v0aCv7ksyc0HXx16AZtMHKS38alc6TA== +vm2@^3.9.17: + version "3.9.19" + resolved "https://registry.yarnpkg.com/vm2/-/vm2-3.9.19.tgz#be1e1d7a106122c6c492b4d51c2e8b93d3ed6a4a" + integrity sha512-J637XF0DHDMV57R6JyVsTak7nIL8gy5KH4r1HiwWLf/4GBbb5MKL5y7LpmF4A8E2nR6XmzpmMFQ7V7ppPTmUQg== dependencies: acorn "^8.7.0" acorn-walk "^8.2.0" @@ -20387,7 +22788,7 @@ w3c-xmlserializer@^1.1.2: webidl-conversions "^4.0.2" xml-name-validator "^3.0.0" -walker@^1.0.7, walker@~1.0.5: +walker@^1.0.7, walker@^1.0.8, walker@~1.0.5: version "1.0.8" resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== @@ -20401,24 +22802,6 @@ warning@^4.0.2, warning@^4.0.3: dependencies: loose-envify "^1.0.0" -watchpack-chokidar2@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" - integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== - dependencies: - chokidar "^2.1.8" - -watchpack@^1.7.4: - version "1.7.5" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" - integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== - dependencies: - graceful-fs "^4.1.2" - neo-async "^2.5.0" - optionalDependencies: - chokidar "^3.4.1" - watchpack-chokidar2 "^2.0.1" - watchpack@^2.2.0, watchpack@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" @@ -20439,11 +22822,6 @@ weak-lru-cache@^1.2.2: resolved "https://registry.yarnpkg.com/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz#fdbb6741f36bae9540d12f480ce8254060dccd19" integrity sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw== -web-namespaces@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.4.tgz#bc98a3de60dadd7faefc403d1076d529f5e030ec" - integrity sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw== - web-vitals@0.2.4: version "0.2.4" resolved "https://registry.yarnpkg.com/web-vitals/-/web-vitals-0.2.4.tgz#ec3df43c834a207fd7cdefd732b2987896e08511" @@ -20459,104 +22837,57 @@ webidl-conversions@^4.0.2: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== -webpack-dev-middleware@^3.7.3: - version "3.7.3" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz#0639372b143262e2b84ab95d3b91a7597061c2c5" - integrity sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ== +webpack-dev-middleware@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-6.1.1.tgz#6bbc257ec83ae15522de7a62f995630efde7cc3d" + integrity sha512-y51HrHaFeeWir0YO4f0g+9GwZawuigzcAdRNon6jErXy/SqV/+O6eaVAzDqE6t3e3NpGeR5CS+cCDaTC+V3yEQ== dependencies: - memory-fs "^0.4.1" - mime "^2.4.4" - mkdirp "^0.5.1" + colorette "^2.0.10" + memfs "^3.4.12" + mime-types "^2.1.31" range-parser "^1.2.1" - webpack-log "^2.0.0" - -webpack-filter-warnings-plugin@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/webpack-filter-warnings-plugin/-/webpack-filter-warnings-plugin-1.2.1.tgz#dc61521cf4f9b4a336fbc89108a75ae1da951cdb" - integrity sha512-Ez6ytc9IseDMLPo0qCuNNYzgtUl8NovOqjIq4uAU8LTD4uoa1w1KpZyyzFtLTEMZpkkOkLfL9eN+KGYdk1Qtwg== + schema-utils "^4.0.0" webpack-hot-middleware@^2.25.1: - version "2.25.3" - resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.25.3.tgz#be343ce2848022cfd854dd82820cd730998c6794" - integrity sha512-IK/0WAHs7MTu1tzLTjio73LjS3Ov+VvBKQmE8WPlJutgG5zT6Urgq/BbAdRrHTRpyzK0dvAvFh1Qg98akxgZpA== + version "2.25.4" + resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.25.4.tgz#d8bc9e9cb664fc3105c8e83d2b9ed436bee4e193" + integrity sha512-IRmTspuHM06aZh98OhBJtqLpeWFM8FXJS5UYpKYxCJzyFoyWj1w6VGFfomZU7OPA55dMLrQK0pRT1eQ3PACr4w== dependencies: ansi-html-community "0.0.8" html-entities "^2.1.0" strip-ansi "^6.0.0" -webpack-log@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" - integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== - dependencies: - ansi-colors "^3.0.0" - uuid "^3.3.2" - -webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" - integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - webpack-sources@^3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack-virtual-modules@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.2.2.tgz#20863dc3cb6bb2104729fff951fbe14b18bd0299" - integrity sha512-kDUmfm3BZrei0y+1NTHJInejzxfhtU8eDj2M7OKb2IWrPFAeO1SOH2KuQ68MSZu9IGEHcxbkKKR1v18FrUSOmA== - dependencies: - debug "^3.0.0" +webpack-virtual-modules@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz#362f14738a56dae107937ab98ea7062e8bdd3b6c" + integrity sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw== -webpack@4: - version "4.46.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.46.0.tgz#bf9b4404ea20a073605e0a011d188d77cb6ad542" - integrity sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/wasm-edit" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - acorn "^6.4.1" - ajv "^6.10.2" - ajv-keywords "^3.4.1" - chrome-trace-event "^1.0.2" - enhanced-resolve "^4.5.0" - eslint-scope "^4.0.3" - json-parse-better-errors "^1.0.2" - loader-runner "^2.4.0" - loader-utils "^1.2.3" - memory-fs "^0.4.1" - micromatch "^3.1.10" - mkdirp "^0.5.3" - neo-async "^2.6.1" - node-libs-browser "^2.2.1" - schema-utils "^1.0.0" - tapable "^1.1.3" - terser-webpack-plugin "^1.4.3" - watchpack "^1.7.4" - webpack-sources "^1.4.1" - -"webpack@>=4.43.0 <6.0.0": - version "5.77.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.77.0.tgz#dea3ad16d7ea6b84aa55fa42f4eac9f30e7eb9b4" - integrity sha512-sbGNjBr5Ya5ss91yzjeJTLKyfiwo5C628AFjEa6WSXcZa4E+F57om3Cc8xLb1Jh0b243AWuSYRf3dn7HVeFQ9Q== +webpack-virtual-modules@^0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.6.1.tgz#ac6fdb9c5adb8caecd82ec241c9631b7a3681b6f" + integrity sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg== + +webpack@5: + version "5.89.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.89.0.tgz#56b8bf9a34356e93a6625770006490bf3a7f32dc" + integrity sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw== dependencies: "@types/eslint-scope" "^3.7.3" - "@types/estree" "^0.0.51" - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/wasm-edit" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" + "@types/estree" "^1.0.0" + "@webassemblyjs/ast" "^1.11.5" + "@webassemblyjs/wasm-edit" "^1.11.5" + "@webassemblyjs/wasm-parser" "^1.11.5" acorn "^8.7.1" - acorn-import-assertions "^1.7.6" + acorn-import-assertions "^1.9.0" browserslist "^4.14.5" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.10.0" - es-module-lexer "^0.9.0" + enhanced-resolve "^5.15.0" + es-module-lexer "^1.2.1" eslint-scope "5.1.1" events "^3.2.0" glob-to-regexp "^0.4.1" @@ -20565,24 +22896,12 @@ webpack@4: loader-runner "^4.2.0" mime-types "^2.1.27" neo-async "^2.6.2" - schema-utils "^3.1.0" + schema-utils "^3.2.0" tapable "^2.1.1" - terser-webpack-plugin "^5.1.3" + terser-webpack-plugin "^5.3.7" watchpack "^2.4.0" webpack-sources "^3.2.3" -websocket-stream@^5.5.0: - version "5.5.2" - resolved "https://registry.yarnpkg.com/websocket-stream/-/websocket-stream-5.5.2.tgz#49d87083d96839f0648f5513bbddd581f496b8a2" - integrity sha512-8z49MKIHbGk3C4HtuHWDtYX8mYej1wWabjthC/RupM9ngeukU4IWoM46dgth1UOS/T4/IqgEdCDJuMe2039OQQ== - dependencies: - duplexify "^3.5.1" - inherits "^2.0.1" - readable-stream "^2.3.3" - safe-buffer "^5.1.2" - ws "^3.2.0" - xtend "^4.0.0" - whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" @@ -20591,9 +22910,9 @@ whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.5: iconv-lite "0.4.24" whatwg-fetch@>=0.10.0: - version "3.6.2" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c" - integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA== + version "3.6.19" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.19.tgz#caefd92ae630b91c07345537e67f8354db470973" + integrity sha512-d67JP4dHSbm2TrpFj8AbO8DnL1JXL5J9u0Kq2xW6d0TFDbCA3Muhdt8orXC22utleTVj7Prqt82baN6RBvnEgw== whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: version "2.3.0" @@ -20628,6 +22947,24 @@ which-boxed-primitive@^1.0.2: is-string "^1.0.5" is-symbol "^1.0.3" +which-builtin-type@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/which-builtin-type/-/which-builtin-type-1.1.3.tgz#b1b8443707cc58b6e9bf98d32110ff0c2cbd029b" + integrity sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw== + dependencies: + function.prototype.name "^1.1.5" + has-tostringtag "^1.0.0" + is-async-function "^2.0.0" + is-date-object "^1.0.5" + is-finalizationregistry "^1.0.2" + is-generator-function "^1.0.10" + is-regex "^1.1.4" + is-weakref "^1.0.2" + isarray "^2.0.5" + which-boxed-primitive "^1.0.2" + which-collection "^1.0.1" + which-typed-array "^1.1.9" + which-collection@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906" @@ -20639,21 +22976,20 @@ which-collection@^1.0.1: is-weakset "^2.0.1" which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q== + version "2.0.1" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" + integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== -which-typed-array@^1.1.2, which-typed-array@^1.1.9: - version "1.1.9" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" - integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== +which-typed-array@^1.1.11, which-typed-array@^1.1.13, which-typed-array@^1.1.2, which-typed-array@^1.1.9: + version "1.1.13" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.13.tgz#870cd5be06ddb616f504e7b039c4c24898184d36" + integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow== dependencies: available-typed-arrays "^1.0.5" - call-bind "^1.0.2" + call-bind "^1.0.4" for-each "^0.3.3" gopd "^1.0.1" has-tostringtag "^1.0.0" - is-typed-array "^1.1.10" which@^1.2.9, which@^1.3.1: version "1.3.1" @@ -20669,20 +23005,21 @@ which@^2.0.1, which@^2.0.2: dependencies: isexe "^2.0.0" -wide-align@^1.1.0, wide-align@^1.1.2: +why-is-node-running@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/why-is-node-running/-/why-is-node-running-2.2.2.tgz#4185b2b4699117819e7154594271e7e344c9973e" + integrity sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA== + dependencies: + siginfo "^2.0.0" + stackback "0.0.2" + +wide-align@^1.1.2: version "1.1.5" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== dependencies: string-width "^1.0.2 || 2 || 3 || 4" -widest-line@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" - integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== - dependencies: - string-width "^4.0.0" - wif@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/wif/-/wif-2.0.6.tgz#08d3f52056c66679299726fade0d432ae74b4704" @@ -20691,28 +23028,31 @@ wif@^2.0.6: bs58check "<3.0.0" word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + version "1.2.5" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" + integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== wordwrap@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== -worker-farm@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" - integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== +wordwrapjs@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-4.0.1.tgz#d9790bccfb110a0fc7836b5ebce0937b37a8b98f" + integrity sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA== dependencies: - errno "~0.1.7" + reduce-flatten "^2.0.0" + typical "^5.2.0" -worker-rpc@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/worker-rpc/-/worker-rpc-0.1.1.tgz#cb565bd6d7071a8f16660686051e969ad32f54d5" - integrity sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg== +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== dependencies: - microevent.ts "~0.1.1" + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" wrap-ansi@^3.0.1: version "3.0.1" @@ -20722,16 +23062,7 @@ wrap-ansi@^3.0.1: string-width "^2.1.1" strip-ansi "^4.0.0" -wrap-ansi@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== - dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" - -wrap-ansi@^6.2.0: +wrap-ansi@^6.0.1, wrap-ansi@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== @@ -20740,20 +23071,29 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== +wrap-ansi@^8.0.1, wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== +write-file-atomic@^2.3.0: + version "2.4.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" + integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + write-file-atomic@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" @@ -20764,6 +23104,14 @@ write-file-atomic@^3.0.0: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" +write-file-atomic@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== + dependencies: + imurmurhash "^0.1.4" + signal-exit "^3.0.7" + write@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" @@ -20781,31 +23129,27 @@ ws@7.5.3: resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.3.tgz#160835b63c7d97bfab418fc1b8a9fced2ac01a74" integrity sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg== -ws@^3.2.0: - version "3.3.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" - integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA== +ws@8.13.0: + version "8.13.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" + integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== + +ws@^6.1.0: + version "6.2.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e" + integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw== dependencies: async-limiter "~1.0.0" - safe-buffer "~5.1.0" - ultron "~1.1.0" -ws@^7, ws@^7.0.0, ws@^7.4.0, ws@^7.4.5: +ws@^7, ws@^7.0.0, ws@^7.4.5, ws@^7.5.1, ws@^7.5.5, ws@^7.5.9: version "7.5.9" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== ws@^8.2.3, ws@^8.5.0: - version "8.13.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" - integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== - -x-default-browser@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/x-default-browser/-/x-default-browser-0.4.0.tgz#70cf0da85da7c0ab5cb0f15a897f2322a6bdd481" - integrity sha512-7LKo7RtWfoFN/rHx1UELv/2zHGMx8MkZKDq1xENmOCTkfIqZJ0zZ26NEJX8czhnPXVcqS0ARjjfJB+eJ0/5Cvw== - optionalDependencies: - default-browser-id "^1.0.4" + version "8.14.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.14.2.tgz#6c249a806eb2db7a20d26d51e7709eab7b2e6c7f" + integrity sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g== xdm@^2.0.0: version "2.1.0" @@ -20859,16 +23203,11 @@ xstream@^11.14.0: globalthis "^1.0.1" symbol-observable "^2.0.3" -xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: +xtend@^4.0.0, xtend@^4.0.1, xtend@^4.0.2, xtend@~4.0.0, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== -xxhash-wasm@^0.4.2: - version "0.4.2" - resolved "https://registry.yarnpkg.com/xxhash-wasm/-/xxhash-wasm-0.4.2.tgz#752398c131a4dd407b5132ba62ad372029be6f79" - integrity sha512-/eyHVRJQCirEkSZ1agRSCwriMhwlyUcFkXD5TPVSLP+IPzjsqMVzZwdoczLp1SoQU0R3dxz1RpIK+4YNQbCVOA== - y18n@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" @@ -20889,15 +23228,20 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== +yaml@2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.1.tgz#02fe0975d23cd441242aa7204e09fc28ac2ac33b" + integrity sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ== + yaml@^1.10.0, yaml@^1.7.2: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yaml@^2.1.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.2.1.tgz#3014bf0482dcd15147aa8e56109ce8632cd60ce4" - integrity sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw== +yaml@^2.3.4: + version "2.3.4" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.4.tgz#53fc1d514be80aabf386dc6001eb29bf3b7523b2" + integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== yargs-parser@18.x, yargs-parser@^18.1.2: version "18.1.3" @@ -20912,35 +23256,11 @@ yargs-parser@21.1.1, yargs-parser@^21.1.1: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== -yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" - integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - yargs-parser@^20.2.2, yargs-parser@^20.2.3, yargs-parser@^20.2.9: version "20.2.9" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== -yargs@^13.2.4: - version "13.3.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" - integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== - dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.2" - yargs@^15.3.1: version "15.4.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" @@ -20972,9 +23292,9 @@ yargs@^16.2.0: yargs-parser "^20.2.2" yargs@^17.6.2: - version "17.7.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.1.tgz#34a77645201d1a8fc5213ace787c220eabbd0967" - integrity sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw== + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== dependencies: cliui "^8.0.1" escalade "^3.1.1" @@ -20984,6 +23304,14 @@ yargs@^17.6.2: y18n "^5.0.5" yargs-parser "^21.1.1" +yauzl@^2.10.0: + version "2.10.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" + yn@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" @@ -20994,18 +23322,18 @@ yocto-queue@^0.1.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== +yocto-queue@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" + integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== + zustand@^4.3.2: - version "4.3.7" - resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.3.7.tgz#501b1f0393a7f1d103332e45ab574be5747fedce" - integrity sha512-dY8ERwB9Nd21ellgkBZFhudER8KVlelZm8388B5nDAXhO/+FZDhYMuRnqDgu5SYyRgz/iaf8RKnbUs/cHfOGlQ== + version "4.4.6" + resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.4.6.tgz#03c78e3e2686c47095c93714c0c600b72a6512bd" + integrity sha512-Rb16eW55gqL4W2XZpJh0fnrATxYEG3Apl2gfHTyDSE965x/zxslTikpNch0JgNjJA9zK6gEFW8Fl6d1rTZaqgg== dependencies: use-sync-external-store "1.2.0" -zwitch@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.5.tgz#d11d7381ffed16b742f6af7b3f223d5cd9fe9920" - integrity sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw== - zwitch@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.4.tgz#c827d4b0acb76fc3e685a4c6ec2902d51070e9d7"