diff --git a/styleguide/.editorconfig b/styleguide/.editorconfig
new file mode 100644
index 0000000000..74df53472c
--- /dev/null
+++ b/styleguide/.editorconfig
@@ -0,0 +1,4 @@
+root = true
+
+[*.{ts,tsx,js}]
+indent_size = 2
diff --git a/styleguide/.github/dependabot.yml b/styleguide/.github/dependabot.yml
new file mode 100644
index 0000000000..b417983545
--- /dev/null
+++ b/styleguide/.github/dependabot.yml
@@ -0,0 +1,11 @@
+# To get started with Dependabot version updates, you'll need to specify which
+# package ecosystems to update and where the package manifests are located.
+# Please see the documentation for all configuration options:
+# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
+
+version: 2
+updates:
+ - package-ecosystem: "npm" # See documentation for possible values
+ directory: "/" # Location of package manifests
+ schedule:
+ interval: "daily"
diff --git a/styleguide/.github/workflows/commands.yml b/styleguide/.github/workflows/commands.yml
new file mode 100644
index 0000000000..07afff2f18
--- /dev/null
+++ b/styleguide/.github/workflows/commands.yml
@@ -0,0 +1,47 @@
+name: Slash Command Dispatch
+
+on:
+ issue_comment:
+ types: [created]
+
+jobs:
+ slash-command-dispatch:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/github-script@v3
+ id: get-pr
+ with:
+ script: |
+ const request = {
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ pull_number: context.issue.number
+ }
+ core.info(`Getting PR #${request.pull_number} from ${request.owner}/${request.repo}`)
+ try {
+ const result = await github.pulls.get(request)
+ return result.data
+ } catch (err) {
+ core.setFailed(`Request failed with error ${err}`)
+ }
+ - name: Slash Command Dispatch
+ uses: peter-evans/slash-command-dispatch@v2
+ with:
+ token: ${{ secrets.BOT_TOKEN }}
+ reaction-token: ${{ secrets.BOT_TOKEN }}
+ permission: write
+ dispatch-type: workflow
+ event-type-suffix: ""
+ commands: |
+ deploy
+ static-args: |
+ comment-id=${{ github.event.comment.id }}
+ event-number=${{ github.event.issue.number }}
+ ref=${{ fromJSON(steps.get-pr.outputs.result).head.ref }}
+ - name: Edit comment with error message
+ if: steps.scd.outputs.error-message
+ uses: peter-evans/create-or-update-comment@v1
+ with:
+ comment-id: ${{ github.event.comment.id }}
+ body: |
+ > ${{ steps.scd.outputs.error-message }}
diff --git a/styleguide/.github/workflows/deploy.yml b/styleguide/.github/workflows/deploy.yml
new file mode 100644
index 0000000000..659f3bd535
--- /dev/null
+++ b/styleguide/.github/workflows/deploy.yml
@@ -0,0 +1,120 @@
+name: Deploy Styleguide
+
+concurrency: deploy
+
+on:
+ push:
+ branches:
+ - main
+ paths:
+ - "src/**/*"
+ - "package.json"
+ - ".github/workflows/deploy.yml"
+ - "tsconfig.json"
+ workflow_dispatch:
+ inputs:
+ comment-id:
+ description: "The comment-id of the slash command"
+ required: true
+ event-number:
+ description: "The event-id of the slash command"
+ required: true
+
+permissions:
+ id-token: write
+ contents: read
+
+jobs:
+ deploy:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ persist-credentials: false
+ ref: ${{ github.ref }}
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ registry-url: "https://registry.npmjs.org"
+ - name: Cache pnpm modules
+ uses: actions/cache@v4
+ with:
+ path: ~/.pnpm-store
+ key: ${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}
+ restore-keys: |
+ ${{ runner.os }}-
+ - uses: pnpm/action-setup@v2.1.0
+ with:
+ version: 9.0.6
+ run_install: true
+ - name: Metadata
+ id: metadata
+ run: echo "::set-output name=commit::$(git rev-parse HEAD)"
+ - name: Find Release Comment
+ uses: peter-evans/find-comment@v3
+ id: find_comment
+ if: ${{ github.ref != 'refs/heads/main' }}
+ with:
+ token: ${{ secrets.BOT_TOKEN }}
+ issue-number: ${{ github.event.inputs.event-number }}
+ comment-author: pythonitaliabot
+ body-includes: "Pre-release"
+ - name: Create or update comment
+ id: initial-comment
+ uses: peter-evans/create-or-update-comment@v4
+ if: ${{ github.ref != 'refs/heads/main' }}
+ with:
+ token: ${{ secrets.BOT_TOKEN }}
+ comment-id: ${{ steps.find_comment.outputs.comment-id }}
+ issue-number: ${{ github.event.inputs.event-number }}
+ body: |
+ # Pre-release
+ :wave:
+
+ Releasing commit [${{ steps.metadata.outputs.commit }}] to NPM as pre-release! :package:
+ edit-mode: replace
+ - name: Update version
+ if: ${{ github.ref == 'refs/heads/main' }}
+ run: pnpm version patch --no-git-tag-version
+ - name: Update to pre-release version
+ if: ${{ github.ref != 'refs/heads/main' }}
+ run: |
+ pnpm version patch --no-git-tag-version
+ new_version=$(node -e "console.log(require('./package.json').version);")
+ pnpm version $new_version-rc${{ steps.metadata.outputs.commit }} --no-git-tag-version
+ - name: Build & Publish
+ id: release
+ run: |
+ pnpm publish --tag ${{ fromJSON('["pr", "latest"]')[github.ref == 'refs/heads/main'] }} --no-git-checks
+ new_version=$(node -e "console.log(require('./package.json').version);")
+ echo "::set-output name=version::$new_version"
+ - name: Commit version
+ if: ${{ github.ref == 'refs/heads/main' }}
+ env:
+ GITHUB_TOKEN: ${{ secrets.BOT_TOKEN }}
+ run: |
+ new_version=$(node -e "console.log(require('./package.json').version);")
+
+ git remote set-url origin https://${{ secrets.BOT_TOKEN }}@github.com/${{ github.repository }}
+ git config user.name "Python Italia [bot]"
+ git config user.email "noreply@python.it"
+ git add package.json
+ git commit -m "🔨 Publish Styleguide v$new_version [skip ci]"
+ git push
+ - name: Create or update comment
+ uses: peter-evans/create-or-update-comment@v3
+ if: ${{ github.ref != 'refs/heads/main' }}
+ with:
+ token: ${{ secrets.BOT_TOKEN }}
+ comment-id: ${{ steps.initial-comment.outputs.comment-id }}
+ issue-number: ${{ github.event.inputs.event-number }}
+ body: |
+ # Pre-release
+ :wave:
+
+ Pre-release **${{ steps.release.outputs.version }}** [${{ steps.metadata.outputs.commit }}] has been released on NPM! :rocket:
+ You can try it by doing:
+ ```shell
+ pnpm add @python-italia/pycon-styleguide@${{ steps.release.outputs.version }}
+ ```
+ edit-mode: replace
diff --git a/styleguide/.gitignore b/styleguide/.gitignore
new file mode 100644
index 0000000000..e7215ca311
--- /dev/null
+++ b/styleguide/.gitignore
@@ -0,0 +1,3 @@
+node_modules/
+dist/
+storybook-static/
\ No newline at end of file
diff --git a/styleguide/.npmrc b/styleguide/.npmrc
new file mode 100644
index 0000000000..758f3e0acb
--- /dev/null
+++ b/styleguide/.npmrc
@@ -0,0 +1,2 @@
+auto-install-peers = true
+
diff --git a/styleguide/.storybook/main.js b/styleguide/.storybook/main.js
new file mode 100644
index 0000000000..03898b14d5
--- /dev/null
+++ b/styleguide/.storybook/main.js
@@ -0,0 +1,35 @@
+const path = require("path");
+
+module.exports = {
+ stories: ["../src/**/*.stories.tsx"],
+ addons: [
+ "@storybook/addon-essentials",
+ {
+ name: "@storybook/addon-postcss",
+ options: {
+ postcssLoaderOptions: {
+ implementation: require("postcss"),
+ },
+ },
+ },
+ ],
+ webpackFinal: async (config) => {
+ config.module.rules.push({
+ test: /\.(ts|tsx)$/,
+ loader: require.resolve("babel-loader"),
+ options: {
+ presets: [["react-app", { flow: false, typescript: true }]],
+ },
+ });
+
+ config.module.rules.push({
+ test: /\.mjs$/,
+ include: /node_modules/,
+ type: "javascript/auto",
+ });
+
+ config.resolve.extensions.push(".ts", ".tsx", ".mjs");
+
+ return config;
+ },
+};
diff --git a/styleguide/.storybook/preview-head.html b/styleguide/.storybook/preview-head.html
new file mode 100644
index 0000000000..4468323dad
--- /dev/null
+++ b/styleguide/.storybook/preview-head.html
@@ -0,0 +1 @@
+
diff --git a/styleguide/.storybook/preview.js b/styleguide/.storybook/preview.js
new file mode 100644
index 0000000000..b7e8220ae7
--- /dev/null
+++ b/styleguide/.storybook/preview.js
@@ -0,0 +1,16 @@
+import "../src/base.css";
+import "../src/custom.css";
+import {IntlProvider} from 'react-intl'
+
+export const parameters = {
+ actions: { argTypesRegex: "^on[A-Z].*" },
+ layout: "fullscreen",
+};
+
+export const decorators = [
+ (Story) => (
+
+
+
+ ),
+];
diff --git a/styleguide/.tool-versions b/styleguide/.tool-versions
new file mode 100644
index 0000000000..f6efb75ced
--- /dev/null
+++ b/styleguide/.tool-versions
@@ -0,0 +1 @@
+nodejs 18.17.1
diff --git a/styleguide/README.md b/styleguide/README.md
new file mode 100644
index 0000000000..1ff5b6c881
--- /dev/null
+++ b/styleguide/README.md
@@ -0,0 +1,13 @@
+# Python Italia's component library for PyCon Italia (and related events)
+
+We use [Storybook](https://storybook.js.org/) to generate a UI component style guide that you can use on the Python Italia websites.
+
+## Getting Started
+
+```shell
+pnpm install
+
+pnpm storybook
+```
+
+Open [http://localhost:6006](http://localhost:6006) with your browser to see the result.
diff --git a/styleguide/biome.json b/styleguide/biome.json
new file mode 100644
index 0000000000..2fa26f0c3a
--- /dev/null
+++ b/styleguide/biome.json
@@ -0,0 +1,50 @@
+{
+ "$schema": "https://biomejs.dev/schemas/1.7.1/schema.json",
+ "organizeImports": {
+ "enabled": true
+ },
+ "linter": {
+ "enabled": true,
+ "rules": {
+ "recommended": true,
+ "correctness": {
+ "useExhaustiveDependencies": "off"
+ },
+ "style": {
+ "noNonNullAssertion": "off"
+ },
+ "suspicious": {
+ "noExplicitAny": "off",
+ "noArrayIndexKey": "off"
+ },
+ "a11y": {
+ "useKeyWithClickEvents": "off"
+ },
+ "complexity": {
+ "noForEach": "off"
+ },
+ "security": {
+ "noDangerouslySetInnerHtml": "off"
+ }
+ }
+ },
+ "formatter": {
+ "enabled": true,
+ "indentStyle": "space"
+ },
+ "files": {
+ "ignore": [
+ "**/lodash-is-equal.ts",
+ ".cache/",
+ ".docz/",
+ "public/",
+ "src/generated",
+ "_schema.json",
+ "package.json",
+ "src/types.tsx"
+ ]
+ },
+ "javascript": {
+ "jsxRuntime": "reactClassic"
+ }
+}
diff --git a/styleguide/fonts/GeneralSans-Variable.ttf b/styleguide/fonts/GeneralSans-Variable.ttf
new file mode 100644
index 0000000000..65b0dabc1b
Binary files /dev/null and b/styleguide/fonts/GeneralSans-Variable.ttf differ
diff --git a/styleguide/fonts/GeneralSans-Variable.woff b/styleguide/fonts/GeneralSans-Variable.woff
new file mode 100644
index 0000000000..8e56437f9b
Binary files /dev/null and b/styleguide/fonts/GeneralSans-Variable.woff differ
diff --git a/styleguide/fonts/GeneralSans-Variable.woff2 b/styleguide/fonts/GeneralSans-Variable.woff2
new file mode 100644
index 0000000000..55e906ba3b
Binary files /dev/null and b/styleguide/fonts/GeneralSans-Variable.woff2 differ
diff --git a/styleguide/fonts/JetBrainsMono.ttf b/styleguide/fonts/JetBrainsMono.ttf
new file mode 100644
index 0000000000..430cff0f9f
Binary files /dev/null and b/styleguide/fonts/JetBrainsMono.ttf differ
diff --git a/styleguide/package.json b/styleguide/package.json
new file mode 100644
index 0000000000..e0a5c88288
--- /dev/null
+++ b/styleguide/package.json
@@ -0,0 +1,77 @@
+{
+ "name": "@python-italia/pycon-styleguide",
+ "version": "0.1.210",
+ "main": "dist/index.js",
+ "module": "dist/index.esm.js",
+ "types": "dist/index.d.ts",
+ "exports": {
+ ".": "./dist/index.js",
+ "./style": "./dist/index.css",
+ "./custom-style": "./dist/custom-style.css",
+ "./config-parts": "./dist/config-parts.js",
+ "./icons": "./dist/icons/index.js",
+ "./illustrations": "./dist/illustrations/index.js"
+ },
+ "scripts": {
+ "test": "jest",
+ "test:watch": "jest --watch",
+ "storybook": "start-storybook -p 6006",
+ "storybook:export": "build-storybook",
+ "build": "rollup -c",
+ "build:watch": "rollup -c -w",
+ "prepublishOnly": "rm -rf dist/ && pnpm run build"
+ },
+ "peerDependencies": {
+ "clsx": "^1.1.1",
+ "date-fns": "^2.28.0",
+ "react": ">=16.8.0",
+ "react-dom": ">=16.8.0",
+ "react-use": "^17.3.2"
+ },
+ "devDependencies": {
+ "@babel/core": "^7.24.5",
+ "@biomejs/biome": "^1.8.0",
+ "@rollup/plugin-commonjs": "^21.1.0",
+ "@rollup/plugin-node-resolve": "^13.3.0",
+ "@storybook/addon-essentials": "^6.5.16",
+ "@storybook/addon-postcss": "^2.0.0",
+ "@storybook/react": "^6.5.16",
+ "@tailwindcss/typography": "^0.5.13",
+ "@testing-library/jest-dom": "^5.17.0",
+ "@testing-library/react": "^12.1.5",
+ "@types/bluebird": "^3.5.42",
+ "@types/jest": "^27.5.2",
+ "@types/node": "^20.12.11",
+ "@types/react": "^17.0.80",
+ "@types/react-dom": "^17.0.25",
+ "autoprefixer": "^10.4.19",
+ "babel-loader": "^8.3.0",
+ "babel-preset-react-app": "^10.0.1",
+ "identity-obj-proxy": "^3.0.0",
+ "jest": "^27.5.1",
+ "postcss": "^8.4.38",
+ "prettier": "^2.8.8",
+ "prop-types": "^15.8.1",
+ "react": "^18.3.1",
+ "react-dom": "^18.3.1",
+ "rollup": "^2.79.1",
+ "rollup-plugin-styles": "^4.0.0",
+ "rollup-plugin-terser": "^7.0.2",
+ "rollup-plugin-typescript2": "^0.34.1",
+ "tailwindcss": "^3.4.3",
+ "tailwindcss-blend-mode": "^1.0.0",
+ "ts-jest": "^27.1.5",
+ "ts-toolbelt": "^9.6.0",
+ "tslib": "^2.6.2",
+ "typescript": "^4.9.5",
+ "webpack": "^5.91.0"
+ },
+ "dependencies": {
+ "clsx": "^1.2.1",
+ "date-fns": "^2.30.0",
+ "framer-motion": "^11.1.9",
+ "react-intl": "^6.6.6",
+ "react-text-transition": "^1.3.0",
+ "react-use": "^17.5.0"
+ }
+}
diff --git a/styleguide/pnpm-lock.yaml b/styleguide/pnpm-lock.yaml
new file mode 100644
index 0000000000..9ef84e9299
--- /dev/null
+++ b/styleguide/pnpm-lock.yaml
@@ -0,0 +1,15450 @@
+lockfileVersion: '9.0'
+
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
+
+importers:
+
+ .:
+ dependencies:
+ clsx:
+ specifier: ^1.2.1
+ version: 1.2.1
+ date-fns:
+ specifier: ^2.30.0
+ version: 2.30.0
+ framer-motion:
+ specifier: ^11.1.9
+ version: 11.1.9(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react-intl:
+ specifier: ^6.6.6
+ version: 6.6.6(react@18.3.1)(typescript@4.9.5)
+ react-text-transition:
+ specifier: ^1.3.0
+ version: 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react-use:
+ specifier: ^17.5.0
+ version: 17.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ devDependencies:
+ '@babel/core':
+ specifier: ^7.24.5
+ version: 7.24.5
+ '@biomejs/biome':
+ specifier: ^1.8.0
+ version: 1.8.0
+ '@rollup/plugin-commonjs':
+ specifier: ^21.1.0
+ version: 21.1.0(rollup@2.79.1)
+ '@rollup/plugin-node-resolve':
+ specifier: ^13.3.0
+ version: 13.3.0(rollup@2.79.1)
+ '@storybook/addon-essentials':
+ specifier: ^6.5.16
+ version: 6.5.16(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@4.9.5)(webpack@5.91.0)
+ '@storybook/addon-postcss':
+ specifier: ^2.0.0
+ version: 2.0.0(webpack@5.91.0)
+ '@storybook/react':
+ specifier: ^6.5.16
+ version: 6.5.16(@babel/core@7.24.5)(@types/webpack@4.41.38)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(require-from-string@2.0.2)(type-fest@0.21.3)(typescript@4.9.5)(webpack-hot-middleware@2.26.1)
+ '@tailwindcss/typography':
+ specifier: ^0.5.13
+ version: 0.5.13(tailwindcss@3.4.3)
+ '@testing-library/jest-dom':
+ specifier: ^5.17.0
+ version: 5.17.0
+ '@testing-library/react':
+ specifier: ^12.1.5
+ version: 12.1.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@types/bluebird':
+ specifier: ^3.5.42
+ version: 3.5.42
+ '@types/jest':
+ specifier: ^27.5.2
+ version: 27.5.2
+ '@types/node':
+ specifier: ^20.12.11
+ version: 20.12.11
+ '@types/react':
+ specifier: ^17.0.80
+ version: 17.0.80
+ '@types/react-dom':
+ specifier: ^17.0.25
+ version: 17.0.25
+ autoprefixer:
+ specifier: ^10.4.19
+ version: 10.4.19(postcss@8.4.38)
+ babel-loader:
+ specifier: ^8.3.0
+ version: 8.3.0(@babel/core@7.24.5)(webpack@5.91.0)
+ babel-preset-react-app:
+ specifier: ^10.0.1
+ version: 10.0.1
+ identity-obj-proxy:
+ specifier: ^3.0.0
+ version: 3.0.0
+ jest:
+ specifier: ^27.5.1
+ version: 27.5.1
+ postcss:
+ specifier: ^8.4.38
+ version: 8.4.38
+ prettier:
+ specifier: ^2.8.8
+ version: 2.8.8
+ prop-types:
+ specifier: ^15.8.1
+ version: 15.8.1
+ react:
+ specifier: ^18.3.1
+ version: 18.3.1
+ react-dom:
+ specifier: ^18.3.1
+ version: 18.3.1(react@18.3.1)
+ rollup:
+ specifier: ^2.79.1
+ version: 2.79.1
+ rollup-plugin-styles:
+ specifier: ^4.0.0
+ version: 4.0.0(rollup@2.79.1)
+ rollup-plugin-terser:
+ specifier: ^7.0.2
+ version: 7.0.2(rollup@2.79.1)
+ rollup-plugin-typescript2:
+ specifier: ^0.34.1
+ version: 0.34.1(rollup@2.79.1)(typescript@4.9.5)
+ tailwindcss:
+ specifier: ^3.4.3
+ version: 3.4.3
+ tailwindcss-blend-mode:
+ specifier: ^1.0.0
+ version: 1.0.0
+ ts-jest:
+ specifier: ^27.1.5
+ version: 27.1.5(@babel/core@7.24.5)(@types/jest@27.5.2)(babel-jest@27.5.1(@babel/core@7.24.5))(jest@27.5.1)(typescript@4.9.5)
+ ts-toolbelt:
+ specifier: ^9.6.0
+ version: 9.6.0
+ tslib:
+ specifier: ^2.6.2
+ version: 2.6.2
+ typescript:
+ specifier: ^4.9.5
+ version: 4.9.5
+ webpack:
+ specifier: ^5.91.0
+ version: 5.91.0
+
+packages:
+
+ '@adobe/css-tools@4.3.3':
+ resolution: {integrity: sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==}
+
+ '@alloc/quick-lru@5.2.0':
+ resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
+ engines: {node: '>=10'}
+
+ '@ampproject/remapping@2.3.0':
+ resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
+ engines: {node: '>=6.0.0'}
+
+ '@babel/code-frame@7.24.2':
+ resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/compat-data@7.24.4':
+ resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/core@7.12.9':
+ resolution: {integrity: sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/core@7.24.5':
+ resolution: {integrity: sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/generator@7.24.5':
+ resolution: {integrity: sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-annotate-as-pure@7.22.5':
+ resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-builder-binary-assignment-operator-visitor@7.22.15':
+ resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-compilation-targets@7.23.6':
+ resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-create-class-features-plugin@7.24.5':
+ resolution: {integrity: sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-create-regexp-features-plugin@7.22.15':
+ resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-define-polyfill-provider@0.1.5':
+ resolution: {integrity: sha512-nXuzCSwlJ/WKr8qxzW816gwyT6VZgiJG17zR40fou70yfAcqjoNyTLl/DQ+FExw5Hx5KNqshmN8Ldl/r2N7cTg==}
+ peerDependencies:
+ '@babel/core': ^7.4.0-0
+
+ '@babel/helper-define-polyfill-provider@0.6.2':
+ resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+
+ '@babel/helper-environment-visitor@7.22.20':
+ resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-function-name@7.23.0':
+ resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-hoist-variables@7.22.5':
+ resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-member-expression-to-functions@7.24.5':
+ resolution: {integrity: sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-module-imports@7.24.3':
+ resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-module-transforms@7.24.5':
+ resolution: {integrity: sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-optimise-call-expression@7.22.5':
+ resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-plugin-utils@7.10.4':
+ resolution: {integrity: sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==}
+
+ '@babel/helper-plugin-utils@7.24.5':
+ resolution: {integrity: sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-remap-async-to-generator@7.22.20':
+ resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-replace-supers@7.24.1':
+ resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-simple-access@7.24.5':
+ resolution: {integrity: sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-skip-transparent-expression-wrappers@7.22.5':
+ resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-split-export-declaration@7.24.5':
+ resolution: {integrity: sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-string-parser@7.24.1':
+ resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-validator-identifier@7.24.5':
+ resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-validator-option@7.23.5':
+ resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helper-wrap-function@7.24.5':
+ resolution: {integrity: sha512-/xxzuNvgRl4/HLNKvnFwdhdgN3cpLxgLROeLDl83Yx0AJ1SGvq1ak0OszTOjDfiB8Vx03eJbeDWh9r+jCCWttw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helpers@7.24.5':
+ resolution: {integrity: sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/highlight@7.24.5':
+ resolution: {integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/parser@7.24.5':
+ resolution: {integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
+ '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.5':
+ resolution: {integrity: sha512-LdXRi1wEMTrHVR4Zc9F8OewC3vdm5h4QB6L71zy6StmYeqGi1b3ttIO8UC+BfZKcH9jdr4aI249rBkm+3+YvHw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1':
+ resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1':
+ resolution: {integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.13.0
+
+ '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1':
+ resolution: {integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-proposal-class-properties@7.18.6':
+ resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-decorators@7.24.1':
+ resolution: {integrity: sha512-zPEvzFijn+hRvJuX2Vu3KbEBN39LN3f7tW3MQO2LsIs57B26KU+kUc82BdAktS1VCM6libzh45eKGI65lg0cpA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-export-default-from@7.24.1':
+ resolution: {integrity: sha512-+0hrgGGV3xyYIjOrD/bUZk/iUwOIGuoANfRfVg1cPhYBxF+TIXSEcc42DqzBICmWsnAQ+SfKedY0bj8QD+LuMg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6':
+ resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-numeric-separator@7.18.6':
+ resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-object-rest-spread@7.12.1':
+ resolution: {integrity: sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-object-rest-spread@7.20.7':
+ resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-optional-chaining@7.21.0':
+ resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-private-methods@7.18.6':
+ resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2':
+ resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-proposal-private-property-in-object@7.21.11':
+ resolution: {integrity: sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-async-generators@7.8.4':
+ resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-bigint@7.8.3':
+ resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-class-properties@7.12.13':
+ resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-class-static-block@7.14.5':
+ resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-decorators@7.24.1':
+ resolution: {integrity: sha512-05RJdO/cCrtVWuAaSn1tS3bH8jbsJa/Y1uD186u6J4C/1mnHFxseeuWpsqr9anvo7TUulev7tm7GDwRV+VuhDw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-dynamic-import@7.8.3':
+ resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-export-default-from@7.24.1':
+ resolution: {integrity: sha512-cNXSxv9eTkGUtd0PsNMK8Yx5xeScxfpWOUAxE+ZPAXXEcAMOC3fk7LRdXq5fvpra2pLx2p1YtkAhpUbB2SwaRA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-export-namespace-from@7.8.3':
+ resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-flow@7.24.1':
+ resolution: {integrity: sha512-sxi2kLTI5DeW5vDtMUsk4mTPwvlUDbjOnoWayhynCwrw4QXRld4QEYwqzY8JmQXaJUtgUuCIurtSRH5sn4c7mA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-import-assertions@7.24.1':
+ resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-import-attributes@7.24.1':
+ resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-import-meta@7.10.4':
+ resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-json-strings@7.8.3':
+ resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-jsx@7.12.1':
+ resolution: {integrity: sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-jsx@7.24.1':
+ resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-logical-assignment-operators@7.10.4':
+ resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3':
+ resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-numeric-separator@7.10.4':
+ resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-object-rest-spread@7.8.3':
+ resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-optional-catch-binding@7.8.3':
+ resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-optional-chaining@7.8.3':
+ resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-private-property-in-object@7.14.5':
+ resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-top-level-await@7.14.5':
+ resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-typescript@7.24.1':
+ resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-unicode-sets-regex@7.18.6':
+ resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-transform-arrow-functions@7.24.1':
+ resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-async-generator-functions@7.24.3':
+ resolution: {integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-async-to-generator@7.24.1':
+ resolution: {integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-block-scoped-functions@7.24.1':
+ resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-block-scoping@7.24.5':
+ resolution: {integrity: sha512-sMfBc3OxghjC95BkYrYocHL3NaOplrcaunblzwXhGmlPwpmfsxr4vK+mBBt49r+S240vahmv+kUxkeKgs+haCw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-class-properties@7.24.1':
+ resolution: {integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-class-static-block@7.24.4':
+ resolution: {integrity: sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.12.0
+
+ '@babel/plugin-transform-classes@7.24.5':
+ resolution: {integrity: sha512-gWkLP25DFj2dwe9Ck8uwMOpko4YsqyfZJrOmqqcegeDYEbp7rmn4U6UQZNj08UF6MaX39XenSpKRCvpDRBtZ7Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-computed-properties@7.24.1':
+ resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-destructuring@7.24.5':
+ resolution: {integrity: sha512-SZuuLyfxvsm+Ah57I/i1HVjveBENYK9ue8MJ7qkc7ndoNjqquJiElzA7f5yaAXjyW2hKojosOTAQQRX50bPSVg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-dotall-regex@7.24.1':
+ resolution: {integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-duplicate-keys@7.24.1':
+ resolution: {integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-dynamic-import@7.24.1':
+ resolution: {integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-exponentiation-operator@7.24.1':
+ resolution: {integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-export-namespace-from@7.24.1':
+ resolution: {integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-flow-strip-types@7.24.1':
+ resolution: {integrity: sha512-iIYPIWt3dUmUKKE10s3W+jsQ3icFkw0JyRVyY1B7G4yK/nngAOHLVx8xlhA6b/Jzl/Y0nis8gjqhqKtRDQqHWQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-for-of@7.24.1':
+ resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-function-name@7.24.1':
+ resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-json-strings@7.24.1':
+ resolution: {integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-literals@7.24.1':
+ resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-logical-assignment-operators@7.24.1':
+ resolution: {integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-member-expression-literals@7.24.1':
+ resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-amd@7.24.1':
+ resolution: {integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-commonjs@7.24.1':
+ resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-systemjs@7.24.1':
+ resolution: {integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-umd@7.24.1':
+ resolution: {integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-named-capturing-groups-regex@7.22.5':
+ resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/plugin-transform-new-target@7.24.1':
+ resolution: {integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-nullish-coalescing-operator@7.24.1':
+ resolution: {integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-numeric-separator@7.24.1':
+ resolution: {integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-object-rest-spread@7.24.5':
+ resolution: {integrity: sha512-7EauQHszLGM3ay7a161tTQH7fj+3vVM/gThlz5HpFtnygTxjrlvoeq7MPVA1Vy9Q555OB8SnAOsMkLShNkkrHA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-object-super@7.24.1':
+ resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-optional-catch-binding@7.24.1':
+ resolution: {integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-optional-chaining@7.24.5':
+ resolution: {integrity: sha512-xWCkmwKT+ihmA6l7SSTpk8e4qQl/274iNbSKRRS8mpqFR32ksy36+a+LWY8OXCCEefF8WFlnOHVsaDI2231wBg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-parameters@7.24.5':
+ resolution: {integrity: sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-private-methods@7.24.1':
+ resolution: {integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-private-property-in-object@7.24.5':
+ resolution: {integrity: sha512-JM4MHZqnWR04jPMujQDTBVRnqxpLLpx2tkn7iPn+Hmsc0Gnb79yvRWOkvqFOx3Z7P7VxiRIR22c4eGSNj87OBQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-property-literals@7.24.1':
+ resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-react-display-name@7.24.1':
+ resolution: {integrity: sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-react-jsx-development@7.22.5':
+ resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-react-jsx@7.23.4':
+ resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-react-pure-annotations@7.24.1':
+ resolution: {integrity: sha512-+pWEAaDJvSm9aFvJNpLiM2+ktl2Sn2U5DdyiWdZBxmLc6+xGt88dvFqsHiAiDS+8WqUwbDfkKz9jRxK3M0k+kA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-regenerator@7.24.1':
+ resolution: {integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-reserved-words@7.24.1':
+ resolution: {integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-runtime@7.24.3':
+ resolution: {integrity: sha512-J0BuRPNlNqlMTRJ72eVptpt9VcInbxO6iP3jaxr+1NPhC0UkKL+6oeX6VXMEYdADnuqmMmsBspt4d5w8Y/TCbQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-shorthand-properties@7.24.1':
+ resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-spread@7.24.1':
+ resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-sticky-regex@7.24.1':
+ resolution: {integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-template-literals@7.24.1':
+ resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-typeof-symbol@7.24.5':
+ resolution: {integrity: sha512-UTGnhYVZtTAjdwOTzT+sCyXmTn8AhaxOS/MjG9REclZ6ULHWF9KoCZur0HSGU7hk8PdBFKKbYe6+gqdXWz84Jg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-typescript@7.24.5':
+ resolution: {integrity: sha512-E0VWu/hk83BIFUWnsKZ4D81KXjN5L3MobvevOHErASk9IPwKHOkTgvqzvNo1yP/ePJWqqK2SpUR5z+KQbl6NVw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-unicode-escapes@7.24.1':
+ resolution: {integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-unicode-property-regex@7.24.1':
+ resolution: {integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-unicode-regex@7.24.1':
+ resolution: {integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-unicode-sets-regex@7.24.1':
+ resolution: {integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/preset-env@7.24.5':
+ resolution: {integrity: sha512-UGK2ifKtcC8i5AI4cH+sbLLuLc2ktYSFJgBAXorKAsHUZmrQ1q6aQ6i3BvU24wWs2AAKqQB6kq3N9V9Gw1HiMQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/preset-flow@7.24.1':
+ resolution: {integrity: sha512-sWCV2G9pcqZf+JHyv/RyqEIpFypxdCSxWIxQjpdaQxenNog7cN1pr76hg8u0Fz8Qgg0H4ETkGcJnXL8d4j0PPA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/preset-modules@0.1.6-no-external-plugins':
+ resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0
+
+ '@babel/preset-react@7.24.1':
+ resolution: {integrity: sha512-eFa8up2/8cZXLIpkafhaADTXSnl7IsUFCYenRWrARBz0/qZwcT0RBXpys0LJU4+WfPoF2ZG6ew6s2V6izMCwRA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/preset-typescript@7.24.1':
+ resolution: {integrity: sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/register@7.23.7':
+ resolution: {integrity: sha512-EjJeB6+kvpk+Y5DAkEAmbOBEFkh9OASx0huoEkqYTFxAZHzOAX2Oh5uwAUuL2rUddqfM0SA+KPXV2TbzoZ2kvQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/regjsgen@0.8.0':
+ resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==}
+
+ '@babel/runtime@7.24.5':
+ resolution: {integrity: sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/template@7.24.0':
+ resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/traverse@7.24.5':
+ resolution: {integrity: sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/types@7.24.5':
+ resolution: {integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@base2/pretty-print-object@1.0.1':
+ resolution: {integrity: sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==}
+
+ '@bcoe/v8-coverage@0.2.3':
+ resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
+
+ '@biomejs/biome@1.8.0':
+ resolution: {integrity: sha512-34xcE2z8GWrIz1sCFEmlHT/+4d+SN7YOqqvzlAKXKvaWPRJ2/NUwxPbRsP01P9QODkQ5bvGvc9rpBihmP+7RJQ==}
+ engines: {node: '>=14.21.3'}
+ hasBin: true
+
+ '@biomejs/cli-darwin-arm64@1.8.0':
+ resolution: {integrity: sha512-dBAYzfIJ1JmWigKlWourT3sJ3I60LZPjqNwwlsyFjiv5AV7vPeWlHVVIImV2BpINwNjZQhpXnwDfVnGS4vr7AA==}
+ engines: {node: '>=14.21.3'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@biomejs/cli-darwin-x64@1.8.0':
+ resolution: {integrity: sha512-ZTTSD0bP0nn9UpRDGQrQNTILcYSj+IkxTYr3CAV64DWBDtQBomlk2oVKWzDaA1LOhpAsTh0giLCbPJaVk2jfMQ==}
+ engines: {node: '>=14.21.3'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@biomejs/cli-linux-arm64-musl@1.8.0':
+ resolution: {integrity: sha512-+ee/pZWsvhDv6eRI00krRNSgAg8DKSxzOv3LUsCjto6N1VzqatTASeQv2HRfG1nitf79rRKM75LkMJbqEfiKww==}
+ engines: {node: '>=14.21.3'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@biomejs/cli-linux-arm64@1.8.0':
+ resolution: {integrity: sha512-cx725jTlJS6dskvJJwwCQaaMRBKE2Qss7ukzmx27Rn/DXRxz6tnnBix4FUGPf1uZfwrERkiJlbWM05JWzpvvXg==}
+ engines: {node: '>=14.21.3'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@biomejs/cli-linux-x64-musl@1.8.0':
+ resolution: {integrity: sha512-VPA4ocrAOak50VYl8gOAVnjuFFDpIUolShntc/aWM0pZfSIMbRucxnrfUfp44EVwayxjK6ruJTR5xEWj93WvDA==}
+ engines: {node: '>=14.21.3'}
+ cpu: [x64]
+ os: [linux]
+
+ '@biomejs/cli-linux-x64@1.8.0':
+ resolution: {integrity: sha512-cmgmhlD4QUxMhL1VdaNqnB81xBHb3R7huVNyYnPYzP+AykZ7XqJbPd1KcWAszNjUk2AHdx0aLKEBwCOWemxb2g==}
+ engines: {node: '>=14.21.3'}
+ cpu: [x64]
+ os: [linux]
+
+ '@biomejs/cli-win32-arm64@1.8.0':
+ resolution: {integrity: sha512-J31spvlh39FfRHQacYXxJX9PvTCH/a8+2Jx9D1lxw+LSF0JybqZcw/4JrlFUWUl4kF3yv8AuYUK0sENScc3g9w==}
+ engines: {node: '>=14.21.3'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@biomejs/cli-win32-x64@1.8.0':
+ resolution: {integrity: sha512-uPHHvu76JC1zYe9zZDcOU9PAg+1MZmPuNgWkb5jljaDeATvzLFPB+0nuJTilf603LXL+E8IdPQAO61Wy2VuEJA==}
+ engines: {node: '>=14.21.3'}
+ cpu: [x64]
+ os: [win32]
+
+ '@cnakazawa/watch@1.0.4':
+ resolution: {integrity: sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==}
+ engines: {node: '>=0.1.95'}
+ hasBin: true
+
+ '@colors/colors@1.5.0':
+ resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==}
+ engines: {node: '>=0.1.90'}
+
+ '@discoveryjs/json-ext@0.5.7':
+ resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==}
+ engines: {node: '>=10.0.0'}
+
+ '@emotion/is-prop-valid@0.8.8':
+ resolution: {integrity: sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==}
+
+ '@emotion/memoize@0.7.4':
+ resolution: {integrity: sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==}
+
+ '@formatjs/ecma402-abstract@1.18.2':
+ resolution: {integrity: sha512-+QoPW4csYALsQIl8GbN14igZzDbuwzcpWrku9nyMXlaqAlwRBgl5V+p0vWMGFqHOw37czNXaP/lEk4wbLgcmtA==}
+
+ '@formatjs/fast-memoize@2.2.0':
+ resolution: {integrity: sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA==}
+
+ '@formatjs/icu-messageformat-parser@2.7.6':
+ resolution: {integrity: sha512-etVau26po9+eewJKYoiBKP6743I1br0/Ie00Pb/S/PtmYfmjTcOn2YCh2yNkSZI12h6Rg+BOgQYborXk46BvkA==}
+
+ '@formatjs/icu-skeleton-parser@1.8.0':
+ resolution: {integrity: sha512-QWLAYvM0n8hv7Nq5BEs4LKIjevpVpbGLAJgOaYzg9wABEoX1j0JO1q2/jVkO6CVlq0dbsxZCngS5aXbysYueqA==}
+
+ '@formatjs/intl-displaynames@6.6.6':
+ resolution: {integrity: sha512-Dg5URSjx0uzF8VZXtHb6KYZ6LFEEhCbAbKoYChYHEOnMFTw/ZU3jIo/NrujzQD2EfKPgQzIq73LOUvW6Z/LpFA==}
+
+ '@formatjs/intl-listformat@7.5.5':
+ resolution: {integrity: sha512-XoI52qrU6aBGJC9KJddqnacuBbPlb/bXFN+lIFVFhQ1RnFHpzuFrlFdjD9am2O7ZSYsyqzYRpkVcXeT1GHkwDQ==}
+
+ '@formatjs/intl-localematcher@0.5.4':
+ resolution: {integrity: sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g==}
+
+ '@formatjs/intl@2.10.2':
+ resolution: {integrity: sha512-raPGWr3JRv3neXV78SqPFrGC05fIbhhNzVghHNxFde27ls2KkXiMhtP7HBybjGpikVSjjhdhaZto+4p1vmm9bQ==}
+ peerDependencies:
+ typescript: ^4.7 || 5
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ '@gar/promisify@1.1.3':
+ resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==}
+
+ '@isaacs/cliui@8.0.2':
+ resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
+ engines: {node: '>=12'}
+
+ '@istanbuljs/load-nyc-config@1.1.0':
+ resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==}
+ engines: {node: '>=8'}
+
+ '@istanbuljs/schema@0.1.3':
+ resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
+ engines: {node: '>=8'}
+
+ '@jest/console@27.5.1':
+ resolution: {integrity: sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ '@jest/core@27.5.1':
+ resolution: {integrity: sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+
+ '@jest/environment@27.5.1':
+ resolution: {integrity: sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ '@jest/fake-timers@27.5.1':
+ resolution: {integrity: sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ '@jest/globals@27.5.1':
+ resolution: {integrity: sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ '@jest/reporters@27.5.1':
+ resolution: {integrity: sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+
+ '@jest/source-map@27.5.1':
+ resolution: {integrity: sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ '@jest/test-result@27.5.1':
+ resolution: {integrity: sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ '@jest/test-sequencer@27.5.1':
+ resolution: {integrity: sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ '@jest/transform@26.6.2':
+ resolution: {integrity: sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==}
+ engines: {node: '>= 10.14.2'}
+
+ '@jest/transform@27.5.1':
+ resolution: {integrity: sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ '@jest/types@26.6.2':
+ resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==}
+ engines: {node: '>= 10.14.2'}
+
+ '@jest/types@27.5.1':
+ resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ '@jridgewell/gen-mapping@0.3.5':
+ resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
+ engines: {node: '>=6.0.0'}
+
+ '@jridgewell/resolve-uri@3.1.2':
+ resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
+ engines: {node: '>=6.0.0'}
+
+ '@jridgewell/set-array@1.2.1':
+ resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
+ engines: {node: '>=6.0.0'}
+
+ '@jridgewell/source-map@0.3.6':
+ resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==}
+
+ '@jridgewell/sourcemap-codec@1.4.15':
+ resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
+
+ '@jridgewell/trace-mapping@0.3.25':
+ resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
+
+ '@mdx-js/mdx@1.6.22':
+ resolution: {integrity: sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==}
+
+ '@mdx-js/react@1.6.22':
+ resolution: {integrity: sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==}
+ peerDependencies:
+ react: ^16.13.1 || ^17.0.0
+
+ '@mdx-js/util@1.6.22':
+ resolution: {integrity: sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==}
+
+ '@mrmlnc/readdir-enhanced@2.2.1':
+ resolution: {integrity: sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==}
+ engines: {node: '>=4'}
+
+ '@nodelib/fs.scandir@2.1.5':
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
+ engines: {node: '>= 8'}
+
+ '@nodelib/fs.stat@1.1.3':
+ resolution: {integrity: sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==}
+ engines: {node: '>= 6'}
+
+ '@nodelib/fs.stat@2.0.5':
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
+
+ '@nodelib/fs.walk@1.2.8':
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+ engines: {node: '>= 8'}
+
+ '@npmcli/fs@1.1.1':
+ resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==}
+
+ '@npmcli/move-file@1.1.2':
+ resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==}
+ engines: {node: '>=10'}
+ deprecated: This functionality has been moved to @npmcli/fs
+
+ '@pkgjs/parseargs@0.11.0':
+ resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
+ engines: {node: '>=14'}
+
+ '@pmmmwh/react-refresh-webpack-plugin@0.5.13':
+ resolution: {integrity: sha512-odZVYXly+JwzYri9rKqqUAk0cY6zLpv4dxoKinhoJNShV36Gpxf+CyDIILJ4tYsJ1ZxIWs233Y39iVnynvDA/g==}
+ engines: {node: '>= 10.13'}
+ peerDependencies:
+ '@types/webpack': 4.x || 5.x
+ react-refresh: '>=0.10.0 <1.0.0'
+ sockjs-client: ^1.4.0
+ type-fest: '>=0.17.0 <5.0.0'
+ webpack: '>=4.43.0 <6.0.0'
+ webpack-dev-server: 3.x || 4.x || 5.x
+ webpack-hot-middleware: 2.x
+ webpack-plugin-serve: 0.x || 1.x
+ peerDependenciesMeta:
+ '@types/webpack':
+ optional: true
+ sockjs-client:
+ optional: true
+ type-fest:
+ optional: true
+ webpack-dev-server:
+ optional: true
+ webpack-hot-middleware:
+ optional: true
+ webpack-plugin-serve:
+ optional: true
+
+ '@rollup/plugin-commonjs@21.1.0':
+ resolution: {integrity: sha512-6ZtHx3VHIp2ReNNDxHjuUml6ur+WcQ28N1yHgCQwsbNkQg2suhxGMDQGJOn/KuDxKtd1xuZP5xSTwBA4GQ8hbA==}
+ engines: {node: '>= 8.0.0'}
+ peerDependencies:
+ rollup: ^2.38.3
+
+ '@rollup/plugin-node-resolve@13.3.0':
+ resolution: {integrity: sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==}
+ engines: {node: '>= 10.0.0'}
+ peerDependencies:
+ rollup: ^2.42.0
+
+ '@rollup/pluginutils@3.1.0':
+ resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==}
+ engines: {node: '>= 8.0.0'}
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0
+
+ '@rollup/pluginutils@4.2.1':
+ resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
+ engines: {node: '>= 8.0.0'}
+
+ '@sinonjs/commons@1.8.6':
+ resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==}
+
+ '@sinonjs/fake-timers@8.1.0':
+ resolution: {integrity: sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==}
+
+ '@storybook/addon-actions@6.5.16':
+ resolution: {integrity: sha512-aADjilFmuD6TNGz2CRPSupnyiA/IGkPJHDBTqMpsDXTUr8xnuD122xkIhg6UxmCM2y1c+ncwYXy3WPK2xXK57g==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ react:
+ optional: true
+ react-dom:
+ optional: true
+
+ '@storybook/addon-backgrounds@6.5.16':
+ resolution: {integrity: sha512-t7qooZ892BruhilFmzYPbysFwpULt/q4zYXNSmKVbAYta8UVvitjcU4F18p8FpWd9WvhiTr0SDlyhNZuzvDfug==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ react:
+ optional: true
+ react-dom:
+ optional: true
+
+ '@storybook/addon-controls@6.5.16':
+ resolution: {integrity: sha512-kShSGjq1MjmmyL3l8i+uPz6yddtf82mzys0l82VKtcuyjrr5944wYFJ5NTXMfZxrO/U6FeFsfuFZE/k6ex3EMg==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ react:
+ optional: true
+ react-dom:
+ optional: true
+
+ '@storybook/addon-docs@6.5.16':
+ resolution: {integrity: sha512-QM9WDZG9P02UvbzLu947a8ZngOrQeAKAT8jCibQFM/+RJ39xBlfm8rm+cQy3dm94wgtjmVkA3mKGOV/yrrsddg==}
+ peerDependencies:
+ '@storybook/mdx2-csf': ^0.0.3
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ '@storybook/mdx2-csf':
+ optional: true
+ react:
+ optional: true
+ react-dom:
+ optional: true
+
+ '@storybook/addon-essentials@6.5.16':
+ resolution: {integrity: sha512-TeoMr6tEit4Pe91GH6f8g/oar1P4M0JL9S6oMcFxxrhhtOGO7XkWD5EnfyCx272Ok2VYfE58FNBTGPNBVIqYKQ==}
+ peerDependencies:
+ '@babel/core': ^7.9.6
+ '@storybook/angular': '*'
+ '@storybook/builder-manager4': '*'
+ '@storybook/builder-manager5': '*'
+ '@storybook/builder-webpack4': '*'
+ '@storybook/builder-webpack5': '*'
+ '@storybook/html': '*'
+ '@storybook/vue': '*'
+ '@storybook/vue3': '*'
+ '@storybook/web-components': '*'
+ lit: '*'
+ lit-html: '*'
+ react: '*'
+ react-dom: '*'
+ svelte: '*'
+ sveltedoc-parser: '*'
+ vue: '*'
+ webpack: '*'
+ peerDependenciesMeta:
+ '@storybook/angular':
+ optional: true
+ '@storybook/builder-manager4':
+ optional: true
+ '@storybook/builder-manager5':
+ optional: true
+ '@storybook/builder-webpack4':
+ optional: true
+ '@storybook/builder-webpack5':
+ optional: true
+ '@storybook/html':
+ optional: true
+ '@storybook/vue':
+ optional: true
+ '@storybook/vue3':
+ optional: true
+ '@storybook/web-components':
+ optional: true
+ lit:
+ optional: true
+ lit-html:
+ optional: true
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ svelte:
+ optional: true
+ sveltedoc-parser:
+ optional: true
+ vue:
+ optional: true
+ webpack:
+ optional: true
+
+ '@storybook/addon-measure@6.5.16':
+ resolution: {integrity: sha512-DMwnXkmM2L6POTh4KaOWvOAtQ2p9Tr1UUNxz6VXiN5cKFohpCs6x0txdLU5WN8eWIq0VFsO7u5ZX34CGCc6gCg==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ react:
+ optional: true
+ react-dom:
+ optional: true
+
+ '@storybook/addon-outline@6.5.16':
+ resolution: {integrity: sha512-0du96nha4qltexO0Xq1xB7LeRSbqjC9XqtZLflXG7/X3ABoPD2cXgOV97eeaXUodIyb2qYBbHUfftBeA75x0+w==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ react:
+ optional: true
+ react-dom:
+ optional: true
+
+ '@storybook/addon-postcss@2.0.0':
+ resolution: {integrity: sha512-Nt82A7e9zJH4+A+VzLKKswUfru+T6FJTakj4dccP0i8DSn7a0CkzRPrLuZBq8tg4voV6gD74bcDf3gViCVBGtA==}
+ engines: {node: '>=10', yarn: ^1.17.0}
+
+ '@storybook/addon-toolbars@6.5.16':
+ resolution: {integrity: sha512-y3PuUKiwOWrAvqx1YdUvArg0UaAwmboXFeR2bkrowk1xcT+xnRO3rML4npFeUl26OQ1FzwxX/cw6nknREBBLEA==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ react:
+ optional: true
+ react-dom:
+ optional: true
+
+ '@storybook/addon-viewport@6.5.16':
+ resolution: {integrity: sha512-1Vyqf1U6Qng6TXlf4SdqUKyizlw1Wn6+qW8YeA2q1lbkJqn3UlnHXIp8Q0t/5q1dK5BFtREox3+jkGwbJrzkmA==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ peerDependenciesMeta:
+ react:
+ optional: true
+ react-dom:
+ optional: true
+
+ '@storybook/addons@6.5.16':
+ resolution: {integrity: sha512-p3DqQi+8QRL5k7jXhXmJZLsE/GqHqyY6PcoA1oNTJr0try48uhTGUOYkgzmqtDaa/qPFO5LP+xCPzZXckGtquQ==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+
+ '@storybook/api@6.5.16':
+ resolution: {integrity: sha512-HOsuT8iomqeTMQJrRx5U8nsC7lJTwRr1DhdD0SzlqL4c80S/7uuCy4IZvOt4sYQjOzW5fOo/kamcoBXyLproTA==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+
+ '@storybook/builder-webpack4@6.5.16':
+ resolution: {integrity: sha512-YqDIrVNsUo8r9xc6AxsYDLxVYtMgl5Bxk+8/h1adsOko+jAFhdg6hOcAVxEmoSI0TMASOOVMFlT2hr23ppN2rQ==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ '@storybook/channel-postmessage@6.5.16':
+ resolution: {integrity: sha512-fZZSN29dsUArWOx7e7lTdMA9+7zijVwCwbvi2Fo4fqhRLh1DsTb/VXfz1FKMCWAjNlcX7QQvV25tnxbqsD6lyw==}
+
+ '@storybook/channel-websocket@6.5.16':
+ resolution: {integrity: sha512-wJg2lpBjmRC2GJFzmhB9kxlh109VE58r/0WhFtLbwKvPqsvGf82xkBEl6BtBCvIQ4stzYnj/XijjA8qSi2zpOg==}
+
+ '@storybook/channels@6.5.16':
+ resolution: {integrity: sha512-VylzaWQZaMozEwZPJdyJoz+0jpDa8GRyaqu9TGG6QGv+KU5POoZaGLDkRE7TzWkyyP0KQLo80K99MssZCpgSeg==}
+
+ '@storybook/client-api@6.5.16':
+ resolution: {integrity: sha512-i3UwkzzUFw8I+E6fOcgB5sc4oU2fhvaKnqC1mpd9IYGJ9JN9MnGIaVl3Ko28DtFItu/QabC9JsLIJVripFLktQ==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+
+ '@storybook/client-logger@6.5.16':
+ resolution: {integrity: sha512-pxcNaCj3ItDdicPTXTtmYJE3YC1SjxFrBmHcyrN+nffeNyiMuViJdOOZzzzucTUG0wcOOX8jaSyak+nnHg5H1Q==}
+
+ '@storybook/components@6.5.16':
+ resolution: {integrity: sha512-LzBOFJKITLtDcbW9jXl0/PaG+4xAz25PK8JxPZpIALbmOpYWOAPcO6V9C2heX6e6NgWFMUxjplkULEk9RCQMNA==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+
+ '@storybook/core-client@6.5.16':
+ resolution: {integrity: sha512-14IRaDrVtKrQ+gNWC0wPwkCNfkZOKghYV/swCUnQX3rP99defsZK8Hc7xHIYoAiOP5+sc3sweRAxgmFiJeQ1Ig==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ typescript: '*'
+ webpack: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ '@storybook/core-common@6.5.16':
+ resolution: {integrity: sha512-2qtnKP3TTOzt2cp6LXKRTh7XrI9z5VanMnMTgeoFcA5ebnndD4V6BExQUdYPClE/QooLx6blUWNgS9dFEpjSqQ==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ '@storybook/core-events@6.5.16':
+ resolution: {integrity: sha512-qMZQwmvzpH5F2uwNUllTPg6eZXr2OaYZQRRN8VZJiuorZzDNdAFmiVWMWdkThwmyLEJuQKXxqCL8lMj/7PPM+g==}
+
+ '@storybook/core-server@6.5.16':
+ resolution: {integrity: sha512-/3NPfmNyply395Dm0zaVZ8P9aruwO+tPx4D6/jpw8aqrRSwvAMndPMpoMCm0NXcpSm5rdX+Je4S3JW6JcggFkA==}
+ peerDependencies:
+ '@storybook/builder-webpack5': '*'
+ '@storybook/manager-webpack5': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ '@storybook/builder-webpack5':
+ optional: true
+ '@storybook/manager-webpack5':
+ optional: true
+ typescript:
+ optional: true
+
+ '@storybook/core@6.5.16':
+ resolution: {integrity: sha512-CEF3QFTsm/VMnMKtRNr4rRdLeIkIG0g1t26WcmxTdSThNPBd8CsWzQJ7Jqu7CKiut+MU4A1LMOwbwCE5F2gmyA==}
+ peerDependencies:
+ '@storybook/builder-webpack5': '*'
+ '@storybook/manager-webpack5': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ typescript: '*'
+ webpack: '*'
+ peerDependenciesMeta:
+ '@storybook/builder-webpack5':
+ optional: true
+ '@storybook/manager-webpack5':
+ optional: true
+ typescript:
+ optional: true
+
+ '@storybook/csf-tools@6.5.16':
+ resolution: {integrity: sha512-+WD4sH/OwAfXZX3IN6/LOZ9D9iGEFcN+Vvgv9wOsLRgsAZ10DG/NK6c1unXKDM/ogJtJYccNI8Hd+qNE/GFV6A==}
+ peerDependencies:
+ '@storybook/mdx2-csf': ^0.0.3
+ peerDependenciesMeta:
+ '@storybook/mdx2-csf':
+ optional: true
+
+ '@storybook/csf@0.0.2--canary.4566f4d.1':
+ resolution: {integrity: sha512-9OVvMVh3t9znYZwb0Svf/YQoxX2gVOeQTGe2bses2yj+a3+OJnCrUF3/hGv6Em7KujtOdL2LL+JnG49oMVGFgQ==}
+
+ '@storybook/docs-tools@6.5.16':
+ resolution: {integrity: sha512-o+rAWPRGifjBF5xZzTKOqnHN3XQWkl0QFJYVDIiJYJrVll7ExCkpEq/PahOGzIBBV+tpMstJgmKM3lr/lu/jmg==}
+
+ '@storybook/manager-webpack4@6.5.16':
+ resolution: {integrity: sha512-5VJZwmQU6AgdsBPsYdu886UKBHQ9SJEnFMaeUxKEclXk+iRsmbzlL4GHKyVd6oGX/ZaecZtcHPR6xrzmA4Ziew==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ '@storybook/mdx1-csf@0.0.1':
+ resolution: {integrity: sha512-4biZIWWzoWlCarMZmTpqcJNgo/RBesYZwGFbQeXiGYsswuvfWARZnW9RE9aUEMZ4XPn7B1N3EKkWcdcWe/K2tg==}
+
+ '@storybook/node-logger@6.5.16':
+ resolution: {integrity: sha512-YjhBKrclQtjhqFNSO+BZK+RXOx6EQypAELJKoLFaawg331e8VUfvUuRCNB3fcEWp8G9oH13PQQte0OTjLyyOYg==}
+
+ '@storybook/postinstall@6.5.16':
+ resolution: {integrity: sha512-08K2q+qN6pqyPW7PHLCZ5G5Xa6Wosd6t0F16PQ4abX2ItlJLabVoJN5mZ0gm/aeLTjD8QYr8IDvacu4eXh0SVA==}
+
+ '@storybook/preview-web@6.5.16':
+ resolution: {integrity: sha512-IJnvfe2sKCfk7apN9Fu9U8qibbarrPX5JB55ZzK1amSHVmSDuYk5MIMc/U3NnSQNnvd1DO5v/zMcGgj563hrtg==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+
+ '@storybook/react-docgen-typescript-plugin@1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0':
+ resolution: {integrity: sha512-eVg3BxlOm2P+chijHBTByr90IZVUtgRW56qEOLX7xlww2NBuKrcavBlcmn+HH7GIUktquWkMPtvy6e0W0NgA5w==}
+ peerDependencies:
+ typescript: '>= 3.x'
+ webpack: '>= 4'
+
+ '@storybook/react@6.5.16':
+ resolution: {integrity: sha512-cBtNlOzf/MySpNLBK22lJ8wFU22HnfTB2xJyBk7W7Zi71Lm7Uxkhv1Pz8HdiQndJ0SlsAAQOWjQYsSZsGkZIaA==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+ peerDependencies:
+ '@babel/core': ^7.11.5
+ '@storybook/builder-webpack4': '*'
+ '@storybook/builder-webpack5': '*'
+ '@storybook/manager-webpack4': '*'
+ '@storybook/manager-webpack5': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+ require-from-string: ^2.0.2
+ typescript: '*'
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+ '@storybook/builder-webpack4':
+ optional: true
+ '@storybook/builder-webpack5':
+ optional: true
+ '@storybook/manager-webpack4':
+ optional: true
+ '@storybook/manager-webpack5':
+ optional: true
+ typescript:
+ optional: true
+
+ '@storybook/router@6.5.16':
+ resolution: {integrity: sha512-ZgeP8a5YV/iuKbv31V8DjPxlV4AzorRiR8OuSt/KqaiYXNXlOoQDz/qMmiNcrshrfLpmkzoq7fSo4T8lWo2UwQ==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+
+ '@storybook/semver@7.3.2':
+ resolution: {integrity: sha512-SWeszlsiPsMI0Ps0jVNtH64cI5c0UF3f7KgjVKJoNP30crQ6wUSddY2hsdeczZXEKVJGEn50Q60flcGsQGIcrg==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ '@storybook/source-loader@6.5.16':
+ resolution: {integrity: sha512-fyVl4jrM/5JLrb48aqXPu7sTsmySQaVGFp1zfeqvPPlJRFMastDrePm5XGPN7Qjv1wsKmpuBvuweFKOT1pru3g==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+
+ '@storybook/store@6.5.16':
+ resolution: {integrity: sha512-g+bVL5hmMq/9cM51K04e37OviUPHT0rHHrRm5wj/hrf18Kd9120b3sxdQ5Dc+HZ292yuME0n+cyrQPTYx9Epmw==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+
+ '@storybook/telemetry@6.5.16':
+ resolution: {integrity: sha512-CWr5Uko1l9jJW88yTXsZTj/3GTabPvw0o7pDPOXPp8JRZiJTxv1JFaFCafhK9UzYbgcRuGfCC8kEWPZims7iKA==}
+
+ '@storybook/theming@6.5.16':
+ resolution: {integrity: sha512-hNLctkjaYLRdk1+xYTkC1mg4dYz2wSv6SqbLpcKMbkPHTE0ElhddGPHQqB362md/w9emYXNkt1LSMD8Xk9JzVQ==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+
+ '@storybook/ui@6.5.16':
+ resolution: {integrity: sha512-rHn/n12WM8BaXtZ3IApNZCiS+C4Oc5+Lkl4MoctX8V7QSml0SxZBB5hsJ/AiWkgbRxjQpa/L/Nt7/Qw0FjTH/A==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
+
+ '@tailwindcss/typography@0.5.13':
+ resolution: {integrity: sha512-ADGcJ8dX21dVVHIwTRgzrcunY6YY9uSlAHHGVKvkA+vLc5qLwEszvKts40lx7z0qc4clpjclwLeK5rVCV2P/uw==}
+ peerDependencies:
+ tailwindcss: '>=3.0.0 || insiders'
+
+ '@testing-library/dom@8.20.1':
+ resolution: {integrity: sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==}
+ engines: {node: '>=12'}
+
+ '@testing-library/jest-dom@5.17.0':
+ resolution: {integrity: sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg==}
+ engines: {node: '>=8', npm: '>=6', yarn: '>=1'}
+
+ '@testing-library/react@12.1.5':
+ resolution: {integrity: sha512-OfTXCJUFgjd/digLUuPxa0+/3ZxsQmE7ub9kcbW/wi96Bh3o/p5vrETcBGfP17NWPGqeYYl5LTRpwyGoMC4ysg==}
+ engines: {node: '>=12'}
+ peerDependencies:
+ react: <18.0.0
+ react-dom: <18.0.0
+
+ '@tootallnate/once@1.1.2':
+ resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==}
+ engines: {node: '>= 6'}
+
+ '@trysound/sax@0.2.0':
+ resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
+ engines: {node: '>=10.13.0'}
+
+ '@types/aria-query@5.0.4':
+ resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==}
+
+ '@types/babel__core@7.20.5':
+ resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
+
+ '@types/babel__generator@7.6.8':
+ resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==}
+
+ '@types/babel__template@7.4.4':
+ resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
+
+ '@types/babel__traverse@7.20.5':
+ resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==}
+
+ '@types/bluebird@3.5.42':
+ resolution: {integrity: sha512-Jhy+MWRlro6UjVi578V/4ZGNfeCOcNCp0YaFNIUGFKlImowqwb1O/22wDVk3FDGMLqxdpOV3qQHD5fPEH4hK6A==}
+
+ '@types/cssnano@5.1.0':
+ resolution: {integrity: sha512-ikR+18UpFGgvaWSur4og6SJYF/6QEYHXvrIt36dp81p1MG3cAPTYDMBJGeyWa3LCnqEbgNMHKRb+FP0NrXtoWQ==}
+ deprecated: This is a stub types definition. cssnano provides its own type definitions, so you do not need this installed.
+
+ '@types/eslint-scope@3.7.7':
+ resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==}
+
+ '@types/eslint@8.56.10':
+ resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==}
+
+ '@types/estree@0.0.39':
+ resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==}
+
+ '@types/estree@0.0.51':
+ resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==}
+
+ '@types/estree@1.0.5':
+ resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
+
+ '@types/glob@7.2.0':
+ resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==}
+
+ '@types/glob@8.1.0':
+ resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==}
+
+ '@types/graceful-fs@4.1.9':
+ resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==}
+
+ '@types/hast@2.3.10':
+ resolution: {integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==}
+
+ '@types/hoist-non-react-statics@3.3.5':
+ resolution: {integrity: sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==}
+
+ '@types/html-minifier-terser@5.1.2':
+ resolution: {integrity: sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==}
+
+ '@types/is-function@1.0.3':
+ resolution: {integrity: sha512-/CLhCW79JUeLKznI6mbVieGbl4QU5Hfn+6udw1YHZoofASjbQ5zaP5LzAUZYDpRYEjS4/P+DhEgyJ/PQmGGTWw==}
+
+ '@types/istanbul-lib-coverage@2.0.6':
+ resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==}
+
+ '@types/istanbul-lib-report@3.0.3':
+ resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==}
+
+ '@types/istanbul-reports@3.0.4':
+ resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==}
+
+ '@types/jest@27.5.2':
+ resolution: {integrity: sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==}
+
+ '@types/js-cookie@2.2.7':
+ resolution: {integrity: sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA==}
+
+ '@types/json-schema@7.0.15':
+ resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
+
+ '@types/lodash@4.17.1':
+ resolution: {integrity: sha512-X+2qazGS3jxLAIz5JDXDzglAF3KpijdhFxlf/V1+hEsOUc+HnWi81L/uv/EvGuV90WY+7mPGFCUDGfQC3Gj95Q==}
+
+ '@types/mdast@3.0.15':
+ resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==}
+
+ '@types/minimatch@5.1.2':
+ resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==}
+
+ '@types/node-fetch@2.6.11':
+ resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==}
+
+ '@types/node@16.18.97':
+ resolution: {integrity: sha512-4muilE1Lbfn57unR+/nT9AFjWk0MtWi5muwCEJqnOvfRQDbSfLCUdN7vCIg8TYuaANfhLOV85ve+FNpiUsbSRg==}
+
+ '@types/node@20.12.11':
+ resolution: {integrity: sha512-vDg9PZ/zi+Nqp6boSOT7plNuthRugEKixDv5sFTIpkE89MmNtEArAShI4mxuX2+UrLEe9pxC1vm2cjm9YlWbJw==}
+
+ '@types/normalize-package-data@2.4.4':
+ resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
+
+ '@types/npmlog@4.1.6':
+ resolution: {integrity: sha512-0l3z16vnlJGl2Mi/rgJFrdwfLZ4jfNYgE6ZShEpjqhHuGTqdEzNles03NpYHwUMVYZa+Tj46UxKIEpE78lQ3DQ==}
+
+ '@types/parse-json@4.0.2':
+ resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==}
+
+ '@types/parse5@5.0.3':
+ resolution: {integrity: sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==}
+
+ '@types/prettier@2.7.3':
+ resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==}
+
+ '@types/pretty-hrtime@1.0.3':
+ resolution: {integrity: sha512-nj39q0wAIdhwn7DGUyT9irmsKK1tV0bd5WFEhgpqNTMFZ8cE+jieuTphCW0tfdm47S2zVT5mr09B28b1chmQMA==}
+
+ '@types/prop-types@15.7.12':
+ resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==}
+
+ '@types/qs@6.9.15':
+ resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==}
+
+ '@types/react-dom@17.0.25':
+ resolution: {integrity: sha512-urx7A7UxkZQmThYA4So0NelOVjx3V4rNFVJwp0WZlbIK5eM4rNJDiN3R/E9ix0MBh6kAEojk/9YL+Te6D9zHNA==}
+
+ '@types/react@17.0.80':
+ resolution: {integrity: sha512-LrgHIu2lEtIo8M7d1FcI3BdwXWoRQwMoXOZ7+dPTW0lYREjmlHl3P0U1VD0i/9tppOuv8/sam7sOjx34TxSFbA==}
+
+ '@types/resolve@1.17.1':
+ resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==}
+
+ '@types/scheduler@0.16.8':
+ resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==}
+
+ '@types/source-list-map@0.1.6':
+ resolution: {integrity: sha512-5JcVt1u5HDmlXkwOD2nslZVllBBc7HDuOICfiZah2Z0is8M8g+ddAEawbmd3VjedfDHBzxCaXLs07QEmb7y54g==}
+
+ '@types/stack-utils@2.0.3':
+ resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==}
+
+ '@types/tapable@1.0.12':
+ resolution: {integrity: sha512-bTHG8fcxEqv1M9+TD14P8ok8hjxoOCkfKc8XXLaaD05kI7ohpeI956jtDOD3XHKBQrlyPughUtzm1jtVhHpA5Q==}
+
+ '@types/testing-library__jest-dom@5.14.9':
+ resolution: {integrity: sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==}
+
+ '@types/uglify-js@3.17.5':
+ resolution: {integrity: sha512-TU+fZFBTBcXj/GpDpDaBmgWk/gn96kMZ+uocaFUlV2f8a6WdMzzI44QBCmGcCiYR0Y6ZlNRiyUyKKt5nl/lbzQ==}
+
+ '@types/unist@2.0.10':
+ resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==}
+
+ '@types/webpack-env@1.18.5':
+ resolution: {integrity: sha512-wz7kjjRRj8/Lty4B+Kr0LN6Ypc/3SymeCCGSbaXp2leH0ZVg/PriNiOwNj4bD4uphI7A8NXS4b6Gl373sfO5mA==}
+
+ '@types/webpack-sources@3.2.3':
+ resolution: {integrity: sha512-4nZOdMwSPHZ4pTEZzSp0AsTM4K7Qmu40UKW4tJDiOVs20UzYF9l+qUe4s0ftfN0pin06n+5cWWDJXH+sbhAiDw==}
+
+ '@types/webpack@4.41.38':
+ resolution: {integrity: sha512-oOW7E931XJU1mVfCnxCVgv8GLFL768pDO5u2Gzk82i8yTIgX6i7cntyZOkZYb/JtYM8252SN9bQp9tgkVDSsRw==}
+
+ '@types/yargs-parser@21.0.3':
+ resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==}
+
+ '@types/yargs@15.0.19':
+ resolution: {integrity: sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==}
+
+ '@types/yargs@16.0.9':
+ resolution: {integrity: sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==}
+
+ '@webassemblyjs/ast@1.12.1':
+ resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==}
+
+ '@webassemblyjs/ast@1.9.0':
+ resolution: {integrity: sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==}
+
+ '@webassemblyjs/floating-point-hex-parser@1.11.6':
+ resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==}
+
+ '@webassemblyjs/floating-point-hex-parser@1.9.0':
+ resolution: {integrity: sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==}
+
+ '@webassemblyjs/helper-api-error@1.11.6':
+ resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==}
+
+ '@webassemblyjs/helper-api-error@1.9.0':
+ resolution: {integrity: sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==}
+
+ '@webassemblyjs/helper-buffer@1.12.1':
+ resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==}
+
+ '@webassemblyjs/helper-buffer@1.9.0':
+ resolution: {integrity: sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==}
+
+ '@webassemblyjs/helper-code-frame@1.9.0':
+ resolution: {integrity: sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==}
+
+ '@webassemblyjs/helper-fsm@1.9.0':
+ resolution: {integrity: sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==}
+
+ '@webassemblyjs/helper-module-context@1.9.0':
+ resolution: {integrity: sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==}
+
+ '@webassemblyjs/helper-numbers@1.11.6':
+ resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==}
+
+ '@webassemblyjs/helper-wasm-bytecode@1.11.6':
+ resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==}
+
+ '@webassemblyjs/helper-wasm-bytecode@1.9.0':
+ resolution: {integrity: sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==}
+
+ '@webassemblyjs/helper-wasm-section@1.12.1':
+ resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==}
+
+ '@webassemblyjs/helper-wasm-section@1.9.0':
+ resolution: {integrity: sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==}
+
+ '@webassemblyjs/ieee754@1.11.6':
+ resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==}
+
+ '@webassemblyjs/ieee754@1.9.0':
+ resolution: {integrity: sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==}
+
+ '@webassemblyjs/leb128@1.11.6':
+ resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==}
+
+ '@webassemblyjs/leb128@1.9.0':
+ resolution: {integrity: sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==}
+
+ '@webassemblyjs/utf8@1.11.6':
+ resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==}
+
+ '@webassemblyjs/utf8@1.9.0':
+ resolution: {integrity: sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==}
+
+ '@webassemblyjs/wasm-edit@1.12.1':
+ resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==}
+
+ '@webassemblyjs/wasm-edit@1.9.0':
+ resolution: {integrity: sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==}
+
+ '@webassemblyjs/wasm-gen@1.12.1':
+ resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==}
+
+ '@webassemblyjs/wasm-gen@1.9.0':
+ resolution: {integrity: sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==}
+
+ '@webassemblyjs/wasm-opt@1.12.1':
+ resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==}
+
+ '@webassemblyjs/wasm-opt@1.9.0':
+ resolution: {integrity: sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==}
+
+ '@webassemblyjs/wasm-parser@1.12.1':
+ resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==}
+
+ '@webassemblyjs/wasm-parser@1.9.0':
+ resolution: {integrity: sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==}
+
+ '@webassemblyjs/wast-parser@1.9.0':
+ resolution: {integrity: sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==}
+
+ '@webassemblyjs/wast-printer@1.12.1':
+ resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==}
+
+ '@webassemblyjs/wast-printer@1.9.0':
+ resolution: {integrity: sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==}
+
+ '@xobotyi/scrollbar-width@1.9.5':
+ resolution: {integrity: sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ==}
+
+ '@xtuc/ieee754@1.2.0':
+ resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==}
+
+ '@xtuc/long@4.2.2':
+ resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
+
+ abab@2.0.6:
+ resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==}
+ deprecated: Use your platform's native atob() and btoa() methods instead
+
+ accepts@1.3.8:
+ resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
+ engines: {node: '>= 0.6'}
+
+ acorn-globals@6.0.0:
+ resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==}
+
+ acorn-import-assertions@1.9.0:
+ resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==}
+ peerDependencies:
+ acorn: ^8
+
+ acorn-jsx@5.3.2:
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+
+ acorn-walk@7.2.0:
+ resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==}
+ engines: {node: '>=0.4.0'}
+
+ acorn@6.4.2:
+ resolution: {integrity: sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ acorn@7.4.1:
+ resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ acorn@8.11.3:
+ resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ address@1.2.2:
+ resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==}
+ engines: {node: '>= 10.0.0'}
+
+ agent-base@6.0.2:
+ resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
+ engines: {node: '>= 6.0.0'}
+
+ aggregate-error@3.1.0:
+ resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==}
+ engines: {node: '>=8'}
+
+ airbnb-js-shims@2.2.1:
+ resolution: {integrity: sha512-wJNXPH66U2xjgo1Zwyjf9EydvJ2Si94+vSdk6EERcBfB2VZkeltpqIats0cqIZMLCXP3zcyaUKGYQeIBT6XjsQ==}
+
+ ajv-errors@1.0.1:
+ resolution: {integrity: sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==}
+ peerDependencies:
+ ajv: '>=5.0.0'
+
+ ajv-keywords@3.5.2:
+ resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==}
+ peerDependencies:
+ ajv: ^6.9.1
+
+ ajv@6.12.6:
+ resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+
+ ansi-align@3.0.1:
+ resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==}
+
+ ansi-colors@3.2.4:
+ resolution: {integrity: sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==}
+ engines: {node: '>=6'}
+
+ ansi-escapes@4.3.2:
+ resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
+ engines: {node: '>=8'}
+
+ ansi-html-community@0.0.8:
+ resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==}
+ engines: {'0': node >= 0.8.0}
+ hasBin: true
+
+ ansi-regex@2.1.1:
+ resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==}
+ engines: {node: '>=0.10.0'}
+
+ ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+ engines: {node: '>=8'}
+
+ ansi-regex@6.0.1:
+ resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
+ engines: {node: '>=12'}
+
+ ansi-styles@3.2.1:
+ resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
+ engines: {node: '>=4'}
+
+ ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
+
+ ansi-styles@5.2.0:
+ resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
+ engines: {node: '>=10'}
+
+ ansi-styles@6.2.1:
+ resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
+ engines: {node: '>=12'}
+
+ ansi-to-html@0.6.15:
+ resolution: {integrity: sha512-28ijx2aHJGdzbs+O5SNQF65r6rrKYnkuwTYm8lZlChuoJ9P1vVzIpWO20sQTqTPDXYp6NFwk326vApTtLVFXpQ==}
+ engines: {node: '>=8.0.0'}
+ hasBin: true
+
+ any-promise@1.3.0:
+ resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
+
+ anymatch@2.0.0:
+ resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==}
+
+ anymatch@3.1.3:
+ resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
+ engines: {node: '>= 8'}
+
+ app-root-dir@1.0.2:
+ resolution: {integrity: sha512-jlpIfsOoNoafl92Sz//64uQHGSyMrD2vYG5d8o2a4qGvyNCvXur7bzIsWtAC/6flI2RYAp3kv8rsfBtaLm7w0g==}
+
+ aproba@1.2.0:
+ resolution: {integrity: sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==}
+
+ aproba@2.0.0:
+ resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==}
+
+ are-we-there-yet@2.0.0:
+ resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==}
+ engines: {node: '>=10'}
+
+ arg@5.0.2:
+ resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
+
+ argparse@1.0.10:
+ resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
+
+ aria-query@5.1.3:
+ resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==}
+
+ aria-query@5.3.0:
+ resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
+
+ arr-diff@4.0.0:
+ resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==}
+ engines: {node: '>=0.10.0'}
+
+ arr-flatten@1.1.0:
+ resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==}
+ engines: {node: '>=0.10.0'}
+
+ arr-union@3.1.0:
+ resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==}
+ engines: {node: '>=0.10.0'}
+
+ array-buffer-byte-length@1.0.1:
+ resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
+ engines: {node: '>= 0.4'}
+
+ array-find-index@1.0.2:
+ resolution: {integrity: sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==}
+ engines: {node: '>=0.10.0'}
+
+ array-flatten@1.1.1:
+ resolution: {integrity: sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=}
+
+ array-includes@3.1.8:
+ resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==}
+ engines: {node: '>= 0.4'}
+
+ array-union@1.0.2:
+ resolution: {integrity: sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==}
+ engines: {node: '>=0.10.0'}
+
+ array-union@2.1.0:
+ resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
+ engines: {node: '>=8'}
+
+ array-uniq@1.0.3:
+ resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==}
+ engines: {node: '>=0.10.0'}
+
+ array-unique@0.3.2:
+ resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==}
+ engines: {node: '>=0.10.0'}
+
+ array.prototype.flat@1.3.2:
+ resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==}
+ engines: {node: '>= 0.4'}
+
+ array.prototype.flatmap@1.3.2:
+ resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==}
+ engines: {node: '>= 0.4'}
+
+ array.prototype.map@1.0.7:
+ resolution: {integrity: sha512-XpcFfLoBEAhezrrNw1V+yLXkE7M6uR7xJEsxbG6c/V9v043qurwVJB9r9UTnoSioFDoz1i1VOydpWGmJpfVZbg==}
+ engines: {node: '>= 0.4'}
+
+ array.prototype.reduce@1.0.7:
+ resolution: {integrity: sha512-mzmiUCVwtiD4lgxYP8g7IYy8El8p2CSMePvIbTS7gchKir/L1fgJrk0yDKmAX6mnRQFKNADYIk8nNlTris5H1Q==}
+ engines: {node: '>= 0.4'}
+
+ arraybuffer.prototype.slice@1.0.3:
+ resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==}
+ engines: {node: '>= 0.4'}
+
+ arrify@2.0.1:
+ resolution: {integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==}
+ engines: {node: '>=8'}
+
+ asn1.js@4.10.1:
+ resolution: {integrity: sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==}
+
+ assert@1.5.1:
+ resolution: {integrity: sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==}
+
+ assign-symbols@1.0.0:
+ resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==}
+ engines: {node: '>=0.10.0'}
+
+ ast-types@0.14.2:
+ resolution: {integrity: sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==}
+ engines: {node: '>=4'}
+
+ async-each@1.0.6:
+ resolution: {integrity: sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==}
+
+ asynckit@0.4.0:
+ resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
+
+ at-least-node@1.0.0:
+ resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==}
+ engines: {node: '>= 4.0.0'}
+
+ atob@2.1.2:
+ resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==}
+ engines: {node: '>= 4.5.0'}
+ hasBin: true
+
+ autoprefixer@10.4.19:
+ resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==}
+ engines: {node: ^10 || ^12 || >=14}
+ hasBin: true
+ peerDependencies:
+ postcss: ^8.1.0
+
+ autoprefixer@9.8.8:
+ resolution: {integrity: sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==}
+ hasBin: true
+
+ available-typed-arrays@1.0.7:
+ resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
+ engines: {node: '>= 0.4'}
+
+ babel-jest@27.5.1:
+ resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ peerDependencies:
+ '@babel/core': ^7.8.0
+
+ babel-loader@8.3.0:
+ resolution: {integrity: sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==}
+ engines: {node: '>= 8.9'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+ webpack: '>=2'
+
+ babel-plugin-add-react-displayname@0.0.5:
+ resolution: {integrity: sha512-LY3+Y0XVDYcShHHorshrDbt4KFWL4bSeniCtl4SYZbask+Syngk1uMPCeN9+nSiZo6zX5s0RTq/J9Pnaaf/KHw==}
+
+ babel-plugin-apply-mdx-type-prop@1.6.22:
+ resolution: {integrity: sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==}
+ peerDependencies:
+ '@babel/core': ^7.11.6
+
+ babel-plugin-extract-import-names@1.6.22:
+ resolution: {integrity: sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==}
+
+ babel-plugin-istanbul@6.1.1:
+ resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==}
+ engines: {node: '>=8'}
+
+ babel-plugin-jest-hoist@27.5.1:
+ resolution: {integrity: sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ babel-plugin-macros@3.1.0:
+ resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==}
+ engines: {node: '>=10', npm: '>=6'}
+
+ babel-plugin-polyfill-corejs2@0.4.11:
+ resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+
+ babel-plugin-polyfill-corejs3@0.1.7:
+ resolution: {integrity: sha512-u+gbS9bbPhZWEeyy1oR/YaaSpod/KDT07arZHb80aTpl8H5ZBq+uN1nN9/xtX7jQyfLdPfoqI4Rue/MQSWJquw==}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ babel-plugin-polyfill-corejs3@0.10.4:
+ resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+
+ babel-plugin-polyfill-regenerator@0.6.2:
+ resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+
+ babel-plugin-react-docgen@4.2.1:
+ resolution: {integrity: sha512-UQ0NmGHj/HAqi5Bew8WvNfCk8wSsmdgNd8ZdMjBCICtyCJCq9LiqgqvjCYe570/Wg7AQArSq1VQ60Dd/CHN7mQ==}
+
+ babel-plugin-transform-react-remove-prop-types@0.4.24:
+ resolution: {integrity: sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==}
+
+ babel-preset-current-node-syntax@1.0.1:
+ resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ babel-preset-jest@27.5.1:
+ resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ babel-preset-react-app@10.0.1:
+ resolution: {integrity: sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==}
+
+ bail@1.0.5:
+ resolution: {integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==}
+
+ balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+
+ base64-js@1.5.1:
+ resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
+
+ base@0.11.2:
+ resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==}
+ engines: {node: '>=0.10.0'}
+
+ better-opn@2.1.1:
+ resolution: {integrity: sha512-kIPXZS5qwyKiX/HcRvDYfmBQUa8XP17I0mYZZ0y4UhpYOSvtsLHDYqmomS+Mj20aDvD3knEiQ0ecQy2nhio3yA==}
+ engines: {node: '>8.0.0'}
+
+ big-integer@1.6.52:
+ resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==}
+ engines: {node: '>=0.6'}
+
+ big.js@5.2.2:
+ resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==}
+
+ binary-extensions@1.13.1:
+ resolution: {integrity: sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==}
+ engines: {node: '>=0.10.0'}
+
+ binary-extensions@2.3.0:
+ resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
+ engines: {node: '>=8'}
+
+ bindings@1.5.0:
+ resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==}
+
+ bluebird@3.7.2:
+ resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==}
+
+ bn.js@4.12.0:
+ resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==}
+
+ bn.js@5.2.1:
+ resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==}
+
+ body-parser@1.20.2:
+ resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==}
+ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+
+ boolbase@1.0.0:
+ resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
+
+ boxen@5.1.2:
+ resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==}
+ engines: {node: '>=10'}
+
+ bplist-parser@0.1.1:
+ resolution: {integrity: sha512-2AEM0FXy8ZxVLBuqX0hqt1gDwcnz2zygEkQ6zaD5Wko/sB9paUNwlpawrFtKeHUAQUOzjVy9AO4oeonqIHKA9Q==}
+
+ brace-expansion@1.1.11:
+ resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
+
+ brace-expansion@2.0.1:
+ resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
+
+ braces@2.3.2:
+ resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==}
+ engines: {node: '>=0.10.0'}
+
+ braces@3.0.2:
+ resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
+ engines: {node: '>=8'}
+
+ brorand@1.1.0:
+ resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==}
+
+ browser-process-hrtime@1.0.0:
+ resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==}
+
+ browserify-aes@1.2.0:
+ resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==}
+
+ browserify-cipher@1.0.1:
+ resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==}
+
+ browserify-des@1.0.2:
+ resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==}
+
+ browserify-rsa@4.1.0:
+ resolution: {integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==}
+
+ browserify-sign@4.2.3:
+ resolution: {integrity: sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==}
+ engines: {node: '>= 0.12'}
+
+ browserify-zlib@0.2.0:
+ resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==}
+
+ browserslist@4.23.0:
+ resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+
+ bs-logger@0.2.6:
+ resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==}
+ engines: {node: '>= 6'}
+
+ bser@2.1.1:
+ resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
+
+ buffer-from@1.1.2:
+ resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
+
+ buffer-xor@1.0.3:
+ resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==}
+
+ buffer@4.9.2:
+ resolution: {integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==}
+
+ builtin-modules@3.3.0:
+ resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
+ engines: {node: '>=6'}
+
+ builtin-status-codes@3.0.0:
+ resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==}
+
+ bytes@3.0.0:
+ resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==}
+ engines: {node: '>= 0.8'}
+
+ bytes@3.1.2:
+ resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
+ engines: {node: '>= 0.8'}
+
+ c8@7.14.0:
+ resolution: {integrity: sha512-i04rtkkcNcCf7zsQcSv/T9EbUn4RXQ6mropeMcjFOsQXQ0iGLAr/xT6TImQg4+U9hmNpN9XdvPkjUL1IzbgxJw==}
+ engines: {node: '>=10.12.0'}
+ hasBin: true
+
+ cacache@12.0.4:
+ resolution: {integrity: sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==}
+
+ cacache@15.3.0:
+ resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==}
+ engines: {node: '>= 10'}
+
+ cache-base@1.0.1:
+ resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==}
+ engines: {node: '>=0.10.0'}
+
+ call-bind@1.0.7:
+ resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
+ engines: {node: '>= 0.4'}
+
+ call-me-maybe@1.0.2:
+ resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==}
+
+ callsites@3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
+
+ camel-case@4.1.2:
+ resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==}
+
+ camelcase-css@2.0.1:
+ resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
+ engines: {node: '>= 6'}
+
+ camelcase-keys@2.1.0:
+ resolution: {integrity: sha512-bA/Z/DERHKqoEOrp+qeGKw1QlvEQkGZSc0XaY6VnTxZr+Kv1G5zFwttpjv8qxZ/sBPT4nthwZaAcsAZTJlSKXQ==}
+ engines: {node: '>=0.10.0'}
+
+ camelcase@2.1.1:
+ resolution: {integrity: sha512-DLIsRzJVBQu72meAKPkWQOLcujdXT32hwdfnkI1frSiSRMK1MofjKHf+MEx0SB6fjEFXL8fBDv1dKymBlOp4Qw==}
+ engines: {node: '>=0.10.0'}
+
+ camelcase@5.3.1:
+ resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
+ engines: {node: '>=6'}
+
+ camelcase@6.3.0:
+ resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
+ engines: {node: '>=10'}
+
+ caniuse-api@3.0.0:
+ resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
+
+ caniuse-lite@1.0.30001617:
+ resolution: {integrity: sha512-mLyjzNI9I+Pix8zwcrpxEbGlfqOkF9kM3ptzmKNw5tizSyYwMe+nGLTqMK9cO+0E+Bh6TsBxNAaHWEM8xwSsmA==}
+
+ capture-exit@2.0.0:
+ resolution: {integrity: sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==}
+ engines: {node: 6.* || 8.* || >= 10.*}
+
+ case-sensitive-paths-webpack-plugin@2.4.0:
+ resolution: {integrity: sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==}
+ engines: {node: '>=4'}
+
+ ccount@1.1.0:
+ resolution: {integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==}
+
+ chalk@2.4.2:
+ resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
+ engines: {node: '>=4'}
+
+ chalk@3.0.0:
+ resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==}
+ engines: {node: '>=8'}
+
+ chalk@4.1.2:
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
+ engines: {node: '>=10'}
+
+ char-regex@1.0.2:
+ resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==}
+ engines: {node: '>=10'}
+
+ character-entities-legacy@1.1.4:
+ resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==}
+
+ character-entities@1.2.4:
+ resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==}
+
+ character-reference-invalid@1.1.4:
+ resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==}
+
+ chokidar@2.1.8:
+ resolution: {integrity: sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==}
+ deprecated: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies
+
+ chokidar@3.6.0:
+ resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
+ engines: {node: '>= 8.10.0'}
+
+ chownr@1.1.4:
+ resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==}
+
+ chownr@2.0.0:
+ resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==}
+ engines: {node: '>=10'}
+
+ chrome-trace-event@1.0.3:
+ resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==}
+ engines: {node: '>=6.0'}
+
+ ci-info@2.0.0:
+ resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==}
+
+ ci-info@3.9.0:
+ resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
+ engines: {node: '>=8'}
+
+ cipher-base@1.0.4:
+ resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==}
+
+ cjs-module-lexer@1.3.1:
+ resolution: {integrity: sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==}
+
+ class-utils@0.3.6:
+ resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==}
+ engines: {node: '>=0.10.0'}
+
+ clean-css@4.2.4:
+ resolution: {integrity: sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==}
+ engines: {node: '>= 4.0'}
+
+ clean-stack@2.2.0:
+ resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
+ engines: {node: '>=6'}
+
+ cli-boxes@2.2.1:
+ resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==}
+ engines: {node: '>=6'}
+
+ cli-table3@0.6.4:
+ resolution: {integrity: sha512-Lm3L0p+/npIQWNIiyF/nAn7T5dnOwR3xNTHXYEBFBFVPXzCVNZ5lqEC/1eo/EVfpDsQ1I+TX4ORPQgp+UI0CRw==}
+ engines: {node: 10.* || >= 12.*}
+
+ cliui@7.0.4:
+ resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
+
+ clone-deep@4.0.1:
+ resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==}
+ engines: {node: '>=6'}
+
+ clsx@1.2.1:
+ resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==}
+ engines: {node: '>=6'}
+
+ co@4.6.0:
+ resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
+ engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
+
+ collapse-white-space@1.0.6:
+ resolution: {integrity: sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==}
+
+ collect-v8-coverage@1.0.2:
+ resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==}
+
+ collection-visit@1.0.0:
+ resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==}
+ engines: {node: '>=0.10.0'}
+
+ color-convert@1.9.3:
+ resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
+
+ color-convert@2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
+
+ color-name@1.1.3:
+ resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
+
+ color-name@1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+
+ color-support@1.1.3:
+ resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==}
+ hasBin: true
+
+ colord@2.9.3:
+ resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
+
+ combined-stream@1.0.8:
+ resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
+ engines: {node: '>= 0.8'}
+
+ comma-separated-tokens@1.0.8:
+ resolution: {integrity: sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==}
+
+ commander@2.20.3:
+ resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
+
+ commander@4.1.1:
+ resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
+ engines: {node: '>= 6'}
+
+ commander@6.2.1:
+ resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==}
+ engines: {node: '>= 6'}
+
+ commander@7.2.0:
+ resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
+ engines: {node: '>= 10'}
+
+ commondir@1.0.1:
+ resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
+
+ component-emitter@1.3.1:
+ resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==}
+
+ compressible@2.0.18:
+ resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==}
+ engines: {node: '>= 0.6'}
+
+ compression@1.7.4:
+ resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==}
+ engines: {node: '>= 0.8.0'}
+
+ concat-map@0.0.1:
+ resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=}
+
+ concat-stream@1.6.2:
+ resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==}
+ engines: {'0': node >= 0.8}
+
+ console-browserify@1.2.0:
+ resolution: {integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==}
+
+ console-control-strings@1.1.0:
+ resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==}
+
+ constants-browserify@1.0.0:
+ resolution: {integrity: sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==}
+
+ content-disposition@0.5.4:
+ resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
+ engines: {node: '>= 0.6'}
+
+ content-type@1.0.5:
+ resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
+ engines: {node: '>= 0.6'}
+
+ convert-source-map@1.9.0:
+ resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
+
+ convert-source-map@2.0.0:
+ resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
+
+ cookie-signature@1.0.6:
+ resolution: {integrity: sha1-4wOogrNCzD7oylE6eZmXNNqzriw=}
+
+ cookie@0.6.0:
+ resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}
+ engines: {node: '>= 0.6'}
+
+ copy-concurrently@1.0.5:
+ resolution: {integrity: sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==}
+
+ copy-descriptor@0.1.1:
+ resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==}
+ engines: {node: '>=0.10.0'}
+
+ copy-to-clipboard@3.3.3:
+ resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==}
+
+ core-js-compat@3.37.0:
+ resolution: {integrity: sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==}
+
+ core-js-pure@3.37.0:
+ resolution: {integrity: sha512-d3BrpyFr5eD4KcbRvQ3FTUx/KWmaDesr7+a3+1+P46IUnNoEt+oiLijPINZMEon7w9oGkIINWxrBAU9DEciwFQ==}
+
+ core-js@3.37.0:
+ resolution: {integrity: sha512-fu5vHevQ8ZG4og+LXug8ulUtVxjOcEYvifJr7L5Bfq9GOztVqsKd9/59hUk2ZSbCrS3BqUr3EpaYGIYzq7g3Ug==}
+
+ core-util-is@1.0.3:
+ resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
+
+ cosmiconfig@6.0.0:
+ resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==}
+ engines: {node: '>=8'}
+
+ cosmiconfig@7.1.0:
+ resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
+ engines: {node: '>=10'}
+
+ cp-file@7.0.0:
+ resolution: {integrity: sha512-0Cbj7gyvFVApzpK/uhCtQ/9kE9UnYpxMzaq5nQQC/Dh4iaj5fxp7iEFIullrYwzj8nf0qnsI1Qsx34hAeAebvw==}
+ engines: {node: '>=8'}
+
+ cpy@8.1.2:
+ resolution: {integrity: sha512-dmC4mUesv0OYH2kNFEidtf/skUwv4zePmGeepjyyJ0qTo5+8KhA1o99oIAwVVLzQMAeDJml74d6wPPKb6EZUTg==}
+ engines: {node: '>=8'}
+
+ create-ecdh@4.0.4:
+ resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==}
+
+ create-hash@1.2.0:
+ resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==}
+
+ create-hmac@1.1.7:
+ resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==}
+
+ cross-spawn@6.0.5:
+ resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==}
+ engines: {node: '>=4.8'}
+
+ cross-spawn@7.0.3:
+ resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
+ engines: {node: '>= 8'}
+
+ crypto-browserify@3.12.0:
+ resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==}
+
+ css-declaration-sorter@6.4.1:
+ resolution: {integrity: sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==}
+ engines: {node: ^10 || ^12 || >=14}
+ peerDependencies:
+ postcss: ^8.0.9
+
+ css-in-js-utils@3.1.0:
+ resolution: {integrity: sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==}
+
+ css-loader@3.6.0:
+ resolution: {integrity: sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==}
+ engines: {node: '>= 8.9.0'}
+ peerDependencies:
+ webpack: ^4.0.0 || ^5.0.0
+
+ css-select@4.3.0:
+ resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==}
+
+ css-tree@1.1.3:
+ resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==}
+ engines: {node: '>=8.0.0'}
+
+ css-what@6.1.0:
+ resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
+ engines: {node: '>= 6'}
+
+ css.escape@1.5.1:
+ resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==}
+
+ cssesc@3.0.0:
+ resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ cssnano-preset-default@5.2.14:
+ resolution: {integrity: sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ cssnano-utils@3.1.0:
+ resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ cssnano@5.1.15:
+ resolution: {integrity: sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ csso@4.2.0:
+ resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==}
+ engines: {node: '>=8.0.0'}
+
+ cssom@0.3.8:
+ resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==}
+
+ cssom@0.4.4:
+ resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==}
+
+ cssstyle@2.3.0:
+ resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==}
+ engines: {node: '>=8'}
+
+ csstype@3.1.3:
+ resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
+
+ currently-unhandled@0.4.1:
+ resolution: {integrity: sha512-/fITjgjGU50vjQ4FH6eUoYu+iUoUKIXws2hL15JJpIR+BbTxaXQsMuuyjtNh2WqsSBS5nsaZHFsFecyw5CCAng==}
+ engines: {node: '>=0.10.0'}
+
+ cyclist@1.0.2:
+ resolution: {integrity: sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==}
+
+ data-urls@2.0.0:
+ resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==}
+ engines: {node: '>=10'}
+
+ data-view-buffer@1.0.1:
+ resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==}
+ engines: {node: '>= 0.4'}
+
+ data-view-byte-length@1.0.1:
+ resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==}
+ engines: {node: '>= 0.4'}
+
+ data-view-byte-offset@1.0.0:
+ resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
+ engines: {node: '>= 0.4'}
+
+ date-fns@2.30.0:
+ resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==}
+ engines: {node: '>=0.11'}
+
+ debug@2.6.9:
+ resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ debug@3.2.7:
+ resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ debug@4.3.4:
+ resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ decamelize@1.2.0:
+ resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
+ engines: {node: '>=0.10.0'}
+
+ decimal.js@10.4.3:
+ resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==}
+
+ decode-uri-component@0.2.2:
+ resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==}
+ engines: {node: '>=0.10'}
+
+ dedent@0.7.0:
+ resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==}
+
+ deep-equal@2.2.3:
+ resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==}
+ engines: {node: '>= 0.4'}
+
+ deepmerge@4.3.1:
+ resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
+ engines: {node: '>=0.10.0'}
+
+ default-browser-id@1.0.4:
+ resolution: {integrity: sha512-qPy925qewwul9Hifs+3sx1ZYn14obHxpkX+mPD369w4Rzg+YkJBgi3SOvwUq81nWSjqGUegIgEPwD8u+HUnxlw==}
+ engines: {node: '>=0.10.0'}
+ hasBin: true
+
+ define-data-property@1.1.4:
+ resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
+ engines: {node: '>= 0.4'}
+
+ define-lazy-prop@2.0.0:
+ resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
+ engines: {node: '>=8'}
+
+ define-properties@1.2.1:
+ resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
+ engines: {node: '>= 0.4'}
+
+ define-property@0.2.5:
+ resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==}
+ engines: {node: '>=0.10.0'}
+
+ define-property@1.0.0:
+ resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==}
+ engines: {node: '>=0.10.0'}
+
+ define-property@2.0.2:
+ resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==}
+ engines: {node: '>=0.10.0'}
+
+ delayed-stream@1.0.0:
+ resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
+ engines: {node: '>=0.4.0'}
+
+ delegates@1.0.0:
+ resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==}
+
+ depd@2.0.0:
+ resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
+ engines: {node: '>= 0.8'}
+
+ dequal@2.0.3:
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
+ engines: {node: '>=6'}
+
+ des.js@1.1.0:
+ resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==}
+
+ destroy@1.2.0:
+ resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
+ engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
+
+ detab@2.0.4:
+ resolution: {integrity: sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g==}
+
+ detect-newline@3.1.0:
+ resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==}
+ engines: {node: '>=8'}
+
+ detect-package-manager@2.0.1:
+ resolution: {integrity: sha512-j/lJHyoLlWi6G1LDdLgvUtz60Zo5GEj+sVYtTVXnYLDPuzgC3llMxonXym9zIwhhUII8vjdw0LXxavpLqTbl1A==}
+ engines: {node: '>=12'}
+
+ detect-port@1.6.1:
+ resolution: {integrity: sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==}
+ engines: {node: '>= 4.0.0'}
+ hasBin: true
+
+ didyoumean@1.2.2:
+ resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
+
+ diff-sequences@27.5.1:
+ resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ diffie-hellman@5.0.3:
+ resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==}
+
+ dir-glob@2.2.2:
+ resolution: {integrity: sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==}
+ engines: {node: '>=4'}
+
+ dir-glob@3.0.1:
+ resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
+ engines: {node: '>=8'}
+
+ dlv@1.1.3:
+ resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
+
+ doctrine@3.0.0:
+ resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
+ engines: {node: '>=6.0.0'}
+
+ dom-accessibility-api@0.5.16:
+ resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==}
+
+ dom-converter@0.2.0:
+ resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==}
+
+ dom-serializer@1.4.1:
+ resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==}
+
+ dom-walk@0.1.2:
+ resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==}
+
+ domain-browser@1.2.0:
+ resolution: {integrity: sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==}
+ engines: {node: '>=0.4', npm: '>=1.2'}
+
+ domelementtype@2.3.0:
+ resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
+
+ domexception@2.0.1:
+ resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==}
+ engines: {node: '>=8'}
+ deprecated: Use your platform's native DOMException instead
+
+ domhandler@4.3.1:
+ resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==}
+ engines: {node: '>= 4'}
+
+ domutils@2.8.0:
+ resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==}
+
+ dot-case@3.0.4:
+ resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
+
+ dotenv-expand@5.1.0:
+ resolution: {integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==}
+
+ dotenv@8.6.0:
+ resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==}
+ engines: {node: '>=10'}
+
+ duplexify@3.7.1:
+ resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==}
+
+ eastasianwidth@0.2.0:
+ resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
+
+ ee-first@1.1.1:
+ resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=}
+
+ electron-to-chromium@1.4.763:
+ resolution: {integrity: sha512-k4J8NrtJ9QrvHLRo8Q18OncqBCB7tIUyqxRcJnlonQ0ioHKYB988GcDFF3ZePmnb8eHEopDs/wPHR/iGAFgoUQ==}
+
+ elliptic@6.5.5:
+ resolution: {integrity: sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==}
+
+ emittery@0.8.1:
+ resolution: {integrity: sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==}
+ engines: {node: '>=10'}
+
+ emoji-regex@8.0.0:
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+
+ emoji-regex@9.2.2:
+ resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+
+ emojis-list@3.0.0:
+ resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==}
+ engines: {node: '>= 4'}
+
+ encodeurl@1.0.2:
+ resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
+ engines: {node: '>= 0.8'}
+
+ end-of-stream@1.4.4:
+ resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
+
+ endent@2.1.0:
+ resolution: {integrity: sha512-r8VyPX7XL8U01Xgnb1CjZ3XV+z90cXIJ9JPE/R9SEC9vpw2P6CfsRPJmp20DppC5N7ZAMCmjYkJIa744Iyg96w==}
+
+ enhanced-resolve@4.5.0:
+ resolution: {integrity: sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==}
+ engines: {node: '>=6.9.0'}
+
+ enhanced-resolve@5.16.1:
+ resolution: {integrity: sha512-4U5pNsuDl0EhuZpq46M5xPslstkviJuhrdobaRDBk2Jy2KO37FDAJl4lb2KlNabxT0m4MTK2UHNrsAcphE8nyw==}
+ engines: {node: '>=10.13.0'}
+
+ entities@2.2.0:
+ resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
+
+ errno@0.1.8:
+ resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==}
+ hasBin: true
+
+ error-ex@1.3.2:
+ resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
+
+ error-stack-parser@2.1.4:
+ resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==}
+
+ es-abstract@1.23.3:
+ resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==}
+ engines: {node: '>= 0.4'}
+
+ es-array-method-boxes-properly@1.0.0:
+ resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==}
+
+ es-define-property@1.0.0:
+ resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
+ engines: {node: '>= 0.4'}
+
+ es-errors@1.3.0:
+ resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
+ engines: {node: '>= 0.4'}
+
+ es-get-iterator@1.1.3:
+ resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==}
+
+ es-module-lexer@1.5.2:
+ resolution: {integrity: sha512-l60ETUTmLqbVbVHv1J4/qj+M8nq7AwMzEcg3kmJDt9dCNrTk+yHcYFf/Kw75pMDwd9mPcIGCG5LcS20SxYRzFA==}
+
+ es-object-atoms@1.0.0:
+ resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==}
+ engines: {node: '>= 0.4'}
+
+ es-set-tostringtag@2.0.3:
+ resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==}
+ engines: {node: '>= 0.4'}
+
+ es-shim-unscopables@1.0.2:
+ resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==}
+
+ es-to-primitive@1.2.1:
+ resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
+ engines: {node: '>= 0.4'}
+
+ es5-shim@4.6.7:
+ resolution: {integrity: sha512-jg21/dmlrNQI7JyyA2w7n+yifSxBng0ZralnSfVZjoCawgNTCnS+yBCyVM9DL5itm7SUnDGgv7hcq2XCZX4iRQ==}
+ engines: {node: '>=0.4.0'}
+
+ es6-shim@0.35.8:
+ resolution: {integrity: sha512-Twf7I2v4/1tLoIXMT8HlqaBSS5H2wQTs2wx3MNYCI8K1R1/clXyCazrcVCPm/FuO9cyV8+leEaZOWD5C253NDg==}
+
+ escalade@3.1.2:
+ resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
+ engines: {node: '>=6'}
+
+ escape-html@1.0.3:
+ resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
+
+ escape-string-regexp@1.0.5:
+ resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
+ engines: {node: '>=0.8.0'}
+
+ escape-string-regexp@2.0.0:
+ resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==}
+ engines: {node: '>=8'}
+
+ escodegen@2.1.0:
+ resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==}
+ engines: {node: '>=6.0'}
+ hasBin: true
+
+ eslint-scope@4.0.3:
+ resolution: {integrity: sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==}
+ engines: {node: '>=4.0.0'}
+
+ eslint-scope@5.1.1:
+ resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
+ engines: {node: '>=8.0.0'}
+
+ esprima@4.0.1:
+ resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ esrecurse@4.3.0:
+ resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
+ engines: {node: '>=4.0'}
+
+ estraverse@4.3.0:
+ resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
+ engines: {node: '>=4.0'}
+
+ estraverse@5.3.0:
+ resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
+ engines: {node: '>=4.0'}
+
+ estree-to-babel@3.2.1:
+ resolution: {integrity: sha512-YNF+mZ/Wu2FU/gvmzuWtYc8rloubL7wfXCTgouFrnjGVXPA/EeYYA7pupXWrb3Iv1cTBeSSxxJIbK23l4MRNqg==}
+ engines: {node: '>=8.3.0'}
+
+ estree-walker@1.0.1:
+ resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==}
+
+ estree-walker@2.0.2:
+ resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+
+ esutils@2.0.3:
+ resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
+ engines: {node: '>=0.10.0'}
+
+ etag@1.8.1:
+ resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
+ engines: {node: '>= 0.6'}
+
+ eventemitter3@4.0.7:
+ resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
+
+ events@3.3.0:
+ resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
+ engines: {node: '>=0.8.x'}
+
+ evp_bytestokey@1.0.3:
+ resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==}
+
+ exec-sh@0.3.6:
+ resolution: {integrity: sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==}
+
+ execa@1.0.0:
+ resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==}
+ engines: {node: '>=6'}
+
+ execa@5.1.1:
+ resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
+ engines: {node: '>=10'}
+
+ exit@0.1.2:
+ resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==}
+ engines: {node: '>= 0.8.0'}
+
+ expand-brackets@2.1.4:
+ resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==}
+ engines: {node: '>=0.10.0'}
+
+ expect@27.5.1:
+ resolution: {integrity: sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ express@4.19.2:
+ resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==}
+ engines: {node: '>= 0.10.0'}
+
+ extend-shallow@2.0.1:
+ resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==}
+ engines: {node: '>=0.10.0'}
+
+ extend-shallow@3.0.2:
+ resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==}
+ engines: {node: '>=0.10.0'}
+
+ extend@3.0.2:
+ resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
+
+ extglob@2.0.4:
+ resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==}
+ engines: {node: '>=0.10.0'}
+
+ fast-deep-equal@3.1.3:
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+
+ fast-glob@2.2.7:
+ resolution: {integrity: sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==}
+ engines: {node: '>=4.0.0'}
+
+ fast-glob@3.3.2:
+ resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
+ engines: {node: '>=8.6.0'}
+
+ fast-json-parse@1.0.3:
+ resolution: {integrity: sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw==}
+
+ fast-json-stable-stringify@2.1.0:
+ resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
+
+ fast-loops@1.1.3:
+ resolution: {integrity: sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g==}
+
+ fast-shallow-equal@1.0.0:
+ resolution: {integrity: sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw==}
+
+ fastest-stable-stringify@2.0.2:
+ resolution: {integrity: sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q==}
+
+ fastq@1.17.1:
+ resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
+
+ fb-watchman@2.0.2:
+ resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==}
+
+ fetch-retry@5.0.6:
+ resolution: {integrity: sha512-3yurQZ2hD9VISAhJJP9bpYFNQrHHBXE2JxxjY5aLEcDi46RmAzJE2OC9FAde0yis5ElW0jTTzs0zfg/Cca4XqQ==}
+
+ figgy-pudding@3.5.2:
+ resolution: {integrity: sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==}
+ deprecated: This module is no longer supported.
+
+ file-loader@6.2.0:
+ resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==}
+ engines: {node: '>= 10.13.0'}
+ peerDependencies:
+ webpack: ^4.0.0 || ^5.0.0
+
+ file-system-cache@1.1.0:
+ resolution: {integrity: sha512-IzF5MBq+5CR0jXx5RxPe4BICl/oEhBSXKaL9fLhAXrIfIUS77Hr4vzrYyqYMHN6uTt+BOqi3fDCTjjEBCjERKw==}
+
+ file-uri-to-path@1.0.0:
+ resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==}
+
+ fill-range@4.0.0:
+ resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==}
+ engines: {node: '>=0.10.0'}
+
+ fill-range@7.0.1:
+ resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
+ engines: {node: '>=8'}
+
+ filter-obj@1.1.0:
+ resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==}
+ engines: {node: '>=0.10.0'}
+
+ finalhandler@1.2.0:
+ resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==}
+ engines: {node: '>= 0.8'}
+
+ find-cache-dir@2.1.0:
+ resolution: {integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==}
+ engines: {node: '>=6'}
+
+ find-cache-dir@3.3.2:
+ resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==}
+ engines: {node: '>=8'}
+
+ find-up@1.1.2:
+ resolution: {integrity: sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==}
+ engines: {node: '>=0.10.0'}
+
+ find-up@3.0.0:
+ resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==}
+ engines: {node: '>=6'}
+
+ find-up@4.1.0:
+ resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
+ engines: {node: '>=8'}
+
+ find-up@5.0.0:
+ resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
+ engines: {node: '>=10'}
+
+ flat-cache@3.2.0:
+ resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
+ engines: {node: ^10.12.0 || >=12.0.0}
+
+ flat@4.1.1:
+ resolution: {integrity: sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==}
+ hasBin: true
+
+ flatted@3.3.1:
+ resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
+
+ flush-write-stream@1.1.1:
+ resolution: {integrity: sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==}
+
+ for-each@0.3.3:
+ resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
+
+ for-in@1.0.2:
+ resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==}
+ engines: {node: '>=0.10.0'}
+
+ foreground-child@2.0.0:
+ resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==}
+ engines: {node: '>=8.0.0'}
+
+ foreground-child@3.1.1:
+ resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==}
+ engines: {node: '>=14'}
+
+ fork-ts-checker-webpack-plugin@4.1.6:
+ resolution: {integrity: sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==}
+ engines: {node: '>=6.11.5', yarn: '>=1.0.0'}
+ peerDependencies:
+ eslint: '>= 6'
+ typescript: '>= 2.7'
+ vue-template-compiler: '*'
+ webpack: '>= 4'
+ peerDependenciesMeta:
+ eslint:
+ optional: true
+ vue-template-compiler:
+ optional: true
+
+ fork-ts-checker-webpack-plugin@6.5.3:
+ resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==}
+ engines: {node: '>=10', yarn: '>=1.0.0'}
+ peerDependencies:
+ eslint: '>= 6'
+ typescript: '>= 2.7'
+ vue-template-compiler: '*'
+ webpack: '>= 4'
+ peerDependenciesMeta:
+ eslint:
+ optional: true
+ vue-template-compiler:
+ optional: true
+
+ form-data@3.0.1:
+ resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==}
+ engines: {node: '>= 6'}
+
+ form-data@4.0.0:
+ resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
+ engines: {node: '>= 6'}
+
+ forwarded@0.2.0:
+ resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
+ engines: {node: '>= 0.6'}
+
+ fraction.js@4.3.7:
+ resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
+
+ fragment-cache@0.2.1:
+ resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==}
+ engines: {node: '>=0.10.0'}
+
+ framer-motion@11.1.9:
+ resolution: {integrity: sha512-flECDIPV4QDNcOrDafVFiIazp8X01HFpzc01eDKJsdNH/wrATcYydJSH9JbPWMS8UD5lZlw+J1sK8LG2kICgqw==}
+ peerDependencies:
+ '@emotion/is-prop-valid': '*'
+ react: ^18.0.0
+ react-dom: ^18.0.0
+ peerDependenciesMeta:
+ '@emotion/is-prop-valid':
+ optional: true
+ react:
+ optional: true
+ react-dom:
+ optional: true
+
+ fresh@0.5.2:
+ resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
+ engines: {node: '>= 0.6'}
+
+ from2@2.3.0:
+ resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==}
+
+ fs-extra@10.1.0:
+ resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
+ engines: {node: '>=12'}
+
+ fs-extra@9.1.0:
+ resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==}
+ engines: {node: '>=10'}
+
+ fs-minipass@2.1.0:
+ resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==}
+ engines: {node: '>= 8'}
+
+ fs-monkey@1.0.6:
+ resolution: {integrity: sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==}
+
+ fs-write-stream-atomic@1.0.10:
+ resolution: {integrity: sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==}
+
+ fs.realpath@1.0.0:
+ resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
+
+ fsevents@1.2.13:
+ resolution: {integrity: sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==}
+ engines: {node: '>= 4.0'}
+ os: [darwin]
+ deprecated: The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2
+
+ fsevents@2.3.3:
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+
+ function-bind@1.1.2:
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+
+ function.prototype.name@1.1.6:
+ resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
+ engines: {node: '>= 0.4'}
+
+ functions-have-names@1.2.3:
+ resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
+
+ gauge@3.0.2:
+ resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==}
+ engines: {node: '>=10'}
+
+ gensync@1.0.0-beta.2:
+ resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
+ engines: {node: '>=6.9.0'}
+
+ get-caller-file@2.0.5:
+ resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
+ engines: {node: 6.* || 8.* || >= 10.*}
+
+ get-intrinsic@1.2.4:
+ resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
+ engines: {node: '>= 0.4'}
+
+ get-package-type@0.1.0:
+ resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==}
+ engines: {node: '>=8.0.0'}
+
+ get-stdin@4.0.1:
+ resolution: {integrity: sha512-F5aQMywwJ2n85s4hJPTT9RPxGmubonuB10MNYo17/xph174n2MIR33HRguhzVag10O/npM7SPk73LMZNP+FaWw==}
+ engines: {node: '>=0.10.0'}
+
+ get-stream@4.1.0:
+ resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==}
+ engines: {node: '>=6'}
+
+ get-stream@6.0.1:
+ resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
+ engines: {node: '>=10'}
+
+ get-symbol-description@1.0.2:
+ resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
+ engines: {node: '>= 0.4'}
+
+ get-value@2.0.6:
+ resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==}
+ engines: {node: '>=0.10.0'}
+
+ github-slugger@1.5.0:
+ resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==}
+
+ glob-parent@3.1.0:
+ resolution: {integrity: sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==}
+
+ glob-parent@5.1.2:
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
+ engines: {node: '>= 6'}
+
+ glob-parent@6.0.2:
+ resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
+ engines: {node: '>=10.13.0'}
+
+ glob-promise@3.4.0:
+ resolution: {integrity: sha512-q08RJ6O+eJn+dVanerAndJwIcumgbDdYiUT7zFQl3Wm1xD6fBKtah7H8ZJChj4wP+8C+QfeVy8xautR7rdmKEw==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ glob: '*'
+
+ glob-to-regexp@0.3.0:
+ resolution: {integrity: sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig==}
+
+ glob-to-regexp@0.4.1:
+ resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
+
+ glob@10.3.14:
+ resolution: {integrity: sha512-4fkAqu93xe9Mk7le9v0y3VrPDqLKHarNi2s4Pv7f2yOvfhWfhc7hRPHC/JyqMqb8B/Dt/eGS4n7ykwf3fOsl8g==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ hasBin: true
+
+ glob@7.2.3:
+ resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
+
+ global@4.4.0:
+ resolution: {integrity: sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==}
+
+ globals@11.12.0:
+ resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
+ engines: {node: '>=4'}
+
+ globalthis@1.0.4:
+ resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
+ engines: {node: '>= 0.4'}
+
+ globby@11.1.0:
+ resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
+ engines: {node: '>=10'}
+
+ globby@9.2.0:
+ resolution: {integrity: sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==}
+ engines: {node: '>=6'}
+
+ gopd@1.0.1:
+ resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
+
+ graceful-fs@4.2.11:
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+
+ handlebars@4.7.8:
+ resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==}
+ engines: {node: '>=0.4.7'}
+ hasBin: true
+
+ harmony-reflect@1.6.2:
+ resolution: {integrity: sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==}
+
+ has-bigints@1.0.2:
+ resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
+
+ has-flag@3.0.0:
+ resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
+ engines: {node: '>=4'}
+
+ has-flag@4.0.0:
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
+ engines: {node: '>=8'}
+
+ has-glob@1.0.0:
+ resolution: {integrity: sha512-D+8A457fBShSEI3tFCj65PAbT++5sKiFtdCdOam0gnfBgw9D277OERk+HM9qYJXmdVLZ/znez10SqHN0BBQ50g==}
+ engines: {node: '>=0.10.0'}
+
+ has-property-descriptors@1.0.2:
+ resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
+
+ has-proto@1.0.3:
+ resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
+ engines: {node: '>= 0.4'}
+
+ has-symbols@1.0.3:
+ resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
+ engines: {node: '>= 0.4'}
+
+ has-tostringtag@1.0.2:
+ resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
+ engines: {node: '>= 0.4'}
+
+ has-unicode@2.0.1:
+ resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==}
+
+ has-value@0.3.1:
+ resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==}
+ engines: {node: '>=0.10.0'}
+
+ has-value@1.0.0:
+ resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==}
+ engines: {node: '>=0.10.0'}
+
+ has-values@0.1.4:
+ resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==}
+ engines: {node: '>=0.10.0'}
+
+ has-values@1.0.0:
+ resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==}
+ engines: {node: '>=0.10.0'}
+
+ hash-base@3.0.4:
+ resolution: {integrity: sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==}
+ engines: {node: '>=4'}
+
+ hash-base@3.1.0:
+ resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==}
+ engines: {node: '>=4'}
+
+ hash.js@1.1.7:
+ resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==}
+
+ hasown@2.0.2:
+ resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
+ engines: {node: '>= 0.4'}
+
+ hast-to-hyperscript@9.0.1:
+ resolution: {integrity: sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==}
+
+ hast-util-from-parse5@6.0.1:
+ resolution: {integrity: sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==}
+
+ hast-util-parse-selector@2.2.5:
+ resolution: {integrity: sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==}
+
+ hast-util-raw@6.0.1:
+ resolution: {integrity: sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==}
+
+ hast-util-to-parse5@6.0.0:
+ resolution: {integrity: sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==}
+
+ hastscript@6.0.0:
+ resolution: {integrity: sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==}
+
+ he@1.2.0:
+ resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
+ hasBin: true
+
+ hmac-drbg@1.0.1:
+ resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==}
+
+ hoist-non-react-statics@3.3.2:
+ resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==}
+
+ hosted-git-info@2.8.9:
+ resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
+
+ html-encoding-sniffer@2.0.1:
+ resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==}
+ engines: {node: '>=10'}
+
+ html-entities@2.5.2:
+ resolution: {integrity: sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==}
+
+ html-escaper@2.0.2:
+ resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
+
+ html-minifier-terser@5.1.1:
+ resolution: {integrity: sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ html-tags@3.3.1:
+ resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==}
+ engines: {node: '>=8'}
+
+ html-void-elements@1.0.5:
+ resolution: {integrity: sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==}
+
+ html-webpack-plugin@4.5.2:
+ resolution: {integrity: sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A==}
+ engines: {node: '>=6.9'}
+ peerDependencies:
+ webpack: ^4.0.0 || ^5.0.0
+
+ htmlparser2@6.1.0:
+ resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==}
+
+ http-errors@2.0.0:
+ resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
+ engines: {node: '>= 0.8'}
+
+ http-proxy-agent@4.0.1:
+ resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==}
+ engines: {node: '>= 6'}
+
+ https-browserify@1.0.0:
+ resolution: {integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==}
+
+ https-proxy-agent@5.0.1:
+ resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
+ engines: {node: '>= 6'}
+
+ human-signals@2.1.0:
+ resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
+ engines: {node: '>=10.17.0'}
+
+ hyphenate-style-name@1.0.4:
+ resolution: {integrity: sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==}
+
+ iconv-lite@0.4.24:
+ resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
+ engines: {node: '>=0.10.0'}
+
+ icss-utils@4.1.1:
+ resolution: {integrity: sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==}
+ engines: {node: '>= 6'}
+
+ icss-utils@5.1.0:
+ resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+
+ identity-obj-proxy@3.0.0:
+ resolution: {integrity: sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==}
+ engines: {node: '>=4'}
+
+ ieee754@1.2.1:
+ resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
+
+ iferr@0.1.5:
+ resolution: {integrity: sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==}
+
+ ignore@4.0.6:
+ resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==}
+ engines: {node: '>= 4'}
+
+ ignore@5.3.1:
+ resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
+ engines: {node: '>= 4'}
+
+ import-fresh@3.3.0:
+ resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
+ engines: {node: '>=6'}
+
+ import-local@3.1.0:
+ resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==}
+ engines: {node: '>=8'}
+ hasBin: true
+
+ imurmurhash@0.1.4:
+ resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
+ engines: {node: '>=0.8.19'}
+
+ indent-string@2.1.0:
+ resolution: {integrity: sha512-aqwDFWSgSgfRaEwao5lg5KEcVd/2a+D1rvoG7NdilmYz0NwRk6StWpWdz/Hpk34MKPpx7s8XxUqimfcQK6gGlg==}
+ engines: {node: '>=0.10.0'}
+
+ indent-string@4.0.0:
+ resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
+ engines: {node: '>=8'}
+
+ infer-owner@1.0.4:
+ resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==}
+
+ inflight@1.0.6:
+ resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
+
+ inherits@2.0.3:
+ resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==}
+
+ inherits@2.0.4:
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+
+ inline-style-parser@0.1.1:
+ resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==}
+
+ inline-style-prefixer@7.0.0:
+ resolution: {integrity: sha512-I7GEdScunP1dQ6IM2mQWh6v0mOYdYmH3Bp31UecKdrcUgcURTcctSe1IECdUznSHKSmsHtjrT3CwCPI1pyxfUQ==}
+
+ internal-slot@1.0.7:
+ resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==}
+ engines: {node: '>= 0.4'}
+
+ interpret@2.2.0:
+ resolution: {integrity: sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==}
+ engines: {node: '>= 0.10'}
+
+ intl-messageformat@10.5.12:
+ resolution: {integrity: sha512-izl0uxhy/melhw8gP2r8pGiVieviZmM4v5Oqx3c1/R7g9cwER2smmGfSjcIsp8Y3Q53bfciL/gkxacJRx/dUvg==}
+
+ ip@2.0.1:
+ resolution: {integrity: sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==}
+
+ ipaddr.js@1.9.1:
+ resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
+ engines: {node: '>= 0.10'}
+
+ is-absolute-url@3.0.3:
+ resolution: {integrity: sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==}
+ engines: {node: '>=8'}
+
+ is-accessor-descriptor@1.0.1:
+ resolution: {integrity: sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==}
+ engines: {node: '>= 0.10'}
+
+ is-alphabetical@1.0.4:
+ resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==}
+
+ is-alphanumerical@1.0.4:
+ resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==}
+
+ is-arguments@1.1.1:
+ resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==}
+ engines: {node: '>= 0.4'}
+
+ is-array-buffer@3.0.4:
+ resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
+ engines: {node: '>= 0.4'}
+
+ is-arrayish@0.2.1:
+ resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
+
+ is-bigint@1.0.4:
+ resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
+
+ is-binary-path@1.0.1:
+ resolution: {integrity: sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==}
+ engines: {node: '>=0.10.0'}
+
+ is-binary-path@2.1.0:
+ resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
+ engines: {node: '>=8'}
+
+ is-boolean-object@1.1.2:
+ resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
+ engines: {node: '>= 0.4'}
+
+ is-buffer@1.1.6:
+ resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==}
+
+ is-buffer@2.0.5:
+ resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==}
+ engines: {node: '>=4'}
+
+ is-builtin-module@3.2.1:
+ resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==}
+ engines: {node: '>=6'}
+
+ is-callable@1.2.7:
+ resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
+ engines: {node: '>= 0.4'}
+
+ is-ci@2.0.0:
+ resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==}
+ hasBin: true
+
+ is-core-module@2.13.1:
+ resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
+
+ is-data-descriptor@1.0.1:
+ resolution: {integrity: sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==}
+ engines: {node: '>= 0.4'}
+
+ is-data-view@1.0.1:
+ resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==}
+ engines: {node: '>= 0.4'}
+
+ is-date-object@1.0.5:
+ resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
+ engines: {node: '>= 0.4'}
+
+ is-decimal@1.0.4:
+ resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==}
+
+ is-descriptor@0.1.7:
+ resolution: {integrity: sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==}
+ engines: {node: '>= 0.4'}
+
+ is-descriptor@1.0.3:
+ resolution: {integrity: sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==}
+ engines: {node: '>= 0.4'}
+
+ is-docker@2.2.1:
+ resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
+ engines: {node: '>=8'}
+ hasBin: true
+
+ is-dom@1.1.0:
+ resolution: {integrity: sha512-u82f6mvhYxRPKpw8V1N0W8ce1xXwOrQtgGcxl6UCL5zBmZu3is/18K0rR7uFCnMDuAsS/3W54mGL4vsaFUQlEQ==}
+
+ is-extendable@0.1.1:
+ resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==}
+ engines: {node: '>=0.10.0'}
+
+ is-extendable@1.0.1:
+ resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==}
+ engines: {node: '>=0.10.0'}
+
+ is-extglob@2.1.1:
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
+ engines: {node: '>=0.10.0'}
+
+ is-finite@1.1.0:
+ resolution: {integrity: sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==}
+ engines: {node: '>=0.10.0'}
+
+ is-fullwidth-code-point@3.0.0:
+ resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
+ engines: {node: '>=8'}
+
+ is-function@1.0.2:
+ resolution: {integrity: sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==}
+
+ is-generator-fn@2.1.0:
+ resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==}
+ engines: {node: '>=6'}
+
+ is-glob@3.1.0:
+ resolution: {integrity: sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==}
+ engines: {node: '>=0.10.0'}
+
+ is-glob@4.0.3:
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
+ engines: {node: '>=0.10.0'}
+
+ is-hexadecimal@1.0.4:
+ resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==}
+
+ is-map@2.0.3:
+ resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
+ engines: {node: '>= 0.4'}
+
+ is-module@1.0.0:
+ resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
+
+ is-negative-zero@2.0.3:
+ resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
+ engines: {node: '>= 0.4'}
+
+ is-number-object@1.0.7:
+ resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
+ engines: {node: '>= 0.4'}
+
+ is-number@3.0.0:
+ resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==}
+ engines: {node: '>=0.10.0'}
+
+ is-number@7.0.0:
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
+ engines: {node: '>=0.12.0'}
+
+ is-object@1.0.2:
+ resolution: {integrity: sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==}
+
+ is-plain-obj@2.1.0:
+ resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==}
+ engines: {node: '>=8'}
+
+ is-plain-object@2.0.4:
+ resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
+ engines: {node: '>=0.10.0'}
+
+ is-plain-object@5.0.0:
+ resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==}
+ engines: {node: '>=0.10.0'}
+
+ is-potential-custom-element-name@1.0.1:
+ resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
+
+ is-reference@1.2.1:
+ resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==}
+
+ is-regex@1.1.4:
+ resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
+ engines: {node: '>= 0.4'}
+
+ is-set@2.0.3:
+ resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==}
+ engines: {node: '>= 0.4'}
+
+ is-shared-array-buffer@1.0.3:
+ resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==}
+ engines: {node: '>= 0.4'}
+
+ is-stream@1.1.0:
+ resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==}
+ engines: {node: '>=0.10.0'}
+
+ is-stream@2.0.1:
+ resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
+ engines: {node: '>=8'}
+
+ is-string@1.0.7:
+ resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
+ engines: {node: '>= 0.4'}
+
+ is-symbol@1.0.4:
+ resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
+ engines: {node: '>= 0.4'}
+
+ is-typed-array@1.1.13:
+ resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
+ engines: {node: '>= 0.4'}
+
+ is-typedarray@1.0.0:
+ resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==}
+
+ is-utf8@0.2.1:
+ resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==}
+
+ is-weakmap@2.0.2:
+ resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==}
+ engines: {node: '>= 0.4'}
+
+ is-weakref@1.0.2:
+ resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
+
+ is-weakset@2.0.3:
+ resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==}
+ engines: {node: '>= 0.4'}
+
+ is-whitespace-character@1.0.4:
+ resolution: {integrity: sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==}
+
+ is-window@1.0.2:
+ resolution: {integrity: sha512-uj00kdXyZb9t9RcAUAwMZAnkBUwdYGhYlt7djMXhfyhUCzwNba50tIiBKR7q0l7tdoBtFVw/3JmLY6fI3rmZmg==}
+
+ is-windows@1.0.2:
+ resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==}
+ engines: {node: '>=0.10.0'}
+
+ is-word-character@1.0.4:
+ resolution: {integrity: sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==}
+
+ is-wsl@1.1.0:
+ resolution: {integrity: sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==}
+ engines: {node: '>=4'}
+
+ is-wsl@2.2.0:
+ resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
+ engines: {node: '>=8'}
+
+ isarray@1.0.0:
+ resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
+
+ isarray@2.0.5:
+ resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
+
+ isexe@2.0.0:
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+
+ isobject@2.1.0:
+ resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==}
+ engines: {node: '>=0.10.0'}
+
+ isobject@3.0.1:
+ resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
+ engines: {node: '>=0.10.0'}
+
+ isobject@4.0.0:
+ resolution: {integrity: sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==}
+ engines: {node: '>=0.10.0'}
+
+ isomorphic-unfetch@3.1.0:
+ resolution: {integrity: sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==}
+
+ istanbul-lib-coverage@3.2.2:
+ resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==}
+ engines: {node: '>=8'}
+
+ istanbul-lib-instrument@5.2.1:
+ resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==}
+ engines: {node: '>=8'}
+
+ istanbul-lib-report@3.0.1:
+ resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==}
+ engines: {node: '>=10'}
+
+ istanbul-lib-source-maps@4.0.1:
+ resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==}
+ engines: {node: '>=10'}
+
+ istanbul-reports@3.1.7:
+ resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==}
+ engines: {node: '>=8'}
+
+ iterate-iterator@1.0.2:
+ resolution: {integrity: sha512-t91HubM4ZDQ70M9wqp+pcNpu8OyJ9UAtXntT/Bcsvp5tZMnz9vRa+IunKXeI8AnfZMTv0jNuVEmGeLSMjVvfPw==}
+
+ iterate-value@1.0.2:
+ resolution: {integrity: sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==}
+
+ jackspeak@2.3.6:
+ resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
+ engines: {node: '>=14'}
+
+ jest-changed-files@27.5.1:
+ resolution: {integrity: sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-circus@27.5.1:
+ resolution: {integrity: sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-cli@27.5.1:
+ resolution: {integrity: sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ hasBin: true
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+
+ jest-config@27.5.1:
+ resolution: {integrity: sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ peerDependencies:
+ ts-node: '>=9.0.0'
+ peerDependenciesMeta:
+ ts-node:
+ optional: true
+
+ jest-diff@27.5.1:
+ resolution: {integrity: sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-docblock@27.5.1:
+ resolution: {integrity: sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-each@27.5.1:
+ resolution: {integrity: sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-environment-jsdom@27.5.1:
+ resolution: {integrity: sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-environment-node@27.5.1:
+ resolution: {integrity: sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-get-type@27.5.1:
+ resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-haste-map@26.6.2:
+ resolution: {integrity: sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==}
+ engines: {node: '>= 10.14.2'}
+
+ jest-haste-map@27.5.1:
+ resolution: {integrity: sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-jasmine2@27.5.1:
+ resolution: {integrity: sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-leak-detector@27.5.1:
+ resolution: {integrity: sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-matcher-utils@27.5.1:
+ resolution: {integrity: sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-message-util@27.5.1:
+ resolution: {integrity: sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-mock@27.5.1:
+ resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-pnp-resolver@1.2.3:
+ resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==}
+ engines: {node: '>=6'}
+ peerDependencies:
+ jest-resolve: '*'
+ peerDependenciesMeta:
+ jest-resolve:
+ optional: true
+
+ jest-regex-util@26.0.0:
+ resolution: {integrity: sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==}
+ engines: {node: '>= 10.14.2'}
+
+ jest-regex-util@27.5.1:
+ resolution: {integrity: sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-resolve-dependencies@27.5.1:
+ resolution: {integrity: sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-resolve@27.5.1:
+ resolution: {integrity: sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-runner@27.5.1:
+ resolution: {integrity: sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-runtime@27.5.1:
+ resolution: {integrity: sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-serializer@26.6.2:
+ resolution: {integrity: sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==}
+ engines: {node: '>= 10.14.2'}
+
+ jest-serializer@27.5.1:
+ resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-snapshot@27.5.1:
+ resolution: {integrity: sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-util@26.6.2:
+ resolution: {integrity: sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==}
+ engines: {node: '>= 10.14.2'}
+
+ jest-util@27.5.1:
+ resolution: {integrity: sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-validate@27.5.1:
+ resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-watcher@27.5.1:
+ resolution: {integrity: sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ jest-worker@26.6.2:
+ resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==}
+ engines: {node: '>= 10.13.0'}
+
+ jest-worker@27.5.1:
+ resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
+ engines: {node: '>= 10.13.0'}
+
+ jest@27.5.1:
+ resolution: {integrity: sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ hasBin: true
+ peerDependencies:
+ node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
+ peerDependenciesMeta:
+ node-notifier:
+ optional: true
+
+ jiti@1.21.0:
+ resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==}
+ hasBin: true
+
+ js-cookie@2.2.1:
+ resolution: {integrity: sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==}
+
+ js-string-escape@1.0.1:
+ resolution: {integrity: sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==}
+ engines: {node: '>= 0.8'}
+
+ js-tokens@4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+
+ js-yaml@3.14.1:
+ resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
+ hasBin: true
+
+ jsdom@16.7.0:
+ resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ canvas: ^2.5.0
+ peerDependenciesMeta:
+ canvas:
+ optional: true
+
+ jsesc@0.5.0:
+ resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==}
+ hasBin: true
+
+ jsesc@2.5.2:
+ resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ json-buffer@3.0.1:
+ resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
+
+ json-parse-better-errors@1.0.2:
+ resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==}
+
+ json-parse-even-better-errors@2.3.1:
+ resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
+
+ json-schema-traverse@0.4.1:
+ resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
+
+ json5@1.0.2:
+ resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
+ hasBin: true
+
+ json5@2.2.3:
+ resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ jsonfile@6.1.0:
+ resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
+
+ junk@3.1.0:
+ resolution: {integrity: sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==}
+ engines: {node: '>=8'}
+
+ keyv@4.5.4:
+ resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+
+ kind-of@3.2.2:
+ resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==}
+ engines: {node: '>=0.10.0'}
+
+ kind-of@4.0.0:
+ resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==}
+ engines: {node: '>=0.10.0'}
+
+ kind-of@6.0.3:
+ resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
+ engines: {node: '>=0.10.0'}
+
+ kleur@3.0.3:
+ resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
+ engines: {node: '>=6'}
+
+ klona@2.0.6:
+ resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==}
+ engines: {node: '>= 8'}
+
+ lazy-universal-dotenv@3.0.1:
+ resolution: {integrity: sha512-prXSYk799h3GY3iOWnC6ZigYzMPjxN2svgjJ9shk7oMadSNX3wXy0B6F32PMJv7qtMnrIbUxoEHzbutvxR2LBQ==}
+ engines: {node: '>=6.0.0', npm: '>=6.0.0', yarn: '>=1.0.0'}
+
+ leven@3.1.0:
+ resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
+ engines: {node: '>=6'}
+
+ lilconfig@2.1.0:
+ resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
+ engines: {node: '>=10'}
+
+ lilconfig@3.1.1:
+ resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==}
+ engines: {node: '>=14'}
+
+ lines-and-columns@1.2.4:
+ resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+
+ load-json-file@1.1.0:
+ resolution: {integrity: sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==}
+ engines: {node: '>=0.10.0'}
+
+ loader-runner@2.4.0:
+ resolution: {integrity: sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==}
+ engines: {node: '>=4.3.0 <5.0.0 || >=5.10'}
+
+ loader-runner@4.3.0:
+ resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==}
+ engines: {node: '>=6.11.5'}
+
+ loader-utils@1.4.2:
+ resolution: {integrity: sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==}
+ engines: {node: '>=4.0.0'}
+
+ loader-utils@2.0.4:
+ resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==}
+ engines: {node: '>=8.9.0'}
+
+ locate-path@3.0.0:
+ resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==}
+ engines: {node: '>=6'}
+
+ locate-path@5.0.0:
+ resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
+ engines: {node: '>=8'}
+
+ locate-path@6.0.0:
+ resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
+ engines: {node: '>=10'}
+
+ lodash.castarray@4.4.0:
+ resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==}
+
+ lodash.debounce@4.0.8:
+ resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
+
+ lodash.isplainobject@4.0.6:
+ resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==}
+
+ lodash.memoize@4.1.2:
+ resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==}
+
+ lodash.merge@4.6.2:
+ resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+
+ lodash.uniq@4.5.0:
+ resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==}
+
+ lodash@4.17.21:
+ resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
+
+ loose-envify@1.4.0:
+ resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
+ hasBin: true
+
+ loud-rejection@1.6.0:
+ resolution: {integrity: sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ==}
+ engines: {node: '>=0.10.0'}
+
+ lower-case@2.0.2:
+ resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
+
+ lru-cache@10.2.2:
+ resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==}
+ engines: {node: 14 || >=16.14}
+
+ lru-cache@5.1.1:
+ resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
+
+ lru-cache@6.0.0:
+ resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
+ engines: {node: '>=10'}
+
+ lz-string@1.5.0:
+ resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==}
+ hasBin: true
+
+ magic-string@0.25.9:
+ resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
+
+ make-dir@2.1.0:
+ resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==}
+ engines: {node: '>=6'}
+
+ make-dir@3.1.0:
+ resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
+ engines: {node: '>=8'}
+
+ make-dir@4.0.0:
+ resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
+ engines: {node: '>=10'}
+
+ make-error@1.3.6:
+ resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
+
+ makeerror@1.0.12:
+ resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
+
+ map-cache@0.2.2:
+ resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==}
+ engines: {node: '>=0.10.0'}
+
+ map-obj@1.0.1:
+ resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==}
+ engines: {node: '>=0.10.0'}
+
+ map-or-similar@1.5.0:
+ resolution: {integrity: sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg==}
+
+ map-visit@1.0.0:
+ resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==}
+ engines: {node: '>=0.10.0'}
+
+ markdown-escapes@1.0.4:
+ resolution: {integrity: sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==}
+
+ md5.js@1.3.5:
+ resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==}
+
+ mdast-squeeze-paragraphs@4.0.0:
+ resolution: {integrity: sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==}
+
+ mdast-util-definitions@4.0.0:
+ resolution: {integrity: sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==}
+
+ mdast-util-to-hast@10.0.1:
+ resolution: {integrity: sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==}
+
+ mdast-util-to-string@1.1.0:
+ resolution: {integrity: sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==}
+
+ mdn-data@2.0.14:
+ resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==}
+
+ mdurl@1.0.1:
+ resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==}
+
+ media-typer@0.3.0:
+ resolution: {integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=}
+ engines: {node: '>= 0.6'}
+
+ memfs@3.5.3:
+ resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==}
+ engines: {node: '>= 4.0.0'}
+
+ memoizerific@1.11.3:
+ resolution: {integrity: sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog==}
+
+ memory-fs@0.4.1:
+ resolution: {integrity: sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==}
+
+ memory-fs@0.5.0:
+ resolution: {integrity: sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==}
+ engines: {node: '>=4.3.0 <5.0.0 || >=5.10'}
+
+ meow@3.7.0:
+ resolution: {integrity: sha512-TNdwZs0skRlpPpCUK25StC4VH+tP5GgeY1HQOOGP+lQ2xtdkN2VtT/5tiX9k3IWpkBPV9b3LsAWXn4GGi/PrSA==}
+ engines: {node: '>=0.10.0'}
+
+ merge-descriptors@1.0.1:
+ resolution: {integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=}
+
+ merge-stream@2.0.0:
+ resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
+
+ merge2@1.4.1:
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
+ engines: {node: '>= 8'}
+
+ methods@1.1.2:
+ resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
+ engines: {node: '>= 0.6'}
+
+ microevent.ts@0.1.1:
+ resolution: {integrity: sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==}
+
+ micromatch@3.1.10:
+ resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==}
+ engines: {node: '>=0.10.0'}
+
+ micromatch@4.0.5:
+ resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
+ engines: {node: '>=8.6'}
+
+ miller-rabin@4.0.1:
+ resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==}
+ hasBin: true
+
+ mime-db@1.52.0:
+ resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
+ engines: {node: '>= 0.6'}
+
+ mime-types@2.1.35:
+ resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
+ engines: {node: '>= 0.6'}
+
+ mime@1.6.0:
+ resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ mime@2.6.0:
+ resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==}
+ engines: {node: '>=4.0.0'}
+ hasBin: true
+
+ mimic-fn@2.1.0:
+ resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
+ engines: {node: '>=6'}
+
+ min-document@2.19.0:
+ resolution: {integrity: sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==}
+
+ min-indent@1.0.1:
+ resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
+ engines: {node: '>=4'}
+
+ minimalistic-assert@1.0.1:
+ resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==}
+
+ minimalistic-crypto-utils@1.0.1:
+ resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==}
+
+ minimatch@3.1.2:
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+
+ minimatch@9.0.4:
+ resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+ minimist@1.2.8:
+ resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+
+ minipass-collect@1.0.2:
+ resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==}
+ engines: {node: '>= 8'}
+
+ minipass-flush@1.0.5:
+ resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==}
+ engines: {node: '>= 8'}
+
+ minipass-pipeline@1.2.4:
+ resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==}
+ engines: {node: '>=8'}
+
+ minipass@3.3.6:
+ resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==}
+ engines: {node: '>=8'}
+
+ minipass@5.0.0:
+ resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==}
+ engines: {node: '>=8'}
+
+ minipass@7.1.1:
+ resolution: {integrity: sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+ minizlib@2.1.2:
+ resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==}
+ engines: {node: '>= 8'}
+
+ mississippi@3.0.0:
+ resolution: {integrity: sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==}
+ engines: {node: '>=4.0.0'}
+
+ mixin-deep@1.3.2:
+ resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==}
+ engines: {node: '>=0.10.0'}
+
+ mkdirp@0.5.6:
+ resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
+ hasBin: true
+
+ mkdirp@1.0.4:
+ resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ move-concurrently@1.0.1:
+ resolution: {integrity: sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==}
+
+ ms@2.0.0:
+ resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
+
+ ms@2.1.1:
+ resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==}
+
+ ms@2.1.2:
+ resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
+
+ ms@2.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+
+ mz@2.7.0:
+ resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
+
+ nan@2.19.0:
+ resolution: {integrity: sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw==}
+
+ nano-css@5.6.1:
+ resolution: {integrity: sha512-T2Mhc//CepkTa3X4pUhKgbEheJHYAxD0VptuqFhDbGMUWVV2m+lkNiW/Ieuj35wrfC8Zm0l7HvssQh7zcEttSw==}
+ peerDependencies:
+ react: '*'
+ react-dom: '*'
+
+ nanoid@3.3.7:
+ resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+
+ nanomatch@1.2.13:
+ resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==}
+ engines: {node: '>=0.10.0'}
+
+ natural-compare@1.4.0:
+ resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+
+ negotiator@0.6.3:
+ resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
+ engines: {node: '>= 0.6'}
+
+ neo-async@2.6.2:
+ resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
+
+ nested-error-stacks@2.1.1:
+ resolution: {integrity: sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==}
+
+ nice-try@1.0.5:
+ resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==}
+
+ no-case@3.0.4:
+ resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
+
+ node-dir@0.1.17:
+ resolution: {integrity: sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==}
+ engines: {node: '>= 0.10.5'}
+
+ node-fetch@2.7.0:
+ resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
+ engines: {node: 4.x || >=6.0.0}
+ peerDependencies:
+ encoding: ^0.1.0
+ peerDependenciesMeta:
+ encoding:
+ optional: true
+
+ node-int64@0.4.0:
+ resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
+
+ node-libs-browser@2.2.1:
+ resolution: {integrity: sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==}
+
+ node-releases@2.0.14:
+ resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
+
+ normalize-package-data@2.5.0:
+ resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
+
+ normalize-path@2.1.1:
+ resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==}
+ engines: {node: '>=0.10.0'}
+
+ normalize-path@3.0.0:
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
+ engines: {node: '>=0.10.0'}
+
+ normalize-range@0.1.2:
+ resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
+ engines: {node: '>=0.10.0'}
+
+ normalize-url@6.1.0:
+ resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==}
+ engines: {node: '>=10'}
+
+ npm-run-path@2.0.2:
+ resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==}
+ engines: {node: '>=4'}
+
+ npm-run-path@4.0.1:
+ resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
+ engines: {node: '>=8'}
+
+ npmlog@5.0.1:
+ resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==}
+
+ nth-check@2.1.1:
+ resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
+
+ num2fraction@1.2.2:
+ resolution: {integrity: sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==}
+
+ nwsapi@2.2.9:
+ resolution: {integrity: sha512-2f3F0SEEer8bBu0dsNCFF50N0cTThV1nWFYcEYFZttdW0lDAoybv9cQoK7X7/68Z89S7FoRrVjP1LPX4XRf9vg==}
+
+ object-assign@4.1.1:
+ resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
+ engines: {node: '>=0.10.0'}
+
+ object-copy@0.1.0:
+ resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==}
+ engines: {node: '>=0.10.0'}
+
+ object-hash@3.0.0:
+ resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
+ engines: {node: '>= 6'}
+
+ object-inspect@1.13.1:
+ resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}
+
+ object-is@1.1.6:
+ resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==}
+ engines: {node: '>= 0.4'}
+
+ object-keys@1.1.1:
+ resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
+ engines: {node: '>= 0.4'}
+
+ object-visit@1.0.1:
+ resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==}
+ engines: {node: '>=0.10.0'}
+
+ object.assign@4.1.5:
+ resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==}
+ engines: {node: '>= 0.4'}
+
+ object.entries@1.1.8:
+ resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==}
+ engines: {node: '>= 0.4'}
+
+ object.fromentries@2.0.8:
+ resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==}
+ engines: {node: '>= 0.4'}
+
+ object.getownpropertydescriptors@2.1.8:
+ resolution: {integrity: sha512-qkHIGe4q0lSYMv0XI4SsBTJz3WaURhLvd0lKSgtVuOsJ2krg4SgMw3PIRQFMp07yi++UR3se2mkcLqsBNpBb/A==}
+ engines: {node: '>= 0.8'}
+
+ object.pick@1.3.0:
+ resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==}
+ engines: {node: '>=0.10.0'}
+
+ object.values@1.2.0:
+ resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==}
+ engines: {node: '>= 0.4'}
+
+ objectorarray@1.0.5:
+ resolution: {integrity: sha512-eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg==}
+
+ on-finished@2.4.1:
+ resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
+ engines: {node: '>= 0.8'}
+
+ on-headers@1.0.2:
+ resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==}
+ engines: {node: '>= 0.8'}
+
+ once@1.4.0:
+ resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+
+ onetime@5.1.2:
+ resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
+ engines: {node: '>=6'}
+
+ open@7.4.2:
+ resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==}
+ engines: {node: '>=8'}
+
+ open@8.4.2:
+ resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
+ engines: {node: '>=12'}
+
+ os-browserify@0.3.0:
+ resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==}
+
+ os-homedir@1.0.2:
+ resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==}
+ engines: {node: '>=0.10.0'}
+
+ p-all@2.1.0:
+ resolution: {integrity: sha512-HbZxz5FONzz/z2gJfk6bFca0BCiSRF8jU3yCsWOen/vR6lZjfPOu/e7L3uFzTW1i0H8TlC3vqQstEJPQL4/uLA==}
+ engines: {node: '>=6'}
+
+ p-event@4.2.0:
+ resolution: {integrity: sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==}
+ engines: {node: '>=8'}
+
+ p-filter@2.1.0:
+ resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==}
+ engines: {node: '>=8'}
+
+ p-finally@1.0.0:
+ resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==}
+ engines: {node: '>=4'}
+
+ p-limit@2.3.0:
+ resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
+ engines: {node: '>=6'}
+
+ p-limit@3.1.0:
+ resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
+ engines: {node: '>=10'}
+
+ p-locate@3.0.0:
+ resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==}
+ engines: {node: '>=6'}
+
+ p-locate@4.1.0:
+ resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
+ engines: {node: '>=8'}
+
+ p-locate@5.0.0:
+ resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
+ engines: {node: '>=10'}
+
+ p-map@2.1.0:
+ resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==}
+ engines: {node: '>=6'}
+
+ p-map@3.0.0:
+ resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==}
+ engines: {node: '>=8'}
+
+ p-map@4.0.0:
+ resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==}
+ engines: {node: '>=10'}
+
+ p-queue@6.6.2:
+ resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==}
+ engines: {node: '>=8'}
+
+ p-timeout@3.2.0:
+ resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==}
+ engines: {node: '>=8'}
+
+ p-try@2.2.0:
+ resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
+ engines: {node: '>=6'}
+
+ pako@1.0.11:
+ resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==}
+
+ parallel-transform@1.2.0:
+ resolution: {integrity: sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==}
+
+ param-case@3.0.4:
+ resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==}
+
+ parent-module@1.0.1:
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
+ engines: {node: '>=6'}
+
+ parse-asn1@5.1.7:
+ resolution: {integrity: sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==}
+ engines: {node: '>= 0.10'}
+
+ parse-entities@2.0.0:
+ resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==}
+
+ parse-json@2.2.0:
+ resolution: {integrity: sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==}
+ engines: {node: '>=0.10.0'}
+
+ parse-json@5.2.0:
+ resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
+ engines: {node: '>=8'}
+
+ parse5@6.0.1:
+ resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==}
+
+ parseurl@1.3.3:
+ resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
+ engines: {node: '>= 0.8'}
+
+ pascal-case@3.1.2:
+ resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==}
+
+ pascalcase@0.1.1:
+ resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==}
+ engines: {node: '>=0.10.0'}
+
+ path-browserify@0.0.1:
+ resolution: {integrity: sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==}
+
+ path-dirname@1.0.2:
+ resolution: {integrity: sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==}
+
+ path-exists@2.1.0:
+ resolution: {integrity: sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==}
+ engines: {node: '>=0.10.0'}
+
+ path-exists@3.0.0:
+ resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==}
+ engines: {node: '>=4'}
+
+ path-exists@4.0.0:
+ resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
+ engines: {node: '>=8'}
+
+ path-is-absolute@1.0.1:
+ resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
+ engines: {node: '>=0.10.0'}
+
+ path-key@2.0.1:
+ resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==}
+ engines: {node: '>=4'}
+
+ path-key@3.1.1:
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
+ engines: {node: '>=8'}
+
+ path-parse@1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+
+ path-scurry@1.11.0:
+ resolution: {integrity: sha512-LNHTaVkzaYaLGlO+0u3rQTz7QrHTFOuKyba9JMTQutkmtNew8dw8wOD7mTU/5fCPZzCWpfW0XnQKzY61P0aTaw==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+ path-to-regexp@0.1.7:
+ resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==}
+
+ path-type@1.1.0:
+ resolution: {integrity: sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==}
+ engines: {node: '>=0.10.0'}
+
+ path-type@3.0.0:
+ resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==}
+ engines: {node: '>=4'}
+
+ path-type@4.0.0:
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
+ engines: {node: '>=8'}
+
+ pbkdf2@3.1.2:
+ resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==}
+ engines: {node: '>=0.12'}
+
+ picocolors@0.2.1:
+ resolution: {integrity: sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==}
+
+ picocolors@1.0.0:
+ resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
+
+ picomatch@2.3.1:
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
+ engines: {node: '>=8.6'}
+
+ pify@2.3.0:
+ resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
+ engines: {node: '>=0.10.0'}
+
+ pify@3.0.0:
+ resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==}
+ engines: {node: '>=4'}
+
+ pify@4.0.1:
+ resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
+ engines: {node: '>=6'}
+
+ pinkie-promise@2.0.1:
+ resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==}
+ engines: {node: '>=0.10.0'}
+
+ pinkie@2.0.4:
+ resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==}
+ engines: {node: '>=0.10.0'}
+
+ pirates@4.0.6:
+ resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
+ engines: {node: '>= 6'}
+
+ pkg-dir@3.0.0:
+ resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==}
+ engines: {node: '>=6'}
+
+ pkg-dir@4.2.0:
+ resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
+ engines: {node: '>=8'}
+
+ pkg-dir@5.0.0:
+ resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==}
+ engines: {node: '>=10'}
+
+ pnp-webpack-plugin@1.6.4:
+ resolution: {integrity: sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==}
+ engines: {node: '>=6'}
+
+ polished@4.3.1:
+ resolution: {integrity: sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==}
+ engines: {node: '>=10'}
+
+ posix-character-classes@0.1.1:
+ resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==}
+ engines: {node: '>=0.10.0'}
+
+ possible-typed-array-names@1.0.0:
+ resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
+ engines: {node: '>= 0.4'}
+
+ postcss-calc@8.2.4:
+ resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==}
+ peerDependencies:
+ postcss: ^8.2.2
+
+ postcss-colormin@5.3.1:
+ resolution: {integrity: sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-convert-values@5.1.3:
+ resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-discard-comments@5.1.2:
+ resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-discard-duplicates@5.1.0:
+ resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-discard-empty@5.1.1:
+ resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-discard-overridden@5.1.0:
+ resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-flexbugs-fixes@4.2.1:
+ resolution: {integrity: sha512-9SiofaZ9CWpQWxOwRh1b/r85KD5y7GgvsNt1056k6OYLvWUun0czCvogfJgylC22uJTwW1KzY3Gz65NZRlvoiQ==}
+
+ postcss-import@15.1.0:
+ resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
+ engines: {node: '>=14.0.0'}
+ peerDependencies:
+ postcss: ^8.0.0
+
+ postcss-js@4.0.1:
+ resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
+ engines: {node: ^12 || ^14 || >= 16}
+ peerDependencies:
+ postcss: ^8.4.21
+
+ postcss-load-config@4.0.2:
+ resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
+ engines: {node: '>= 14'}
+ peerDependencies:
+ postcss: '>=8.0.9'
+ ts-node: '>=9.0.0'
+ peerDependenciesMeta:
+ postcss:
+ optional: true
+ ts-node:
+ optional: true
+
+ postcss-loader@4.3.0:
+ resolution: {integrity: sha512-M/dSoIiNDOo8Rk0mUqoj4kpGq91gcxCfb9PoyZVdZ76/AuhxylHDYZblNE8o+EQ9AMSASeMFEKxZf5aU6wlx1Q==}
+ engines: {node: '>= 10.13.0'}
+ peerDependencies:
+ postcss: ^7.0.0 || ^8.0.1
+ webpack: ^4.0.0 || ^5.0.0
+
+ postcss-merge-longhand@5.1.7:
+ resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-merge-rules@5.1.4:
+ resolution: {integrity: sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-minify-font-values@5.1.0:
+ resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-minify-gradients@5.1.1:
+ resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-minify-params@5.1.4:
+ resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-minify-selectors@5.2.1:
+ resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-modules-extract-imports@2.0.0:
+ resolution: {integrity: sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==}
+ engines: {node: '>= 6'}
+
+ postcss-modules-extract-imports@3.1.0:
+ resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+
+ postcss-modules-local-by-default@3.0.3:
+ resolution: {integrity: sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==}
+ engines: {node: '>= 6'}
+
+ postcss-modules-local-by-default@4.0.5:
+ resolution: {integrity: sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+
+ postcss-modules-scope@2.2.0:
+ resolution: {integrity: sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==}
+ engines: {node: '>= 6'}
+
+ postcss-modules-scope@3.2.0:
+ resolution: {integrity: sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+
+ postcss-modules-values@3.0.0:
+ resolution: {integrity: sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==}
+
+ postcss-modules-values@4.0.0:
+ resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==}
+ engines: {node: ^10 || ^12 || >= 14}
+ peerDependencies:
+ postcss: ^8.1.0
+
+ postcss-nested@6.0.1:
+ resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
+ engines: {node: '>=12.0'}
+ peerDependencies:
+ postcss: ^8.2.14
+
+ postcss-normalize-charset@5.1.0:
+ resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize-display-values@5.1.0:
+ resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize-positions@5.1.1:
+ resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize-repeat-style@5.1.1:
+ resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize-string@5.1.0:
+ resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize-timing-functions@5.1.0:
+ resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize-unicode@5.1.1:
+ resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize-url@5.1.0:
+ resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-normalize-whitespace@5.1.1:
+ resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-ordered-values@5.1.3:
+ resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-reduce-initial@5.1.2:
+ resolution: {integrity: sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-reduce-transforms@5.1.0:
+ resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-selector-parser@6.0.10:
+ resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==}
+ engines: {node: '>=4'}
+
+ postcss-selector-parser@6.0.16:
+ resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==}
+ engines: {node: '>=4'}
+
+ postcss-svgo@5.1.0:
+ resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-unique-selectors@5.1.1:
+ resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ postcss-value-parser@4.2.0:
+ resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+
+ postcss@7.0.39:
+ resolution: {integrity: sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==}
+ engines: {node: '>=6.0.0'}
+
+ postcss@8.4.38:
+ resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
+ engines: {node: ^10 || ^12 || >=14}
+
+ prettier@2.3.0:
+ resolution: {integrity: sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+
+ prettier@2.8.8:
+ resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+
+ pretty-error@2.1.2:
+ resolution: {integrity: sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==}
+
+ pretty-format@27.5.1:
+ resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+
+ pretty-hrtime@1.0.3:
+ resolution: {integrity: sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==}
+ engines: {node: '>= 0.8'}
+
+ process-nextick-args@2.0.1:
+ resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
+
+ process@0.11.10:
+ resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
+ engines: {node: '>= 0.6.0'}
+
+ promise-inflight@1.0.1:
+ resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==}
+ peerDependencies:
+ bluebird: '*'
+ peerDependenciesMeta:
+ bluebird:
+ optional: true
+
+ promise.allsettled@1.0.7:
+ resolution: {integrity: sha512-hezvKvQQmsFkOdrZfYxUxkyxl8mgFQeT259Ajj9PXdbg9VzBCWrItOev72JyWxkCD5VSSqAeHmlN3tWx4DlmsA==}
+ engines: {node: '>= 0.4'}
+
+ promise.prototype.finally@3.1.8:
+ resolution: {integrity: sha512-aVDtsXOml9iuMJzUco9J1je/UrIT3oMYfWkCTiUhkt+AvZw72q4dUZnR/R/eB3h5GeAagQVXvM1ApoYniJiwoA==}
+ engines: {node: '>= 0.4'}
+
+ prompts@2.4.2:
+ resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
+ engines: {node: '>= 6'}
+
+ prop-types@15.8.1:
+ resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
+
+ property-information@5.6.0:
+ resolution: {integrity: sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==}
+
+ proxy-addr@2.0.7:
+ resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
+ engines: {node: '>= 0.10'}
+
+ prr@1.0.1:
+ resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==}
+
+ psl@1.9.0:
+ resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==}
+
+ public-encrypt@4.0.3:
+ resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==}
+
+ pump@2.0.1:
+ resolution: {integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==}
+
+ pump@3.0.0:
+ resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==}
+
+ pumpify@1.5.1:
+ resolution: {integrity: sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==}
+
+ punycode@1.4.1:
+ resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==}
+
+ punycode@2.3.1:
+ resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
+ engines: {node: '>=6'}
+
+ qs@6.11.0:
+ resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==}
+ engines: {node: '>=0.6'}
+
+ qs@6.12.1:
+ resolution: {integrity: sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==}
+ engines: {node: '>=0.6'}
+
+ query-string@7.1.3:
+ resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==}
+ engines: {node: '>=6'}
+
+ querystring-es3@0.2.1:
+ resolution: {integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==}
+ engines: {node: '>=0.4.x'}
+
+ querystringify@2.2.0:
+ resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
+
+ queue-microtask@1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+
+ ramda@0.28.0:
+ resolution: {integrity: sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==}
+
+ randombytes@2.1.0:
+ resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
+
+ randomfill@1.0.4:
+ resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==}
+
+ range-parser@1.2.1:
+ resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
+ engines: {node: '>= 0.6'}
+
+ raw-body@2.5.2:
+ resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==}
+ engines: {node: '>= 0.8'}
+
+ raw-loader@4.0.2:
+ resolution: {integrity: sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==}
+ engines: {node: '>= 10.13.0'}
+ peerDependencies:
+ webpack: ^4.0.0 || ^5.0.0
+
+ react-docgen-typescript@2.2.2:
+ resolution: {integrity: sha512-tvg2ZtOpOi6QDwsb3GZhOjDkkX0h8Z2gipvTg6OVMUyoYoURhEiRNePT8NZItTVCDh39JJHnLdfCOkzoLbFnTg==}
+ peerDependencies:
+ typescript: '>= 4.3.x'
+
+ react-docgen@5.4.3:
+ resolution: {integrity: sha512-xlLJyOlnfr8lLEEeaDZ+X2J/KJoe6Nr9AzxnkdQWush5hz2ZSu66w6iLMOScMmxoSHWpWMn+k3v5ZiyCfcWsOA==}
+ engines: {node: '>=8.10.0'}
+ hasBin: true
+
+ react-dom@18.3.1:
+ resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
+ peerDependencies:
+ react: ^18.3.1
+
+ react-element-to-jsx-string@14.3.4:
+ resolution: {integrity: sha512-t4ZwvV6vwNxzujDQ+37bspnLwA4JlgUPWhLjBJWsNIDceAf6ZKUTCjdm08cN6WeZ5pTMKiCJkmAYnpmR4Bm+dg==}
+ peerDependencies:
+ react: ^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1
+ react-dom: ^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1
+
+ react-inspector@5.1.1:
+ resolution: {integrity: sha512-GURDaYzoLbW8pMGXwYPDBIv6nqei4kK7LPRZ9q9HCZF54wqXz/dnylBp/kfE9XmekBhHvLDdcYeyIwSrvtOiWg==}
+ peerDependencies:
+ react: ^16.8.4 || ^17.0.0
+
+ react-intl@6.6.6:
+ resolution: {integrity: sha512-dKXQNUrhZTlCp8uelYW8PHiM4saNKyLmHCfsJYWK0N/kZ/Ien35wjPHB8x9yQcTJbeN/hBOmb4x16iKUrdL9MA==}
+ peerDependencies:
+ react: ^16.6.0 || 17 || 18
+ typescript: ^4.7 || 5
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ react-is@16.13.1:
+ resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
+
+ react-is@17.0.2:
+ resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
+
+ react-refresh@0.11.0:
+ resolution: {integrity: sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==}
+ engines: {node: '>=0.10.0'}
+
+ react-spring@8.0.27:
+ resolution: {integrity: sha512-nDpWBe3ZVezukNRandTeLSPcwwTMjNVu1IDq9qA/AMiUqHuRN4BeSWvKr3eIxxg1vtiYiOLy4FqdfCP5IoP77g==}
+ peerDependencies:
+ react: '>= 16.8.0'
+ react-dom: '>= 16.8.0'
+
+ react-text-transition@1.3.0:
+ resolution: {integrity: sha512-RzMFH4K1Ez8yGeT2n1FgGfP3VY2x1z6wX3CBzj3xweFVkPzRHmYOfyO1fT2mWSgFebq4bZ0RJ1qWurfNu3Pqrw==}
+ peerDependencies:
+ react: '>=16.13.1'
+
+ react-universal-interface@0.6.2:
+ resolution: {integrity: sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw==}
+ peerDependencies:
+ react: '*'
+ tslib: '*'
+
+ react-use@17.5.0:
+ resolution: {integrity: sha512-PbfwSPMwp/hoL847rLnm/qkjg3sTRCvn6YhUZiHaUa3FA6/aNoFX79ul5Xt70O1rK+9GxSVqkY0eTwMdsR/bWg==}
+ peerDependencies:
+ react: '*'
+ react-dom: '*'
+
+ react@18.3.1:
+ resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
+ engines: {node: '>=0.10.0'}
+
+ read-cache@1.0.0:
+ resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
+
+ read-pkg-up@1.0.1:
+ resolution: {integrity: sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==}
+ engines: {node: '>=0.10.0'}
+
+ read-pkg-up@7.0.1:
+ resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
+ engines: {node: '>=8'}
+
+ read-pkg@1.1.0:
+ resolution: {integrity: sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==}
+ engines: {node: '>=0.10.0'}
+
+ read-pkg@5.2.0:
+ resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==}
+ engines: {node: '>=8'}
+
+ readable-stream@2.3.8:
+ resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
+
+ readable-stream@3.6.2:
+ resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
+ engines: {node: '>= 6'}
+
+ readdirp@2.2.1:
+ resolution: {integrity: sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==}
+ engines: {node: '>=0.10'}
+
+ readdirp@3.6.0:
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
+ engines: {node: '>=8.10.0'}
+
+ redent@1.0.0:
+ resolution: {integrity: sha512-qtW5hKzGQZqKoh6JNSD+4lfitfPKGz42e6QwiRmPM5mmKtR0N41AbJRYu0xJi7nhOJ4WDgRkKvAk6tw4WIwR4g==}
+ engines: {node: '>=0.10.0'}
+
+ redent@3.0.0:
+ resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==}
+ engines: {node: '>=8'}
+
+ regenerate-unicode-properties@10.1.1:
+ resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==}
+ engines: {node: '>=4'}
+
+ regenerate@1.4.2:
+ resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==}
+
+ regenerator-runtime@0.13.11:
+ resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
+
+ regenerator-runtime@0.14.1:
+ resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
+
+ regenerator-transform@0.15.2:
+ resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==}
+
+ regex-not@1.0.2:
+ resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==}
+ engines: {node: '>=0.10.0'}
+
+ regexp.prototype.flags@1.5.2:
+ resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==}
+ engines: {node: '>= 0.4'}
+
+ regexpu-core@5.3.2:
+ resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==}
+ engines: {node: '>=4'}
+
+ regjsparser@0.9.1:
+ resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==}
+ hasBin: true
+
+ relateurl@0.2.7:
+ resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==}
+ engines: {node: '>= 0.10'}
+
+ remark-external-links@8.0.0:
+ resolution: {integrity: sha512-5vPSX0kHoSsqtdftSHhIYofVINC8qmp0nctkeU9YoJwV3YfiBRiI6cbFRJ0oI/1F9xS+bopXG0m2KS8VFscuKA==}
+
+ remark-footnotes@2.0.0:
+ resolution: {integrity: sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==}
+
+ remark-mdx@1.6.22:
+ resolution: {integrity: sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==}
+
+ remark-parse@8.0.3:
+ resolution: {integrity: sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==}
+
+ remark-slug@6.1.0:
+ resolution: {integrity: sha512-oGCxDF9deA8phWvxFuyr3oSJsdyUAxMFbA0mZ7Y1Sas+emILtO+e5WutF9564gDsEN4IXaQXm5pFo6MLH+YmwQ==}
+
+ remark-squeeze-paragraphs@4.0.0:
+ resolution: {integrity: sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw==}
+
+ remove-trailing-separator@1.1.0:
+ resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==}
+
+ renderkid@2.0.7:
+ resolution: {integrity: sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==}
+
+ repeat-element@1.1.4:
+ resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==}
+ engines: {node: '>=0.10.0'}
+
+ repeat-string@1.6.1:
+ resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==}
+ engines: {node: '>=0.10'}
+
+ repeating@2.0.1:
+ resolution: {integrity: sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==}
+ engines: {node: '>=0.10.0'}
+
+ require-directory@2.1.1:
+ resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
+ engines: {node: '>=0.10.0'}
+
+ require-from-string@2.0.2:
+ resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
+ engines: {node: '>=0.10.0'}
+
+ requires-port@1.0.0:
+ resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
+
+ resize-observer-polyfill@1.5.1:
+ resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==}
+
+ resolve-cwd@3.0.0:
+ resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==}
+ engines: {node: '>=8'}
+
+ resolve-from@4.0.0:
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
+ engines: {node: '>=4'}
+
+ resolve-from@5.0.0:
+ resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
+ engines: {node: '>=8'}
+
+ resolve-url@0.2.1:
+ resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==}
+ deprecated: https://github.com/lydell/resolve-url#deprecated
+
+ resolve.exports@1.1.1:
+ resolution: {integrity: sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==}
+ engines: {node: '>=10'}
+
+ resolve@1.22.8:
+ resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
+ hasBin: true
+
+ ret@0.1.15:
+ resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==}
+ engines: {node: '>=0.12'}
+
+ reusify@1.0.4:
+ resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+
+ rimraf@2.7.1:
+ resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
+ hasBin: true
+
+ rimraf@3.0.2:
+ resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
+ hasBin: true
+
+ ripemd160@2.0.2:
+ resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==}
+
+ rollup-plugin-styles@4.0.0:
+ resolution: {integrity: sha512-A2K2sao84OsTmDxXG83JTCdXWrmgvQkkI38XDat46rdtpGMRm9tSYqeCdlwwGDJF4kKIafhV1mUidqu8MxUGig==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ peerDependencies:
+ rollup: ^2.63.0
+
+ rollup-plugin-terser@7.0.2:
+ resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==}
+ deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser
+ peerDependencies:
+ rollup: ^2.0.0
+
+ rollup-plugin-typescript2@0.34.1:
+ resolution: {integrity: sha512-P4cHLtGikESmqi1CA+tdMDUv8WbQV48mzPYt77TSTOPJpERyZ9TXdDgjSDix8Fkqce6soYz3+fa4lrC93IEkcw==}
+ peerDependencies:
+ rollup: '>=1.26.3'
+ typescript: '>=2.4.0'
+
+ rollup@2.79.1:
+ resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==}
+ engines: {node: '>=10.0.0'}
+ hasBin: true
+
+ rsvp@4.8.5:
+ resolution: {integrity: sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==}
+ engines: {node: 6.* || >= 7.*}
+
+ rtl-css-js@1.16.1:
+ resolution: {integrity: sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg==}
+
+ run-parallel@1.2.0:
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+
+ run-queue@1.0.3:
+ resolution: {integrity: sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==}
+
+ safe-array-concat@1.1.2:
+ resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==}
+ engines: {node: '>=0.4'}
+
+ safe-buffer@5.1.1:
+ resolution: {integrity: sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==}
+
+ safe-buffer@5.1.2:
+ resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
+
+ safe-buffer@5.2.1:
+ resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
+
+ safe-regex-test@1.0.3:
+ resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==}
+ engines: {node: '>= 0.4'}
+
+ safe-regex@1.1.0:
+ resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==}
+
+ safer-buffer@2.1.2:
+ resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
+
+ sane@4.1.0:
+ resolution: {integrity: sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==}
+ engines: {node: 6.* || 8.* || >= 10.*}
+ deprecated: some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added
+ hasBin: true
+
+ saxes@5.0.1:
+ resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==}
+ engines: {node: '>=10'}
+
+ scheduler@0.23.2:
+ resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
+
+ schema-utils@1.0.0:
+ resolution: {integrity: sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==}
+ engines: {node: '>= 4'}
+
+ schema-utils@2.7.0:
+ resolution: {integrity: sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==}
+ engines: {node: '>= 8.9.0'}
+
+ schema-utils@2.7.1:
+ resolution: {integrity: sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==}
+ engines: {node: '>= 8.9.0'}
+
+ schema-utils@3.3.0:
+ resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==}
+ engines: {node: '>= 10.13.0'}
+
+ screenfull@5.2.0:
+ resolution: {integrity: sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==}
+ engines: {node: '>=0.10.0'}
+
+ semver@5.7.2:
+ resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
+ hasBin: true
+
+ semver@6.3.1:
+ resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
+ hasBin: true
+
+ semver@7.6.2:
+ resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ send@0.18.0:
+ resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==}
+ engines: {node: '>= 0.8.0'}
+
+ serialize-javascript@4.0.0:
+ resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==}
+
+ serialize-javascript@5.0.1:
+ resolution: {integrity: sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==}
+
+ serialize-javascript@6.0.2:
+ resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
+
+ serve-favicon@2.5.0:
+ resolution: {integrity: sha512-FMW2RvqNr03x+C0WxTyu6sOv21oOjkq5j8tjquWccwa6ScNyGFOGJVpuS1NmTVGBAHS07xnSKotgf2ehQmf9iA==}
+ engines: {node: '>= 0.8.0'}
+
+ serve-static@1.15.0:
+ resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==}
+ engines: {node: '>= 0.8.0'}
+
+ set-blocking@2.0.0:
+ resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
+
+ set-function-length@1.2.2:
+ resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
+ engines: {node: '>= 0.4'}
+
+ set-function-name@2.0.2:
+ resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
+ engines: {node: '>= 0.4'}
+
+ set-harmonic-interval@1.0.1:
+ resolution: {integrity: sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g==}
+ engines: {node: '>=6.9'}
+
+ set-value@2.0.1:
+ resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==}
+ engines: {node: '>=0.10.0'}
+
+ setimmediate@1.0.5:
+ resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==}
+
+ setprototypeof@1.2.0:
+ resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
+
+ sha.js@2.4.11:
+ resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==}
+ hasBin: true
+
+ shallow-clone@3.0.1:
+ resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==}
+ engines: {node: '>=8'}
+
+ shebang-command@1.2.0:
+ resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==}
+ engines: {node: '>=0.10.0'}
+
+ shebang-command@2.0.0:
+ resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
+ engines: {node: '>=8'}
+
+ shebang-regex@1.0.0:
+ resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==}
+ engines: {node: '>=0.10.0'}
+
+ shebang-regex@3.0.0:
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
+ engines: {node: '>=8'}
+
+ side-channel@1.0.6:
+ resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
+ engines: {node: '>= 0.4'}
+
+ signal-exit@3.0.7:
+ resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+
+ signal-exit@4.1.0:
+ resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
+ engines: {node: '>=14'}
+
+ sisteransi@1.0.5:
+ resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
+
+ slash@2.0.0:
+ resolution: {integrity: sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==}
+ engines: {node: '>=6'}
+
+ slash@3.0.0:
+ resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
+ engines: {node: '>=8'}
+
+ snapdragon-node@2.1.1:
+ resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==}
+ engines: {node: '>=0.10.0'}
+
+ snapdragon-util@3.0.1:
+ resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==}
+ engines: {node: '>=0.10.0'}
+
+ snapdragon@0.8.2:
+ resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==}
+ engines: {node: '>=0.10.0'}
+
+ source-list-map@2.0.1:
+ resolution: {integrity: sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==}
+
+ source-map-js@1.2.0:
+ resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
+ engines: {node: '>=0.10.0'}
+
+ source-map-resolve@0.5.3:
+ resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==}
+ deprecated: See https://github.com/lydell/source-map-resolve#deprecated
+
+ source-map-support@0.5.21:
+ resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
+
+ source-map-url@0.4.1:
+ resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==}
+ deprecated: See https://github.com/lydell/source-map-url#deprecated
+
+ source-map@0.5.6:
+ resolution: {integrity: sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==}
+ engines: {node: '>=0.10.0'}
+
+ source-map@0.5.7:
+ resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==}
+ engines: {node: '>=0.10.0'}
+
+ source-map@0.6.1:
+ resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
+ engines: {node: '>=0.10.0'}
+
+ source-map@0.7.4:
+ resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
+ engines: {node: '>= 8'}
+
+ sourcemap-codec@1.4.8:
+ resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
+ deprecated: Please use @jridgewell/sourcemap-codec instead
+
+ space-separated-tokens@1.1.5:
+ resolution: {integrity: sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==}
+
+ spdx-correct@3.2.0:
+ resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==}
+
+ spdx-exceptions@2.5.0:
+ resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==}
+
+ spdx-expression-parse@3.0.1:
+ resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
+
+ spdx-license-ids@3.0.17:
+ resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==}
+
+ split-on-first@1.1.0:
+ resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==}
+ engines: {node: '>=6'}
+
+ split-string@3.1.0:
+ resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==}
+ engines: {node: '>=0.10.0'}
+
+ sprintf-js@1.0.3:
+ resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
+
+ ssri@6.0.2:
+ resolution: {integrity: sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==}
+
+ ssri@8.0.1:
+ resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==}
+ engines: {node: '>= 8'}
+
+ stable@0.1.8:
+ resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==}
+ deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility'
+
+ stack-generator@2.0.10:
+ resolution: {integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==}
+
+ stack-utils@2.0.6:
+ resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
+ engines: {node: '>=10'}
+
+ stackframe@1.3.4:
+ resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==}
+
+ stacktrace-gps@3.1.2:
+ resolution: {integrity: sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==}
+
+ stacktrace-js@2.0.2:
+ resolution: {integrity: sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==}
+
+ state-toggle@1.0.3:
+ resolution: {integrity: sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==}
+
+ static-extend@0.1.2:
+ resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==}
+ engines: {node: '>=0.10.0'}
+
+ statuses@2.0.1:
+ resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
+ engines: {node: '>= 0.8'}
+
+ stop-iteration-iterator@1.0.0:
+ resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==}
+ engines: {node: '>= 0.4'}
+
+ store2@2.14.3:
+ resolution: {integrity: sha512-4QcZ+yx7nzEFiV4BMLnr/pRa5HYzNITX2ri0Zh6sT9EyQHbBHacC6YigllUPU9X3D0f/22QCgfokpKs52YRrUg==}
+
+ stream-browserify@2.0.2:
+ resolution: {integrity: sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==}
+
+ stream-each@1.2.3:
+ resolution: {integrity: sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==}
+
+ stream-http@2.8.3:
+ resolution: {integrity: sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==}
+
+ stream-shift@1.0.3:
+ resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==}
+
+ strict-uri-encode@2.0.0:
+ resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==}
+ engines: {node: '>=4'}
+
+ string-length@4.0.2:
+ resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==}
+ engines: {node: '>=10'}
+
+ string-width@4.2.3:
+ resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
+ engines: {node: '>=8'}
+
+ string-width@5.1.2:
+ resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
+ engines: {node: '>=12'}
+
+ string.prototype.matchall@4.0.11:
+ resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==}
+ engines: {node: '>= 0.4'}
+
+ string.prototype.padend@3.1.6:
+ resolution: {integrity: sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==}
+ engines: {node: '>= 0.4'}
+
+ string.prototype.padstart@3.1.6:
+ resolution: {integrity: sha512-1y15lz7otgfRTAVK5qbp3eHIga+w8j7+jIH+7HpUrOfnLVl6n0hbspi4EXf4tR+PNOpBjPstltemkx0SvViOCg==}
+ engines: {node: '>= 0.4'}
+
+ string.prototype.trim@1.2.9:
+ resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==}
+ engines: {node: '>= 0.4'}
+
+ string.prototype.trimend@1.0.8:
+ resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==}
+
+ string.prototype.trimstart@1.0.8:
+ resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
+ engines: {node: '>= 0.4'}
+
+ string_decoder@1.1.1:
+ resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
+
+ string_decoder@1.3.0:
+ resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
+
+ strip-ansi@3.0.1:
+ resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==}
+ engines: {node: '>=0.10.0'}
+
+ strip-ansi@6.0.1:
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
+ engines: {node: '>=8'}
+
+ strip-ansi@7.1.0:
+ resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
+ engines: {node: '>=12'}
+
+ strip-bom@2.0.0:
+ resolution: {integrity: sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==}
+ engines: {node: '>=0.10.0'}
+
+ strip-bom@4.0.0:
+ resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==}
+ engines: {node: '>=8'}
+
+ strip-eof@1.0.0:
+ resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==}
+ engines: {node: '>=0.10.0'}
+
+ strip-final-newline@2.0.0:
+ resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
+ engines: {node: '>=6'}
+
+ strip-indent@1.0.1:
+ resolution: {integrity: sha512-I5iQq6aFMM62fBEAIB/hXzwJD6EEZ0xEGCX2t7oXqaKPIRgt4WruAQ285BISgdkP+HLGWyeGmNJcpIwFeRYRUA==}
+ engines: {node: '>=0.10.0'}
+ hasBin: true
+
+ strip-indent@3.0.0:
+ resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
+ engines: {node: '>=8'}
+
+ strip-json-comments@3.1.1:
+ resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
+ engines: {node: '>=8'}
+
+ style-loader@1.3.0:
+ resolution: {integrity: sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q==}
+ engines: {node: '>= 8.9.0'}
+ peerDependencies:
+ webpack: ^4.0.0 || ^5.0.0
+
+ style-to-object@0.3.0:
+ resolution: {integrity: sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==}
+
+ stylehacks@5.1.1:
+ resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==}
+ engines: {node: ^10 || ^12 || >=14.0}
+ peerDependencies:
+ postcss: ^8.2.15
+
+ stylis@4.3.2:
+ resolution: {integrity: sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==}
+
+ sucrase@3.35.0:
+ resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ hasBin: true
+
+ supports-color@5.5.0:
+ resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
+ engines: {node: '>=4'}
+
+ supports-color@7.2.0:
+ resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
+ engines: {node: '>=8'}
+
+ supports-color@8.1.1:
+ resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
+ engines: {node: '>=10'}
+
+ supports-hyperlinks@2.3.0:
+ resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==}
+ engines: {node: '>=8'}
+
+ supports-preserve-symlinks-flag@1.0.0:
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+ engines: {node: '>= 0.4'}
+
+ svgo@2.8.0:
+ resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+
+ symbol-tree@3.2.4:
+ resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
+
+ symbol.prototype.description@1.0.6:
+ resolution: {integrity: sha512-VgVgtEabORsQtmuindtO7v8fF+bsKxUkvEMFj+ecBK6bomrwv5JUSWdMoC3ypa9+Jaqp/wOzkWk4f6I+p5GzyA==}
+ engines: {node: '>= 0.4'}
+
+ synchronous-promise@2.0.17:
+ resolution: {integrity: sha512-AsS729u2RHUfEra9xJrE39peJcc2stq2+poBXX8bcM08Y6g9j/i/PUzwNQqkaJde7Ntg1TO7bSREbR5sdosQ+g==}
+
+ tailwindcss-blend-mode@1.0.0:
+ resolution: {integrity: sha512-O73Kp4xe89tzStNBc28cTBuEhX6rpxytTzk/51XilHFUbv66o9IAZH0pCQhClYjiMjEpMFgdhg/h1CJkm4qkkQ==}
+
+ tailwindcss@3.4.3:
+ resolution: {integrity: sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==}
+ engines: {node: '>=14.0.0'}
+ hasBin: true
+
+ tapable@1.1.3:
+ resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==}
+ engines: {node: '>=6'}
+
+ tapable@2.2.1:
+ resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
+ engines: {node: '>=6'}
+
+ tar@6.2.1:
+ resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==}
+ engines: {node: '>=10'}
+
+ telejson@6.0.8:
+ resolution: {integrity: sha512-nerNXi+j8NK1QEfBHtZUN/aLdDcyupA//9kAboYLrtzZlPLpUfqbVGWb9zz91f/mIjRbAYhbgtnJHY8I1b5MBg==}
+
+ terminal-link@2.1.1:
+ resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==}
+ engines: {node: '>=8'}
+
+ terser-webpack-plugin@1.4.5:
+ resolution: {integrity: sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==}
+ engines: {node: '>= 6.9.0'}
+ peerDependencies:
+ webpack: ^4.0.0
+
+ terser-webpack-plugin@4.2.3:
+ resolution: {integrity: sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ==}
+ engines: {node: '>= 10.13.0'}
+ peerDependencies:
+ webpack: ^4.0.0 || ^5.0.0
+
+ terser-webpack-plugin@5.3.10:
+ resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==}
+ engines: {node: '>= 10.13.0'}
+ peerDependencies:
+ '@swc/core': '*'
+ esbuild: '*'
+ uglify-js: '*'
+ webpack: ^5.1.0
+ peerDependenciesMeta:
+ '@swc/core':
+ optional: true
+ esbuild:
+ optional: true
+ uglify-js:
+ optional: true
+
+ terser@4.8.1:
+ resolution: {integrity: sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
+
+ terser@5.31.0:
+ resolution: {integrity: sha512-Q1JFAoUKE5IMfI4Z/lkE/E6+SwgzO+x4tq4v1AyBLRj8VSYvRO6A/rQrPg1yud4g0En9EKI1TvFRF2tQFcoUkg==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ test-exclude@6.0.0:
+ resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
+ engines: {node: '>=8'}
+
+ thenify-all@1.6.0:
+ resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
+ engines: {node: '>=0.8'}
+
+ thenify@3.3.1:
+ resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
+
+ throat@6.0.2:
+ resolution: {integrity: sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==}
+
+ throttle-debounce@3.0.1:
+ resolution: {integrity: sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==}
+ engines: {node: '>=10'}
+
+ through2@2.0.5:
+ resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==}
+
+ timers-browserify@2.0.12:
+ resolution: {integrity: sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==}
+ engines: {node: '>=0.6.0'}
+
+ tmpl@1.0.5:
+ resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==}
+
+ to-arraybuffer@1.0.1:
+ resolution: {integrity: sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==}
+
+ to-fast-properties@2.0.0:
+ resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
+ engines: {node: '>=4'}
+
+ to-object-path@0.3.0:
+ resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==}
+ engines: {node: '>=0.10.0'}
+
+ to-regex-range@2.1.1:
+ resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==}
+ engines: {node: '>=0.10.0'}
+
+ to-regex-range@5.0.1:
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
+ engines: {node: '>=8.0'}
+
+ to-regex@3.0.2:
+ resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==}
+ engines: {node: '>=0.10.0'}
+
+ toggle-selection@1.0.6:
+ resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==}
+
+ toidentifier@1.0.1:
+ resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
+ engines: {node: '>=0.6'}
+
+ tough-cookie@4.1.4:
+ resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==}
+ engines: {node: '>=6'}
+
+ tr46@0.0.3:
+ resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
+
+ tr46@2.1.0:
+ resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==}
+ engines: {node: '>=8'}
+
+ trim-newlines@1.0.0:
+ resolution: {integrity: sha512-Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw==}
+ engines: {node: '>=0.10.0'}
+
+ trim-trailing-lines@1.1.4:
+ resolution: {integrity: sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==}
+
+ trim@0.0.1:
+ resolution: {integrity: sha1-WFhUf2spB1fulczMZm+1AITEYN0=}
+
+ trough@1.0.5:
+ resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==}
+
+ ts-dedent@2.2.0:
+ resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==}
+ engines: {node: '>=6.10'}
+
+ ts-easing@0.2.0:
+ resolution: {integrity: sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ==}
+
+ ts-interface-checker@0.1.13:
+ resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
+
+ ts-jest@27.1.5:
+ resolution: {integrity: sha512-Xv6jBQPoBEvBq/5i2TeSG9tt/nqkbpcurrEG1b+2yfBrcJelOZF9Ml6dmyMh7bcW9JyFbRYpR5rxROSlBLTZHA==}
+ engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ hasBin: true
+ peerDependencies:
+ '@babel/core': '>=7.0.0-beta.0 <8'
+ '@types/jest': ^27.0.0
+ babel-jest: '>=27.0.0 <28'
+ esbuild: '*'
+ jest: ^27.0.0
+ typescript: '>=3.8 <5.0'
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+ '@types/jest':
+ optional: true
+ babel-jest:
+ optional: true
+ esbuild:
+ optional: true
+
+ ts-pnp@1.2.0:
+ resolution: {integrity: sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==}
+ engines: {node: '>=6'}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ ts-toolbelt@9.6.0:
+ resolution: {integrity: sha512-nsZd8ZeNUzukXPlJmTBwUAuABDe/9qtVDelJeT/qW0ow3ZS3BsQJtNkan1802aM9Uf68/Y8ljw86Hu0h5IUW3w==}
+
+ tslib@2.6.2:
+ resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
+
+ tty-browserify@0.0.0:
+ resolution: {integrity: sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=}
+
+ type-detect@4.0.8:
+ resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
+ engines: {node: '>=4'}
+
+ type-fest@0.20.2:
+ resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
+ engines: {node: '>=10'}
+
+ type-fest@0.21.3:
+ resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
+ engines: {node: '>=10'}
+
+ type-fest@0.6.0:
+ resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==}
+ engines: {node: '>=8'}
+
+ type-fest@0.8.1:
+ resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==}
+ engines: {node: '>=8'}
+
+ type-is@1.6.18:
+ resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
+ engines: {node: '>= 0.6'}
+
+ typed-array-buffer@1.0.2:
+ resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==}
+ engines: {node: '>= 0.4'}
+
+ typed-array-byte-length@1.0.1:
+ resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==}
+ engines: {node: '>= 0.4'}
+
+ typed-array-byte-offset@1.0.2:
+ resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==}
+ engines: {node: '>= 0.4'}
+
+ typed-array-length@1.0.6:
+ resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==}
+ engines: {node: '>= 0.4'}
+
+ typedarray-to-buffer@3.1.5:
+ resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==}
+
+ typedarray@0.0.6:
+ resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==}
+
+ typescript@4.9.5:
+ resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==}
+ engines: {node: '>=4.2.0'}
+ hasBin: true
+
+ uglify-js@3.17.4:
+ resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==}
+ engines: {node: '>=0.8.0'}
+ hasBin: true
+
+ unbox-primitive@1.0.2:
+ resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
+
+ undici-types@5.26.5:
+ resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
+
+ unfetch@4.2.0:
+ resolution: {integrity: sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==}
+
+ unherit@1.1.3:
+ resolution: {integrity: sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==}
+
+ unicode-canonical-property-names-ecmascript@2.0.0:
+ resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==}
+ engines: {node: '>=4'}
+
+ unicode-match-property-ecmascript@2.0.0:
+ resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==}
+ engines: {node: '>=4'}
+
+ unicode-match-property-value-ecmascript@2.1.0:
+ resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==}
+ engines: {node: '>=4'}
+
+ unicode-property-aliases-ecmascript@2.1.0:
+ resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==}
+ engines: {node: '>=4'}
+
+ unified@9.2.0:
+ resolution: {integrity: sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==}
+
+ union-value@1.0.1:
+ resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==}
+ engines: {node: '>=0.10.0'}
+
+ unique-filename@1.1.1:
+ resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==}
+
+ unique-slug@2.0.2:
+ resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==}
+
+ unist-builder@2.0.3:
+ resolution: {integrity: sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==}
+
+ unist-util-generated@1.1.6:
+ resolution: {integrity: sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==}
+
+ unist-util-is@4.1.0:
+ resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==}
+
+ unist-util-position@3.1.0:
+ resolution: {integrity: sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==}
+
+ unist-util-remove-position@2.0.1:
+ resolution: {integrity: sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==}
+
+ unist-util-remove@2.1.0:
+ resolution: {integrity: sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==}
+
+ unist-util-stringify-position@2.0.3:
+ resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==}
+
+ unist-util-visit-parents@3.1.1:
+ resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==}
+
+ unist-util-visit@2.0.3:
+ resolution: {integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==}
+
+ universalify@0.2.0:
+ resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==}
+ engines: {node: '>= 4.0.0'}
+
+ universalify@2.0.1:
+ resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
+ engines: {node: '>= 10.0.0'}
+
+ unpipe@1.0.0:
+ resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
+ engines: {node: '>= 0.8'}
+
+ unset-value@1.0.0:
+ resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==}
+ engines: {node: '>=0.10.0'}
+
+ untildify@2.1.0:
+ resolution: {integrity: sha512-sJjbDp2GodvkB0FZZcn7k6afVisqX5BZD7Yq3xp4nN2O15BBK0cLm3Vwn2vQaF7UDS0UUsrQMkkplmDI5fskig==}
+ engines: {node: '>=0.10.0'}
+
+ upath@1.2.0:
+ resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==}
+ engines: {node: '>=4'}
+
+ update-browserslist-db@1.0.15:
+ resolution: {integrity: sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA==}
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+
+ uri-js@4.4.1:
+ resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+
+ urix@0.1.0:
+ resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==}
+ deprecated: Please see https://github.com/lydell/urix#deprecated
+
+ url-loader@4.1.1:
+ resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==}
+ engines: {node: '>= 10.13.0'}
+ peerDependencies:
+ file-loader: '*'
+ webpack: ^4.0.0 || ^5.0.0
+ peerDependenciesMeta:
+ file-loader:
+ optional: true
+
+ url-parse@1.5.10:
+ resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
+
+ url@0.11.3:
+ resolution: {integrity: sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==}
+
+ use@3.1.1:
+ resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==}
+ engines: {node: '>=0.10.0'}
+
+ util-deprecate@1.0.2:
+ resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+
+ util.promisify@1.0.0:
+ resolution: {integrity: sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==}
+
+ util@0.10.4:
+ resolution: {integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==}
+
+ util@0.11.1:
+ resolution: {integrity: sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==}
+
+ utila@0.4.0:
+ resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==}
+
+ utils-merge@1.0.1:
+ resolution: {integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=}
+ engines: {node: '>= 0.4.0'}
+
+ uuid-browser@3.1.0:
+ resolution: {integrity: sha512-dsNgbLaTrd6l3MMxTtouOCFw4CBFc/3a+GgYA2YyrJvyQ1u6q4pcu3ktLoUZ/VN/Aw9WsauazbgsgdfVWgAKQg==}
+ deprecated: Package no longer supported and required. Use the uuid package or crypto.randomUUID instead
+
+ uuid@3.4.0:
+ resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==}
+ deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
+ hasBin: true
+
+ v8-to-istanbul@8.1.1:
+ resolution: {integrity: sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==}
+ engines: {node: '>=10.12.0'}
+
+ v8-to-istanbul@9.2.0:
+ resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==}
+ engines: {node: '>=10.12.0'}
+
+ validate-npm-package-license@3.0.4:
+ resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
+
+ vary@1.1.2:
+ resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
+ engines: {node: '>= 0.8'}
+
+ vfile-location@3.2.0:
+ resolution: {integrity: sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==}
+
+ vfile-message@2.0.4:
+ resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==}
+
+ vfile@4.2.1:
+ resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==}
+
+ vm-browserify@1.1.2:
+ resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==}
+
+ w3c-hr-time@1.0.2:
+ resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==}
+ deprecated: Use your platform's native performance.now() and performance.timeOrigin.
+
+ w3c-xmlserializer@2.0.0:
+ resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==}
+ engines: {node: '>=10'}
+
+ walker@1.0.8:
+ resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
+
+ watchpack-chokidar2@2.0.1:
+ resolution: {integrity: sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==}
+
+ watchpack@1.7.5:
+ resolution: {integrity: sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==}
+
+ watchpack@2.4.1:
+ resolution: {integrity: sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==}
+ engines: {node: '>=10.13.0'}
+
+ web-namespaces@1.1.4:
+ resolution: {integrity: sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==}
+
+ webidl-conversions@3.0.1:
+ resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
+
+ webidl-conversions@5.0.0:
+ resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==}
+ engines: {node: '>=8'}
+
+ webidl-conversions@6.1.0:
+ resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==}
+ engines: {node: '>=10.4'}
+
+ webpack-dev-middleware@3.7.3:
+ resolution: {integrity: sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==}
+ engines: {node: '>= 6'}
+ peerDependencies:
+ webpack: ^4.0.0 || ^5.0.0
+
+ webpack-filter-warnings-plugin@1.2.1:
+ resolution: {integrity: sha512-Ez6ytc9IseDMLPo0qCuNNYzgtUl8NovOqjIq4uAU8LTD4uoa1w1KpZyyzFtLTEMZpkkOkLfL9eN+KGYdk1Qtwg==}
+ engines: {node: '>= 4.3 < 5.0.0 || >= 5.10'}
+ peerDependencies:
+ webpack: ^2.0.0 || ^3.0.0 || ^4.0.0
+
+ webpack-hot-middleware@2.26.1:
+ resolution: {integrity: sha512-khZGfAeJx6I8K9zKohEWWYN6KDlVw2DHownoe+6Vtwj1LP9WFgegXnVMSkZ/dBEBtXFwrkkydsaPFlB7f8wU2A==}
+
+ webpack-log@2.0.0:
+ resolution: {integrity: sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==}
+ engines: {node: '>= 6'}
+
+ webpack-sources@1.4.3:
+ resolution: {integrity: sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==}
+
+ webpack-sources@3.2.3:
+ resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
+ engines: {node: '>=10.13.0'}
+
+ webpack-virtual-modules@0.2.2:
+ resolution: {integrity: sha512-kDUmfm3BZrei0y+1NTHJInejzxfhtU8eDj2M7OKb2IWrPFAeO1SOH2KuQ68MSZu9IGEHcxbkKKR1v18FrUSOmA==}
+
+ webpack@4.47.0:
+ resolution: {integrity: sha512-td7fYwgLSrky3fI1EuU5cneU4+pbH6GgOfuKNS1tNPcfdGinGELAqsb/BP4nnvZyKSG2i/xFGU7+n2PvZA8HJQ==}
+ engines: {node: '>=6.11.5'}
+ hasBin: true
+ peerDependencies:
+ webpack-cli: '*'
+ webpack-command: '*'
+ peerDependenciesMeta:
+ webpack-cli:
+ optional: true
+ webpack-command:
+ optional: true
+
+ webpack@5.91.0:
+ resolution: {integrity: sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+ peerDependencies:
+ webpack-cli: '*'
+ peerDependenciesMeta:
+ webpack-cli:
+ optional: true
+
+ whatwg-encoding@1.0.5:
+ resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==}
+
+ whatwg-mimetype@2.3.0:
+ resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==}
+
+ whatwg-url@5.0.0:
+ resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
+
+ whatwg-url@8.7.0:
+ resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==}
+ engines: {node: '>=10'}
+
+ which-boxed-primitive@1.0.2:
+ resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
+
+ which-collection@1.0.2:
+ resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==}
+ engines: {node: '>= 0.4'}
+
+ which-typed-array@1.1.15:
+ resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
+ engines: {node: '>= 0.4'}
+
+ which@1.3.1:
+ resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
+ hasBin: true
+
+ which@2.0.2:
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
+ engines: {node: '>= 8'}
+ hasBin: true
+
+ wide-align@1.1.5:
+ resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==}
+
+ widest-line@3.1.0:
+ resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==}
+ engines: {node: '>=8'}
+
+ wordwrap@1.0.0:
+ resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==}
+
+ worker-farm@1.7.0:
+ resolution: {integrity: sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==}
+
+ worker-rpc@0.1.1:
+ resolution: {integrity: sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg==}
+
+ wrap-ansi@7.0.0:
+ resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
+ engines: {node: '>=10'}
+
+ wrap-ansi@8.1.0:
+ resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
+ engines: {node: '>=12'}
+
+ wrappy@1.0.2:
+ resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+
+ write-file-atomic@3.0.3:
+ resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==}
+
+ ws@7.5.9:
+ resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==}
+ engines: {node: '>=8.3.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: ^5.0.2
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+
+ ws@8.17.0:
+ resolution: {integrity: sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: '>=5.0.2'
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+
+ x-default-browser@0.4.0:
+ resolution: {integrity: sha512-7LKo7RtWfoFN/rHx1UELv/2zHGMx8MkZKDq1xENmOCTkfIqZJ0zZ26NEJX8czhnPXVcqS0ARjjfJB+eJ0/5Cvw==}
+ hasBin: true
+
+ xml-name-validator@3.0.0:
+ resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==}
+
+ xmlchars@2.2.0:
+ resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
+
+ xtend@4.0.2:
+ resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
+ engines: {node: '>=0.4'}
+
+ y18n@4.0.3:
+ resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==}
+
+ y18n@5.0.8:
+ resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
+ engines: {node: '>=10'}
+
+ yallist@3.1.1:
+ resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
+
+ yallist@4.0.0:
+ resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
+
+ yaml@1.10.2:
+ resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
+ engines: {node: '>= 6'}
+
+ yaml@2.4.2:
+ resolution: {integrity: sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==}
+ engines: {node: '>= 14'}
+ hasBin: true
+
+ yargs-parser@20.2.9:
+ resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
+ engines: {node: '>=10'}
+
+ yargs@16.2.0:
+ resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==}
+ engines: {node: '>=10'}
+
+ yocto-queue@0.1.0:
+ resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
+ engines: {node: '>=10'}
+
+ zwitch@1.0.5:
+ resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==}
+
+snapshots:
+
+ '@adobe/css-tools@4.3.3': {}
+
+ '@alloc/quick-lru@5.2.0': {}
+
+ '@ampproject/remapping@2.3.0':
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
+
+ '@babel/code-frame@7.24.2':
+ dependencies:
+ '@babel/highlight': 7.24.5
+ picocolors: 1.0.0
+
+ '@babel/compat-data@7.24.4': {}
+
+ '@babel/core@7.12.9':
+ dependencies:
+ '@babel/code-frame': 7.24.2
+ '@babel/generator': 7.24.5
+ '@babel/helper-module-transforms': 7.24.5(@babel/core@7.12.9)
+ '@babel/helpers': 7.24.5
+ '@babel/parser': 7.24.5
+ '@babel/template': 7.24.0
+ '@babel/traverse': 7.24.5
+ '@babel/types': 7.24.5
+ convert-source-map: 1.9.0
+ debug: 4.3.4
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ lodash: 4.17.21
+ resolve: 1.22.8
+ semver: 5.7.2
+ source-map: 0.5.7
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/core@7.24.5':
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ '@babel/code-frame': 7.24.2
+ '@babel/generator': 7.24.5
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5)
+ '@babel/helpers': 7.24.5
+ '@babel/parser': 7.24.5
+ '@babel/template': 7.24.0
+ '@babel/traverse': 7.24.5
+ '@babel/types': 7.24.5
+ convert-source-map: 2.0.0
+ debug: 4.3.4
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/generator@7.24.5':
+ dependencies:
+ '@babel/types': 7.24.5
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
+ jsesc: 2.5.2
+
+ '@babel/helper-annotate-as-pure@7.22.5':
+ dependencies:
+ '@babel/types': 7.24.5
+
+ '@babel/helper-builder-binary-assignment-operator-visitor@7.22.15':
+ dependencies:
+ '@babel/types': 7.24.5
+
+ '@babel/helper-compilation-targets@7.23.6':
+ dependencies:
+ '@babel/compat-data': 7.24.4
+ '@babel/helper-validator-option': 7.23.5
+ browserslist: 4.23.0
+ lru-cache: 5.1.1
+ semver: 6.3.1
+
+ '@babel/helper-create-class-features-plugin@7.24.5(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-function-name': 7.23.0
+ '@babel/helper-member-expression-to-functions': 7.24.5
+ '@babel/helper-optimise-call-expression': 7.22.5
+ '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ '@babel/helper-split-export-declaration': 7.24.5
+ semver: 6.3.1
+
+ '@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-annotate-as-pure': 7.22.5
+ regexpu-core: 5.3.2
+ semver: 6.3.1
+
+ '@babel/helper-define-polyfill-provider@0.1.5(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-module-imports': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/traverse': 7.24.5
+ debug: 4.3.4
+ lodash.debounce: 4.0.8
+ resolve: 1.22.8
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-plugin-utils': 7.24.5
+ debug: 4.3.4
+ lodash.debounce: 4.0.8
+ resolve: 1.22.8
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-environment-visitor@7.22.20': {}
+
+ '@babel/helper-function-name@7.23.0':
+ dependencies:
+ '@babel/template': 7.24.0
+ '@babel/types': 7.24.5
+
+ '@babel/helper-hoist-variables@7.22.5':
+ dependencies:
+ '@babel/types': 7.24.5
+
+ '@babel/helper-member-expression-to-functions@7.24.5':
+ dependencies:
+ '@babel/types': 7.24.5
+
+ '@babel/helper-module-imports@7.24.3':
+ dependencies:
+ '@babel/types': 7.24.5
+
+ '@babel/helper-module-transforms@7.24.5(@babel/core@7.12.9)':
+ dependencies:
+ '@babel/core': 7.12.9
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-module-imports': 7.24.3
+ '@babel/helper-simple-access': 7.24.5
+ '@babel/helper-split-export-declaration': 7.24.5
+ '@babel/helper-validator-identifier': 7.24.5
+
+ '@babel/helper-module-transforms@7.24.5(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-module-imports': 7.24.3
+ '@babel/helper-simple-access': 7.24.5
+ '@babel/helper-split-export-declaration': 7.24.5
+ '@babel/helper-validator-identifier': 7.24.5
+
+ '@babel/helper-optimise-call-expression@7.22.5':
+ dependencies:
+ '@babel/types': 7.24.5
+
+ '@babel/helper-plugin-utils@7.10.4': {}
+
+ '@babel/helper-plugin-utils@7.24.5': {}
+
+ '@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-wrap-function': 7.24.5
+
+ '@babel/helper-replace-supers@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-member-expression-to-functions': 7.24.5
+ '@babel/helper-optimise-call-expression': 7.22.5
+
+ '@babel/helper-simple-access@7.24.5':
+ dependencies:
+ '@babel/types': 7.24.5
+
+ '@babel/helper-skip-transparent-expression-wrappers@7.22.5':
+ dependencies:
+ '@babel/types': 7.24.5
+
+ '@babel/helper-split-export-declaration@7.24.5':
+ dependencies:
+ '@babel/types': 7.24.5
+
+ '@babel/helper-string-parser@7.24.1': {}
+
+ '@babel/helper-validator-identifier@7.24.5': {}
+
+ '@babel/helper-validator-option@7.23.5': {}
+
+ '@babel/helper-wrap-function@7.24.5':
+ dependencies:
+ '@babel/helper-function-name': 7.23.0
+ '@babel/template': 7.24.0
+ '@babel/types': 7.24.5
+
+ '@babel/helpers@7.24.5':
+ dependencies:
+ '@babel/template': 7.24.0
+ '@babel/traverse': 7.24.5
+ '@babel/types': 7.24.5
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/highlight@7.24.5':
+ dependencies:
+ '@babel/helper-validator-identifier': 7.24.5
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+ picocolors: 1.0.0
+
+ '@babel/parser@7.24.5':
+ dependencies:
+ '@babel/types': 7.24.5
+
+ '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.5(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ '@babel/plugin-transform-optional-chaining': 7.24.5(@babel/core@7.24.5)
+
+ '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5)
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-proposal-decorators@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5)
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/plugin-syntax-decorators': 7.24.1(@babel/core@7.24.5)
+
+ '@babel/plugin-proposal-export-default-from@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/plugin-syntax-export-default-from': 7.24.1(@babel/core@7.24.5)
+
+ '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.5)
+
+ '@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.5)
+
+ '@babel/plugin-proposal-object-rest-spread@7.12.1(@babel/core@7.12.9)':
+ dependencies:
+ '@babel/core': 7.12.9
+ '@babel/helper-plugin-utils': 7.10.4
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.12.9)
+ '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.12.9)
+
+ '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/compat-data': 7.24.4
+ '@babel/core': 7.24.5
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5)
+ '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.5)
+
+ '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.5)
+
+ '@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5)
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+
+ '@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5)
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.5)
+
+ '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-syntax-decorators@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-syntax-export-default-from@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-syntax-flow@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-syntax-jsx@7.12.1(@babel/core@7.12.9)':
+ dependencies:
+ '@babel/core': 7.12.9
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.12.9)':
+ dependencies:
+ '@babel/core': 7.12.9
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.5)
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.5)
+
+ '@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-module-imports': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.5)
+
+ '@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-transform-block-scoping@7.24.5(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5)
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-transform-class-static-block@7.24.4(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5)
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.5)
+
+ '@babel/plugin-transform-classes@7.24.5(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-environment-visitor': 7.22.20
+ '@babel/helper-function-name': 7.23.0
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5)
+ '@babel/helper-split-export-declaration': 7.24.5
+ globals: 11.12.0
+
+ '@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/template': 7.24.0
+
+ '@babel/plugin-transform-destructuring@7.24.5(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.5)
+
+ '@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.5)
+
+ '@babel/plugin-transform-flow-strip-types@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.24.5)
+
+ '@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+
+ '@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-function-name': 7.23.0
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.5)
+
+ '@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.5)
+
+ '@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5)
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5)
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/helper-simple-access': 7.24.5
+
+ '@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-hoist-variables': 7.22.5
+ '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5)
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/helper-validator-identifier': 7.24.5
+
+ '@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5)
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.5)
+
+ '@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.5)
+
+ '@babel/plugin-transform-object-rest-spread@7.24.5(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5)
+ '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.5)
+
+ '@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5)
+
+ '@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.5)
+
+ '@babel/plugin-transform-optional-chaining@7.24.5(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.5)
+
+ '@babel/plugin-transform-parameters@7.24.5(@babel/core@7.12.9)':
+ dependencies:
+ '@babel/core': 7.12.9
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-transform-parameters@7.24.5(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5)
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-transform-private-property-in-object@7.24.5(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5)
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.5)
+
+ '@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-transform-react-display-name@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.5)
+
+ '@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-module-imports': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5)
+ '@babel/types': 7.24.5
+
+ '@babel/plugin-transform-react-pure-annotations@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+ regenerator-transform: 0.15.2
+
+ '@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-transform-runtime@7.24.3(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-module-imports': 7.24.3
+ '@babel/helper-plugin-utils': 7.24.5
+ babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.5)
+ babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.5)
+ babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.5)
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+
+ '@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-transform-typeof-symbol@7.24.5(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-transform-typescript@7.24.5(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-annotate-as-pure': 7.22.5
+ '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5)
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.5)
+
+ '@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.5)
+ '@babel/helper-plugin-utils': 7.24.5
+
+ '@babel/preset-env@7.24.5(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/compat-data': 7.24.4
+ '@babel/core': 7.24.5
+ '@babel/helper-compilation-targets': 7.23.6
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/helper-validator-option': 7.23.5
+ '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.5(@babel/core@7.24.5)
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.5)
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.5)
+ '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.5)
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.5)
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.5)
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.5)
+ '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.5)
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.5)
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.5)
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.5)
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.5)
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5)
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.5)
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.5)
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.5)
+ '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.5)
+ '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.5)
+ '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.5)
+ '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-block-scoping': 7.24.5(@babel/core@7.24.5)
+ '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-class-static-block': 7.24.4(@babel/core@7.24.5)
+ '@babel/plugin-transform-classes': 7.24.5(@babel/core@7.24.5)
+ '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-destructuring': 7.24.5(@babel/core@7.24.5)
+ '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.5)
+ '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-object-rest-spread': 7.24.5(@babel/core@7.24.5)
+ '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-optional-chaining': 7.24.5(@babel/core@7.24.5)
+ '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.5)
+ '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-private-property-in-object': 7.24.5(@babel/core@7.24.5)
+ '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-typeof-symbol': 7.24.5(@babel/core@7.24.5)
+ '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.5)
+ '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.5)
+ babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.5)
+ babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.5)
+ babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.5)
+ core-js-compat: 3.37.0
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/preset-flow@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/helper-validator-option': 7.23.5
+ '@babel/plugin-transform-flow-strip-types': 7.24.1(@babel/core@7.24.5)
+
+ '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/types': 7.24.5
+ esutils: 2.0.3
+
+ '@babel/preset-react@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/helper-validator-option': 7.23.5
+ '@babel/plugin-transform-react-display-name': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.5)
+ '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.24.5)
+ '@babel/plugin-transform-react-pure-annotations': 7.24.1(@babel/core@7.24.5)
+
+ '@babel/preset-typescript@7.24.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-plugin-utils': 7.24.5
+ '@babel/helper-validator-option': 7.23.5
+ '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-typescript': 7.24.5(@babel/core@7.24.5)
+
+ '@babel/register@7.23.7(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ clone-deep: 4.0.1
+ find-cache-dir: 2.1.0
+ make-dir: 2.1.0
+ pirates: 4.0.6
+ source-map-support: 0.5.21
+
+ '@babel/regjsgen@0.8.0': {}
+
+ '@babel/runtime@7.24.5':
+ dependencies:
+ regenerator-runtime: 0.14.1
+
+ '@babel/template@7.24.0':
+ dependencies:
+ '@babel/code-frame': 7.24.2
+ '@babel/parser': 7.24.5
+ '@babel/types': 7.24.5
+
+ '@babel/traverse@7.24.5':
+ dependencies:
+ '@babel/code-frame': 7.24.2
+ '@babel/generator': 7.24.5
+ '@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.24.5
+ '@babel/parser': 7.24.5
+ '@babel/types': 7.24.5
+ debug: 4.3.4
+ globals: 11.12.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/types@7.24.5':
+ dependencies:
+ '@babel/helper-string-parser': 7.24.1
+ '@babel/helper-validator-identifier': 7.24.5
+ to-fast-properties: 2.0.0
+
+ '@base2/pretty-print-object@1.0.1': {}
+
+ '@bcoe/v8-coverage@0.2.3': {}
+
+ '@biomejs/biome@1.8.0':
+ optionalDependencies:
+ '@biomejs/cli-darwin-arm64': 1.8.0
+ '@biomejs/cli-darwin-x64': 1.8.0
+ '@biomejs/cli-linux-arm64': 1.8.0
+ '@biomejs/cli-linux-arm64-musl': 1.8.0
+ '@biomejs/cli-linux-x64': 1.8.0
+ '@biomejs/cli-linux-x64-musl': 1.8.0
+ '@biomejs/cli-win32-arm64': 1.8.0
+ '@biomejs/cli-win32-x64': 1.8.0
+
+ '@biomejs/cli-darwin-arm64@1.8.0':
+ optional: true
+
+ '@biomejs/cli-darwin-x64@1.8.0':
+ optional: true
+
+ '@biomejs/cli-linux-arm64-musl@1.8.0':
+ optional: true
+
+ '@biomejs/cli-linux-arm64@1.8.0':
+ optional: true
+
+ '@biomejs/cli-linux-x64-musl@1.8.0':
+ optional: true
+
+ '@biomejs/cli-linux-x64@1.8.0':
+ optional: true
+
+ '@biomejs/cli-win32-arm64@1.8.0':
+ optional: true
+
+ '@biomejs/cli-win32-x64@1.8.0':
+ optional: true
+
+ '@cnakazawa/watch@1.0.4':
+ dependencies:
+ exec-sh: 0.3.6
+ minimist: 1.2.8
+
+ '@colors/colors@1.5.0':
+ optional: true
+
+ '@discoveryjs/json-ext@0.5.7': {}
+
+ '@emotion/is-prop-valid@0.8.8':
+ dependencies:
+ '@emotion/memoize': 0.7.4
+ optional: true
+
+ '@emotion/memoize@0.7.4':
+ optional: true
+
+ '@formatjs/ecma402-abstract@1.18.2':
+ dependencies:
+ '@formatjs/intl-localematcher': 0.5.4
+ tslib: 2.6.2
+
+ '@formatjs/fast-memoize@2.2.0':
+ dependencies:
+ tslib: 2.6.2
+
+ '@formatjs/icu-messageformat-parser@2.7.6':
+ dependencies:
+ '@formatjs/ecma402-abstract': 1.18.2
+ '@formatjs/icu-skeleton-parser': 1.8.0
+ tslib: 2.6.2
+
+ '@formatjs/icu-skeleton-parser@1.8.0':
+ dependencies:
+ '@formatjs/ecma402-abstract': 1.18.2
+ tslib: 2.6.2
+
+ '@formatjs/intl-displaynames@6.6.6':
+ dependencies:
+ '@formatjs/ecma402-abstract': 1.18.2
+ '@formatjs/intl-localematcher': 0.5.4
+ tslib: 2.6.2
+
+ '@formatjs/intl-listformat@7.5.5':
+ dependencies:
+ '@formatjs/ecma402-abstract': 1.18.2
+ '@formatjs/intl-localematcher': 0.5.4
+ tslib: 2.6.2
+
+ '@formatjs/intl-localematcher@0.5.4':
+ dependencies:
+ tslib: 2.6.2
+
+ '@formatjs/intl@2.10.2(typescript@4.9.5)':
+ dependencies:
+ '@formatjs/ecma402-abstract': 1.18.2
+ '@formatjs/fast-memoize': 2.2.0
+ '@formatjs/icu-messageformat-parser': 2.7.6
+ '@formatjs/intl-displaynames': 6.6.6
+ '@formatjs/intl-listformat': 7.5.5
+ intl-messageformat: 10.5.12
+ tslib: 2.6.2
+ optionalDependencies:
+ typescript: 4.9.5
+
+ '@gar/promisify@1.1.3': {}
+
+ '@isaacs/cliui@8.0.2':
+ dependencies:
+ string-width: 5.1.2
+ string-width-cjs: string-width@4.2.3
+ strip-ansi: 7.1.0
+ strip-ansi-cjs: strip-ansi@6.0.1
+ wrap-ansi: 8.1.0
+ wrap-ansi-cjs: wrap-ansi@7.0.0
+
+ '@istanbuljs/load-nyc-config@1.1.0':
+ dependencies:
+ camelcase: 5.3.1
+ find-up: 4.1.0
+ get-package-type: 0.1.0
+ js-yaml: 3.14.1
+ resolve-from: 5.0.0
+
+ '@istanbuljs/schema@0.1.3': {}
+
+ '@jest/console@27.5.1':
+ dependencies:
+ '@jest/types': 27.5.1
+ '@types/node': 20.12.11
+ chalk: 4.1.2
+ jest-message-util: 27.5.1
+ jest-util: 27.5.1
+ slash: 3.0.0
+
+ '@jest/core@27.5.1':
+ dependencies:
+ '@jest/console': 27.5.1
+ '@jest/reporters': 27.5.1
+ '@jest/test-result': 27.5.1
+ '@jest/transform': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 20.12.11
+ ansi-escapes: 4.3.2
+ chalk: 4.1.2
+ emittery: 0.8.1
+ exit: 0.1.2
+ graceful-fs: 4.2.11
+ jest-changed-files: 27.5.1
+ jest-config: 27.5.1
+ jest-haste-map: 27.5.1
+ jest-message-util: 27.5.1
+ jest-regex-util: 27.5.1
+ jest-resolve: 27.5.1
+ jest-resolve-dependencies: 27.5.1
+ jest-runner: 27.5.1
+ jest-runtime: 27.5.1
+ jest-snapshot: 27.5.1
+ jest-util: 27.5.1
+ jest-validate: 27.5.1
+ jest-watcher: 27.5.1
+ micromatch: 4.0.5
+ rimraf: 3.0.2
+ slash: 3.0.0
+ strip-ansi: 6.0.1
+ transitivePeerDependencies:
+ - bufferutil
+ - canvas
+ - supports-color
+ - ts-node
+ - utf-8-validate
+
+ '@jest/environment@27.5.1':
+ dependencies:
+ '@jest/fake-timers': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 20.12.11
+ jest-mock: 27.5.1
+
+ '@jest/fake-timers@27.5.1':
+ dependencies:
+ '@jest/types': 27.5.1
+ '@sinonjs/fake-timers': 8.1.0
+ '@types/node': 20.12.11
+ jest-message-util: 27.5.1
+ jest-mock: 27.5.1
+ jest-util: 27.5.1
+
+ '@jest/globals@27.5.1':
+ dependencies:
+ '@jest/environment': 27.5.1
+ '@jest/types': 27.5.1
+ expect: 27.5.1
+
+ '@jest/reporters@27.5.1':
+ dependencies:
+ '@bcoe/v8-coverage': 0.2.3
+ '@jest/console': 27.5.1
+ '@jest/test-result': 27.5.1
+ '@jest/transform': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 20.12.11
+ chalk: 4.1.2
+ collect-v8-coverage: 1.0.2
+ exit: 0.1.2
+ glob: 7.2.3
+ graceful-fs: 4.2.11
+ istanbul-lib-coverage: 3.2.2
+ istanbul-lib-instrument: 5.2.1
+ istanbul-lib-report: 3.0.1
+ istanbul-lib-source-maps: 4.0.1
+ istanbul-reports: 3.1.7
+ jest-haste-map: 27.5.1
+ jest-resolve: 27.5.1
+ jest-util: 27.5.1
+ jest-worker: 27.5.1
+ slash: 3.0.0
+ source-map: 0.6.1
+ string-length: 4.0.2
+ terminal-link: 2.1.1
+ v8-to-istanbul: 8.1.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@jest/source-map@27.5.1':
+ dependencies:
+ callsites: 3.1.0
+ graceful-fs: 4.2.11
+ source-map: 0.6.1
+
+ '@jest/test-result@27.5.1':
+ dependencies:
+ '@jest/console': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/istanbul-lib-coverage': 2.0.6
+ collect-v8-coverage: 1.0.2
+
+ '@jest/test-sequencer@27.5.1':
+ dependencies:
+ '@jest/test-result': 27.5.1
+ graceful-fs: 4.2.11
+ jest-haste-map: 27.5.1
+ jest-runtime: 27.5.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@jest/transform@26.6.2':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@jest/types': 26.6.2
+ babel-plugin-istanbul: 6.1.1
+ chalk: 4.1.2
+ convert-source-map: 1.9.0
+ fast-json-stable-stringify: 2.1.0
+ graceful-fs: 4.2.11
+ jest-haste-map: 26.6.2
+ jest-regex-util: 26.0.0
+ jest-util: 26.6.2
+ micromatch: 4.0.5
+ pirates: 4.0.6
+ slash: 3.0.0
+ source-map: 0.6.1
+ write-file-atomic: 3.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@jest/transform@27.5.1':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@jest/types': 27.5.1
+ babel-plugin-istanbul: 6.1.1
+ chalk: 4.1.2
+ convert-source-map: 1.9.0
+ fast-json-stable-stringify: 2.1.0
+ graceful-fs: 4.2.11
+ jest-haste-map: 27.5.1
+ jest-regex-util: 27.5.1
+ jest-util: 27.5.1
+ micromatch: 4.0.5
+ pirates: 4.0.6
+ slash: 3.0.0
+ source-map: 0.6.1
+ write-file-atomic: 3.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@jest/types@26.6.2':
+ dependencies:
+ '@types/istanbul-lib-coverage': 2.0.6
+ '@types/istanbul-reports': 3.0.4
+ '@types/node': 20.12.11
+ '@types/yargs': 15.0.19
+ chalk: 4.1.2
+
+ '@jest/types@27.5.1':
+ dependencies:
+ '@types/istanbul-lib-coverage': 2.0.6
+ '@types/istanbul-reports': 3.0.4
+ '@types/node': 20.12.11
+ '@types/yargs': 16.0.9
+ chalk: 4.1.2
+
+ '@jridgewell/gen-mapping@0.3.5':
+ dependencies:
+ '@jridgewell/set-array': 1.2.1
+ '@jridgewell/sourcemap-codec': 1.4.15
+ '@jridgewell/trace-mapping': 0.3.25
+
+ '@jridgewell/resolve-uri@3.1.2': {}
+
+ '@jridgewell/set-array@1.2.1': {}
+
+ '@jridgewell/source-map@0.3.6':
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.5
+ '@jridgewell/trace-mapping': 0.3.25
+
+ '@jridgewell/sourcemap-codec@1.4.15': {}
+
+ '@jridgewell/trace-mapping@0.3.25':
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.2
+ '@jridgewell/sourcemap-codec': 1.4.15
+
+ '@mdx-js/mdx@1.6.22':
+ dependencies:
+ '@babel/core': 7.12.9
+ '@babel/plugin-syntax-jsx': 7.12.1(@babel/core@7.12.9)
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.12.9)
+ '@mdx-js/util': 1.6.22
+ babel-plugin-apply-mdx-type-prop: 1.6.22(@babel/core@7.12.9)
+ 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
+ transitivePeerDependencies:
+ - supports-color
+
+ '@mdx-js/react@1.6.22(react@18.3.1)':
+ dependencies:
+ react: 18.3.1
+
+ '@mdx-js/util@1.6.22': {}
+
+ '@mrmlnc/readdir-enhanced@2.2.1':
+ dependencies:
+ call-me-maybe: 1.0.2
+ glob-to-regexp: 0.3.0
+
+ '@nodelib/fs.scandir@2.1.5':
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
+
+ '@nodelib/fs.stat@1.1.3': {}
+
+ '@nodelib/fs.stat@2.0.5': {}
+
+ '@nodelib/fs.walk@1.2.8':
+ dependencies:
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.17.1
+
+ '@npmcli/fs@1.1.1':
+ dependencies:
+ '@gar/promisify': 1.1.3
+ semver: 7.6.2
+
+ '@npmcli/move-file@1.1.2':
+ dependencies:
+ mkdirp: 1.0.4
+ rimraf: 3.0.2
+
+ '@pkgjs/parseargs@0.11.0':
+ optional: true
+
+ '@pmmmwh/react-refresh-webpack-plugin@0.5.13(@types/webpack@4.41.38)(react-refresh@0.11.0)(type-fest@0.21.3)(webpack-hot-middleware@2.26.1)(webpack@5.91.0)':
+ dependencies:
+ ansi-html-community: 0.0.8
+ core-js-pure: 3.37.0
+ error-stack-parser: 2.1.4
+ html-entities: 2.5.2
+ loader-utils: 2.0.4
+ react-refresh: 0.11.0
+ schema-utils: 3.3.0
+ source-map: 0.7.4
+ webpack: 5.91.0
+ optionalDependencies:
+ '@types/webpack': 4.41.38
+ type-fest: 0.21.3
+ webpack-hot-middleware: 2.26.1
+
+ '@rollup/plugin-commonjs@21.1.0(rollup@2.79.1)':
+ dependencies:
+ '@rollup/pluginutils': 3.1.0(rollup@2.79.1)
+ commondir: 1.0.1
+ estree-walker: 2.0.2
+ glob: 7.2.3
+ is-reference: 1.2.1
+ magic-string: 0.25.9
+ resolve: 1.22.8
+ rollup: 2.79.1
+
+ '@rollup/plugin-node-resolve@13.3.0(rollup@2.79.1)':
+ dependencies:
+ '@rollup/pluginutils': 3.1.0(rollup@2.79.1)
+ '@types/resolve': 1.17.1
+ deepmerge: 4.3.1
+ is-builtin-module: 3.2.1
+ is-module: 1.0.0
+ resolve: 1.22.8
+ rollup: 2.79.1
+
+ '@rollup/pluginutils@3.1.0(rollup@2.79.1)':
+ dependencies:
+ '@types/estree': 0.0.39
+ estree-walker: 1.0.1
+ picomatch: 2.3.1
+ rollup: 2.79.1
+
+ '@rollup/pluginutils@4.2.1':
+ dependencies:
+ estree-walker: 2.0.2
+ picomatch: 2.3.1
+
+ '@sinonjs/commons@1.8.6':
+ dependencies:
+ type-detect: 4.0.8
+
+ '@sinonjs/fake-timers@8.1.0':
+ dependencies:
+ '@sinonjs/commons': 1.8.6
+
+ '@storybook/addon-actions@6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@storybook/addons': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/api': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/client-logger': 6.5.16
+ '@storybook/components': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/core-events': 6.5.16
+ '@storybook/csf': 0.0.2--canary.4566f4d.1
+ '@storybook/theming': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ core-js: 3.37.0
+ fast-deep-equal: 3.1.3
+ global: 4.4.0
+ lodash: 4.17.21
+ polished: 4.3.1
+ prop-types: 15.8.1
+ react-inspector: 5.1.1(react@18.3.1)
+ regenerator-runtime: 0.13.11
+ telejson: 6.0.8
+ ts-dedent: 2.2.0
+ util-deprecate: 1.0.2
+ uuid-browser: 3.1.0
+ optionalDependencies:
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
+ '@storybook/addon-backgrounds@6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@storybook/addons': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/api': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/client-logger': 6.5.16
+ '@storybook/components': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/core-events': 6.5.16
+ '@storybook/csf': 0.0.2--canary.4566f4d.1
+ '@storybook/theming': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ core-js: 3.37.0
+ global: 4.4.0
+ memoizerific: 1.11.3
+ regenerator-runtime: 0.13.11
+ ts-dedent: 2.2.0
+ util-deprecate: 1.0.2
+ optionalDependencies:
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
+ '@storybook/addon-controls@6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@4.9.5)':
+ dependencies:
+ '@storybook/addons': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/api': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/client-logger': 6.5.16
+ '@storybook/components': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/core-common': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@4.9.5)
+ '@storybook/csf': 0.0.2--canary.4566f4d.1
+ '@storybook/node-logger': 6.5.16
+ '@storybook/store': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/theming': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ core-js: 3.37.0
+ lodash: 4.17.21
+ ts-dedent: 2.2.0
+ optionalDependencies:
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ transitivePeerDependencies:
+ - eslint
+ - supports-color
+ - typescript
+ - vue-template-compiler
+ - webpack-cli
+ - webpack-command
+
+ '@storybook/addon-docs@6.5.16(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@4.9.5)(webpack@5.91.0)':
+ dependencies:
+ '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.5)
+ '@babel/preset-env': 7.24.5(@babel/core@7.24.5)
+ '@jest/transform': 26.6.2
+ '@mdx-js/react': 1.6.22(react@18.3.1)
+ '@storybook/addons': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/api': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/components': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/core-common': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@4.9.5)
+ '@storybook/core-events': 6.5.16
+ '@storybook/csf': 0.0.2--canary.4566f4d.1
+ '@storybook/docs-tools': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/mdx1-csf': 0.0.1(@babel/core@7.24.5)
+ '@storybook/node-logger': 6.5.16
+ '@storybook/postinstall': 6.5.16
+ '@storybook/preview-web': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/source-loader': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/store': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/theming': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ babel-loader: 8.3.0(@babel/core@7.24.5)(webpack@5.91.0)
+ core-js: 3.37.0
+ fast-deep-equal: 3.1.3
+ global: 4.4.0
+ lodash: 4.17.21
+ regenerator-runtime: 0.13.11
+ remark-external-links: 8.0.0
+ remark-slug: 6.1.0
+ ts-dedent: 2.2.0
+ util-deprecate: 1.0.2
+ optionalDependencies:
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ transitivePeerDependencies:
+ - '@babel/core'
+ - eslint
+ - supports-color
+ - typescript
+ - vue-template-compiler
+ - webpack
+ - webpack-cli
+ - webpack-command
+
+ '@storybook/addon-essentials@6.5.16(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@4.9.5)(webpack@5.91.0)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@storybook/addon-actions': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/addon-backgrounds': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/addon-controls': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@4.9.5)
+ '@storybook/addon-docs': 6.5.16(@babel/core@7.24.5)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@4.9.5)(webpack@5.91.0)
+ '@storybook/addon-measure': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/addon-outline': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/addon-toolbars': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/addon-viewport': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/addons': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/api': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/core-common': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@4.9.5)
+ '@storybook/node-logger': 6.5.16
+ core-js: 3.37.0
+ regenerator-runtime: 0.13.11
+ ts-dedent: 2.2.0
+ optionalDependencies:
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ webpack: 5.91.0
+ transitivePeerDependencies:
+ - '@storybook/mdx2-csf'
+ - eslint
+ - supports-color
+ - typescript
+ - vue-template-compiler
+ - webpack-cli
+ - webpack-command
+
+ '@storybook/addon-measure@6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@storybook/addons': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/api': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/client-logger': 6.5.16
+ '@storybook/components': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/core-events': 6.5.16
+ '@storybook/csf': 0.0.2--canary.4566f4d.1
+ core-js: 3.37.0
+ global: 4.4.0
+ optionalDependencies:
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
+ '@storybook/addon-outline@6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@storybook/addons': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/api': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/client-logger': 6.5.16
+ '@storybook/components': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/core-events': 6.5.16
+ '@storybook/csf': 0.0.2--canary.4566f4d.1
+ core-js: 3.37.0
+ global: 4.4.0
+ regenerator-runtime: 0.13.11
+ ts-dedent: 2.2.0
+ optionalDependencies:
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
+ '@storybook/addon-postcss@2.0.0(webpack@5.91.0)':
+ dependencies:
+ '@storybook/node-logger': 6.5.16
+ css-loader: 3.6.0(webpack@5.91.0)
+ postcss: 7.0.39
+ postcss-loader: 4.3.0(postcss@7.0.39)(webpack@5.91.0)
+ style-loader: 1.3.0(webpack@5.91.0)
+ transitivePeerDependencies:
+ - webpack
+
+ '@storybook/addon-toolbars@6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@storybook/addons': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/api': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/client-logger': 6.5.16
+ '@storybook/components': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/theming': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ core-js: 3.37.0
+ regenerator-runtime: 0.13.11
+ optionalDependencies:
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
+ '@storybook/addon-viewport@6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@storybook/addons': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/api': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/client-logger': 6.5.16
+ '@storybook/components': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/core-events': 6.5.16
+ '@storybook/theming': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ core-js: 3.37.0
+ global: 4.4.0
+ memoizerific: 1.11.3
+ prop-types: 15.8.1
+ regenerator-runtime: 0.13.11
+ optionalDependencies:
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
+ '@storybook/addons@6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@storybook/api': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@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(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/theming': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@types/webpack-env': 1.18.5
+ core-js: 3.37.0
+ global: 4.4.0
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ regenerator-runtime: 0.13.11
+
+ '@storybook/api@6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ 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(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/semver': 7.3.2
+ '@storybook/theming': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ core-js: 3.37.0
+ fast-deep-equal: 3.1.3
+ global: 4.4.0
+ lodash: 4.17.21
+ memoizerific: 1.11.3
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ regenerator-runtime: 0.13.11
+ store2: 2.14.3
+ telejson: 6.0.8
+ ts-dedent: 2.2.0
+ util-deprecate: 1.0.2
+
+ '@storybook/builder-webpack4@6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@4.9.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@storybook/addons': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/api': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/channel-postmessage': 6.5.16
+ '@storybook/channels': 6.5.16
+ '@storybook/client-api': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/client-logger': 6.5.16
+ '@storybook/components': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/core-common': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@4.9.5)
+ '@storybook/core-events': 6.5.16
+ '@storybook/node-logger': 6.5.16
+ '@storybook/preview-web': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/router': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/semver': 7.3.2
+ '@storybook/store': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/theming': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/ui': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@types/node': 16.18.97
+ '@types/webpack': 4.41.38
+ autoprefixer: 9.8.8
+ babel-loader: 8.3.0(@babel/core@7.24.5)(webpack@4.47.0)
+ case-sensitive-paths-webpack-plugin: 2.4.0
+ core-js: 3.37.0
+ css-loader: 3.6.0(webpack@4.47.0)
+ file-loader: 6.2.0(webpack@4.47.0)
+ find-up: 5.0.0
+ fork-ts-checker-webpack-plugin: 4.1.6(typescript@4.9.5)(webpack@4.47.0)
+ glob: 7.2.3
+ glob-promise: 3.4.0(glob@7.2.3)
+ global: 4.4.0
+ html-webpack-plugin: 4.5.2(webpack@4.47.0)
+ pnp-webpack-plugin: 1.6.4(typescript@4.9.5)
+ postcss: 7.0.39
+ postcss-flexbugs-fixes: 4.2.1
+ postcss-loader: 4.3.0(postcss@7.0.39)(webpack@4.47.0)
+ raw-loader: 4.0.2(webpack@4.47.0)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ stable: 0.1.8
+ style-loader: 1.3.0(webpack@4.47.0)
+ terser-webpack-plugin: 4.2.3(webpack@4.47.0)
+ ts-dedent: 2.2.0
+ url-loader: 4.1.1(file-loader@6.2.0(webpack@4.47.0))(webpack@4.47.0)
+ util-deprecate: 1.0.2
+ webpack: 4.47.0
+ webpack-dev-middleware: 3.7.3(webpack@4.47.0)
+ webpack-filter-warnings-plugin: 1.2.1(webpack@4.47.0)
+ webpack-hot-middleware: 2.26.1
+ webpack-virtual-modules: 0.2.2
+ optionalDependencies:
+ typescript: 4.9.5
+ transitivePeerDependencies:
+ - bluebird
+ - eslint
+ - supports-color
+ - vue-template-compiler
+ - webpack-cli
+ - webpack-command
+
+ '@storybook/channel-postmessage@6.5.16':
+ dependencies:
+ '@storybook/channels': 6.5.16
+ '@storybook/client-logger': 6.5.16
+ '@storybook/core-events': 6.5.16
+ core-js: 3.37.0
+ global: 4.4.0
+ qs: 6.12.1
+ telejson: 6.0.8
+
+ '@storybook/channel-websocket@6.5.16':
+ dependencies:
+ '@storybook/channels': 6.5.16
+ '@storybook/client-logger': 6.5.16
+ core-js: 3.37.0
+ global: 4.4.0
+ telejson: 6.0.8
+
+ '@storybook/channels@6.5.16':
+ dependencies:
+ core-js: 3.37.0
+ ts-dedent: 2.2.0
+ util-deprecate: 1.0.2
+
+ '@storybook/client-api@6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@storybook/addons': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@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(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@types/qs': 6.9.15
+ '@types/webpack-env': 1.18.5
+ core-js: 3.37.0
+ fast-deep-equal: 3.1.3
+ global: 4.4.0
+ lodash: 4.17.21
+ memoizerific: 1.11.3
+ qs: 6.12.1
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ regenerator-runtime: 0.13.11
+ store2: 2.14.3
+ synchronous-promise: 2.0.17
+ ts-dedent: 2.2.0
+ util-deprecate: 1.0.2
+
+ '@storybook/client-logger@6.5.16':
+ dependencies:
+ core-js: 3.37.0
+ global: 4.4.0
+
+ '@storybook/components@6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@storybook/client-logger': 6.5.16
+ '@storybook/csf': 0.0.2--canary.4566f4d.1
+ '@storybook/theming': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ core-js: 3.37.0
+ memoizerific: 1.11.3
+ qs: 6.12.1
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ regenerator-runtime: 0.13.11
+ util-deprecate: 1.0.2
+
+ '@storybook/core-client@6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@4.9.5)(webpack@4.47.0)':
+ dependencies:
+ '@storybook/addons': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/channel-postmessage': 6.5.16
+ '@storybook/channel-websocket': 6.5.16
+ '@storybook/client-api': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@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(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/store': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/ui': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ airbnb-js-shims: 2.2.1
+ ansi-to-html: 0.6.15
+ core-js: 3.37.0
+ global: 4.4.0
+ lodash: 4.17.21
+ qs: 6.12.1
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ regenerator-runtime: 0.13.11
+ ts-dedent: 2.2.0
+ unfetch: 4.2.0
+ util-deprecate: 1.0.2
+ webpack: 4.47.0
+ optionalDependencies:
+ typescript: 4.9.5
+
+ '@storybook/core-client@6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@4.9.5)(webpack@5.91.0)':
+ dependencies:
+ '@storybook/addons': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/channel-postmessage': 6.5.16
+ '@storybook/channel-websocket': 6.5.16
+ '@storybook/client-api': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@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(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/store': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/ui': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ airbnb-js-shims: 2.2.1
+ ansi-to-html: 0.6.15
+ core-js: 3.37.0
+ global: 4.4.0
+ lodash: 4.17.21
+ qs: 6.12.1
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ regenerator-runtime: 0.13.11
+ ts-dedent: 2.2.0
+ unfetch: 4.2.0
+ util-deprecate: 1.0.2
+ webpack: 5.91.0
+ optionalDependencies:
+ typescript: 4.9.5
+
+ '@storybook/core-common@6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@4.9.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.5)
+ '@babel/plugin-proposal-decorators': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-proposal-export-default-from': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.24.5)
+ '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.24.5)
+ '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.5)
+ '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.24.5)
+ '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.24.5)
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.5)
+ '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-block-scoping': 7.24.5(@babel/core@7.24.5)
+ '@babel/plugin-transform-classes': 7.24.5(@babel/core@7.24.5)
+ '@babel/plugin-transform-destructuring': 7.24.5(@babel/core@7.24.5)
+ '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.5)
+ '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.5)
+ '@babel/preset-env': 7.24.5(@babel/core@7.24.5)
+ '@babel/preset-react': 7.24.1(@babel/core@7.24.5)
+ '@babel/preset-typescript': 7.24.1(@babel/core@7.24.5)
+ '@babel/register': 7.23.7(@babel/core@7.24.5)
+ '@storybook/node-logger': 6.5.16
+ '@storybook/semver': 7.3.2
+ '@types/node': 16.18.97
+ '@types/pretty-hrtime': 1.0.3
+ babel-loader: 8.3.0(@babel/core@7.24.5)(webpack@4.47.0)
+ babel-plugin-macros: 3.1.0
+ babel-plugin-polyfill-corejs3: 0.1.7(@babel/core@7.24.5)
+ chalk: 4.1.2
+ core-js: 3.37.0
+ express: 4.19.2
+ file-system-cache: 1.1.0
+ find-up: 5.0.0
+ fork-ts-checker-webpack-plugin: 6.5.3(typescript@4.9.5)(webpack@4.47.0)
+ fs-extra: 9.1.0
+ glob: 7.2.3
+ handlebars: 4.7.8
+ interpret: 2.2.0
+ json5: 2.2.3
+ lazy-universal-dotenv: 3.0.1
+ picomatch: 2.3.1
+ pkg-dir: 5.0.0
+ pretty-hrtime: 1.0.3
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ resolve-from: 5.0.0
+ slash: 3.0.0
+ telejson: 6.0.8
+ ts-dedent: 2.2.0
+ util-deprecate: 1.0.2
+ webpack: 4.47.0
+ optionalDependencies:
+ typescript: 4.9.5
+ transitivePeerDependencies:
+ - eslint
+ - supports-color
+ - vue-template-compiler
+ - webpack-cli
+ - webpack-command
+
+ '@storybook/core-events@6.5.16':
+ dependencies:
+ core-js: 3.37.0
+
+ '@storybook/core-server@6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@4.9.5)':
+ dependencies:
+ '@discoveryjs/json-ext': 0.5.7
+ '@storybook/builder-webpack4': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@4.9.5)
+ '@storybook/core-client': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@4.9.5)(webpack@4.47.0)
+ '@storybook/core-common': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@4.9.5)
+ '@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(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@4.9.5)
+ '@storybook/node-logger': 6.5.16
+ '@storybook/semver': 7.3.2
+ '@storybook/store': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/telemetry': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@4.9.5)
+ '@types/node': 16.18.97
+ '@types/node-fetch': 2.6.11
+ '@types/pretty-hrtime': 1.0.3
+ '@types/webpack': 4.41.38
+ better-opn: 2.1.1
+ boxen: 5.1.2
+ chalk: 4.1.2
+ cli-table3: 0.6.4
+ commander: 6.2.1
+ compression: 1.7.4
+ core-js: 3.37.0
+ cpy: 8.1.2
+ detect-port: 1.6.1
+ express: 4.19.2
+ fs-extra: 9.1.0
+ global: 4.4.0
+ globby: 11.1.0
+ ip: 2.0.1
+ lodash: 4.17.21
+ node-fetch: 2.7.0
+ open: 8.4.2
+ pretty-hrtime: 1.0.3
+ prompts: 2.4.2
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ regenerator-runtime: 0.13.11
+ serve-favicon: 2.5.0
+ slash: 3.0.0
+ telejson: 6.0.8
+ ts-dedent: 2.2.0
+ util-deprecate: 1.0.2
+ watchpack: 2.4.1
+ webpack: 4.47.0
+ ws: 8.17.0
+ x-default-browser: 0.4.0
+ optionalDependencies:
+ typescript: 4.9.5
+ transitivePeerDependencies:
+ - '@storybook/mdx2-csf'
+ - bluebird
+ - bufferutil
+ - encoding
+ - eslint
+ - supports-color
+ - utf-8-validate
+ - vue-template-compiler
+ - webpack-cli
+ - webpack-command
+
+ '@storybook/core@6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@4.9.5)(webpack@5.91.0)':
+ dependencies:
+ '@storybook/core-client': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@4.9.5)(webpack@5.91.0)
+ '@storybook/core-server': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@4.9.5)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ webpack: 5.91.0
+ optionalDependencies:
+ typescript: 4.9.5
+ transitivePeerDependencies:
+ - '@storybook/mdx2-csf'
+ - bluebird
+ - bufferutil
+ - encoding
+ - eslint
+ - supports-color
+ - utf-8-validate
+ - vue-template-compiler
+ - webpack-cli
+ - webpack-command
+
+ '@storybook/csf-tools@6.5.16':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/generator': 7.24.5
+ '@babel/parser': 7.24.5
+ '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.5)
+ '@babel/preset-env': 7.24.5(@babel/core@7.24.5)
+ '@babel/traverse': 7.24.5
+ '@babel/types': 7.24.5
+ '@storybook/csf': 0.0.2--canary.4566f4d.1
+ '@storybook/mdx1-csf': 0.0.1(@babel/core@7.24.5)
+ core-js: 3.37.0
+ fs-extra: 9.1.0
+ global: 4.4.0
+ regenerator-runtime: 0.13.11
+ ts-dedent: 2.2.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@storybook/csf@0.0.2--canary.4566f4d.1':
+ dependencies:
+ lodash: 4.17.21
+
+ '@storybook/docs-tools@6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@storybook/csf': 0.0.2--canary.4566f4d.1
+ '@storybook/store': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ core-js: 3.37.0
+ doctrine: 3.0.0
+ lodash: 4.17.21
+ regenerator-runtime: 0.13.11
+ transitivePeerDependencies:
+ - react
+ - react-dom
+ - supports-color
+
+ '@storybook/manager-webpack4@6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@4.9.5)':
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.5)
+ '@babel/preset-react': 7.24.1(@babel/core@7.24.5)
+ '@storybook/addons': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/core-client': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@4.9.5)(webpack@4.47.0)
+ '@storybook/core-common': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@4.9.5)
+ '@storybook/node-logger': 6.5.16
+ '@storybook/theming': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/ui': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@types/node': 16.18.97
+ '@types/webpack': 4.41.38
+ babel-loader: 8.3.0(@babel/core@7.24.5)(webpack@4.47.0)
+ case-sensitive-paths-webpack-plugin: 2.4.0
+ chalk: 4.1.2
+ core-js: 3.37.0
+ css-loader: 3.6.0(webpack@4.47.0)
+ express: 4.19.2
+ file-loader: 6.2.0(webpack@5.91.0)
+ find-up: 5.0.0
+ fs-extra: 9.1.0
+ html-webpack-plugin: 4.5.2(webpack@4.47.0)
+ node-fetch: 2.7.0
+ pnp-webpack-plugin: 1.6.4(typescript@4.9.5)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ read-pkg-up: 7.0.1
+ regenerator-runtime: 0.13.11
+ resolve-from: 5.0.0
+ style-loader: 1.3.0(webpack@4.47.0)
+ telejson: 6.0.8
+ terser-webpack-plugin: 4.2.3(webpack@4.47.0)
+ ts-dedent: 2.2.0
+ url-loader: 4.1.1(file-loader@6.2.0(webpack@4.47.0))(webpack@4.47.0)
+ util-deprecate: 1.0.2
+ webpack: 4.47.0
+ webpack-dev-middleware: 3.7.3(webpack@4.47.0)
+ webpack-virtual-modules: 0.2.2
+ optionalDependencies:
+ typescript: 4.9.5
+ transitivePeerDependencies:
+ - bluebird
+ - encoding
+ - eslint
+ - supports-color
+ - vue-template-compiler
+ - webpack-cli
+ - webpack-command
+
+ '@storybook/mdx1-csf@0.0.1(@babel/core@7.24.5)':
+ dependencies:
+ '@babel/generator': 7.24.5
+ '@babel/parser': 7.24.5
+ '@babel/preset-env': 7.24.5(@babel/core@7.24.5)
+ '@babel/types': 7.24.5
+ '@mdx-js/mdx': 1.6.22
+ '@types/lodash': 4.17.1
+ js-string-escape: 1.0.1
+ loader-utils: 2.0.4
+ lodash: 4.17.21
+ prettier: 2.3.0
+ ts-dedent: 2.2.0
+ transitivePeerDependencies:
+ - '@babel/core'
+ - supports-color
+
+ '@storybook/node-logger@6.5.16':
+ dependencies:
+ '@types/npmlog': 4.1.6
+ chalk: 4.1.2
+ core-js: 3.37.0
+ npmlog: 5.0.1
+ pretty-hrtime: 1.0.3
+
+ '@storybook/postinstall@6.5.16':
+ dependencies:
+ core-js: 3.37.0
+
+ '@storybook/preview-web@6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@storybook/addons': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@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(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ ansi-to-html: 0.6.15
+ core-js: 3.37.0
+ global: 4.4.0
+ lodash: 4.17.21
+ qs: 6.12.1
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ regenerator-runtime: 0.13.11
+ synchronous-promise: 2.0.17
+ ts-dedent: 2.2.0
+ unfetch: 4.2.0
+ util-deprecate: 1.0.2
+
+ '@storybook/react-docgen-typescript-plugin@1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@4.9.5)(webpack@5.91.0)':
+ dependencies:
+ debug: 4.3.4
+ endent: 2.1.0
+ find-cache-dir: 3.3.2
+ flat-cache: 3.2.0
+ micromatch: 4.0.5
+ react-docgen-typescript: 2.2.2(typescript@4.9.5)
+ tslib: 2.6.2
+ typescript: 4.9.5
+ webpack: 5.91.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@storybook/react@6.5.16(@babel/core@7.24.5)(@types/webpack@4.41.38)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(require-from-string@2.0.2)(type-fest@0.21.3)(typescript@4.9.5)(webpack-hot-middleware@2.26.1)':
+ dependencies:
+ '@babel/preset-flow': 7.24.1(@babel/core@7.24.5)
+ '@babel/preset-react': 7.24.1(@babel/core@7.24.5)
+ '@pmmmwh/react-refresh-webpack-plugin': 0.5.13(@types/webpack@4.41.38)(react-refresh@0.11.0)(type-fest@0.21.3)(webpack-hot-middleware@2.26.1)(webpack@5.91.0)
+ '@storybook/addons': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/client-logger': 6.5.16
+ '@storybook/core': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@4.9.5)(webpack@5.91.0)
+ '@storybook/core-common': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@4.9.5)
+ '@storybook/csf': 0.0.2--canary.4566f4d.1
+ '@storybook/docs-tools': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/node-logger': 6.5.16
+ '@storybook/react-docgen-typescript-plugin': 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0(typescript@4.9.5)(webpack@5.91.0)
+ '@storybook/semver': 7.3.2
+ '@storybook/store': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@types/estree': 0.0.51
+ '@types/node': 16.18.97
+ '@types/webpack-env': 1.18.5
+ acorn: 7.4.1
+ acorn-jsx: 5.3.2(acorn@7.4.1)
+ acorn-walk: 7.2.0
+ babel-plugin-add-react-displayname: 0.0.5
+ babel-plugin-react-docgen: 4.2.1
+ core-js: 3.37.0
+ escodegen: 2.1.0
+ fs-extra: 9.1.0
+ global: 4.4.0
+ html-tags: 3.3.1
+ lodash: 4.17.21
+ prop-types: 15.8.1
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-element-to-jsx-string: 14.3.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react-refresh: 0.11.0
+ read-pkg-up: 7.0.1
+ regenerator-runtime: 0.13.11
+ require-from-string: 2.0.2
+ ts-dedent: 2.2.0
+ util-deprecate: 1.0.2
+ webpack: 5.91.0
+ optionalDependencies:
+ '@babel/core': 7.24.5
+ typescript: 4.9.5
+ transitivePeerDependencies:
+ - '@storybook/mdx2-csf'
+ - '@swc/core'
+ - '@types/webpack'
+ - bluebird
+ - bufferutil
+ - encoding
+ - esbuild
+ - eslint
+ - sockjs-client
+ - supports-color
+ - type-fest
+ - uglify-js
+ - utf-8-validate
+ - vue-template-compiler
+ - webpack-cli
+ - webpack-command
+ - webpack-dev-server
+ - webpack-hot-middleware
+ - webpack-plugin-serve
+
+ '@storybook/router@6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@storybook/client-logger': 6.5.16
+ core-js: 3.37.0
+ memoizerific: 1.11.3
+ qs: 6.12.1
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ regenerator-runtime: 0.13.11
+
+ '@storybook/semver@7.3.2':
+ dependencies:
+ core-js: 3.37.0
+ find-up: 4.1.0
+
+ '@storybook/source-loader@6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@storybook/addons': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/client-logger': 6.5.16
+ '@storybook/csf': 0.0.2--canary.4566f4d.1
+ core-js: 3.37.0
+ estraverse: 5.3.0
+ global: 4.4.0
+ loader-utils: 2.0.4
+ lodash: 4.17.21
+ prettier: 2.3.0
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ regenerator-runtime: 0.13.11
+
+ '@storybook/store@6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@storybook/addons': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/client-logger': 6.5.16
+ '@storybook/core-events': 6.5.16
+ '@storybook/csf': 0.0.2--canary.4566f4d.1
+ core-js: 3.37.0
+ fast-deep-equal: 3.1.3
+ global: 4.4.0
+ lodash: 4.17.21
+ memoizerific: 1.11.3
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ regenerator-runtime: 0.13.11
+ slash: 3.0.0
+ stable: 0.1.8
+ synchronous-promise: 2.0.17
+ ts-dedent: 2.2.0
+ util-deprecate: 1.0.2
+
+ '@storybook/telemetry@6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@4.9.5)':
+ dependencies:
+ '@storybook/client-logger': 6.5.16
+ '@storybook/core-common': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@4.9.5)
+ chalk: 4.1.2
+ core-js: 3.37.0
+ detect-package-manager: 2.0.1
+ fetch-retry: 5.0.6
+ fs-extra: 9.1.0
+ global: 4.4.0
+ isomorphic-unfetch: 3.1.0
+ nanoid: 3.3.7
+ read-pkg-up: 7.0.1
+ regenerator-runtime: 0.13.11
+ transitivePeerDependencies:
+ - encoding
+ - eslint
+ - react
+ - react-dom
+ - supports-color
+ - typescript
+ - vue-template-compiler
+ - webpack-cli
+ - webpack-command
+
+ '@storybook/theming@6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@storybook/client-logger': 6.5.16
+ core-js: 3.37.0
+ memoizerific: 1.11.3
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ regenerator-runtime: 0.13.11
+
+ '@storybook/ui@6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@storybook/addons': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/api': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/channels': 6.5.16
+ '@storybook/client-logger': 6.5.16
+ '@storybook/components': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/core-events': 6.5.16
+ '@storybook/router': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@storybook/semver': 7.3.2
+ '@storybook/theming': 6.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ core-js: 3.37.0
+ memoizerific: 1.11.3
+ qs: 6.12.1
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ regenerator-runtime: 0.13.11
+ resolve-from: 5.0.0
+
+ '@tailwindcss/typography@0.5.13(tailwindcss@3.4.3)':
+ dependencies:
+ lodash.castarray: 4.4.0
+ lodash.isplainobject: 4.0.6
+ lodash.merge: 4.6.2
+ postcss-selector-parser: 6.0.10
+ tailwindcss: 3.4.3
+
+ '@testing-library/dom@8.20.1':
+ dependencies:
+ '@babel/code-frame': 7.24.2
+ '@babel/runtime': 7.24.5
+ '@types/aria-query': 5.0.4
+ aria-query: 5.1.3
+ chalk: 4.1.2
+ dom-accessibility-api: 0.5.16
+ lz-string: 1.5.0
+ pretty-format: 27.5.1
+
+ '@testing-library/jest-dom@5.17.0':
+ dependencies:
+ '@adobe/css-tools': 4.3.3
+ '@babel/runtime': 7.24.5
+ '@types/testing-library__jest-dom': 5.14.9
+ aria-query: 5.3.0
+ chalk: 3.0.0
+ css.escape: 1.5.1
+ dom-accessibility-api: 0.5.16
+ lodash: 4.17.21
+ redent: 3.0.0
+
+ '@testing-library/react@12.1.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@babel/runtime': 7.24.5
+ '@testing-library/dom': 8.20.1
+ '@types/react-dom': 17.0.25
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
+ '@tootallnate/once@1.1.2': {}
+
+ '@trysound/sax@0.2.0': {}
+
+ '@types/aria-query@5.0.4': {}
+
+ '@types/babel__core@7.20.5':
+ dependencies:
+ '@babel/parser': 7.24.5
+ '@babel/types': 7.24.5
+ '@types/babel__generator': 7.6.8
+ '@types/babel__template': 7.4.4
+ '@types/babel__traverse': 7.20.5
+
+ '@types/babel__generator@7.6.8':
+ dependencies:
+ '@babel/types': 7.24.5
+
+ '@types/babel__template@7.4.4':
+ dependencies:
+ '@babel/parser': 7.24.5
+ '@babel/types': 7.24.5
+
+ '@types/babel__traverse@7.20.5':
+ dependencies:
+ '@babel/types': 7.24.5
+
+ '@types/bluebird@3.5.42': {}
+
+ '@types/cssnano@5.1.0(postcss@8.4.38)':
+ dependencies:
+ cssnano: 5.1.15(postcss@8.4.38)
+ transitivePeerDependencies:
+ - postcss
+
+ '@types/eslint-scope@3.7.7':
+ dependencies:
+ '@types/eslint': 8.56.10
+ '@types/estree': 1.0.5
+
+ '@types/eslint@8.56.10':
+ dependencies:
+ '@types/estree': 1.0.5
+ '@types/json-schema': 7.0.15
+
+ '@types/estree@0.0.39': {}
+
+ '@types/estree@0.0.51': {}
+
+ '@types/estree@1.0.5': {}
+
+ '@types/glob@7.2.0':
+ dependencies:
+ '@types/minimatch': 5.1.2
+ '@types/node': 20.12.11
+
+ '@types/glob@8.1.0':
+ dependencies:
+ '@types/minimatch': 5.1.2
+ '@types/node': 20.12.11
+
+ '@types/graceful-fs@4.1.9':
+ dependencies:
+ '@types/node': 20.12.11
+
+ '@types/hast@2.3.10':
+ dependencies:
+ '@types/unist': 2.0.10
+
+ '@types/hoist-non-react-statics@3.3.5':
+ dependencies:
+ '@types/react': 17.0.80
+ hoist-non-react-statics: 3.3.2
+
+ '@types/html-minifier-terser@5.1.2': {}
+
+ '@types/is-function@1.0.3': {}
+
+ '@types/istanbul-lib-coverage@2.0.6': {}
+
+ '@types/istanbul-lib-report@3.0.3':
+ dependencies:
+ '@types/istanbul-lib-coverage': 2.0.6
+
+ '@types/istanbul-reports@3.0.4':
+ dependencies:
+ '@types/istanbul-lib-report': 3.0.3
+
+ '@types/jest@27.5.2':
+ dependencies:
+ jest-matcher-utils: 27.5.1
+ pretty-format: 27.5.1
+
+ '@types/js-cookie@2.2.7': {}
+
+ '@types/json-schema@7.0.15': {}
+
+ '@types/lodash@4.17.1': {}
+
+ '@types/mdast@3.0.15':
+ dependencies:
+ '@types/unist': 2.0.10
+
+ '@types/minimatch@5.1.2': {}
+
+ '@types/node-fetch@2.6.11':
+ dependencies:
+ '@types/node': 20.12.11
+ form-data: 4.0.0
+
+ '@types/node@16.18.97': {}
+
+ '@types/node@20.12.11':
+ dependencies:
+ undici-types: 5.26.5
+
+ '@types/normalize-package-data@2.4.4': {}
+
+ '@types/npmlog@4.1.6':
+ dependencies:
+ '@types/node': 20.12.11
+
+ '@types/parse-json@4.0.2': {}
+
+ '@types/parse5@5.0.3': {}
+
+ '@types/prettier@2.7.3': {}
+
+ '@types/pretty-hrtime@1.0.3': {}
+
+ '@types/prop-types@15.7.12': {}
+
+ '@types/qs@6.9.15': {}
+
+ '@types/react-dom@17.0.25':
+ dependencies:
+ '@types/react': 17.0.80
+
+ '@types/react@17.0.80':
+ dependencies:
+ '@types/prop-types': 15.7.12
+ '@types/scheduler': 0.16.8
+ csstype: 3.1.3
+
+ '@types/resolve@1.17.1':
+ dependencies:
+ '@types/node': 20.12.11
+
+ '@types/scheduler@0.16.8': {}
+
+ '@types/source-list-map@0.1.6': {}
+
+ '@types/stack-utils@2.0.3': {}
+
+ '@types/tapable@1.0.12': {}
+
+ '@types/testing-library__jest-dom@5.14.9':
+ dependencies:
+ '@types/jest': 27.5.2
+
+ '@types/uglify-js@3.17.5':
+ dependencies:
+ source-map: 0.6.1
+
+ '@types/unist@2.0.10': {}
+
+ '@types/webpack-env@1.18.5': {}
+
+ '@types/webpack-sources@3.2.3':
+ dependencies:
+ '@types/node': 20.12.11
+ '@types/source-list-map': 0.1.6
+ source-map: 0.7.4
+
+ '@types/webpack@4.41.38':
+ dependencies:
+ '@types/node': 20.12.11
+ '@types/tapable': 1.0.12
+ '@types/uglify-js': 3.17.5
+ '@types/webpack-sources': 3.2.3
+ anymatch: 3.1.3
+ source-map: 0.6.1
+
+ '@types/yargs-parser@21.0.3': {}
+
+ '@types/yargs@15.0.19':
+ dependencies:
+ '@types/yargs-parser': 21.0.3
+
+ '@types/yargs@16.0.9':
+ dependencies:
+ '@types/yargs-parser': 21.0.3
+
+ '@webassemblyjs/ast@1.12.1':
+ dependencies:
+ '@webassemblyjs/helper-numbers': 1.11.6
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+
+ '@webassemblyjs/ast@1.9.0':
+ 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.6': {}
+
+ '@webassemblyjs/floating-point-hex-parser@1.9.0': {}
+
+ '@webassemblyjs/helper-api-error@1.11.6': {}
+
+ '@webassemblyjs/helper-api-error@1.9.0': {}
+
+ '@webassemblyjs/helper-buffer@1.12.1': {}
+
+ '@webassemblyjs/helper-buffer@1.9.0': {}
+
+ '@webassemblyjs/helper-code-frame@1.9.0':
+ dependencies:
+ '@webassemblyjs/wast-printer': 1.9.0
+
+ '@webassemblyjs/helper-fsm@1.9.0': {}
+
+ '@webassemblyjs/helper-module-context@1.9.0':
+ dependencies:
+ '@webassemblyjs/ast': 1.9.0
+
+ '@webassemblyjs/helper-numbers@1.11.6':
+ dependencies:
+ '@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.6': {}
+
+ '@webassemblyjs/helper-wasm-bytecode@1.9.0': {}
+
+ '@webassemblyjs/helper-wasm-section@1.12.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.12.1
+ '@webassemblyjs/helper-buffer': 1.12.1
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+ '@webassemblyjs/wasm-gen': 1.12.1
+
+ '@webassemblyjs/helper-wasm-section@1.9.0':
+ 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/ieee754@1.11.6':
+ dependencies:
+ '@xtuc/ieee754': 1.2.0
+
+ '@webassemblyjs/ieee754@1.9.0':
+ dependencies:
+ '@xtuc/ieee754': 1.2.0
+
+ '@webassemblyjs/leb128@1.11.6':
+ dependencies:
+ '@xtuc/long': 4.2.2
+
+ '@webassemblyjs/leb128@1.9.0':
+ dependencies:
+ '@xtuc/long': 4.2.2
+
+ '@webassemblyjs/utf8@1.11.6': {}
+
+ '@webassemblyjs/utf8@1.9.0': {}
+
+ '@webassemblyjs/wasm-edit@1.12.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.12.1
+ '@webassemblyjs/helper-buffer': 1.12.1
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+ '@webassemblyjs/helper-wasm-section': 1.12.1
+ '@webassemblyjs/wasm-gen': 1.12.1
+ '@webassemblyjs/wasm-opt': 1.12.1
+ '@webassemblyjs/wasm-parser': 1.12.1
+ '@webassemblyjs/wast-printer': 1.12.1
+
+ '@webassemblyjs/wasm-edit@1.9.0':
+ 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.12.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.12.1
+ '@webassemblyjs/helper-wasm-bytecode': 1.11.6
+ '@webassemblyjs/ieee754': 1.11.6
+ '@webassemblyjs/leb128': 1.11.6
+ '@webassemblyjs/utf8': 1.11.6
+
+ '@webassemblyjs/wasm-gen@1.9.0':
+ 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.12.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.12.1
+ '@webassemblyjs/helper-buffer': 1.12.1
+ '@webassemblyjs/wasm-gen': 1.12.1
+ '@webassemblyjs/wasm-parser': 1.12.1
+
+ '@webassemblyjs/wasm-opt@1.9.0':
+ 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.12.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.12.1
+ '@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/wasm-parser@1.9.0':
+ 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':
+ 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.12.1':
+ dependencies:
+ '@webassemblyjs/ast': 1.12.1
+ '@xtuc/long': 4.2.2
+
+ '@webassemblyjs/wast-printer@1.9.0':
+ dependencies:
+ '@webassemblyjs/ast': 1.9.0
+ '@webassemblyjs/wast-parser': 1.9.0
+ '@xtuc/long': 4.2.2
+
+ '@xobotyi/scrollbar-width@1.9.5': {}
+
+ '@xtuc/ieee754@1.2.0': {}
+
+ '@xtuc/long@4.2.2': {}
+
+ abab@2.0.6: {}
+
+ accepts@1.3.8:
+ dependencies:
+ mime-types: 2.1.35
+ negotiator: 0.6.3
+
+ acorn-globals@6.0.0:
+ dependencies:
+ acorn: 7.4.1
+ acorn-walk: 7.2.0
+
+ acorn-import-assertions@1.9.0(acorn@8.11.3):
+ dependencies:
+ acorn: 8.11.3
+
+ acorn-jsx@5.3.2(acorn@7.4.1):
+ dependencies:
+ acorn: 7.4.1
+
+ acorn-walk@7.2.0: {}
+
+ acorn@6.4.2: {}
+
+ acorn@7.4.1: {}
+
+ acorn@8.11.3: {}
+
+ address@1.2.2: {}
+
+ agent-base@6.0.2:
+ dependencies:
+ debug: 4.3.4
+ transitivePeerDependencies:
+ - supports-color
+
+ aggregate-error@3.1.0:
+ dependencies:
+ clean-stack: 2.2.0
+ indent-string: 4.0.0
+
+ airbnb-js-shims@2.2.1:
+ dependencies:
+ array-includes: 3.1.8
+ array.prototype.flat: 1.3.2
+ array.prototype.flatmap: 1.3.2
+ es5-shim: 4.6.7
+ es6-shim: 0.35.8
+ function.prototype.name: 1.1.6
+ globalthis: 1.0.4
+ object.entries: 1.1.8
+ object.fromentries: 2.0.8
+ object.getownpropertydescriptors: 2.1.8
+ object.values: 1.2.0
+ promise.allsettled: 1.0.7
+ promise.prototype.finally: 3.1.8
+ string.prototype.matchall: 4.0.11
+ string.prototype.padend: 3.1.6
+ string.prototype.padstart: 3.1.6
+ symbol.prototype.description: 1.0.6
+
+ ajv-errors@1.0.1(ajv@6.12.6):
+ dependencies:
+ ajv: 6.12.6
+
+ ajv-keywords@3.5.2(ajv@6.12.6):
+ dependencies:
+ ajv: 6.12.6
+
+ ajv@6.12.6:
+ dependencies:
+ fast-deep-equal: 3.1.3
+ fast-json-stable-stringify: 2.1.0
+ json-schema-traverse: 0.4.1
+ uri-js: 4.4.1
+
+ ansi-align@3.0.1:
+ dependencies:
+ string-width: 4.2.3
+
+ ansi-colors@3.2.4: {}
+
+ ansi-escapes@4.3.2:
+ dependencies:
+ type-fest: 0.21.3
+
+ ansi-html-community@0.0.8: {}
+
+ ansi-regex@2.1.1: {}
+
+ ansi-regex@5.0.1: {}
+
+ ansi-regex@6.0.1: {}
+
+ ansi-styles@3.2.1:
+ dependencies:
+ color-convert: 1.9.3
+
+ ansi-styles@4.3.0:
+ dependencies:
+ color-convert: 2.0.1
+
+ ansi-styles@5.2.0: {}
+
+ ansi-styles@6.2.1: {}
+
+ ansi-to-html@0.6.15:
+ dependencies:
+ entities: 2.2.0
+
+ any-promise@1.3.0: {}
+
+ anymatch@2.0.0:
+ dependencies:
+ micromatch: 3.1.10
+ normalize-path: 2.1.1
+ transitivePeerDependencies:
+ - supports-color
+
+ anymatch@3.1.3:
+ dependencies:
+ normalize-path: 3.0.0
+ picomatch: 2.3.1
+
+ app-root-dir@1.0.2: {}
+
+ aproba@1.2.0: {}
+
+ aproba@2.0.0: {}
+
+ are-we-there-yet@2.0.0:
+ dependencies:
+ delegates: 1.0.0
+ readable-stream: 3.6.2
+
+ arg@5.0.2: {}
+
+ argparse@1.0.10:
+ dependencies:
+ sprintf-js: 1.0.3
+
+ aria-query@5.1.3:
+ dependencies:
+ deep-equal: 2.2.3
+
+ aria-query@5.3.0:
+ dependencies:
+ dequal: 2.0.3
+
+ arr-diff@4.0.0: {}
+
+ arr-flatten@1.1.0: {}
+
+ arr-union@3.1.0: {}
+
+ array-buffer-byte-length@1.0.1:
+ dependencies:
+ call-bind: 1.0.7
+ is-array-buffer: 3.0.4
+
+ array-find-index@1.0.2:
+ optional: true
+
+ array-flatten@1.1.1: {}
+
+ array-includes@3.1.8:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-object-atoms: 1.0.0
+ get-intrinsic: 1.2.4
+ is-string: 1.0.7
+
+ array-union@1.0.2:
+ dependencies:
+ array-uniq: 1.0.3
+
+ array-union@2.1.0: {}
+
+ array-uniq@1.0.3: {}
+
+ array-unique@0.3.2: {}
+
+ array.prototype.flat@1.3.2:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-shim-unscopables: 1.0.2
+
+ array.prototype.flatmap@1.3.2:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-shim-unscopables: 1.0.2
+
+ array.prototype.map@1.0.7:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-array-method-boxes-properly: 1.0.0
+ es-object-atoms: 1.0.0
+ is-string: 1.0.7
+
+ array.prototype.reduce@1.0.7:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-array-method-boxes-properly: 1.0.0
+ es-errors: 1.3.0
+ es-object-atoms: 1.0.0
+ is-string: 1.0.7
+
+ arraybuffer.prototype.slice@1.0.3:
+ dependencies:
+ array-buffer-byte-length: 1.0.1
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-errors: 1.3.0
+ get-intrinsic: 1.2.4
+ is-array-buffer: 3.0.4
+ is-shared-array-buffer: 1.0.3
+
+ arrify@2.0.1: {}
+
+ asn1.js@4.10.1:
+ dependencies:
+ bn.js: 4.12.0
+ inherits: 2.0.4
+ minimalistic-assert: 1.0.1
+
+ assert@1.5.1:
+ dependencies:
+ object.assign: 4.1.5
+ util: 0.10.4
+
+ assign-symbols@1.0.0: {}
+
+ ast-types@0.14.2:
+ dependencies:
+ tslib: 2.6.2
+
+ async-each@1.0.6:
+ optional: true
+
+ asynckit@0.4.0: {}
+
+ at-least-node@1.0.0: {}
+
+ atob@2.1.2: {}
+
+ autoprefixer@10.4.19(postcss@8.4.38):
+ dependencies:
+ browserslist: 4.23.0
+ caniuse-lite: 1.0.30001617
+ fraction.js: 4.3.7
+ normalize-range: 0.1.2
+ picocolors: 1.0.0
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+
+ autoprefixer@9.8.8:
+ dependencies:
+ browserslist: 4.23.0
+ caniuse-lite: 1.0.30001617
+ normalize-range: 0.1.2
+ num2fraction: 1.2.2
+ picocolors: 0.2.1
+ postcss: 7.0.39
+ postcss-value-parser: 4.2.0
+
+ available-typed-arrays@1.0.7:
+ dependencies:
+ possible-typed-array-names: 1.0.0
+
+ babel-jest@27.5.1(@babel/core@7.24.5):
+ dependencies:
+ '@babel/core': 7.24.5
+ '@jest/transform': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/babel__core': 7.20.5
+ babel-plugin-istanbul: 6.1.1
+ babel-preset-jest: 27.5.1(@babel/core@7.24.5)
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ slash: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-loader@8.3.0(@babel/core@7.24.5)(webpack@4.47.0):
+ dependencies:
+ '@babel/core': 7.24.5
+ find-cache-dir: 3.3.2
+ loader-utils: 2.0.4
+ make-dir: 3.1.0
+ schema-utils: 2.7.1
+ webpack: 4.47.0
+
+ babel-loader@8.3.0(@babel/core@7.24.5)(webpack@5.91.0):
+ dependencies:
+ '@babel/core': 7.24.5
+ find-cache-dir: 3.3.2
+ loader-utils: 2.0.4
+ make-dir: 3.1.0
+ schema-utils: 2.7.1
+ webpack: 5.91.0
+
+ babel-plugin-add-react-displayname@0.0.5: {}
+
+ babel-plugin-apply-mdx-type-prop@1.6.22(@babel/core@7.12.9):
+ dependencies:
+ '@babel/core': 7.12.9
+ '@babel/helper-plugin-utils': 7.10.4
+ '@mdx-js/util': 1.6.22
+
+ babel-plugin-extract-import-names@1.6.22:
+ dependencies:
+ '@babel/helper-plugin-utils': 7.10.4
+
+ babel-plugin-istanbul@6.1.1:
+ dependencies:
+ '@babel/helper-plugin-utils': 7.24.5
+ '@istanbuljs/load-nyc-config': 1.1.0
+ '@istanbuljs/schema': 0.1.3
+ istanbul-lib-instrument: 5.2.1
+ test-exclude: 6.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-jest-hoist@27.5.1:
+ dependencies:
+ '@babel/template': 7.24.0
+ '@babel/types': 7.24.5
+ '@types/babel__core': 7.20.5
+ '@types/babel__traverse': 7.20.5
+
+ babel-plugin-macros@3.1.0:
+ dependencies:
+ '@babel/runtime': 7.24.5
+ cosmiconfig: 7.1.0
+ resolve: 1.22.8
+
+ babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.5):
+ dependencies:
+ '@babel/compat-data': 7.24.4
+ '@babel/core': 7.24.5
+ '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.5)
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-polyfill-corejs3@0.1.7(@babel/core@7.24.5):
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-define-polyfill-provider': 0.1.5(@babel/core@7.24.5)
+ core-js-compat: 3.37.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.5):
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.5)
+ core-js-compat: 3.37.0
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.24.5):
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.5)
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-react-docgen@4.2.1:
+ dependencies:
+ ast-types: 0.14.2
+ lodash: 4.17.21
+ react-docgen: 5.4.3
+ transitivePeerDependencies:
+ - supports-color
+
+ babel-plugin-transform-react-remove-prop-types@0.4.24: {}
+
+ babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.5):
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.5)
+ '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.5)
+ '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.5)
+ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.5)
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.5)
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.5)
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.5)
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.5)
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5)
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.5)
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.5)
+ '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.5)
+
+ babel-preset-jest@27.5.1(@babel/core@7.24.5):
+ dependencies:
+ '@babel/core': 7.24.5
+ babel-plugin-jest-hoist: 27.5.1
+ babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.5)
+
+ babel-preset-react-app@10.0.1:
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.5)
+ '@babel/plugin-proposal-decorators': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.24.5)
+ '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.24.5)
+ '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.5)
+ '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.24.5)
+ '@babel/plugin-proposal-private-property-in-object': 7.21.11(@babel/core@7.24.5)
+ '@babel/plugin-transform-flow-strip-types': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-react-display-name': 7.24.1(@babel/core@7.24.5)
+ '@babel/plugin-transform-runtime': 7.24.3(@babel/core@7.24.5)
+ '@babel/preset-env': 7.24.5(@babel/core@7.24.5)
+ '@babel/preset-react': 7.24.1(@babel/core@7.24.5)
+ '@babel/preset-typescript': 7.24.1(@babel/core@7.24.5)
+ '@babel/runtime': 7.24.5
+ babel-plugin-macros: 3.1.0
+ babel-plugin-transform-react-remove-prop-types: 0.4.24
+ transitivePeerDependencies:
+ - supports-color
+
+ bail@1.0.5: {}
+
+ balanced-match@1.0.2: {}
+
+ base64-js@1.5.1: {}
+
+ base@0.11.2:
+ dependencies:
+ cache-base: 1.0.1
+ class-utils: 0.3.6
+ component-emitter: 1.3.1
+ define-property: 1.0.0
+ isobject: 3.0.1
+ mixin-deep: 1.3.2
+ pascalcase: 0.1.1
+
+ better-opn@2.1.1:
+ dependencies:
+ open: 7.4.2
+
+ big-integer@1.6.52:
+ optional: true
+
+ big.js@5.2.2: {}
+
+ binary-extensions@1.13.1:
+ optional: true
+
+ binary-extensions@2.3.0: {}
+
+ bindings@1.5.0:
+ dependencies:
+ file-uri-to-path: 1.0.0
+ optional: true
+
+ bluebird@3.7.2: {}
+
+ bn.js@4.12.0: {}
+
+ bn.js@5.2.1: {}
+
+ body-parser@1.20.2:
+ dependencies:
+ bytes: 3.1.2
+ content-type: 1.0.5
+ debug: 2.6.9
+ depd: 2.0.0
+ destroy: 1.2.0
+ http-errors: 2.0.0
+ iconv-lite: 0.4.24
+ on-finished: 2.4.1
+ qs: 6.11.0
+ raw-body: 2.5.2
+ type-is: 1.6.18
+ unpipe: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ boolbase@1.0.0: {}
+
+ boxen@5.1.2:
+ dependencies:
+ ansi-align: 3.0.1
+ camelcase: 6.3.0
+ chalk: 4.1.2
+ cli-boxes: 2.2.1
+ string-width: 4.2.3
+ type-fest: 0.20.2
+ widest-line: 3.1.0
+ wrap-ansi: 7.0.0
+
+ bplist-parser@0.1.1:
+ dependencies:
+ big-integer: 1.6.52
+ optional: true
+
+ brace-expansion@1.1.11:
+ dependencies:
+ balanced-match: 1.0.2
+ concat-map: 0.0.1
+
+ brace-expansion@2.0.1:
+ dependencies:
+ balanced-match: 1.0.2
+
+ braces@2.3.2:
+ dependencies:
+ arr-flatten: 1.1.0
+ array-unique: 0.3.2
+ extend-shallow: 2.0.1
+ fill-range: 4.0.0
+ isobject: 3.0.1
+ repeat-element: 1.1.4
+ snapdragon: 0.8.2
+ snapdragon-node: 2.1.1
+ split-string: 3.1.0
+ to-regex: 3.0.2
+ transitivePeerDependencies:
+ - supports-color
+
+ braces@3.0.2:
+ dependencies:
+ fill-range: 7.0.1
+
+ brorand@1.1.0: {}
+
+ browser-process-hrtime@1.0.0: {}
+
+ browserify-aes@1.2.0:
+ dependencies:
+ buffer-xor: 1.0.3
+ cipher-base: 1.0.4
+ create-hash: 1.2.0
+ evp_bytestokey: 1.0.3
+ inherits: 2.0.4
+ safe-buffer: 5.2.1
+
+ browserify-cipher@1.0.1:
+ dependencies:
+ browserify-aes: 1.2.0
+ browserify-des: 1.0.2
+ evp_bytestokey: 1.0.3
+
+ browserify-des@1.0.2:
+ dependencies:
+ cipher-base: 1.0.4
+ des.js: 1.1.0
+ inherits: 2.0.4
+ safe-buffer: 5.2.1
+
+ browserify-rsa@4.1.0:
+ dependencies:
+ bn.js: 5.2.1
+ randombytes: 2.1.0
+
+ browserify-sign@4.2.3:
+ dependencies:
+ bn.js: 5.2.1
+ browserify-rsa: 4.1.0
+ create-hash: 1.2.0
+ create-hmac: 1.1.7
+ elliptic: 6.5.5
+ hash-base: 3.0.4
+ inherits: 2.0.4
+ parse-asn1: 5.1.7
+ readable-stream: 2.3.8
+ safe-buffer: 5.2.1
+
+ browserify-zlib@0.2.0:
+ dependencies:
+ pako: 1.0.11
+
+ browserslist@4.23.0:
+ dependencies:
+ caniuse-lite: 1.0.30001617
+ electron-to-chromium: 1.4.763
+ node-releases: 2.0.14
+ update-browserslist-db: 1.0.15(browserslist@4.23.0)
+
+ bs-logger@0.2.6:
+ dependencies:
+ fast-json-stable-stringify: 2.1.0
+
+ bser@2.1.1:
+ dependencies:
+ node-int64: 0.4.0
+
+ buffer-from@1.1.2: {}
+
+ buffer-xor@1.0.3: {}
+
+ buffer@4.9.2:
+ dependencies:
+ base64-js: 1.5.1
+ ieee754: 1.2.1
+ isarray: 1.0.0
+
+ builtin-modules@3.3.0: {}
+
+ builtin-status-codes@3.0.0: {}
+
+ bytes@3.0.0: {}
+
+ bytes@3.1.2: {}
+
+ c8@7.14.0:
+ dependencies:
+ '@bcoe/v8-coverage': 0.2.3
+ '@istanbuljs/schema': 0.1.3
+ find-up: 5.0.0
+ foreground-child: 2.0.0
+ istanbul-lib-coverage: 3.2.2
+ istanbul-lib-report: 3.0.1
+ istanbul-reports: 3.1.7
+ rimraf: 3.0.2
+ test-exclude: 6.0.0
+ v8-to-istanbul: 9.2.0
+ yargs: 16.2.0
+ yargs-parser: 20.2.9
+
+ cacache@12.0.4:
+ dependencies:
+ bluebird: 3.7.2
+ chownr: 1.1.4
+ figgy-pudding: 3.5.2
+ glob: 7.2.3
+ graceful-fs: 4.2.11
+ infer-owner: 1.0.4
+ lru-cache: 5.1.1
+ mississippi: 3.0.0
+ mkdirp: 0.5.6
+ move-concurrently: 1.0.1
+ promise-inflight: 1.0.1(bluebird@3.7.2)
+ rimraf: 2.7.1
+ ssri: 6.0.2
+ unique-filename: 1.1.1
+ y18n: 4.0.3
+
+ cacache@15.3.0:
+ dependencies:
+ '@npmcli/fs': 1.1.1
+ '@npmcli/move-file': 1.1.2
+ chownr: 2.0.0
+ fs-minipass: 2.1.0
+ glob: 7.2.3
+ infer-owner: 1.0.4
+ lru-cache: 6.0.0
+ minipass: 3.3.6
+ minipass-collect: 1.0.2
+ minipass-flush: 1.0.5
+ minipass-pipeline: 1.2.4
+ mkdirp: 1.0.4
+ p-map: 4.0.0
+ promise-inflight: 1.0.1(bluebird@3.7.2)
+ rimraf: 3.0.2
+ ssri: 8.0.1
+ tar: 6.2.1
+ unique-filename: 1.1.1
+ transitivePeerDependencies:
+ - bluebird
+
+ cache-base@1.0.1:
+ dependencies:
+ collection-visit: 1.0.0
+ component-emitter: 1.3.1
+ get-value: 2.0.6
+ has-value: 1.0.0
+ isobject: 3.0.1
+ set-value: 2.0.1
+ to-object-path: 0.3.0
+ union-value: 1.0.1
+ unset-value: 1.0.0
+
+ call-bind@1.0.7:
+ dependencies:
+ es-define-property: 1.0.0
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ get-intrinsic: 1.2.4
+ set-function-length: 1.2.2
+
+ call-me-maybe@1.0.2: {}
+
+ callsites@3.1.0: {}
+
+ camel-case@4.1.2:
+ dependencies:
+ pascal-case: 3.1.2
+ tslib: 2.6.2
+
+ camelcase-css@2.0.1: {}
+
+ camelcase-keys@2.1.0:
+ dependencies:
+ camelcase: 2.1.1
+ map-obj: 1.0.1
+ optional: true
+
+ camelcase@2.1.1:
+ optional: true
+
+ camelcase@5.3.1: {}
+
+ camelcase@6.3.0: {}
+
+ caniuse-api@3.0.0:
+ dependencies:
+ browserslist: 4.23.0
+ caniuse-lite: 1.0.30001617
+ lodash.memoize: 4.1.2
+ lodash.uniq: 4.5.0
+
+ caniuse-lite@1.0.30001617: {}
+
+ capture-exit@2.0.0:
+ dependencies:
+ rsvp: 4.8.5
+
+ case-sensitive-paths-webpack-plugin@2.4.0: {}
+
+ ccount@1.1.0: {}
+
+ chalk@2.4.2:
+ dependencies:
+ ansi-styles: 3.2.1
+ escape-string-regexp: 1.0.5
+ supports-color: 5.5.0
+
+ chalk@3.0.0:
+ dependencies:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
+
+ chalk@4.1.2:
+ dependencies:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
+
+ char-regex@1.0.2: {}
+
+ character-entities-legacy@1.1.4: {}
+
+ character-entities@1.2.4: {}
+
+ character-reference-invalid@1.1.4: {}
+
+ chokidar@2.1.8:
+ dependencies:
+ anymatch: 2.0.0
+ async-each: 1.0.6
+ braces: 2.3.2
+ glob-parent: 3.1.0
+ inherits: 2.0.4
+ is-binary-path: 1.0.1
+ is-glob: 4.0.3
+ normalize-path: 3.0.0
+ path-is-absolute: 1.0.1
+ readdirp: 2.2.1
+ upath: 1.2.0
+ optionalDependencies:
+ fsevents: 1.2.13
+ transitivePeerDependencies:
+ - supports-color
+ optional: true
+
+ chokidar@3.6.0:
+ dependencies:
+ anymatch: 3.1.3
+ braces: 3.0.2
+ glob-parent: 5.1.2
+ is-binary-path: 2.1.0
+ is-glob: 4.0.3
+ normalize-path: 3.0.0
+ readdirp: 3.6.0
+ optionalDependencies:
+ fsevents: 2.3.3
+
+ chownr@1.1.4: {}
+
+ chownr@2.0.0: {}
+
+ chrome-trace-event@1.0.3: {}
+
+ ci-info@2.0.0: {}
+
+ ci-info@3.9.0: {}
+
+ cipher-base@1.0.4:
+ dependencies:
+ inherits: 2.0.4
+ safe-buffer: 5.2.1
+
+ cjs-module-lexer@1.3.1: {}
+
+ class-utils@0.3.6:
+ dependencies:
+ arr-union: 3.1.0
+ define-property: 0.2.5
+ isobject: 3.0.1
+ static-extend: 0.1.2
+
+ clean-css@4.2.4:
+ dependencies:
+ source-map: 0.6.1
+
+ clean-stack@2.2.0: {}
+
+ cli-boxes@2.2.1: {}
+
+ cli-table3@0.6.4:
+ dependencies:
+ string-width: 4.2.3
+ optionalDependencies:
+ '@colors/colors': 1.5.0
+
+ cliui@7.0.4:
+ dependencies:
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wrap-ansi: 7.0.0
+
+ clone-deep@4.0.1:
+ dependencies:
+ is-plain-object: 2.0.4
+ kind-of: 6.0.3
+ shallow-clone: 3.0.1
+
+ clsx@1.2.1: {}
+
+ co@4.6.0: {}
+
+ collapse-white-space@1.0.6: {}
+
+ collect-v8-coverage@1.0.2: {}
+
+ collection-visit@1.0.0:
+ dependencies:
+ map-visit: 1.0.0
+ object-visit: 1.0.1
+
+ color-convert@1.9.3:
+ dependencies:
+ color-name: 1.1.3
+
+ color-convert@2.0.1:
+ dependencies:
+ color-name: 1.1.4
+
+ color-name@1.1.3: {}
+
+ color-name@1.1.4: {}
+
+ color-support@1.1.3: {}
+
+ colord@2.9.3: {}
+
+ combined-stream@1.0.8:
+ dependencies:
+ delayed-stream: 1.0.0
+
+ comma-separated-tokens@1.0.8: {}
+
+ commander@2.20.3: {}
+
+ commander@4.1.1: {}
+
+ commander@6.2.1: {}
+
+ commander@7.2.0: {}
+
+ commondir@1.0.1: {}
+
+ component-emitter@1.3.1: {}
+
+ compressible@2.0.18:
+ dependencies:
+ mime-db: 1.52.0
+
+ compression@1.7.4:
+ dependencies:
+ accepts: 1.3.8
+ bytes: 3.0.0
+ compressible: 2.0.18
+ debug: 2.6.9
+ on-headers: 1.0.2
+ safe-buffer: 5.1.2
+ vary: 1.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ concat-map@0.0.1: {}
+
+ concat-stream@1.6.2:
+ dependencies:
+ buffer-from: 1.1.2
+ inherits: 2.0.4
+ readable-stream: 2.3.8
+ typedarray: 0.0.6
+
+ console-browserify@1.2.0: {}
+
+ console-control-strings@1.1.0: {}
+
+ constants-browserify@1.0.0: {}
+
+ content-disposition@0.5.4:
+ dependencies:
+ safe-buffer: 5.2.1
+
+ content-type@1.0.5: {}
+
+ convert-source-map@1.9.0: {}
+
+ convert-source-map@2.0.0: {}
+
+ cookie-signature@1.0.6: {}
+
+ cookie@0.6.0: {}
+
+ copy-concurrently@1.0.5:
+ dependencies:
+ aproba: 1.2.0
+ fs-write-stream-atomic: 1.0.10
+ iferr: 0.1.5
+ mkdirp: 0.5.6
+ rimraf: 2.7.1
+ run-queue: 1.0.3
+
+ copy-descriptor@0.1.1: {}
+
+ copy-to-clipboard@3.3.3:
+ dependencies:
+ toggle-selection: 1.0.6
+
+ core-js-compat@3.37.0:
+ dependencies:
+ browserslist: 4.23.0
+
+ core-js-pure@3.37.0: {}
+
+ core-js@3.37.0: {}
+
+ core-util-is@1.0.3: {}
+
+ cosmiconfig@6.0.0:
+ dependencies:
+ '@types/parse-json': 4.0.2
+ import-fresh: 3.3.0
+ parse-json: 5.2.0
+ path-type: 4.0.0
+ yaml: 1.10.2
+
+ cosmiconfig@7.1.0:
+ dependencies:
+ '@types/parse-json': 4.0.2
+ import-fresh: 3.3.0
+ parse-json: 5.2.0
+ path-type: 4.0.0
+ yaml: 1.10.2
+
+ cp-file@7.0.0:
+ dependencies:
+ graceful-fs: 4.2.11
+ make-dir: 3.1.0
+ nested-error-stacks: 2.1.1
+ p-event: 4.2.0
+
+ cpy@8.1.2:
+ 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.1
+ p-all: 2.1.0
+ p-filter: 2.1.0
+ p-map: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ create-ecdh@4.0.4:
+ dependencies:
+ bn.js: 4.12.0
+ elliptic: 6.5.5
+
+ create-hash@1.2.0:
+ dependencies:
+ cipher-base: 1.0.4
+ inherits: 2.0.4
+ md5.js: 1.3.5
+ ripemd160: 2.0.2
+ sha.js: 2.4.11
+
+ create-hmac@1.1.7:
+ dependencies:
+ cipher-base: 1.0.4
+ create-hash: 1.2.0
+ inherits: 2.0.4
+ ripemd160: 2.0.2
+ safe-buffer: 5.2.1
+ sha.js: 2.4.11
+
+ cross-spawn@6.0.5:
+ dependencies:
+ nice-try: 1.0.5
+ path-key: 2.0.1
+ semver: 5.7.2
+ shebang-command: 1.2.0
+ which: 1.3.1
+
+ cross-spawn@7.0.3:
+ dependencies:
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
+
+ crypto-browserify@3.12.0:
+ dependencies:
+ browserify-cipher: 1.0.1
+ browserify-sign: 4.2.3
+ create-ecdh: 4.0.4
+ create-hash: 1.2.0
+ create-hmac: 1.1.7
+ diffie-hellman: 5.0.3
+ inherits: 2.0.4
+ pbkdf2: 3.1.2
+ public-encrypt: 4.0.3
+ randombytes: 2.1.0
+ randomfill: 1.0.4
+
+ css-declaration-sorter@6.4.1(postcss@8.4.38):
+ dependencies:
+ postcss: 8.4.38
+
+ css-in-js-utils@3.1.0:
+ dependencies:
+ hyphenate-style-name: 1.0.4
+
+ css-loader@3.6.0(webpack@4.47.0):
+ dependencies:
+ camelcase: 5.3.1
+ cssesc: 3.0.0
+ icss-utils: 4.1.1
+ loader-utils: 1.4.2
+ normalize-path: 3.0.0
+ postcss: 7.0.39
+ postcss-modules-extract-imports: 2.0.0
+ postcss-modules-local-by-default: 3.0.3
+ postcss-modules-scope: 2.2.0
+ postcss-modules-values: 3.0.0
+ postcss-value-parser: 4.2.0
+ schema-utils: 2.7.1
+ semver: 6.3.1
+ webpack: 4.47.0
+
+ css-loader@3.6.0(webpack@5.91.0):
+ dependencies:
+ camelcase: 5.3.1
+ cssesc: 3.0.0
+ icss-utils: 4.1.1
+ loader-utils: 1.4.2
+ normalize-path: 3.0.0
+ postcss: 7.0.39
+ postcss-modules-extract-imports: 2.0.0
+ postcss-modules-local-by-default: 3.0.3
+ postcss-modules-scope: 2.2.0
+ postcss-modules-values: 3.0.0
+ postcss-value-parser: 4.2.0
+ schema-utils: 2.7.1
+ semver: 6.3.1
+ webpack: 5.91.0
+
+ css-select@4.3.0:
+ dependencies:
+ boolbase: 1.0.0
+ css-what: 6.1.0
+ domhandler: 4.3.1
+ domutils: 2.8.0
+ nth-check: 2.1.1
+
+ css-tree@1.1.3:
+ dependencies:
+ mdn-data: 2.0.14
+ source-map: 0.6.1
+
+ css-what@6.1.0: {}
+
+ css.escape@1.5.1: {}
+
+ cssesc@3.0.0: {}
+
+ cssnano-preset-default@5.2.14(postcss@8.4.38):
+ dependencies:
+ css-declaration-sorter: 6.4.1(postcss@8.4.38)
+ cssnano-utils: 3.1.0(postcss@8.4.38)
+ postcss: 8.4.38
+ postcss-calc: 8.2.4(postcss@8.4.38)
+ postcss-colormin: 5.3.1(postcss@8.4.38)
+ postcss-convert-values: 5.1.3(postcss@8.4.38)
+ postcss-discard-comments: 5.1.2(postcss@8.4.38)
+ postcss-discard-duplicates: 5.1.0(postcss@8.4.38)
+ postcss-discard-empty: 5.1.1(postcss@8.4.38)
+ postcss-discard-overridden: 5.1.0(postcss@8.4.38)
+ postcss-merge-longhand: 5.1.7(postcss@8.4.38)
+ postcss-merge-rules: 5.1.4(postcss@8.4.38)
+ postcss-minify-font-values: 5.1.0(postcss@8.4.38)
+ postcss-minify-gradients: 5.1.1(postcss@8.4.38)
+ postcss-minify-params: 5.1.4(postcss@8.4.38)
+ postcss-minify-selectors: 5.2.1(postcss@8.4.38)
+ postcss-normalize-charset: 5.1.0(postcss@8.4.38)
+ postcss-normalize-display-values: 5.1.0(postcss@8.4.38)
+ postcss-normalize-positions: 5.1.1(postcss@8.4.38)
+ postcss-normalize-repeat-style: 5.1.1(postcss@8.4.38)
+ postcss-normalize-string: 5.1.0(postcss@8.4.38)
+ postcss-normalize-timing-functions: 5.1.0(postcss@8.4.38)
+ postcss-normalize-unicode: 5.1.1(postcss@8.4.38)
+ postcss-normalize-url: 5.1.0(postcss@8.4.38)
+ postcss-normalize-whitespace: 5.1.1(postcss@8.4.38)
+ postcss-ordered-values: 5.1.3(postcss@8.4.38)
+ postcss-reduce-initial: 5.1.2(postcss@8.4.38)
+ postcss-reduce-transforms: 5.1.0(postcss@8.4.38)
+ postcss-svgo: 5.1.0(postcss@8.4.38)
+ postcss-unique-selectors: 5.1.1(postcss@8.4.38)
+
+ cssnano-utils@3.1.0(postcss@8.4.38):
+ dependencies:
+ postcss: 8.4.38
+
+ cssnano@5.1.15(postcss@8.4.38):
+ dependencies:
+ cssnano-preset-default: 5.2.14(postcss@8.4.38)
+ lilconfig: 2.1.0
+ postcss: 8.4.38
+ yaml: 1.10.2
+
+ csso@4.2.0:
+ dependencies:
+ css-tree: 1.1.3
+
+ cssom@0.3.8: {}
+
+ cssom@0.4.4: {}
+
+ cssstyle@2.3.0:
+ dependencies:
+ cssom: 0.3.8
+
+ csstype@3.1.3: {}
+
+ currently-unhandled@0.4.1:
+ dependencies:
+ array-find-index: 1.0.2
+ optional: true
+
+ cyclist@1.0.2: {}
+
+ data-urls@2.0.0:
+ dependencies:
+ abab: 2.0.6
+ whatwg-mimetype: 2.3.0
+ whatwg-url: 8.7.0
+
+ data-view-buffer@1.0.1:
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ is-data-view: 1.0.1
+
+ data-view-byte-length@1.0.1:
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ is-data-view: 1.0.1
+
+ data-view-byte-offset@1.0.0:
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ is-data-view: 1.0.1
+
+ date-fns@2.30.0:
+ dependencies:
+ '@babel/runtime': 7.24.5
+
+ debug@2.6.9:
+ dependencies:
+ ms: 2.0.0
+
+ debug@3.2.7:
+ dependencies:
+ ms: 2.1.3
+
+ debug@4.3.4:
+ dependencies:
+ ms: 2.1.2
+
+ decamelize@1.2.0:
+ optional: true
+
+ decimal.js@10.4.3: {}
+
+ decode-uri-component@0.2.2: {}
+
+ dedent@0.7.0: {}
+
+ deep-equal@2.2.3:
+ dependencies:
+ array-buffer-byte-length: 1.0.1
+ call-bind: 1.0.7
+ es-get-iterator: 1.1.3
+ get-intrinsic: 1.2.4
+ is-arguments: 1.1.1
+ is-array-buffer: 3.0.4
+ is-date-object: 1.0.5
+ is-regex: 1.1.4
+ is-shared-array-buffer: 1.0.3
+ isarray: 2.0.5
+ object-is: 1.1.6
+ object-keys: 1.1.1
+ object.assign: 4.1.5
+ regexp.prototype.flags: 1.5.2
+ side-channel: 1.0.6
+ which-boxed-primitive: 1.0.2
+ which-collection: 1.0.2
+ which-typed-array: 1.1.15
+
+ deepmerge@4.3.1: {}
+
+ default-browser-id@1.0.4:
+ dependencies:
+ bplist-parser: 0.1.1
+ meow: 3.7.0
+ untildify: 2.1.0
+ optional: true
+
+ define-data-property@1.1.4:
+ dependencies:
+ es-define-property: 1.0.0
+ es-errors: 1.3.0
+ gopd: 1.0.1
+
+ define-lazy-prop@2.0.0: {}
+
+ define-properties@1.2.1:
+ dependencies:
+ define-data-property: 1.1.4
+ has-property-descriptors: 1.0.2
+ object-keys: 1.1.1
+
+ define-property@0.2.5:
+ dependencies:
+ is-descriptor: 0.1.7
+
+ define-property@1.0.0:
+ dependencies:
+ is-descriptor: 1.0.3
+
+ define-property@2.0.2:
+ dependencies:
+ is-descriptor: 1.0.3
+ isobject: 3.0.1
+
+ delayed-stream@1.0.0: {}
+
+ delegates@1.0.0: {}
+
+ depd@2.0.0: {}
+
+ dequal@2.0.3: {}
+
+ des.js@1.1.0:
+ dependencies:
+ inherits: 2.0.4
+ minimalistic-assert: 1.0.1
+
+ destroy@1.2.0: {}
+
+ detab@2.0.4:
+ dependencies:
+ repeat-string: 1.6.1
+
+ detect-newline@3.1.0: {}
+
+ detect-package-manager@2.0.1:
+ dependencies:
+ execa: 5.1.1
+
+ detect-port@1.6.1:
+ dependencies:
+ address: 1.2.2
+ debug: 4.3.4
+ transitivePeerDependencies:
+ - supports-color
+
+ didyoumean@1.2.2: {}
+
+ diff-sequences@27.5.1: {}
+
+ diffie-hellman@5.0.3:
+ dependencies:
+ bn.js: 4.12.0
+ miller-rabin: 4.0.1
+ randombytes: 2.1.0
+
+ dir-glob@2.2.2:
+ dependencies:
+ path-type: 3.0.0
+
+ dir-glob@3.0.1:
+ dependencies:
+ path-type: 4.0.0
+
+ dlv@1.1.3: {}
+
+ doctrine@3.0.0:
+ dependencies:
+ esutils: 2.0.3
+
+ dom-accessibility-api@0.5.16: {}
+
+ dom-converter@0.2.0:
+ dependencies:
+ utila: 0.4.0
+
+ dom-serializer@1.4.1:
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+ entities: 2.2.0
+
+ dom-walk@0.1.2: {}
+
+ domain-browser@1.2.0: {}
+
+ domelementtype@2.3.0: {}
+
+ domexception@2.0.1:
+ dependencies:
+ webidl-conversions: 5.0.0
+
+ domhandler@4.3.1:
+ dependencies:
+ domelementtype: 2.3.0
+
+ domutils@2.8.0:
+ dependencies:
+ dom-serializer: 1.4.1
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+
+ dot-case@3.0.4:
+ dependencies:
+ no-case: 3.0.4
+ tslib: 2.6.2
+
+ dotenv-expand@5.1.0: {}
+
+ dotenv@8.6.0: {}
+
+ duplexify@3.7.1:
+ dependencies:
+ end-of-stream: 1.4.4
+ inherits: 2.0.4
+ readable-stream: 2.3.8
+ stream-shift: 1.0.3
+
+ eastasianwidth@0.2.0: {}
+
+ ee-first@1.1.1: {}
+
+ electron-to-chromium@1.4.763: {}
+
+ elliptic@6.5.5:
+ dependencies:
+ bn.js: 4.12.0
+ brorand: 1.1.0
+ hash.js: 1.1.7
+ hmac-drbg: 1.0.1
+ inherits: 2.0.4
+ minimalistic-assert: 1.0.1
+ minimalistic-crypto-utils: 1.0.1
+
+ emittery@0.8.1: {}
+
+ emoji-regex@8.0.0: {}
+
+ emoji-regex@9.2.2: {}
+
+ emojis-list@3.0.0: {}
+
+ encodeurl@1.0.2: {}
+
+ end-of-stream@1.4.4:
+ dependencies:
+ once: 1.4.0
+
+ endent@2.1.0:
+ dependencies:
+ dedent: 0.7.0
+ fast-json-parse: 1.0.3
+ objectorarray: 1.0.5
+
+ enhanced-resolve@4.5.0:
+ dependencies:
+ graceful-fs: 4.2.11
+ memory-fs: 0.5.0
+ tapable: 1.1.3
+
+ enhanced-resolve@5.16.1:
+ dependencies:
+ graceful-fs: 4.2.11
+ tapable: 2.2.1
+
+ entities@2.2.0: {}
+
+ errno@0.1.8:
+ dependencies:
+ prr: 1.0.1
+
+ error-ex@1.3.2:
+ dependencies:
+ is-arrayish: 0.2.1
+
+ error-stack-parser@2.1.4:
+ dependencies:
+ stackframe: 1.3.4
+
+ es-abstract@1.23.3:
+ dependencies:
+ array-buffer-byte-length: 1.0.1
+ arraybuffer.prototype.slice: 1.0.3
+ available-typed-arrays: 1.0.7
+ call-bind: 1.0.7
+ data-view-buffer: 1.0.1
+ data-view-byte-length: 1.0.1
+ data-view-byte-offset: 1.0.0
+ es-define-property: 1.0.0
+ es-errors: 1.3.0
+ es-object-atoms: 1.0.0
+ es-set-tostringtag: 2.0.3
+ es-to-primitive: 1.2.1
+ function.prototype.name: 1.1.6
+ get-intrinsic: 1.2.4
+ get-symbol-description: 1.0.2
+ globalthis: 1.0.4
+ gopd: 1.0.1
+ has-property-descriptors: 1.0.2
+ has-proto: 1.0.3
+ has-symbols: 1.0.3
+ hasown: 2.0.2
+ internal-slot: 1.0.7
+ is-array-buffer: 3.0.4
+ is-callable: 1.2.7
+ is-data-view: 1.0.1
+ is-negative-zero: 2.0.3
+ is-regex: 1.1.4
+ is-shared-array-buffer: 1.0.3
+ is-string: 1.0.7
+ is-typed-array: 1.1.13
+ is-weakref: 1.0.2
+ object-inspect: 1.13.1
+ object-keys: 1.1.1
+ object.assign: 4.1.5
+ regexp.prototype.flags: 1.5.2
+ safe-array-concat: 1.1.2
+ safe-regex-test: 1.0.3
+ string.prototype.trim: 1.2.9
+ string.prototype.trimend: 1.0.8
+ string.prototype.trimstart: 1.0.8
+ typed-array-buffer: 1.0.2
+ typed-array-byte-length: 1.0.1
+ typed-array-byte-offset: 1.0.2
+ typed-array-length: 1.0.6
+ unbox-primitive: 1.0.2
+ which-typed-array: 1.1.15
+
+ es-array-method-boxes-properly@1.0.0: {}
+
+ es-define-property@1.0.0:
+ dependencies:
+ get-intrinsic: 1.2.4
+
+ es-errors@1.3.0: {}
+
+ es-get-iterator@1.1.3:
+ dependencies:
+ call-bind: 1.0.7
+ get-intrinsic: 1.2.4
+ has-symbols: 1.0.3
+ is-arguments: 1.1.1
+ is-map: 2.0.3
+ is-set: 2.0.3
+ is-string: 1.0.7
+ isarray: 2.0.5
+ stop-iteration-iterator: 1.0.0
+
+ es-module-lexer@1.5.2: {}
+
+ es-object-atoms@1.0.0:
+ dependencies:
+ es-errors: 1.3.0
+
+ es-set-tostringtag@2.0.3:
+ dependencies:
+ get-intrinsic: 1.2.4
+ has-tostringtag: 1.0.2
+ hasown: 2.0.2
+
+ es-shim-unscopables@1.0.2:
+ dependencies:
+ hasown: 2.0.2
+
+ es-to-primitive@1.2.1:
+ dependencies:
+ is-callable: 1.2.7
+ is-date-object: 1.0.5
+ is-symbol: 1.0.4
+
+ es5-shim@4.6.7: {}
+
+ es6-shim@0.35.8: {}
+
+ escalade@3.1.2: {}
+
+ escape-html@1.0.3: {}
+
+ escape-string-regexp@1.0.5: {}
+
+ escape-string-regexp@2.0.0: {}
+
+ escodegen@2.1.0:
+ dependencies:
+ esprima: 4.0.1
+ estraverse: 5.3.0
+ esutils: 2.0.3
+ optionalDependencies:
+ source-map: 0.6.1
+
+ eslint-scope@4.0.3:
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 4.3.0
+
+ eslint-scope@5.1.1:
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 4.3.0
+
+ esprima@4.0.1: {}
+
+ esrecurse@4.3.0:
+ dependencies:
+ estraverse: 5.3.0
+
+ estraverse@4.3.0: {}
+
+ estraverse@5.3.0: {}
+
+ estree-to-babel@3.2.1:
+ dependencies:
+ '@babel/traverse': 7.24.5
+ '@babel/types': 7.24.5
+ c8: 7.14.0
+ transitivePeerDependencies:
+ - supports-color
+
+ estree-walker@1.0.1: {}
+
+ estree-walker@2.0.2: {}
+
+ esutils@2.0.3: {}
+
+ etag@1.8.1: {}
+
+ eventemitter3@4.0.7: {}
+
+ events@3.3.0: {}
+
+ evp_bytestokey@1.0.3:
+ dependencies:
+ md5.js: 1.3.5
+ safe-buffer: 5.2.1
+
+ exec-sh@0.3.6: {}
+
+ execa@1.0.0:
+ dependencies:
+ cross-spawn: 6.0.5
+ get-stream: 4.1.0
+ is-stream: 1.1.0
+ npm-run-path: 2.0.2
+ p-finally: 1.0.0
+ signal-exit: 3.0.7
+ strip-eof: 1.0.0
+
+ execa@5.1.1:
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 6.0.1
+ human-signals: 2.1.0
+ is-stream: 2.0.1
+ merge-stream: 2.0.0
+ npm-run-path: 4.0.1
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+ strip-final-newline: 2.0.0
+
+ exit@0.1.2: {}
+
+ expand-brackets@2.1.4:
+ dependencies:
+ debug: 2.6.9
+ define-property: 0.2.5
+ extend-shallow: 2.0.1
+ posix-character-classes: 0.1.1
+ regex-not: 1.0.2
+ snapdragon: 0.8.2
+ to-regex: 3.0.2
+ transitivePeerDependencies:
+ - supports-color
+
+ expect@27.5.1:
+ dependencies:
+ '@jest/types': 27.5.1
+ jest-get-type: 27.5.1
+ jest-matcher-utils: 27.5.1
+ jest-message-util: 27.5.1
+
+ express@4.19.2:
+ dependencies:
+ accepts: 1.3.8
+ array-flatten: 1.1.1
+ body-parser: 1.20.2
+ content-disposition: 0.5.4
+ content-type: 1.0.5
+ cookie: 0.6.0
+ cookie-signature: 1.0.6
+ debug: 2.6.9
+ depd: 2.0.0
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ etag: 1.8.1
+ finalhandler: 1.2.0
+ fresh: 0.5.2
+ http-errors: 2.0.0
+ merge-descriptors: 1.0.1
+ methods: 1.1.2
+ on-finished: 2.4.1
+ parseurl: 1.3.3
+ path-to-regexp: 0.1.7
+ proxy-addr: 2.0.7
+ qs: 6.11.0
+ range-parser: 1.2.1
+ safe-buffer: 5.2.1
+ send: 0.18.0
+ serve-static: 1.15.0
+ setprototypeof: 1.2.0
+ statuses: 2.0.1
+ type-is: 1.6.18
+ utils-merge: 1.0.1
+ vary: 1.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ extend-shallow@2.0.1:
+ dependencies:
+ is-extendable: 0.1.1
+
+ extend-shallow@3.0.2:
+ dependencies:
+ assign-symbols: 1.0.0
+ is-extendable: 1.0.1
+
+ extend@3.0.2: {}
+
+ extglob@2.0.4:
+ dependencies:
+ array-unique: 0.3.2
+ define-property: 1.0.0
+ expand-brackets: 2.1.4
+ extend-shallow: 2.0.1
+ fragment-cache: 0.2.1
+ regex-not: 1.0.2
+ snapdragon: 0.8.2
+ to-regex: 3.0.2
+ transitivePeerDependencies:
+ - supports-color
+
+ fast-deep-equal@3.1.3: {}
+
+ fast-glob@2.2.7:
+ dependencies:
+ '@mrmlnc/readdir-enhanced': 2.2.1
+ '@nodelib/fs.stat': 1.1.3
+ glob-parent: 3.1.0
+ is-glob: 4.0.3
+ merge2: 1.4.1
+ micromatch: 3.1.10
+ transitivePeerDependencies:
+ - supports-color
+
+ fast-glob@3.3.2:
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.5
+
+ fast-json-parse@1.0.3: {}
+
+ fast-json-stable-stringify@2.1.0: {}
+
+ fast-loops@1.1.3: {}
+
+ fast-shallow-equal@1.0.0: {}
+
+ fastest-stable-stringify@2.0.2: {}
+
+ fastq@1.17.1:
+ dependencies:
+ reusify: 1.0.4
+
+ fb-watchman@2.0.2:
+ dependencies:
+ bser: 2.1.1
+
+ fetch-retry@5.0.6: {}
+
+ figgy-pudding@3.5.2: {}
+
+ file-loader@6.2.0(webpack@4.47.0):
+ dependencies:
+ loader-utils: 2.0.4
+ schema-utils: 3.3.0
+ webpack: 4.47.0
+
+ file-loader@6.2.0(webpack@5.91.0):
+ dependencies:
+ loader-utils: 2.0.4
+ schema-utils: 3.3.0
+ webpack: 5.91.0
+
+ file-system-cache@1.1.0:
+ dependencies:
+ fs-extra: 10.1.0
+ ramda: 0.28.0
+
+ file-uri-to-path@1.0.0:
+ optional: true
+
+ fill-range@4.0.0:
+ dependencies:
+ extend-shallow: 2.0.1
+ is-number: 3.0.0
+ repeat-string: 1.6.1
+ to-regex-range: 2.1.1
+
+ fill-range@7.0.1:
+ dependencies:
+ to-regex-range: 5.0.1
+
+ filter-obj@1.1.0: {}
+
+ finalhandler@1.2.0:
+ dependencies:
+ debug: 2.6.9
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ on-finished: 2.4.1
+ parseurl: 1.3.3
+ statuses: 2.0.1
+ unpipe: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ find-cache-dir@2.1.0:
+ dependencies:
+ commondir: 1.0.1
+ make-dir: 2.1.0
+ pkg-dir: 3.0.0
+
+ find-cache-dir@3.3.2:
+ dependencies:
+ commondir: 1.0.1
+ make-dir: 3.1.0
+ pkg-dir: 4.2.0
+
+ find-up@1.1.2:
+ dependencies:
+ path-exists: 2.1.0
+ pinkie-promise: 2.0.1
+ optional: true
+
+ find-up@3.0.0:
+ dependencies:
+ locate-path: 3.0.0
+
+ find-up@4.1.0:
+ dependencies:
+ locate-path: 5.0.0
+ path-exists: 4.0.0
+
+ find-up@5.0.0:
+ dependencies:
+ locate-path: 6.0.0
+ path-exists: 4.0.0
+
+ flat-cache@3.2.0:
+ dependencies:
+ flatted: 3.3.1
+ keyv: 4.5.4
+ rimraf: 3.0.2
+
+ flat@4.1.1:
+ dependencies:
+ is-buffer: 2.0.5
+
+ flatted@3.3.1: {}
+
+ flush-write-stream@1.1.1:
+ dependencies:
+ inherits: 2.0.4
+ readable-stream: 2.3.8
+
+ for-each@0.3.3:
+ dependencies:
+ is-callable: 1.2.7
+
+ for-in@1.0.2: {}
+
+ foreground-child@2.0.0:
+ dependencies:
+ cross-spawn: 7.0.3
+ signal-exit: 3.0.7
+
+ foreground-child@3.1.1:
+ dependencies:
+ cross-spawn: 7.0.3
+ signal-exit: 4.1.0
+
+ fork-ts-checker-webpack-plugin@4.1.6(typescript@4.9.5)(webpack@4.47.0):
+ dependencies:
+ '@babel/code-frame': 7.24.2
+ chalk: 2.4.2
+ micromatch: 3.1.10
+ minimatch: 3.1.2
+ semver: 5.7.2
+ tapable: 1.1.3
+ typescript: 4.9.5
+ webpack: 4.47.0
+ worker-rpc: 0.1.1
+ transitivePeerDependencies:
+ - supports-color
+
+ fork-ts-checker-webpack-plugin@6.5.3(typescript@4.9.5)(webpack@4.47.0):
+ dependencies:
+ '@babel/code-frame': 7.24.2
+ '@types/json-schema': 7.0.15
+ chalk: 4.1.2
+ chokidar: 3.6.0
+ cosmiconfig: 6.0.0
+ deepmerge: 4.3.1
+ fs-extra: 9.1.0
+ glob: 7.2.3
+ memfs: 3.5.3
+ minimatch: 3.1.2
+ schema-utils: 2.7.0
+ semver: 7.6.2
+ tapable: 1.1.3
+ typescript: 4.9.5
+ webpack: 4.47.0
+
+ form-data@3.0.1:
+ dependencies:
+ asynckit: 0.4.0
+ combined-stream: 1.0.8
+ mime-types: 2.1.35
+
+ form-data@4.0.0:
+ dependencies:
+ asynckit: 0.4.0
+ combined-stream: 1.0.8
+ mime-types: 2.1.35
+
+ forwarded@0.2.0: {}
+
+ fraction.js@4.3.7: {}
+
+ fragment-cache@0.2.1:
+ dependencies:
+ map-cache: 0.2.2
+
+ framer-motion@11.1.9(@emotion/is-prop-valid@0.8.8)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ tslib: 2.6.2
+ optionalDependencies:
+ '@emotion/is-prop-valid': 0.8.8
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
+ fresh@0.5.2: {}
+
+ from2@2.3.0:
+ dependencies:
+ inherits: 2.0.4
+ readable-stream: 2.3.8
+
+ fs-extra@10.1.0:
+ dependencies:
+ graceful-fs: 4.2.11
+ jsonfile: 6.1.0
+ universalify: 2.0.1
+
+ fs-extra@9.1.0:
+ dependencies:
+ at-least-node: 1.0.0
+ graceful-fs: 4.2.11
+ jsonfile: 6.1.0
+ universalify: 2.0.1
+
+ fs-minipass@2.1.0:
+ dependencies:
+ minipass: 3.3.6
+
+ fs-monkey@1.0.6: {}
+
+ fs-write-stream-atomic@1.0.10:
+ dependencies:
+ graceful-fs: 4.2.11
+ iferr: 0.1.5
+ imurmurhash: 0.1.4
+ readable-stream: 2.3.8
+
+ fs.realpath@1.0.0: {}
+
+ fsevents@1.2.13:
+ dependencies:
+ bindings: 1.5.0
+ nan: 2.19.0
+ optional: true
+
+ fsevents@2.3.3:
+ optional: true
+
+ function-bind@1.1.2: {}
+
+ function.prototype.name@1.1.6:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ functions-have-names: 1.2.3
+
+ functions-have-names@1.2.3: {}
+
+ gauge@3.0.2:
+ dependencies:
+ aproba: 2.0.0
+ color-support: 1.1.3
+ console-control-strings: 1.1.0
+ has-unicode: 2.0.1
+ object-assign: 4.1.1
+ signal-exit: 3.0.7
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wide-align: 1.1.5
+
+ gensync@1.0.0-beta.2: {}
+
+ get-caller-file@2.0.5: {}
+
+ get-intrinsic@1.2.4:
+ dependencies:
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ has-proto: 1.0.3
+ has-symbols: 1.0.3
+ hasown: 2.0.2
+
+ get-package-type@0.1.0: {}
+
+ get-stdin@4.0.1:
+ optional: true
+
+ get-stream@4.1.0:
+ dependencies:
+ pump: 3.0.0
+
+ get-stream@6.0.1: {}
+
+ get-symbol-description@1.0.2:
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ get-intrinsic: 1.2.4
+
+ get-value@2.0.6: {}
+
+ github-slugger@1.5.0: {}
+
+ glob-parent@3.1.0:
+ dependencies:
+ is-glob: 3.1.0
+ path-dirname: 1.0.2
+
+ glob-parent@5.1.2:
+ dependencies:
+ is-glob: 4.0.3
+
+ glob-parent@6.0.2:
+ dependencies:
+ is-glob: 4.0.3
+
+ glob-promise@3.4.0(glob@7.2.3):
+ dependencies:
+ '@types/glob': 8.1.0
+ glob: 7.2.3
+
+ glob-to-regexp@0.3.0: {}
+
+ glob-to-regexp@0.4.1: {}
+
+ glob@10.3.14:
+ dependencies:
+ foreground-child: 3.1.1
+ jackspeak: 2.3.6
+ minimatch: 9.0.4
+ minipass: 7.1.1
+ path-scurry: 1.11.0
+
+ glob@7.2.3:
+ dependencies:
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.2
+ once: 1.4.0
+ path-is-absolute: 1.0.1
+
+ global@4.4.0:
+ dependencies:
+ min-document: 2.19.0
+ process: 0.11.10
+
+ globals@11.12.0: {}
+
+ globalthis@1.0.4:
+ dependencies:
+ define-properties: 1.2.1
+ gopd: 1.0.1
+
+ globby@11.1.0:
+ dependencies:
+ array-union: 2.1.0
+ dir-glob: 3.0.1
+ fast-glob: 3.3.2
+ ignore: 5.3.1
+ merge2: 1.4.1
+ slash: 3.0.0
+
+ globby@9.2.0:
+ dependencies:
+ '@types/glob': 7.2.0
+ array-union: 1.0.2
+ dir-glob: 2.2.2
+ fast-glob: 2.2.7
+ glob: 7.2.3
+ ignore: 4.0.6
+ pify: 4.0.1
+ slash: 2.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ gopd@1.0.1:
+ dependencies:
+ get-intrinsic: 1.2.4
+
+ graceful-fs@4.2.11: {}
+
+ handlebars@4.7.8:
+ dependencies:
+ minimist: 1.2.8
+ neo-async: 2.6.2
+ source-map: 0.6.1
+ wordwrap: 1.0.0
+ optionalDependencies:
+ uglify-js: 3.17.4
+
+ harmony-reflect@1.6.2: {}
+
+ has-bigints@1.0.2: {}
+
+ has-flag@3.0.0: {}
+
+ has-flag@4.0.0: {}
+
+ has-glob@1.0.0:
+ dependencies:
+ is-glob: 3.1.0
+
+ has-property-descriptors@1.0.2:
+ dependencies:
+ es-define-property: 1.0.0
+
+ has-proto@1.0.3: {}
+
+ has-symbols@1.0.3: {}
+
+ has-tostringtag@1.0.2:
+ dependencies:
+ has-symbols: 1.0.3
+
+ has-unicode@2.0.1: {}
+
+ has-value@0.3.1:
+ dependencies:
+ get-value: 2.0.6
+ has-values: 0.1.4
+ isobject: 2.1.0
+
+ has-value@1.0.0:
+ dependencies:
+ get-value: 2.0.6
+ has-values: 1.0.0
+ isobject: 3.0.1
+
+ has-values@0.1.4: {}
+
+ has-values@1.0.0:
+ dependencies:
+ is-number: 3.0.0
+ kind-of: 4.0.0
+
+ hash-base@3.0.4:
+ dependencies:
+ inherits: 2.0.4
+ safe-buffer: 5.2.1
+
+ hash-base@3.1.0:
+ dependencies:
+ inherits: 2.0.4
+ readable-stream: 3.6.2
+ safe-buffer: 5.2.1
+
+ hash.js@1.1.7:
+ dependencies:
+ inherits: 2.0.4
+ minimalistic-assert: 1.0.1
+
+ hasown@2.0.2:
+ dependencies:
+ function-bind: 1.1.2
+
+ hast-to-hyperscript@9.0.1:
+ dependencies:
+ '@types/unist': 2.0.10
+ comma-separated-tokens: 1.0.8
+ property-information: 5.6.0
+ space-separated-tokens: 1.1.5
+ style-to-object: 0.3.0
+ unist-util-is: 4.1.0
+ web-namespaces: 1.1.4
+
+ hast-util-from-parse5@6.0.1:
+ dependencies:
+ '@types/parse5': 5.0.3
+ hastscript: 6.0.0
+ property-information: 5.6.0
+ vfile: 4.2.1
+ vfile-location: 3.2.0
+ web-namespaces: 1.1.4
+
+ hast-util-parse-selector@2.2.5: {}
+
+ hast-util-raw@6.0.1:
+ dependencies:
+ '@types/hast': 2.3.10
+ hast-util-from-parse5: 6.0.1
+ hast-util-to-parse5: 6.0.0
+ html-void-elements: 1.0.5
+ parse5: 6.0.1
+ unist-util-position: 3.1.0
+ vfile: 4.2.1
+ web-namespaces: 1.1.4
+ xtend: 4.0.2
+ zwitch: 1.0.5
+
+ hast-util-to-parse5@6.0.0:
+ dependencies:
+ hast-to-hyperscript: 9.0.1
+ property-information: 5.6.0
+ web-namespaces: 1.1.4
+ xtend: 4.0.2
+ zwitch: 1.0.5
+
+ hastscript@6.0.0:
+ dependencies:
+ '@types/hast': 2.3.10
+ comma-separated-tokens: 1.0.8
+ hast-util-parse-selector: 2.2.5
+ property-information: 5.6.0
+ space-separated-tokens: 1.1.5
+
+ he@1.2.0: {}
+
+ hmac-drbg@1.0.1:
+ dependencies:
+ hash.js: 1.1.7
+ minimalistic-assert: 1.0.1
+ minimalistic-crypto-utils: 1.0.1
+
+ hoist-non-react-statics@3.3.2:
+ dependencies:
+ react-is: 16.13.1
+
+ hosted-git-info@2.8.9: {}
+
+ html-encoding-sniffer@2.0.1:
+ dependencies:
+ whatwg-encoding: 1.0.5
+
+ html-entities@2.5.2: {}
+
+ html-escaper@2.0.2: {}
+
+ html-minifier-terser@5.1.1:
+ dependencies:
+ camel-case: 4.1.2
+ clean-css: 4.2.4
+ commander: 4.1.1
+ he: 1.2.0
+ param-case: 3.0.4
+ relateurl: 0.2.7
+ terser: 4.8.1
+
+ html-tags@3.3.1: {}
+
+ html-void-elements@1.0.5: {}
+
+ html-webpack-plugin@4.5.2(webpack@4.47.0):
+ dependencies:
+ '@types/html-minifier-terser': 5.1.2
+ '@types/tapable': 1.0.12
+ '@types/webpack': 4.41.38
+ html-minifier-terser: 5.1.1
+ loader-utils: 1.4.2
+ lodash: 4.17.21
+ pretty-error: 2.1.2
+ tapable: 1.1.3
+ util.promisify: 1.0.0
+ webpack: 4.47.0
+
+ htmlparser2@6.1.0:
+ dependencies:
+ domelementtype: 2.3.0
+ domhandler: 4.3.1
+ domutils: 2.8.0
+ entities: 2.2.0
+
+ http-errors@2.0.0:
+ dependencies:
+ depd: 2.0.0
+ inherits: 2.0.4
+ setprototypeof: 1.2.0
+ statuses: 2.0.1
+ toidentifier: 1.0.1
+
+ http-proxy-agent@4.0.1:
+ dependencies:
+ '@tootallnate/once': 1.1.2
+ agent-base: 6.0.2
+ debug: 4.3.4
+ transitivePeerDependencies:
+ - supports-color
+
+ https-browserify@1.0.0: {}
+
+ https-proxy-agent@5.0.1:
+ dependencies:
+ agent-base: 6.0.2
+ debug: 4.3.4
+ transitivePeerDependencies:
+ - supports-color
+
+ human-signals@2.1.0: {}
+
+ hyphenate-style-name@1.0.4: {}
+
+ iconv-lite@0.4.24:
+ dependencies:
+ safer-buffer: 2.1.2
+
+ icss-utils@4.1.1:
+ dependencies:
+ postcss: 7.0.39
+
+ icss-utils@5.1.0(postcss@8.4.38):
+ dependencies:
+ postcss: 8.4.38
+
+ identity-obj-proxy@3.0.0:
+ dependencies:
+ harmony-reflect: 1.6.2
+
+ ieee754@1.2.1: {}
+
+ iferr@0.1.5: {}
+
+ ignore@4.0.6: {}
+
+ ignore@5.3.1: {}
+
+ import-fresh@3.3.0:
+ dependencies:
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
+
+ import-local@3.1.0:
+ dependencies:
+ pkg-dir: 4.2.0
+ resolve-cwd: 3.0.0
+
+ imurmurhash@0.1.4: {}
+
+ indent-string@2.1.0:
+ dependencies:
+ repeating: 2.0.1
+ optional: true
+
+ indent-string@4.0.0: {}
+
+ infer-owner@1.0.4: {}
+
+ inflight@1.0.6:
+ dependencies:
+ once: 1.4.0
+ wrappy: 1.0.2
+
+ inherits@2.0.3: {}
+
+ inherits@2.0.4: {}
+
+ inline-style-parser@0.1.1: {}
+
+ inline-style-prefixer@7.0.0:
+ dependencies:
+ css-in-js-utils: 3.1.0
+ fast-loops: 1.1.3
+
+ internal-slot@1.0.7:
+ dependencies:
+ es-errors: 1.3.0
+ hasown: 2.0.2
+ side-channel: 1.0.6
+
+ interpret@2.2.0: {}
+
+ intl-messageformat@10.5.12:
+ dependencies:
+ '@formatjs/ecma402-abstract': 1.18.2
+ '@formatjs/fast-memoize': 2.2.0
+ '@formatjs/icu-messageformat-parser': 2.7.6
+ tslib: 2.6.2
+
+ ip@2.0.1: {}
+
+ ipaddr.js@1.9.1: {}
+
+ is-absolute-url@3.0.3: {}
+
+ is-accessor-descriptor@1.0.1:
+ dependencies:
+ hasown: 2.0.2
+
+ is-alphabetical@1.0.4: {}
+
+ is-alphanumerical@1.0.4:
+ dependencies:
+ is-alphabetical: 1.0.4
+ is-decimal: 1.0.4
+
+ is-arguments@1.1.1:
+ dependencies:
+ call-bind: 1.0.7
+ has-tostringtag: 1.0.2
+
+ is-array-buffer@3.0.4:
+ dependencies:
+ call-bind: 1.0.7
+ get-intrinsic: 1.2.4
+
+ is-arrayish@0.2.1: {}
+
+ is-bigint@1.0.4:
+ dependencies:
+ has-bigints: 1.0.2
+
+ is-binary-path@1.0.1:
+ dependencies:
+ binary-extensions: 1.13.1
+ optional: true
+
+ is-binary-path@2.1.0:
+ dependencies:
+ binary-extensions: 2.3.0
+
+ is-boolean-object@1.1.2:
+ dependencies:
+ call-bind: 1.0.7
+ has-tostringtag: 1.0.2
+
+ is-buffer@1.1.6: {}
+
+ is-buffer@2.0.5: {}
+
+ is-builtin-module@3.2.1:
+ dependencies:
+ builtin-modules: 3.3.0
+
+ is-callable@1.2.7: {}
+
+ is-ci@2.0.0:
+ dependencies:
+ ci-info: 2.0.0
+
+ is-core-module@2.13.1:
+ dependencies:
+ hasown: 2.0.2
+
+ is-data-descriptor@1.0.1:
+ dependencies:
+ hasown: 2.0.2
+
+ is-data-view@1.0.1:
+ dependencies:
+ is-typed-array: 1.1.13
+
+ is-date-object@1.0.5:
+ dependencies:
+ has-tostringtag: 1.0.2
+
+ is-decimal@1.0.4: {}
+
+ is-descriptor@0.1.7:
+ dependencies:
+ is-accessor-descriptor: 1.0.1
+ is-data-descriptor: 1.0.1
+
+ is-descriptor@1.0.3:
+ dependencies:
+ is-accessor-descriptor: 1.0.1
+ is-data-descriptor: 1.0.1
+
+ is-docker@2.2.1: {}
+
+ is-dom@1.1.0:
+ dependencies:
+ is-object: 1.0.2
+ is-window: 1.0.2
+
+ is-extendable@0.1.1: {}
+
+ is-extendable@1.0.1:
+ dependencies:
+ is-plain-object: 2.0.4
+
+ is-extglob@2.1.1: {}
+
+ is-finite@1.1.0:
+ optional: true
+
+ is-fullwidth-code-point@3.0.0: {}
+
+ is-function@1.0.2: {}
+
+ is-generator-fn@2.1.0: {}
+
+ is-glob@3.1.0:
+ dependencies:
+ is-extglob: 2.1.1
+
+ is-glob@4.0.3:
+ dependencies:
+ is-extglob: 2.1.1
+
+ is-hexadecimal@1.0.4: {}
+
+ is-map@2.0.3: {}
+
+ is-module@1.0.0: {}
+
+ is-negative-zero@2.0.3: {}
+
+ is-number-object@1.0.7:
+ dependencies:
+ has-tostringtag: 1.0.2
+
+ is-number@3.0.0:
+ dependencies:
+ kind-of: 3.2.2
+
+ is-number@7.0.0: {}
+
+ is-object@1.0.2: {}
+
+ is-plain-obj@2.1.0: {}
+
+ is-plain-object@2.0.4:
+ dependencies:
+ isobject: 3.0.1
+
+ is-plain-object@5.0.0: {}
+
+ is-potential-custom-element-name@1.0.1: {}
+
+ is-reference@1.2.1:
+ dependencies:
+ '@types/estree': 1.0.5
+
+ is-regex@1.1.4:
+ dependencies:
+ call-bind: 1.0.7
+ has-tostringtag: 1.0.2
+
+ is-set@2.0.3: {}
+
+ is-shared-array-buffer@1.0.3:
+ dependencies:
+ call-bind: 1.0.7
+
+ is-stream@1.1.0: {}
+
+ is-stream@2.0.1: {}
+
+ is-string@1.0.7:
+ dependencies:
+ has-tostringtag: 1.0.2
+
+ is-symbol@1.0.4:
+ dependencies:
+ has-symbols: 1.0.3
+
+ is-typed-array@1.1.13:
+ dependencies:
+ which-typed-array: 1.1.15
+
+ is-typedarray@1.0.0: {}
+
+ is-utf8@0.2.1:
+ optional: true
+
+ is-weakmap@2.0.2: {}
+
+ is-weakref@1.0.2:
+ dependencies:
+ call-bind: 1.0.7
+
+ is-weakset@2.0.3:
+ dependencies:
+ call-bind: 1.0.7
+ get-intrinsic: 1.2.4
+
+ is-whitespace-character@1.0.4: {}
+
+ is-window@1.0.2: {}
+
+ is-windows@1.0.2: {}
+
+ is-word-character@1.0.4: {}
+
+ is-wsl@1.1.0: {}
+
+ is-wsl@2.2.0:
+ dependencies:
+ is-docker: 2.2.1
+
+ isarray@1.0.0: {}
+
+ isarray@2.0.5: {}
+
+ isexe@2.0.0: {}
+
+ isobject@2.1.0:
+ dependencies:
+ isarray: 1.0.0
+
+ isobject@3.0.1: {}
+
+ isobject@4.0.0: {}
+
+ isomorphic-unfetch@3.1.0:
+ dependencies:
+ node-fetch: 2.7.0
+ unfetch: 4.2.0
+ transitivePeerDependencies:
+ - encoding
+
+ istanbul-lib-coverage@3.2.2: {}
+
+ istanbul-lib-instrument@5.2.1:
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/parser': 7.24.5
+ '@istanbuljs/schema': 0.1.3
+ istanbul-lib-coverage: 3.2.2
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ istanbul-lib-report@3.0.1:
+ dependencies:
+ istanbul-lib-coverage: 3.2.2
+ make-dir: 4.0.0
+ supports-color: 7.2.0
+
+ istanbul-lib-source-maps@4.0.1:
+ dependencies:
+ debug: 4.3.4
+ istanbul-lib-coverage: 3.2.2
+ source-map: 0.6.1
+ transitivePeerDependencies:
+ - supports-color
+
+ istanbul-reports@3.1.7:
+ dependencies:
+ html-escaper: 2.0.2
+ istanbul-lib-report: 3.0.1
+
+ iterate-iterator@1.0.2: {}
+
+ iterate-value@1.0.2:
+ dependencies:
+ es-get-iterator: 1.1.3
+ iterate-iterator: 1.0.2
+
+ jackspeak@2.3.6:
+ dependencies:
+ '@isaacs/cliui': 8.0.2
+ optionalDependencies:
+ '@pkgjs/parseargs': 0.11.0
+
+ jest-changed-files@27.5.1:
+ dependencies:
+ '@jest/types': 27.5.1
+ execa: 5.1.1
+ throat: 6.0.2
+
+ jest-circus@27.5.1:
+ dependencies:
+ '@jest/environment': 27.5.1
+ '@jest/test-result': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 20.12.11
+ chalk: 4.1.2
+ co: 4.6.0
+ dedent: 0.7.0
+ expect: 27.5.1
+ is-generator-fn: 2.1.0
+ jest-each: 27.5.1
+ jest-matcher-utils: 27.5.1
+ jest-message-util: 27.5.1
+ jest-runtime: 27.5.1
+ jest-snapshot: 27.5.1
+ jest-util: 27.5.1
+ pretty-format: 27.5.1
+ slash: 3.0.0
+ stack-utils: 2.0.6
+ throat: 6.0.2
+ transitivePeerDependencies:
+ - supports-color
+
+ jest-cli@27.5.1:
+ dependencies:
+ '@jest/core': 27.5.1
+ '@jest/test-result': 27.5.1
+ '@jest/types': 27.5.1
+ chalk: 4.1.2
+ exit: 0.1.2
+ graceful-fs: 4.2.11
+ import-local: 3.1.0
+ jest-config: 27.5.1
+ jest-util: 27.5.1
+ jest-validate: 27.5.1
+ prompts: 2.4.2
+ yargs: 16.2.0
+ transitivePeerDependencies:
+ - bufferutil
+ - canvas
+ - supports-color
+ - ts-node
+ - utf-8-validate
+
+ jest-config@27.5.1:
+ dependencies:
+ '@babel/core': 7.24.5
+ '@jest/test-sequencer': 27.5.1
+ '@jest/types': 27.5.1
+ babel-jest: 27.5.1(@babel/core@7.24.5)
+ chalk: 4.1.2
+ ci-info: 3.9.0
+ deepmerge: 4.3.1
+ glob: 7.2.3
+ graceful-fs: 4.2.11
+ jest-circus: 27.5.1
+ jest-environment-jsdom: 27.5.1
+ jest-environment-node: 27.5.1
+ jest-get-type: 27.5.1
+ jest-jasmine2: 27.5.1
+ jest-regex-util: 27.5.1
+ jest-resolve: 27.5.1
+ jest-runner: 27.5.1
+ jest-util: 27.5.1
+ jest-validate: 27.5.1
+ micromatch: 4.0.5
+ parse-json: 5.2.0
+ pretty-format: 27.5.1
+ slash: 3.0.0
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - bufferutil
+ - canvas
+ - supports-color
+ - utf-8-validate
+
+ jest-diff@27.5.1:
+ dependencies:
+ chalk: 4.1.2
+ diff-sequences: 27.5.1
+ jest-get-type: 27.5.1
+ pretty-format: 27.5.1
+
+ jest-docblock@27.5.1:
+ dependencies:
+ detect-newline: 3.1.0
+
+ jest-each@27.5.1:
+ dependencies:
+ '@jest/types': 27.5.1
+ chalk: 4.1.2
+ jest-get-type: 27.5.1
+ jest-util: 27.5.1
+ pretty-format: 27.5.1
+
+ jest-environment-jsdom@27.5.1:
+ dependencies:
+ '@jest/environment': 27.5.1
+ '@jest/fake-timers': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 20.12.11
+ jest-mock: 27.5.1
+ jest-util: 27.5.1
+ jsdom: 16.7.0
+ transitivePeerDependencies:
+ - bufferutil
+ - canvas
+ - supports-color
+ - utf-8-validate
+
+ jest-environment-node@27.5.1:
+ dependencies:
+ '@jest/environment': 27.5.1
+ '@jest/fake-timers': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 20.12.11
+ jest-mock: 27.5.1
+ jest-util: 27.5.1
+
+ jest-get-type@27.5.1: {}
+
+ jest-haste-map@26.6.2:
+ dependencies:
+ '@jest/types': 26.6.2
+ '@types/graceful-fs': 4.1.9
+ '@types/node': 20.12.11
+ anymatch: 3.1.3
+ fb-watchman: 2.0.2
+ graceful-fs: 4.2.11
+ jest-regex-util: 26.0.0
+ jest-serializer: 26.6.2
+ jest-util: 26.6.2
+ jest-worker: 26.6.2
+ micromatch: 4.0.5
+ sane: 4.1.0
+ walker: 1.0.8
+ optionalDependencies:
+ fsevents: 2.3.3
+ transitivePeerDependencies:
+ - supports-color
+
+ jest-haste-map@27.5.1:
+ dependencies:
+ '@jest/types': 27.5.1
+ '@types/graceful-fs': 4.1.9
+ '@types/node': 20.12.11
+ anymatch: 3.1.3
+ fb-watchman: 2.0.2
+ graceful-fs: 4.2.11
+ jest-regex-util: 27.5.1
+ jest-serializer: 27.5.1
+ jest-util: 27.5.1
+ jest-worker: 27.5.1
+ micromatch: 4.0.5
+ walker: 1.0.8
+ optionalDependencies:
+ fsevents: 2.3.3
+
+ jest-jasmine2@27.5.1:
+ dependencies:
+ '@jest/environment': 27.5.1
+ '@jest/source-map': 27.5.1
+ '@jest/test-result': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 20.12.11
+ chalk: 4.1.2
+ co: 4.6.0
+ expect: 27.5.1
+ is-generator-fn: 2.1.0
+ jest-each: 27.5.1
+ jest-matcher-utils: 27.5.1
+ jest-message-util: 27.5.1
+ jest-runtime: 27.5.1
+ jest-snapshot: 27.5.1
+ jest-util: 27.5.1
+ pretty-format: 27.5.1
+ throat: 6.0.2
+ transitivePeerDependencies:
+ - supports-color
+
+ jest-leak-detector@27.5.1:
+ dependencies:
+ jest-get-type: 27.5.1
+ pretty-format: 27.5.1
+
+ jest-matcher-utils@27.5.1:
+ dependencies:
+ chalk: 4.1.2
+ jest-diff: 27.5.1
+ jest-get-type: 27.5.1
+ pretty-format: 27.5.1
+
+ jest-message-util@27.5.1:
+ dependencies:
+ '@babel/code-frame': 7.24.2
+ '@jest/types': 27.5.1
+ '@types/stack-utils': 2.0.3
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ micromatch: 4.0.5
+ pretty-format: 27.5.1
+ slash: 3.0.0
+ stack-utils: 2.0.6
+
+ jest-mock@27.5.1:
+ dependencies:
+ '@jest/types': 27.5.1
+ '@types/node': 20.12.11
+
+ jest-pnp-resolver@1.2.3(jest-resolve@27.5.1):
+ optionalDependencies:
+ jest-resolve: 27.5.1
+
+ jest-regex-util@26.0.0: {}
+
+ jest-regex-util@27.5.1: {}
+
+ jest-resolve-dependencies@27.5.1:
+ dependencies:
+ '@jest/types': 27.5.1
+ jest-regex-util: 27.5.1
+ jest-snapshot: 27.5.1
+ transitivePeerDependencies:
+ - supports-color
+
+ jest-resolve@27.5.1:
+ dependencies:
+ '@jest/types': 27.5.1
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ jest-haste-map: 27.5.1
+ jest-pnp-resolver: 1.2.3(jest-resolve@27.5.1)
+ jest-util: 27.5.1
+ jest-validate: 27.5.1
+ resolve: 1.22.8
+ resolve.exports: 1.1.1
+ slash: 3.0.0
+
+ jest-runner@27.5.1:
+ dependencies:
+ '@jest/console': 27.5.1
+ '@jest/environment': 27.5.1
+ '@jest/test-result': 27.5.1
+ '@jest/transform': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 20.12.11
+ chalk: 4.1.2
+ emittery: 0.8.1
+ graceful-fs: 4.2.11
+ jest-docblock: 27.5.1
+ jest-environment-jsdom: 27.5.1
+ jest-environment-node: 27.5.1
+ jest-haste-map: 27.5.1
+ jest-leak-detector: 27.5.1
+ jest-message-util: 27.5.1
+ jest-resolve: 27.5.1
+ jest-runtime: 27.5.1
+ jest-util: 27.5.1
+ jest-worker: 27.5.1
+ source-map-support: 0.5.21
+ throat: 6.0.2
+ transitivePeerDependencies:
+ - bufferutil
+ - canvas
+ - supports-color
+ - utf-8-validate
+
+ jest-runtime@27.5.1:
+ dependencies:
+ '@jest/environment': 27.5.1
+ '@jest/fake-timers': 27.5.1
+ '@jest/globals': 27.5.1
+ '@jest/source-map': 27.5.1
+ '@jest/test-result': 27.5.1
+ '@jest/transform': 27.5.1
+ '@jest/types': 27.5.1
+ chalk: 4.1.2
+ cjs-module-lexer: 1.3.1
+ collect-v8-coverage: 1.0.2
+ execa: 5.1.1
+ glob: 7.2.3
+ graceful-fs: 4.2.11
+ jest-haste-map: 27.5.1
+ jest-message-util: 27.5.1
+ jest-mock: 27.5.1
+ jest-regex-util: 27.5.1
+ jest-resolve: 27.5.1
+ jest-snapshot: 27.5.1
+ jest-util: 27.5.1
+ slash: 3.0.0
+ strip-bom: 4.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ jest-serializer@26.6.2:
+ dependencies:
+ '@types/node': 20.12.11
+ graceful-fs: 4.2.11
+
+ jest-serializer@27.5.1:
+ dependencies:
+ '@types/node': 20.12.11
+ graceful-fs: 4.2.11
+
+ jest-snapshot@27.5.1:
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/generator': 7.24.5
+ '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.5)
+ '@babel/traverse': 7.24.5
+ '@babel/types': 7.24.5
+ '@jest/transform': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/babel__traverse': 7.20.5
+ '@types/prettier': 2.7.3
+ babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.5)
+ chalk: 4.1.2
+ expect: 27.5.1
+ graceful-fs: 4.2.11
+ jest-diff: 27.5.1
+ jest-get-type: 27.5.1
+ jest-haste-map: 27.5.1
+ jest-matcher-utils: 27.5.1
+ jest-message-util: 27.5.1
+ jest-util: 27.5.1
+ natural-compare: 1.4.0
+ pretty-format: 27.5.1
+ semver: 7.6.2
+ transitivePeerDependencies:
+ - supports-color
+
+ jest-util@26.6.2:
+ dependencies:
+ '@jest/types': 26.6.2
+ '@types/node': 20.12.11
+ chalk: 4.1.2
+ graceful-fs: 4.2.11
+ is-ci: 2.0.0
+ micromatch: 4.0.5
+
+ jest-util@27.5.1:
+ dependencies:
+ '@jest/types': 27.5.1
+ '@types/node': 20.12.11
+ chalk: 4.1.2
+ ci-info: 3.9.0
+ graceful-fs: 4.2.11
+ picomatch: 2.3.1
+
+ jest-validate@27.5.1:
+ dependencies:
+ '@jest/types': 27.5.1
+ camelcase: 6.3.0
+ chalk: 4.1.2
+ jest-get-type: 27.5.1
+ leven: 3.1.0
+ pretty-format: 27.5.1
+
+ jest-watcher@27.5.1:
+ dependencies:
+ '@jest/test-result': 27.5.1
+ '@jest/types': 27.5.1
+ '@types/node': 20.12.11
+ ansi-escapes: 4.3.2
+ chalk: 4.1.2
+ jest-util: 27.5.1
+ string-length: 4.0.2
+
+ jest-worker@26.6.2:
+ dependencies:
+ '@types/node': 20.12.11
+ merge-stream: 2.0.0
+ supports-color: 7.2.0
+
+ jest-worker@27.5.1:
+ dependencies:
+ '@types/node': 20.12.11
+ merge-stream: 2.0.0
+ supports-color: 8.1.1
+
+ jest@27.5.1:
+ dependencies:
+ '@jest/core': 27.5.1
+ import-local: 3.1.0
+ jest-cli: 27.5.1
+ transitivePeerDependencies:
+ - bufferutil
+ - canvas
+ - supports-color
+ - ts-node
+ - utf-8-validate
+
+ jiti@1.21.0: {}
+
+ js-cookie@2.2.1: {}
+
+ js-string-escape@1.0.1: {}
+
+ js-tokens@4.0.0: {}
+
+ js-yaml@3.14.1:
+ dependencies:
+ argparse: 1.0.10
+ esprima: 4.0.1
+
+ jsdom@16.7.0:
+ dependencies:
+ abab: 2.0.6
+ acorn: 8.11.3
+ acorn-globals: 6.0.0
+ cssom: 0.4.4
+ cssstyle: 2.3.0
+ data-urls: 2.0.0
+ decimal.js: 10.4.3
+ domexception: 2.0.1
+ escodegen: 2.1.0
+ form-data: 3.0.1
+ html-encoding-sniffer: 2.0.1
+ http-proxy-agent: 4.0.1
+ https-proxy-agent: 5.0.1
+ is-potential-custom-element-name: 1.0.1
+ nwsapi: 2.2.9
+ parse5: 6.0.1
+ saxes: 5.0.1
+ symbol-tree: 3.2.4
+ tough-cookie: 4.1.4
+ w3c-hr-time: 1.0.2
+ w3c-xmlserializer: 2.0.0
+ webidl-conversions: 6.1.0
+ whatwg-encoding: 1.0.5
+ whatwg-mimetype: 2.3.0
+ whatwg-url: 8.7.0
+ ws: 7.5.9
+ xml-name-validator: 3.0.0
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+
+ jsesc@0.5.0: {}
+
+ jsesc@2.5.2: {}
+
+ json-buffer@3.0.1: {}
+
+ json-parse-better-errors@1.0.2: {}
+
+ json-parse-even-better-errors@2.3.1: {}
+
+ json-schema-traverse@0.4.1: {}
+
+ json5@1.0.2:
+ dependencies:
+ minimist: 1.2.8
+
+ json5@2.2.3: {}
+
+ jsonfile@6.1.0:
+ dependencies:
+ universalify: 2.0.1
+ optionalDependencies:
+ graceful-fs: 4.2.11
+
+ junk@3.1.0: {}
+
+ keyv@4.5.4:
+ dependencies:
+ json-buffer: 3.0.1
+
+ kind-of@3.2.2:
+ dependencies:
+ is-buffer: 1.1.6
+
+ kind-of@4.0.0:
+ dependencies:
+ is-buffer: 1.1.6
+
+ kind-of@6.0.3: {}
+
+ kleur@3.0.3: {}
+
+ klona@2.0.6: {}
+
+ lazy-universal-dotenv@3.0.1:
+ dependencies:
+ '@babel/runtime': 7.24.5
+ app-root-dir: 1.0.2
+ core-js: 3.37.0
+ dotenv: 8.6.0
+ dotenv-expand: 5.1.0
+
+ leven@3.1.0: {}
+
+ lilconfig@2.1.0: {}
+
+ lilconfig@3.1.1: {}
+
+ lines-and-columns@1.2.4: {}
+
+ load-json-file@1.1.0:
+ dependencies:
+ graceful-fs: 4.2.11
+ parse-json: 2.2.0
+ pify: 2.3.0
+ pinkie-promise: 2.0.1
+ strip-bom: 2.0.0
+ optional: true
+
+ loader-runner@2.4.0: {}
+
+ loader-runner@4.3.0: {}
+
+ loader-utils@1.4.2:
+ dependencies:
+ big.js: 5.2.2
+ emojis-list: 3.0.0
+ json5: 1.0.2
+
+ loader-utils@2.0.4:
+ dependencies:
+ big.js: 5.2.2
+ emojis-list: 3.0.0
+ json5: 2.2.3
+
+ locate-path@3.0.0:
+ dependencies:
+ p-locate: 3.0.0
+ path-exists: 3.0.0
+
+ locate-path@5.0.0:
+ dependencies:
+ p-locate: 4.1.0
+
+ locate-path@6.0.0:
+ dependencies:
+ p-locate: 5.0.0
+
+ lodash.castarray@4.4.0: {}
+
+ lodash.debounce@4.0.8: {}
+
+ lodash.isplainobject@4.0.6: {}
+
+ lodash.memoize@4.1.2: {}
+
+ lodash.merge@4.6.2: {}
+
+ lodash.uniq@4.5.0: {}
+
+ lodash@4.17.21: {}
+
+ loose-envify@1.4.0:
+ dependencies:
+ js-tokens: 4.0.0
+
+ loud-rejection@1.6.0:
+ dependencies:
+ currently-unhandled: 0.4.1
+ signal-exit: 3.0.7
+ optional: true
+
+ lower-case@2.0.2:
+ dependencies:
+ tslib: 2.6.2
+
+ lru-cache@10.2.2: {}
+
+ lru-cache@5.1.1:
+ dependencies:
+ yallist: 3.1.1
+
+ lru-cache@6.0.0:
+ dependencies:
+ yallist: 4.0.0
+
+ lz-string@1.5.0: {}
+
+ magic-string@0.25.9:
+ dependencies:
+ sourcemap-codec: 1.4.8
+
+ make-dir@2.1.0:
+ dependencies:
+ pify: 4.0.1
+ semver: 5.7.2
+
+ make-dir@3.1.0:
+ dependencies:
+ semver: 6.3.1
+
+ make-dir@4.0.0:
+ dependencies:
+ semver: 7.6.2
+
+ make-error@1.3.6: {}
+
+ makeerror@1.0.12:
+ dependencies:
+ tmpl: 1.0.5
+
+ map-cache@0.2.2: {}
+
+ map-obj@1.0.1:
+ optional: true
+
+ map-or-similar@1.5.0: {}
+
+ map-visit@1.0.0:
+ dependencies:
+ object-visit: 1.0.1
+
+ markdown-escapes@1.0.4: {}
+
+ md5.js@1.3.5:
+ dependencies:
+ hash-base: 3.1.0
+ inherits: 2.0.4
+ safe-buffer: 5.2.1
+
+ mdast-squeeze-paragraphs@4.0.0:
+ dependencies:
+ unist-util-remove: 2.1.0
+
+ mdast-util-definitions@4.0.0:
+ dependencies:
+ unist-util-visit: 2.0.3
+
+ mdast-util-to-hast@10.0.1:
+ dependencies:
+ '@types/mdast': 3.0.15
+ '@types/unist': 2.0.10
+ mdast-util-definitions: 4.0.0
+ mdurl: 1.0.1
+ unist-builder: 2.0.3
+ unist-util-generated: 1.1.6
+ unist-util-position: 3.1.0
+ unist-util-visit: 2.0.3
+
+ mdast-util-to-string@1.1.0: {}
+
+ mdn-data@2.0.14: {}
+
+ mdurl@1.0.1: {}
+
+ media-typer@0.3.0: {}
+
+ memfs@3.5.3:
+ dependencies:
+ fs-monkey: 1.0.6
+
+ memoizerific@1.11.3:
+ dependencies:
+ map-or-similar: 1.5.0
+
+ memory-fs@0.4.1:
+ dependencies:
+ errno: 0.1.8
+ readable-stream: 2.3.8
+
+ memory-fs@0.5.0:
+ dependencies:
+ errno: 0.1.8
+ readable-stream: 2.3.8
+
+ meow@3.7.0:
+ dependencies:
+ camelcase-keys: 2.1.0
+ decamelize: 1.2.0
+ loud-rejection: 1.6.0
+ map-obj: 1.0.1
+ minimist: 1.2.8
+ normalize-package-data: 2.5.0
+ object-assign: 4.1.1
+ read-pkg-up: 1.0.1
+ redent: 1.0.0
+ trim-newlines: 1.0.0
+ optional: true
+
+ merge-descriptors@1.0.1: {}
+
+ merge-stream@2.0.0: {}
+
+ merge2@1.4.1: {}
+
+ methods@1.1.2: {}
+
+ microevent.ts@0.1.1: {}
+
+ micromatch@3.1.10:
+ dependencies:
+ arr-diff: 4.0.0
+ array-unique: 0.3.2
+ braces: 2.3.2
+ define-property: 2.0.2
+ extend-shallow: 3.0.2
+ extglob: 2.0.4
+ fragment-cache: 0.2.1
+ kind-of: 6.0.3
+ nanomatch: 1.2.13
+ object.pick: 1.3.0
+ regex-not: 1.0.2
+ snapdragon: 0.8.2
+ to-regex: 3.0.2
+ transitivePeerDependencies:
+ - supports-color
+
+ micromatch@4.0.5:
+ dependencies:
+ braces: 3.0.2
+ picomatch: 2.3.1
+
+ miller-rabin@4.0.1:
+ dependencies:
+ bn.js: 4.12.0
+ brorand: 1.1.0
+
+ mime-db@1.52.0: {}
+
+ mime-types@2.1.35:
+ dependencies:
+ mime-db: 1.52.0
+
+ mime@1.6.0: {}
+
+ mime@2.6.0: {}
+
+ mimic-fn@2.1.0: {}
+
+ min-document@2.19.0:
+ dependencies:
+ dom-walk: 0.1.2
+
+ min-indent@1.0.1: {}
+
+ minimalistic-assert@1.0.1: {}
+
+ minimalistic-crypto-utils@1.0.1: {}
+
+ minimatch@3.1.2:
+ dependencies:
+ brace-expansion: 1.1.11
+
+ minimatch@9.0.4:
+ dependencies:
+ brace-expansion: 2.0.1
+
+ minimist@1.2.8: {}
+
+ minipass-collect@1.0.2:
+ dependencies:
+ minipass: 3.3.6
+
+ minipass-flush@1.0.5:
+ dependencies:
+ minipass: 3.3.6
+
+ minipass-pipeline@1.2.4:
+ dependencies:
+ minipass: 3.3.6
+
+ minipass@3.3.6:
+ dependencies:
+ yallist: 4.0.0
+
+ minipass@5.0.0: {}
+
+ minipass@7.1.1: {}
+
+ minizlib@2.1.2:
+ dependencies:
+ minipass: 3.3.6
+ yallist: 4.0.0
+
+ mississippi@3.0.0:
+ dependencies:
+ concat-stream: 1.6.2
+ duplexify: 3.7.1
+ end-of-stream: 1.4.4
+ flush-write-stream: 1.1.1
+ from2: 2.3.0
+ parallel-transform: 1.2.0
+ pump: 3.0.0
+ pumpify: 1.5.1
+ stream-each: 1.2.3
+ through2: 2.0.5
+
+ mixin-deep@1.3.2:
+ dependencies:
+ for-in: 1.0.2
+ is-extendable: 1.0.1
+
+ mkdirp@0.5.6:
+ dependencies:
+ minimist: 1.2.8
+
+ mkdirp@1.0.4: {}
+
+ move-concurrently@1.0.1:
+ dependencies:
+ aproba: 1.2.0
+ copy-concurrently: 1.0.5
+ fs-write-stream-atomic: 1.0.10
+ mkdirp: 0.5.6
+ rimraf: 2.7.1
+ run-queue: 1.0.3
+
+ ms@2.0.0: {}
+
+ ms@2.1.1: {}
+
+ ms@2.1.2: {}
+
+ ms@2.1.3: {}
+
+ mz@2.7.0:
+ dependencies:
+ any-promise: 1.3.0
+ object-assign: 4.1.1
+ thenify-all: 1.6.0
+
+ nan@2.19.0:
+ optional: true
+
+ nano-css@5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.4.15
+ css-tree: 1.1.3
+ csstype: 3.1.3
+ fastest-stable-stringify: 2.0.2
+ inline-style-prefixer: 7.0.0
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ rtl-css-js: 1.16.1
+ stacktrace-js: 2.0.2
+ stylis: 4.3.2
+
+ nanoid@3.3.7: {}
+
+ nanomatch@1.2.13:
+ dependencies:
+ arr-diff: 4.0.0
+ array-unique: 0.3.2
+ define-property: 2.0.2
+ extend-shallow: 3.0.2
+ fragment-cache: 0.2.1
+ is-windows: 1.0.2
+ kind-of: 6.0.3
+ object.pick: 1.3.0
+ regex-not: 1.0.2
+ snapdragon: 0.8.2
+ to-regex: 3.0.2
+ transitivePeerDependencies:
+ - supports-color
+
+ natural-compare@1.4.0: {}
+
+ negotiator@0.6.3: {}
+
+ neo-async@2.6.2: {}
+
+ nested-error-stacks@2.1.1: {}
+
+ nice-try@1.0.5: {}
+
+ no-case@3.0.4:
+ dependencies:
+ lower-case: 2.0.2
+ tslib: 2.6.2
+
+ node-dir@0.1.17:
+ dependencies:
+ minimatch: 3.1.2
+
+ node-fetch@2.7.0:
+ dependencies:
+ whatwg-url: 5.0.0
+
+ node-int64@0.4.0: {}
+
+ node-libs-browser@2.2.1:
+ dependencies:
+ assert: 1.5.1
+ browserify-zlib: 0.2.0
+ buffer: 4.9.2
+ console-browserify: 1.2.0
+ constants-browserify: 1.0.0
+ crypto-browserify: 3.12.0
+ domain-browser: 1.2.0
+ events: 3.3.0
+ https-browserify: 1.0.0
+ os-browserify: 0.3.0
+ path-browserify: 0.0.1
+ process: 0.11.10
+ punycode: 1.4.1
+ querystring-es3: 0.2.1
+ readable-stream: 2.3.8
+ stream-browserify: 2.0.2
+ stream-http: 2.8.3
+ string_decoder: 1.3.0
+ timers-browserify: 2.0.12
+ tty-browserify: 0.0.0
+ url: 0.11.3
+ util: 0.11.1
+ vm-browserify: 1.1.2
+
+ node-releases@2.0.14: {}
+
+ normalize-package-data@2.5.0:
+ dependencies:
+ hosted-git-info: 2.8.9
+ resolve: 1.22.8
+ semver: 5.7.2
+ validate-npm-package-license: 3.0.4
+
+ normalize-path@2.1.1:
+ dependencies:
+ remove-trailing-separator: 1.1.0
+
+ normalize-path@3.0.0: {}
+
+ normalize-range@0.1.2: {}
+
+ normalize-url@6.1.0: {}
+
+ npm-run-path@2.0.2:
+ dependencies:
+ path-key: 2.0.1
+
+ npm-run-path@4.0.1:
+ dependencies:
+ path-key: 3.1.1
+
+ npmlog@5.0.1:
+ dependencies:
+ are-we-there-yet: 2.0.0
+ console-control-strings: 1.1.0
+ gauge: 3.0.2
+ set-blocking: 2.0.0
+
+ nth-check@2.1.1:
+ dependencies:
+ boolbase: 1.0.0
+
+ num2fraction@1.2.2: {}
+
+ nwsapi@2.2.9: {}
+
+ object-assign@4.1.1: {}
+
+ object-copy@0.1.0:
+ dependencies:
+ copy-descriptor: 0.1.1
+ define-property: 0.2.5
+ kind-of: 3.2.2
+
+ object-hash@3.0.0: {}
+
+ object-inspect@1.13.1: {}
+
+ object-is@1.1.6:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+
+ object-keys@1.1.1: {}
+
+ object-visit@1.0.1:
+ dependencies:
+ isobject: 3.0.1
+
+ object.assign@4.1.5:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ has-symbols: 1.0.3
+ object-keys: 1.1.1
+
+ object.entries@1.1.8:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-object-atoms: 1.0.0
+
+ object.fromentries@2.0.8:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-object-atoms: 1.0.0
+
+ object.getownpropertydescriptors@2.1.8:
+ dependencies:
+ array.prototype.reduce: 1.0.7
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-object-atoms: 1.0.0
+ gopd: 1.0.1
+ safe-array-concat: 1.1.2
+
+ object.pick@1.3.0:
+ dependencies:
+ isobject: 3.0.1
+
+ object.values@1.2.0:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-object-atoms: 1.0.0
+
+ objectorarray@1.0.5: {}
+
+ on-finished@2.4.1:
+ dependencies:
+ ee-first: 1.1.1
+
+ on-headers@1.0.2: {}
+
+ once@1.4.0:
+ dependencies:
+ wrappy: 1.0.2
+
+ onetime@5.1.2:
+ dependencies:
+ mimic-fn: 2.1.0
+
+ open@7.4.2:
+ dependencies:
+ is-docker: 2.2.1
+ is-wsl: 2.2.0
+
+ open@8.4.2:
+ dependencies:
+ define-lazy-prop: 2.0.0
+ is-docker: 2.2.1
+ is-wsl: 2.2.0
+
+ os-browserify@0.3.0: {}
+
+ os-homedir@1.0.2:
+ optional: true
+
+ p-all@2.1.0:
+ dependencies:
+ p-map: 2.1.0
+
+ p-event@4.2.0:
+ dependencies:
+ p-timeout: 3.2.0
+
+ p-filter@2.1.0:
+ dependencies:
+ p-map: 2.1.0
+
+ p-finally@1.0.0: {}
+
+ p-limit@2.3.0:
+ dependencies:
+ p-try: 2.2.0
+
+ p-limit@3.1.0:
+ dependencies:
+ yocto-queue: 0.1.0
+
+ p-locate@3.0.0:
+ dependencies:
+ p-limit: 2.3.0
+
+ p-locate@4.1.0:
+ dependencies:
+ p-limit: 2.3.0
+
+ p-locate@5.0.0:
+ dependencies:
+ p-limit: 3.1.0
+
+ p-map@2.1.0: {}
+
+ p-map@3.0.0:
+ dependencies:
+ aggregate-error: 3.1.0
+
+ p-map@4.0.0:
+ dependencies:
+ aggregate-error: 3.1.0
+
+ p-queue@6.6.2:
+ dependencies:
+ eventemitter3: 4.0.7
+ p-timeout: 3.2.0
+
+ p-timeout@3.2.0:
+ dependencies:
+ p-finally: 1.0.0
+
+ p-try@2.2.0: {}
+
+ pako@1.0.11: {}
+
+ parallel-transform@1.2.0:
+ dependencies:
+ cyclist: 1.0.2
+ inherits: 2.0.4
+ readable-stream: 2.3.8
+
+ param-case@3.0.4:
+ dependencies:
+ dot-case: 3.0.4
+ tslib: 2.6.2
+
+ parent-module@1.0.1:
+ dependencies:
+ callsites: 3.1.0
+
+ parse-asn1@5.1.7:
+ dependencies:
+ asn1.js: 4.10.1
+ browserify-aes: 1.2.0
+ evp_bytestokey: 1.0.3
+ hash-base: 3.0.4
+ pbkdf2: 3.1.2
+ safe-buffer: 5.2.1
+
+ parse-entities@2.0.0:
+ dependencies:
+ character-entities: 1.2.4
+ character-entities-legacy: 1.1.4
+ character-reference-invalid: 1.1.4
+ is-alphanumerical: 1.0.4
+ is-decimal: 1.0.4
+ is-hexadecimal: 1.0.4
+
+ parse-json@2.2.0:
+ dependencies:
+ error-ex: 1.3.2
+ optional: true
+
+ parse-json@5.2.0:
+ dependencies:
+ '@babel/code-frame': 7.24.2
+ error-ex: 1.3.2
+ json-parse-even-better-errors: 2.3.1
+ lines-and-columns: 1.2.4
+
+ parse5@6.0.1: {}
+
+ parseurl@1.3.3: {}
+
+ pascal-case@3.1.2:
+ dependencies:
+ no-case: 3.0.4
+ tslib: 2.6.2
+
+ pascalcase@0.1.1: {}
+
+ path-browserify@0.0.1: {}
+
+ path-dirname@1.0.2: {}
+
+ path-exists@2.1.0:
+ dependencies:
+ pinkie-promise: 2.0.1
+ optional: true
+
+ path-exists@3.0.0: {}
+
+ path-exists@4.0.0: {}
+
+ path-is-absolute@1.0.1: {}
+
+ path-key@2.0.1: {}
+
+ path-key@3.1.1: {}
+
+ path-parse@1.0.7: {}
+
+ path-scurry@1.11.0:
+ dependencies:
+ lru-cache: 10.2.2
+ minipass: 7.1.1
+
+ path-to-regexp@0.1.7: {}
+
+ path-type@1.1.0:
+ dependencies:
+ graceful-fs: 4.2.11
+ pify: 2.3.0
+ pinkie-promise: 2.0.1
+ optional: true
+
+ path-type@3.0.0:
+ dependencies:
+ pify: 3.0.0
+
+ path-type@4.0.0: {}
+
+ pbkdf2@3.1.2:
+ dependencies:
+ create-hash: 1.2.0
+ create-hmac: 1.1.7
+ ripemd160: 2.0.2
+ safe-buffer: 5.2.1
+ sha.js: 2.4.11
+
+ picocolors@0.2.1: {}
+
+ picocolors@1.0.0: {}
+
+ picomatch@2.3.1: {}
+
+ pify@2.3.0: {}
+
+ pify@3.0.0: {}
+
+ pify@4.0.1: {}
+
+ pinkie-promise@2.0.1:
+ dependencies:
+ pinkie: 2.0.4
+ optional: true
+
+ pinkie@2.0.4:
+ optional: true
+
+ pirates@4.0.6: {}
+
+ pkg-dir@3.0.0:
+ dependencies:
+ find-up: 3.0.0
+
+ pkg-dir@4.2.0:
+ dependencies:
+ find-up: 4.1.0
+
+ pkg-dir@5.0.0:
+ dependencies:
+ find-up: 5.0.0
+
+ pnp-webpack-plugin@1.6.4(typescript@4.9.5):
+ dependencies:
+ ts-pnp: 1.2.0(typescript@4.9.5)
+ transitivePeerDependencies:
+ - typescript
+
+ polished@4.3.1:
+ dependencies:
+ '@babel/runtime': 7.24.5
+
+ posix-character-classes@0.1.1: {}
+
+ possible-typed-array-names@1.0.0: {}
+
+ postcss-calc@8.2.4(postcss@8.4.38):
+ dependencies:
+ postcss: 8.4.38
+ postcss-selector-parser: 6.0.16
+ postcss-value-parser: 4.2.0
+
+ postcss-colormin@5.3.1(postcss@8.4.38):
+ dependencies:
+ browserslist: 4.23.0
+ caniuse-api: 3.0.0
+ colord: 2.9.3
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+
+ postcss-convert-values@5.1.3(postcss@8.4.38):
+ dependencies:
+ browserslist: 4.23.0
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+
+ postcss-discard-comments@5.1.2(postcss@8.4.38):
+ dependencies:
+ postcss: 8.4.38
+
+ postcss-discard-duplicates@5.1.0(postcss@8.4.38):
+ dependencies:
+ postcss: 8.4.38
+
+ postcss-discard-empty@5.1.1(postcss@8.4.38):
+ dependencies:
+ postcss: 8.4.38
+
+ postcss-discard-overridden@5.1.0(postcss@8.4.38):
+ dependencies:
+ postcss: 8.4.38
+
+ postcss-flexbugs-fixes@4.2.1:
+ dependencies:
+ postcss: 7.0.39
+
+ postcss-import@15.1.0(postcss@8.4.38):
+ dependencies:
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+ read-cache: 1.0.0
+ resolve: 1.22.8
+
+ postcss-js@4.0.1(postcss@8.4.38):
+ dependencies:
+ camelcase-css: 2.0.1
+ postcss: 8.4.38
+
+ postcss-load-config@4.0.2(postcss@8.4.38):
+ dependencies:
+ lilconfig: 3.1.1
+ yaml: 2.4.2
+ optionalDependencies:
+ postcss: 8.4.38
+
+ postcss-loader@4.3.0(postcss@7.0.39)(webpack@4.47.0):
+ dependencies:
+ cosmiconfig: 7.1.0
+ klona: 2.0.6
+ loader-utils: 2.0.4
+ postcss: 7.0.39
+ schema-utils: 3.3.0
+ semver: 7.6.2
+ webpack: 4.47.0
+
+ postcss-loader@4.3.0(postcss@7.0.39)(webpack@5.91.0):
+ dependencies:
+ cosmiconfig: 7.1.0
+ klona: 2.0.6
+ loader-utils: 2.0.4
+ postcss: 7.0.39
+ schema-utils: 3.3.0
+ semver: 7.6.2
+ webpack: 5.91.0
+
+ postcss-merge-longhand@5.1.7(postcss@8.4.38):
+ dependencies:
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+ stylehacks: 5.1.1(postcss@8.4.38)
+
+ postcss-merge-rules@5.1.4(postcss@8.4.38):
+ dependencies:
+ browserslist: 4.23.0
+ caniuse-api: 3.0.0
+ cssnano-utils: 3.1.0(postcss@8.4.38)
+ postcss: 8.4.38
+ postcss-selector-parser: 6.0.16
+
+ postcss-minify-font-values@5.1.0(postcss@8.4.38):
+ dependencies:
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+
+ postcss-minify-gradients@5.1.1(postcss@8.4.38):
+ dependencies:
+ colord: 2.9.3
+ cssnano-utils: 3.1.0(postcss@8.4.38)
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+
+ postcss-minify-params@5.1.4(postcss@8.4.38):
+ dependencies:
+ browserslist: 4.23.0
+ cssnano-utils: 3.1.0(postcss@8.4.38)
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+
+ postcss-minify-selectors@5.2.1(postcss@8.4.38):
+ dependencies:
+ postcss: 8.4.38
+ postcss-selector-parser: 6.0.16
+
+ postcss-modules-extract-imports@2.0.0:
+ dependencies:
+ postcss: 7.0.39
+
+ postcss-modules-extract-imports@3.1.0(postcss@8.4.38):
+ dependencies:
+ postcss: 8.4.38
+
+ postcss-modules-local-by-default@3.0.3:
+ dependencies:
+ icss-utils: 4.1.1
+ postcss: 7.0.39
+ postcss-selector-parser: 6.0.16
+ postcss-value-parser: 4.2.0
+
+ postcss-modules-local-by-default@4.0.5(postcss@8.4.38):
+ dependencies:
+ icss-utils: 5.1.0(postcss@8.4.38)
+ postcss: 8.4.38
+ postcss-selector-parser: 6.0.16
+ postcss-value-parser: 4.2.0
+
+ postcss-modules-scope@2.2.0:
+ dependencies:
+ postcss: 7.0.39
+ postcss-selector-parser: 6.0.16
+
+ postcss-modules-scope@3.2.0(postcss@8.4.38):
+ dependencies:
+ postcss: 8.4.38
+ postcss-selector-parser: 6.0.16
+
+ postcss-modules-values@3.0.0:
+ dependencies:
+ icss-utils: 4.1.1
+ postcss: 7.0.39
+
+ postcss-modules-values@4.0.0(postcss@8.4.38):
+ dependencies:
+ icss-utils: 5.1.0(postcss@8.4.38)
+ postcss: 8.4.38
+
+ postcss-nested@6.0.1(postcss@8.4.38):
+ dependencies:
+ postcss: 8.4.38
+ postcss-selector-parser: 6.0.16
+
+ postcss-normalize-charset@5.1.0(postcss@8.4.38):
+ dependencies:
+ postcss: 8.4.38
+
+ postcss-normalize-display-values@5.1.0(postcss@8.4.38):
+ dependencies:
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-positions@5.1.1(postcss@8.4.38):
+ dependencies:
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-repeat-style@5.1.1(postcss@8.4.38):
+ dependencies:
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-string@5.1.0(postcss@8.4.38):
+ dependencies:
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-timing-functions@5.1.0(postcss@8.4.38):
+ dependencies:
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-unicode@5.1.1(postcss@8.4.38):
+ dependencies:
+ browserslist: 4.23.0
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-url@5.1.0(postcss@8.4.38):
+ dependencies:
+ normalize-url: 6.1.0
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+
+ postcss-normalize-whitespace@5.1.1(postcss@8.4.38):
+ dependencies:
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+
+ postcss-ordered-values@5.1.3(postcss@8.4.38):
+ dependencies:
+ cssnano-utils: 3.1.0(postcss@8.4.38)
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+
+ postcss-reduce-initial@5.1.2(postcss@8.4.38):
+ dependencies:
+ browserslist: 4.23.0
+ caniuse-api: 3.0.0
+ postcss: 8.4.38
+
+ postcss-reduce-transforms@5.1.0(postcss@8.4.38):
+ dependencies:
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+
+ postcss-selector-parser@6.0.10:
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+
+ postcss-selector-parser@6.0.16:
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
+
+ postcss-svgo@5.1.0(postcss@8.4.38):
+ dependencies:
+ postcss: 8.4.38
+ postcss-value-parser: 4.2.0
+ svgo: 2.8.0
+
+ postcss-unique-selectors@5.1.1(postcss@8.4.38):
+ dependencies:
+ postcss: 8.4.38
+ postcss-selector-parser: 6.0.16
+
+ postcss-value-parser@4.2.0: {}
+
+ postcss@7.0.39:
+ dependencies:
+ picocolors: 0.2.1
+ source-map: 0.6.1
+
+ postcss@8.4.38:
+ dependencies:
+ nanoid: 3.3.7
+ picocolors: 1.0.0
+ source-map-js: 1.2.0
+
+ prettier@2.3.0: {}
+
+ prettier@2.8.8: {}
+
+ pretty-error@2.1.2:
+ dependencies:
+ lodash: 4.17.21
+ renderkid: 2.0.7
+
+ pretty-format@27.5.1:
+ dependencies:
+ ansi-regex: 5.0.1
+ ansi-styles: 5.2.0
+ react-is: 17.0.2
+
+ pretty-hrtime@1.0.3: {}
+
+ process-nextick-args@2.0.1: {}
+
+ process@0.11.10: {}
+
+ promise-inflight@1.0.1(bluebird@3.7.2):
+ optionalDependencies:
+ bluebird: 3.7.2
+
+ promise.allsettled@1.0.7:
+ dependencies:
+ array.prototype.map: 1.0.7
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ get-intrinsic: 1.2.4
+ iterate-value: 1.0.2
+
+ promise.prototype.finally@3.1.8:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-errors: 1.3.0
+ set-function-name: 2.0.2
+
+ prompts@2.4.2:
+ dependencies:
+ kleur: 3.0.3
+ sisteransi: 1.0.5
+
+ prop-types@15.8.1:
+ dependencies:
+ loose-envify: 1.4.0
+ object-assign: 4.1.1
+ react-is: 16.13.1
+
+ property-information@5.6.0:
+ dependencies:
+ xtend: 4.0.2
+
+ proxy-addr@2.0.7:
+ dependencies:
+ forwarded: 0.2.0
+ ipaddr.js: 1.9.1
+
+ prr@1.0.1: {}
+
+ psl@1.9.0: {}
+
+ public-encrypt@4.0.3:
+ dependencies:
+ bn.js: 4.12.0
+ browserify-rsa: 4.1.0
+ create-hash: 1.2.0
+ parse-asn1: 5.1.7
+ randombytes: 2.1.0
+ safe-buffer: 5.2.1
+
+ pump@2.0.1:
+ dependencies:
+ end-of-stream: 1.4.4
+ once: 1.4.0
+
+ pump@3.0.0:
+ dependencies:
+ end-of-stream: 1.4.4
+ once: 1.4.0
+
+ pumpify@1.5.1:
+ dependencies:
+ duplexify: 3.7.1
+ inherits: 2.0.4
+ pump: 2.0.1
+
+ punycode@1.4.1: {}
+
+ punycode@2.3.1: {}
+
+ qs@6.11.0:
+ dependencies:
+ side-channel: 1.0.6
+
+ qs@6.12.1:
+ dependencies:
+ side-channel: 1.0.6
+
+ query-string@7.1.3:
+ dependencies:
+ decode-uri-component: 0.2.2
+ filter-obj: 1.1.0
+ split-on-first: 1.1.0
+ strict-uri-encode: 2.0.0
+
+ querystring-es3@0.2.1: {}
+
+ querystringify@2.2.0: {}
+
+ queue-microtask@1.2.3: {}
+
+ ramda@0.28.0: {}
+
+ randombytes@2.1.0:
+ dependencies:
+ safe-buffer: 5.2.1
+
+ randomfill@1.0.4:
+ dependencies:
+ randombytes: 2.1.0
+ safe-buffer: 5.2.1
+
+ range-parser@1.2.1: {}
+
+ raw-body@2.5.2:
+ dependencies:
+ bytes: 3.1.2
+ http-errors: 2.0.0
+ iconv-lite: 0.4.24
+ unpipe: 1.0.0
+
+ raw-loader@4.0.2(webpack@4.47.0):
+ dependencies:
+ loader-utils: 2.0.4
+ schema-utils: 3.3.0
+ webpack: 4.47.0
+
+ react-docgen-typescript@2.2.2(typescript@4.9.5):
+ dependencies:
+ typescript: 4.9.5
+
+ react-docgen@5.4.3:
+ dependencies:
+ '@babel/core': 7.24.5
+ '@babel/generator': 7.24.5
+ '@babel/runtime': 7.24.5
+ ast-types: 0.14.2
+ commander: 2.20.3
+ doctrine: 3.0.0
+ estree-to-babel: 3.2.1
+ neo-async: 2.6.2
+ node-dir: 0.1.17
+ strip-indent: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
+
+ react-dom@18.3.1(react@18.3.1):
+ dependencies:
+ loose-envify: 1.4.0
+ react: 18.3.1
+ scheduler: 0.23.2
+
+ react-element-to-jsx-string@14.3.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@base2/pretty-print-object': 1.0.1
+ is-plain-object: 5.0.0
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-is: 17.0.2
+
+ react-inspector@5.1.1(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.24.5
+ is-dom: 1.1.0
+ prop-types: 15.8.1
+ react: 18.3.1
+
+ react-intl@6.6.6(react@18.3.1)(typescript@4.9.5):
+ dependencies:
+ '@formatjs/ecma402-abstract': 1.18.2
+ '@formatjs/icu-messageformat-parser': 2.7.6
+ '@formatjs/intl': 2.10.2(typescript@4.9.5)
+ '@formatjs/intl-displaynames': 6.6.6
+ '@formatjs/intl-listformat': 7.5.5
+ '@types/hoist-non-react-statics': 3.3.5
+ '@types/react': 17.0.80
+ hoist-non-react-statics: 3.3.2
+ intl-messageformat: 10.5.12
+ react: 18.3.1
+ tslib: 2.6.2
+ optionalDependencies:
+ typescript: 4.9.5
+
+ react-is@16.13.1: {}
+
+ react-is@17.0.2: {}
+
+ react-refresh@0.11.0: {}
+
+ react-spring@8.0.27(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@babel/runtime': 7.24.5
+ prop-types: 15.8.1
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+
+ react-text-transition@1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ react: 18.3.1
+ react-spring: 8.0.27(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ transitivePeerDependencies:
+ - react-dom
+
+ react-universal-interface@0.6.2(react@18.3.1)(tslib@2.6.2):
+ dependencies:
+ react: 18.3.1
+ tslib: 2.6.2
+
+ react-use@17.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@types/js-cookie': 2.2.7
+ '@xobotyi/scrollbar-width': 1.9.5
+ copy-to-clipboard: 3.3.3
+ fast-deep-equal: 3.1.3
+ fast-shallow-equal: 1.0.0
+ js-cookie: 2.2.1
+ nano-css: 5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ react-universal-interface: 0.6.2(react@18.3.1)(tslib@2.6.2)
+ resize-observer-polyfill: 1.5.1
+ screenfull: 5.2.0
+ set-harmonic-interval: 1.0.1
+ throttle-debounce: 3.0.1
+ ts-easing: 0.2.0
+ tslib: 2.6.2
+
+ react@18.3.1:
+ dependencies:
+ loose-envify: 1.4.0
+
+ read-cache@1.0.0:
+ dependencies:
+ pify: 2.3.0
+
+ read-pkg-up@1.0.1:
+ dependencies:
+ find-up: 1.1.2
+ read-pkg: 1.1.0
+ optional: true
+
+ read-pkg-up@7.0.1:
+ dependencies:
+ find-up: 4.1.0
+ read-pkg: 5.2.0
+ type-fest: 0.8.1
+
+ read-pkg@1.1.0:
+ dependencies:
+ load-json-file: 1.1.0
+ normalize-package-data: 2.5.0
+ path-type: 1.1.0
+ optional: true
+
+ read-pkg@5.2.0:
+ dependencies:
+ '@types/normalize-package-data': 2.4.4
+ normalize-package-data: 2.5.0
+ parse-json: 5.2.0
+ type-fest: 0.6.0
+
+ readable-stream@2.3.8:
+ dependencies:
+ core-util-is: 1.0.3
+ inherits: 2.0.4
+ isarray: 1.0.0
+ process-nextick-args: 2.0.1
+ safe-buffer: 5.1.2
+ string_decoder: 1.1.1
+ util-deprecate: 1.0.2
+
+ readable-stream@3.6.2:
+ dependencies:
+ inherits: 2.0.4
+ string_decoder: 1.3.0
+ util-deprecate: 1.0.2
+
+ readdirp@2.2.1:
+ dependencies:
+ graceful-fs: 4.2.11
+ micromatch: 3.1.10
+ readable-stream: 2.3.8
+ transitivePeerDependencies:
+ - supports-color
+ optional: true
+
+ readdirp@3.6.0:
+ dependencies:
+ picomatch: 2.3.1
+
+ redent@1.0.0:
+ dependencies:
+ indent-string: 2.1.0
+ strip-indent: 1.0.1
+ optional: true
+
+ redent@3.0.0:
+ dependencies:
+ indent-string: 4.0.0
+ strip-indent: 3.0.0
+
+ regenerate-unicode-properties@10.1.1:
+ dependencies:
+ regenerate: 1.4.2
+
+ regenerate@1.4.2: {}
+
+ regenerator-runtime@0.13.11: {}
+
+ regenerator-runtime@0.14.1: {}
+
+ regenerator-transform@0.15.2:
+ dependencies:
+ '@babel/runtime': 7.24.5
+
+ regex-not@1.0.2:
+ dependencies:
+ extend-shallow: 3.0.2
+ safe-regex: 1.1.0
+
+ regexp.prototype.flags@1.5.2:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-errors: 1.3.0
+ set-function-name: 2.0.2
+
+ regexpu-core@5.3.2:
+ dependencies:
+ '@babel/regjsgen': 0.8.0
+ regenerate: 1.4.2
+ regenerate-unicode-properties: 10.1.1
+ regjsparser: 0.9.1
+ unicode-match-property-ecmascript: 2.0.0
+ unicode-match-property-value-ecmascript: 2.1.0
+
+ regjsparser@0.9.1:
+ dependencies:
+ jsesc: 0.5.0
+
+ relateurl@0.2.7: {}
+
+ remark-external-links@8.0.0:
+ dependencies:
+ extend: 3.0.2
+ is-absolute-url: 3.0.3
+ mdast-util-definitions: 4.0.0
+ space-separated-tokens: 1.1.5
+ unist-util-visit: 2.0.3
+
+ remark-footnotes@2.0.0: {}
+
+ remark-mdx@1.6.22:
+ dependencies:
+ '@babel/core': 7.12.9
+ '@babel/helper-plugin-utils': 7.10.4
+ '@babel/plugin-proposal-object-rest-spread': 7.12.1(@babel/core@7.12.9)
+ '@babel/plugin-syntax-jsx': 7.12.1(@babel/core@7.12.9)
+ '@mdx-js/util': 1.6.22
+ is-alphabetical: 1.0.4
+ remark-parse: 8.0.3
+ unified: 9.2.0
+ transitivePeerDependencies:
+ - supports-color
+
+ remark-parse@8.0.3:
+ dependencies:
+ ccount: 1.1.0
+ collapse-white-space: 1.0.6
+ is-alphabetical: 1.0.4
+ is-decimal: 1.0.4
+ is-whitespace-character: 1.0.4
+ is-word-character: 1.0.4
+ markdown-escapes: 1.0.4
+ parse-entities: 2.0.0
+ repeat-string: 1.6.1
+ state-toggle: 1.0.3
+ trim: 0.0.1
+ trim-trailing-lines: 1.1.4
+ unherit: 1.1.3
+ unist-util-remove-position: 2.0.1
+ vfile-location: 3.2.0
+ xtend: 4.0.2
+
+ remark-slug@6.1.0:
+ dependencies:
+ github-slugger: 1.5.0
+ mdast-util-to-string: 1.1.0
+ unist-util-visit: 2.0.3
+
+ remark-squeeze-paragraphs@4.0.0:
+ dependencies:
+ mdast-squeeze-paragraphs: 4.0.0
+
+ remove-trailing-separator@1.1.0: {}
+
+ renderkid@2.0.7:
+ dependencies:
+ css-select: 4.3.0
+ dom-converter: 0.2.0
+ htmlparser2: 6.1.0
+ lodash: 4.17.21
+ strip-ansi: 3.0.1
+
+ repeat-element@1.1.4: {}
+
+ repeat-string@1.6.1: {}
+
+ repeating@2.0.1:
+ dependencies:
+ is-finite: 1.1.0
+ optional: true
+
+ require-directory@2.1.1: {}
+
+ require-from-string@2.0.2: {}
+
+ requires-port@1.0.0: {}
+
+ resize-observer-polyfill@1.5.1: {}
+
+ resolve-cwd@3.0.0:
+ dependencies:
+ resolve-from: 5.0.0
+
+ resolve-from@4.0.0: {}
+
+ resolve-from@5.0.0: {}
+
+ resolve-url@0.2.1: {}
+
+ resolve.exports@1.1.1: {}
+
+ resolve@1.22.8:
+ dependencies:
+ is-core-module: 2.13.1
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
+
+ ret@0.1.15: {}
+
+ reusify@1.0.4: {}
+
+ rimraf@2.7.1:
+ dependencies:
+ glob: 7.2.3
+
+ rimraf@3.0.2:
+ dependencies:
+ glob: 7.2.3
+
+ ripemd160@2.0.2:
+ dependencies:
+ hash-base: 3.1.0
+ inherits: 2.0.4
+
+ rollup-plugin-styles@4.0.0(rollup@2.79.1):
+ dependencies:
+ '@rollup/pluginutils': 4.2.1
+ '@types/cssnano': 5.1.0(postcss@8.4.38)
+ cosmiconfig: 7.1.0
+ cssnano: 5.1.15(postcss@8.4.38)
+ fs-extra: 10.1.0
+ icss-utils: 5.1.0(postcss@8.4.38)
+ mime-types: 2.1.35
+ p-queue: 6.6.2
+ postcss: 8.4.38
+ postcss-modules-extract-imports: 3.1.0(postcss@8.4.38)
+ postcss-modules-local-by-default: 4.0.5(postcss@8.4.38)
+ postcss-modules-scope: 3.2.0(postcss@8.4.38)
+ postcss-modules-values: 4.0.0(postcss@8.4.38)
+ postcss-value-parser: 4.2.0
+ query-string: 7.1.3
+ resolve: 1.22.8
+ rollup: 2.79.1
+ source-map-js: 1.2.0
+ tslib: 2.6.2
+
+ rollup-plugin-terser@7.0.2(rollup@2.79.1):
+ dependencies:
+ '@babel/code-frame': 7.24.2
+ jest-worker: 26.6.2
+ rollup: 2.79.1
+ serialize-javascript: 4.0.0
+ terser: 5.31.0
+
+ rollup-plugin-typescript2@0.34.1(rollup@2.79.1)(typescript@4.9.5):
+ dependencies:
+ '@rollup/pluginutils': 4.2.1
+ find-cache-dir: 3.3.2
+ fs-extra: 10.1.0
+ rollup: 2.79.1
+ semver: 7.6.2
+ tslib: 2.6.2
+ typescript: 4.9.5
+
+ rollup@2.79.1:
+ optionalDependencies:
+ fsevents: 2.3.3
+
+ rsvp@4.8.5: {}
+
+ rtl-css-js@1.16.1:
+ dependencies:
+ '@babel/runtime': 7.24.5
+
+ run-parallel@1.2.0:
+ dependencies:
+ queue-microtask: 1.2.3
+
+ run-queue@1.0.3:
+ dependencies:
+ aproba: 1.2.0
+
+ safe-array-concat@1.1.2:
+ dependencies:
+ call-bind: 1.0.7
+ get-intrinsic: 1.2.4
+ has-symbols: 1.0.3
+ isarray: 2.0.5
+
+ safe-buffer@5.1.1: {}
+
+ safe-buffer@5.1.2: {}
+
+ safe-buffer@5.2.1: {}
+
+ safe-regex-test@1.0.3:
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ is-regex: 1.1.4
+
+ safe-regex@1.1.0:
+ dependencies:
+ ret: 0.1.15
+
+ safer-buffer@2.1.2: {}
+
+ sane@4.1.0:
+ dependencies:
+ '@cnakazawa/watch': 1.0.4
+ anymatch: 2.0.0
+ capture-exit: 2.0.0
+ exec-sh: 0.3.6
+ execa: 1.0.0
+ fb-watchman: 2.0.2
+ micromatch: 3.1.10
+ minimist: 1.2.8
+ walker: 1.0.8
+ transitivePeerDependencies:
+ - supports-color
+
+ saxes@5.0.1:
+ dependencies:
+ xmlchars: 2.2.0
+
+ scheduler@0.23.2:
+ dependencies:
+ loose-envify: 1.4.0
+
+ schema-utils@1.0.0:
+ dependencies:
+ ajv: 6.12.6
+ ajv-errors: 1.0.1(ajv@6.12.6)
+ ajv-keywords: 3.5.2(ajv@6.12.6)
+
+ schema-utils@2.7.0:
+ dependencies:
+ '@types/json-schema': 7.0.15
+ ajv: 6.12.6
+ ajv-keywords: 3.5.2(ajv@6.12.6)
+
+ schema-utils@2.7.1:
+ dependencies:
+ '@types/json-schema': 7.0.15
+ ajv: 6.12.6
+ ajv-keywords: 3.5.2(ajv@6.12.6)
+
+ schema-utils@3.3.0:
+ dependencies:
+ '@types/json-schema': 7.0.15
+ ajv: 6.12.6
+ ajv-keywords: 3.5.2(ajv@6.12.6)
+
+ screenfull@5.2.0: {}
+
+ semver@5.7.2: {}
+
+ semver@6.3.1: {}
+
+ semver@7.6.2: {}
+
+ send@0.18.0:
+ dependencies:
+ debug: 2.6.9
+ depd: 2.0.0
+ destroy: 1.2.0
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ etag: 1.8.1
+ fresh: 0.5.2
+ http-errors: 2.0.0
+ mime: 1.6.0
+ ms: 2.1.3
+ on-finished: 2.4.1
+ range-parser: 1.2.1
+ statuses: 2.0.1
+ transitivePeerDependencies:
+ - supports-color
+
+ serialize-javascript@4.0.0:
+ dependencies:
+ randombytes: 2.1.0
+
+ serialize-javascript@5.0.1:
+ dependencies:
+ randombytes: 2.1.0
+
+ serialize-javascript@6.0.2:
+ dependencies:
+ randombytes: 2.1.0
+
+ serve-favicon@2.5.0:
+ dependencies:
+ etag: 1.8.1
+ fresh: 0.5.2
+ ms: 2.1.1
+ parseurl: 1.3.3
+ safe-buffer: 5.1.1
+
+ serve-static@1.15.0:
+ dependencies:
+ encodeurl: 1.0.2
+ escape-html: 1.0.3
+ parseurl: 1.3.3
+ send: 0.18.0
+ transitivePeerDependencies:
+ - supports-color
+
+ set-blocking@2.0.0: {}
+
+ set-function-length@1.2.2:
+ dependencies:
+ define-data-property: 1.1.4
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ get-intrinsic: 1.2.4
+ gopd: 1.0.1
+ has-property-descriptors: 1.0.2
+
+ set-function-name@2.0.2:
+ dependencies:
+ define-data-property: 1.1.4
+ es-errors: 1.3.0
+ functions-have-names: 1.2.3
+ has-property-descriptors: 1.0.2
+
+ set-harmonic-interval@1.0.1: {}
+
+ set-value@2.0.1:
+ dependencies:
+ extend-shallow: 2.0.1
+ is-extendable: 0.1.1
+ is-plain-object: 2.0.4
+ split-string: 3.1.0
+
+ setimmediate@1.0.5: {}
+
+ setprototypeof@1.2.0: {}
+
+ sha.js@2.4.11:
+ dependencies:
+ inherits: 2.0.4
+ safe-buffer: 5.2.1
+
+ shallow-clone@3.0.1:
+ dependencies:
+ kind-of: 6.0.3
+
+ shebang-command@1.2.0:
+ dependencies:
+ shebang-regex: 1.0.0
+
+ shebang-command@2.0.0:
+ dependencies:
+ shebang-regex: 3.0.0
+
+ shebang-regex@1.0.0: {}
+
+ shebang-regex@3.0.0: {}
+
+ side-channel@1.0.6:
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ get-intrinsic: 1.2.4
+ object-inspect: 1.13.1
+
+ signal-exit@3.0.7: {}
+
+ signal-exit@4.1.0: {}
+
+ sisteransi@1.0.5: {}
+
+ slash@2.0.0: {}
+
+ slash@3.0.0: {}
+
+ snapdragon-node@2.1.1:
+ dependencies:
+ define-property: 1.0.0
+ isobject: 3.0.1
+ snapdragon-util: 3.0.1
+
+ snapdragon-util@3.0.1:
+ dependencies:
+ kind-of: 3.2.2
+
+ snapdragon@0.8.2:
+ dependencies:
+ base: 0.11.2
+ debug: 2.6.9
+ define-property: 0.2.5
+ extend-shallow: 2.0.1
+ map-cache: 0.2.2
+ source-map: 0.5.7
+ source-map-resolve: 0.5.3
+ use: 3.1.1
+ transitivePeerDependencies:
+ - supports-color
+
+ source-list-map@2.0.1: {}
+
+ source-map-js@1.2.0: {}
+
+ source-map-resolve@0.5.3:
+ dependencies:
+ atob: 2.1.2
+ decode-uri-component: 0.2.2
+ resolve-url: 0.2.1
+ source-map-url: 0.4.1
+ urix: 0.1.0
+
+ source-map-support@0.5.21:
+ dependencies:
+ buffer-from: 1.1.2
+ source-map: 0.6.1
+
+ source-map-url@0.4.1: {}
+
+ source-map@0.5.6: {}
+
+ source-map@0.5.7: {}
+
+ source-map@0.6.1: {}
+
+ source-map@0.7.4: {}
+
+ sourcemap-codec@1.4.8: {}
+
+ space-separated-tokens@1.1.5: {}
+
+ spdx-correct@3.2.0:
+ dependencies:
+ spdx-expression-parse: 3.0.1
+ spdx-license-ids: 3.0.17
+
+ spdx-exceptions@2.5.0: {}
+
+ spdx-expression-parse@3.0.1:
+ dependencies:
+ spdx-exceptions: 2.5.0
+ spdx-license-ids: 3.0.17
+
+ spdx-license-ids@3.0.17: {}
+
+ split-on-first@1.1.0: {}
+
+ split-string@3.1.0:
+ dependencies:
+ extend-shallow: 3.0.2
+
+ sprintf-js@1.0.3: {}
+
+ ssri@6.0.2:
+ dependencies:
+ figgy-pudding: 3.5.2
+
+ ssri@8.0.1:
+ dependencies:
+ minipass: 3.3.6
+
+ stable@0.1.8: {}
+
+ stack-generator@2.0.10:
+ dependencies:
+ stackframe: 1.3.4
+
+ stack-utils@2.0.6:
+ dependencies:
+ escape-string-regexp: 2.0.0
+
+ stackframe@1.3.4: {}
+
+ stacktrace-gps@3.1.2:
+ dependencies:
+ source-map: 0.5.6
+ stackframe: 1.3.4
+
+ stacktrace-js@2.0.2:
+ dependencies:
+ error-stack-parser: 2.1.4
+ stack-generator: 2.0.10
+ stacktrace-gps: 3.1.2
+
+ state-toggle@1.0.3: {}
+
+ static-extend@0.1.2:
+ dependencies:
+ define-property: 0.2.5
+ object-copy: 0.1.0
+
+ statuses@2.0.1: {}
+
+ stop-iteration-iterator@1.0.0:
+ dependencies:
+ internal-slot: 1.0.7
+
+ store2@2.14.3: {}
+
+ stream-browserify@2.0.2:
+ dependencies:
+ inherits: 2.0.4
+ readable-stream: 2.3.8
+
+ stream-each@1.2.3:
+ dependencies:
+ end-of-stream: 1.4.4
+ stream-shift: 1.0.3
+
+ stream-http@2.8.3:
+ dependencies:
+ builtin-status-codes: 3.0.0
+ inherits: 2.0.4
+ readable-stream: 2.3.8
+ to-arraybuffer: 1.0.1
+ xtend: 4.0.2
+
+ stream-shift@1.0.3: {}
+
+ strict-uri-encode@2.0.0: {}
+
+ string-length@4.0.2:
+ dependencies:
+ char-regex: 1.0.2
+ strip-ansi: 6.0.1
+
+ string-width@4.2.3:
+ dependencies:
+ emoji-regex: 8.0.0
+ is-fullwidth-code-point: 3.0.0
+ strip-ansi: 6.0.1
+
+ string-width@5.1.2:
+ dependencies:
+ eastasianwidth: 0.2.0
+ emoji-regex: 9.2.2
+ strip-ansi: 7.1.0
+
+ string.prototype.matchall@4.0.11:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-errors: 1.3.0
+ es-object-atoms: 1.0.0
+ get-intrinsic: 1.2.4
+ gopd: 1.0.1
+ has-symbols: 1.0.3
+ internal-slot: 1.0.7
+ regexp.prototype.flags: 1.5.2
+ set-function-name: 2.0.2
+ side-channel: 1.0.6
+
+ string.prototype.padend@3.1.6:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-object-atoms: 1.0.0
+
+ string.prototype.padstart@3.1.6:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-object-atoms: 1.0.0
+
+ string.prototype.trim@1.2.9:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-object-atoms: 1.0.0
+
+ string.prototype.trimend@1.0.8:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-object-atoms: 1.0.0
+
+ string.prototype.trimstart@1.0.8:
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-object-atoms: 1.0.0
+
+ string_decoder@1.1.1:
+ dependencies:
+ safe-buffer: 5.1.2
+
+ string_decoder@1.3.0:
+ dependencies:
+ safe-buffer: 5.2.1
+
+ strip-ansi@3.0.1:
+ dependencies:
+ ansi-regex: 2.1.1
+
+ strip-ansi@6.0.1:
+ dependencies:
+ ansi-regex: 5.0.1
+
+ strip-ansi@7.1.0:
+ dependencies:
+ ansi-regex: 6.0.1
+
+ strip-bom@2.0.0:
+ dependencies:
+ is-utf8: 0.2.1
+ optional: true
+
+ strip-bom@4.0.0: {}
+
+ strip-eof@1.0.0: {}
+
+ strip-final-newline@2.0.0: {}
+
+ strip-indent@1.0.1:
+ dependencies:
+ get-stdin: 4.0.1
+ optional: true
+
+ strip-indent@3.0.0:
+ dependencies:
+ min-indent: 1.0.1
+
+ strip-json-comments@3.1.1: {}
+
+ style-loader@1.3.0(webpack@4.47.0):
+ dependencies:
+ loader-utils: 2.0.4
+ schema-utils: 2.7.1
+ webpack: 4.47.0
+
+ style-loader@1.3.0(webpack@5.91.0):
+ dependencies:
+ loader-utils: 2.0.4
+ schema-utils: 2.7.1
+ webpack: 5.91.0
+
+ style-to-object@0.3.0:
+ dependencies:
+ inline-style-parser: 0.1.1
+
+ stylehacks@5.1.1(postcss@8.4.38):
+ dependencies:
+ browserslist: 4.23.0
+ postcss: 8.4.38
+ postcss-selector-parser: 6.0.16
+
+ stylis@4.3.2: {}
+
+ sucrase@3.35.0:
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.5
+ commander: 4.1.1
+ glob: 10.3.14
+ lines-and-columns: 1.2.4
+ mz: 2.7.0
+ pirates: 4.0.6
+ ts-interface-checker: 0.1.13
+
+ supports-color@5.5.0:
+ dependencies:
+ has-flag: 3.0.0
+
+ supports-color@7.2.0:
+ dependencies:
+ has-flag: 4.0.0
+
+ supports-color@8.1.1:
+ dependencies:
+ has-flag: 4.0.0
+
+ supports-hyperlinks@2.3.0:
+ dependencies:
+ has-flag: 4.0.0
+ supports-color: 7.2.0
+
+ supports-preserve-symlinks-flag@1.0.0: {}
+
+ svgo@2.8.0:
+ dependencies:
+ '@trysound/sax': 0.2.0
+ commander: 7.2.0
+ css-select: 4.3.0
+ css-tree: 1.1.3
+ csso: 4.2.0
+ picocolors: 1.0.0
+ stable: 0.1.8
+
+ symbol-tree@3.2.4: {}
+
+ symbol.prototype.description@1.0.6:
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ get-symbol-description: 1.0.2
+ has-symbols: 1.0.3
+ object.getownpropertydescriptors: 2.1.8
+
+ synchronous-promise@2.0.17: {}
+
+ tailwindcss-blend-mode@1.0.0:
+ dependencies:
+ flat: 4.1.1
+ lodash: 4.17.21
+
+ tailwindcss@3.4.3:
+ dependencies:
+ '@alloc/quick-lru': 5.2.0
+ arg: 5.0.2
+ chokidar: 3.6.0
+ didyoumean: 1.2.2
+ dlv: 1.1.3
+ fast-glob: 3.3.2
+ glob-parent: 6.0.2
+ is-glob: 4.0.3
+ jiti: 1.21.0
+ lilconfig: 2.1.0
+ micromatch: 4.0.5
+ normalize-path: 3.0.0
+ object-hash: 3.0.0
+ picocolors: 1.0.0
+ postcss: 8.4.38
+ postcss-import: 15.1.0(postcss@8.4.38)
+ postcss-js: 4.0.1(postcss@8.4.38)
+ postcss-load-config: 4.0.2(postcss@8.4.38)
+ postcss-nested: 6.0.1(postcss@8.4.38)
+ postcss-selector-parser: 6.0.16
+ resolve: 1.22.8
+ sucrase: 3.35.0
+ transitivePeerDependencies:
+ - ts-node
+
+ tapable@1.1.3: {}
+
+ tapable@2.2.1: {}
+
+ tar@6.2.1:
+ dependencies:
+ chownr: 2.0.0
+ fs-minipass: 2.1.0
+ minipass: 5.0.0
+ minizlib: 2.1.2
+ mkdirp: 1.0.4
+ yallist: 4.0.0
+
+ telejson@6.0.8:
+ dependencies:
+ '@types/is-function': 1.0.3
+ global: 4.4.0
+ is-function: 1.0.2
+ is-regex: 1.1.4
+ is-symbol: 1.0.4
+ isobject: 4.0.0
+ lodash: 4.17.21
+ memoizerific: 1.11.3
+
+ terminal-link@2.1.1:
+ dependencies:
+ ansi-escapes: 4.3.2
+ supports-hyperlinks: 2.3.0
+
+ terser-webpack-plugin@1.4.5(webpack@4.47.0):
+ dependencies:
+ cacache: 12.0.4
+ 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.8.1
+ webpack: 4.47.0
+ webpack-sources: 1.4.3
+ worker-farm: 1.7.0
+
+ terser-webpack-plugin@4.2.3(webpack@4.47.0):
+ dependencies:
+ cacache: 15.3.0
+ find-cache-dir: 3.3.2
+ jest-worker: 26.6.2
+ p-limit: 3.1.0
+ schema-utils: 3.3.0
+ serialize-javascript: 5.0.1
+ source-map: 0.6.1
+ terser: 5.31.0
+ webpack: 4.47.0
+ webpack-sources: 1.4.3
+ transitivePeerDependencies:
+ - bluebird
+
+ terser-webpack-plugin@5.3.10(webpack@5.91.0):
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.25
+ jest-worker: 27.5.1
+ schema-utils: 3.3.0
+ serialize-javascript: 6.0.2
+ terser: 5.31.0
+ webpack: 5.91.0
+
+ terser@4.8.1:
+ dependencies:
+ acorn: 8.11.3
+ commander: 2.20.3
+ source-map: 0.6.1
+ source-map-support: 0.5.21
+
+ terser@5.31.0:
+ dependencies:
+ '@jridgewell/source-map': 0.3.6
+ acorn: 8.11.3
+ commander: 2.20.3
+ source-map-support: 0.5.21
+
+ test-exclude@6.0.0:
+ dependencies:
+ '@istanbuljs/schema': 0.1.3
+ glob: 7.2.3
+ minimatch: 3.1.2
+
+ thenify-all@1.6.0:
+ dependencies:
+ thenify: 3.3.1
+
+ thenify@3.3.1:
+ dependencies:
+ any-promise: 1.3.0
+
+ throat@6.0.2: {}
+
+ throttle-debounce@3.0.1: {}
+
+ through2@2.0.5:
+ dependencies:
+ readable-stream: 2.3.8
+ xtend: 4.0.2
+
+ timers-browserify@2.0.12:
+ dependencies:
+ setimmediate: 1.0.5
+
+ tmpl@1.0.5: {}
+
+ to-arraybuffer@1.0.1: {}
+
+ to-fast-properties@2.0.0: {}
+
+ to-object-path@0.3.0:
+ dependencies:
+ kind-of: 3.2.2
+
+ to-regex-range@2.1.1:
+ dependencies:
+ is-number: 3.0.0
+ repeat-string: 1.6.1
+
+ to-regex-range@5.0.1:
+ dependencies:
+ is-number: 7.0.0
+
+ to-regex@3.0.2:
+ dependencies:
+ define-property: 2.0.2
+ extend-shallow: 3.0.2
+ regex-not: 1.0.2
+ safe-regex: 1.1.0
+
+ toggle-selection@1.0.6: {}
+
+ toidentifier@1.0.1: {}
+
+ tough-cookie@4.1.4:
+ dependencies:
+ psl: 1.9.0
+ punycode: 2.3.1
+ universalify: 0.2.0
+ url-parse: 1.5.10
+
+ tr46@0.0.3: {}
+
+ tr46@2.1.0:
+ dependencies:
+ punycode: 2.3.1
+
+ trim-newlines@1.0.0:
+ optional: true
+
+ trim-trailing-lines@1.1.4: {}
+
+ trim@0.0.1: {}
+
+ trough@1.0.5: {}
+
+ ts-dedent@2.2.0: {}
+
+ ts-easing@0.2.0: {}
+
+ ts-interface-checker@0.1.13: {}
+
+ ts-jest@27.1.5(@babel/core@7.24.5)(@types/jest@27.5.2)(babel-jest@27.5.1(@babel/core@7.24.5))(jest@27.5.1)(typescript@4.9.5):
+ dependencies:
+ bs-logger: 0.2.6
+ fast-json-stable-stringify: 2.1.0
+ jest: 27.5.1
+ jest-util: 27.5.1
+ json5: 2.2.3
+ lodash.memoize: 4.1.2
+ make-error: 1.3.6
+ semver: 7.6.2
+ typescript: 4.9.5
+ yargs-parser: 20.2.9
+ optionalDependencies:
+ '@babel/core': 7.24.5
+ '@types/jest': 27.5.2
+ babel-jest: 27.5.1(@babel/core@7.24.5)
+
+ ts-pnp@1.2.0(typescript@4.9.5):
+ optionalDependencies:
+ typescript: 4.9.5
+
+ ts-toolbelt@9.6.0: {}
+
+ tslib@2.6.2: {}
+
+ tty-browserify@0.0.0: {}
+
+ type-detect@4.0.8: {}
+
+ type-fest@0.20.2: {}
+
+ type-fest@0.21.3: {}
+
+ type-fest@0.6.0: {}
+
+ type-fest@0.8.1: {}
+
+ type-is@1.6.18:
+ dependencies:
+ media-typer: 0.3.0
+ mime-types: 2.1.35
+
+ typed-array-buffer@1.0.2:
+ dependencies:
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ is-typed-array: 1.1.13
+
+ typed-array-byte-length@1.0.1:
+ dependencies:
+ call-bind: 1.0.7
+ for-each: 0.3.3
+ gopd: 1.0.1
+ has-proto: 1.0.3
+ is-typed-array: 1.1.13
+
+ typed-array-byte-offset@1.0.2:
+ dependencies:
+ available-typed-arrays: 1.0.7
+ call-bind: 1.0.7
+ for-each: 0.3.3
+ gopd: 1.0.1
+ has-proto: 1.0.3
+ is-typed-array: 1.1.13
+
+ typed-array-length@1.0.6:
+ dependencies:
+ call-bind: 1.0.7
+ for-each: 0.3.3
+ gopd: 1.0.1
+ has-proto: 1.0.3
+ is-typed-array: 1.1.13
+ possible-typed-array-names: 1.0.0
+
+ typedarray-to-buffer@3.1.5:
+ dependencies:
+ is-typedarray: 1.0.0
+
+ typedarray@0.0.6: {}
+
+ typescript@4.9.5: {}
+
+ uglify-js@3.17.4:
+ optional: true
+
+ unbox-primitive@1.0.2:
+ dependencies:
+ call-bind: 1.0.7
+ has-bigints: 1.0.2
+ has-symbols: 1.0.3
+ which-boxed-primitive: 1.0.2
+
+ undici-types@5.26.5: {}
+
+ unfetch@4.2.0: {}
+
+ unherit@1.1.3:
+ dependencies:
+ inherits: 2.0.4
+ xtend: 4.0.2
+
+ unicode-canonical-property-names-ecmascript@2.0.0: {}
+
+ unicode-match-property-ecmascript@2.0.0:
+ dependencies:
+ unicode-canonical-property-names-ecmascript: 2.0.0
+ unicode-property-aliases-ecmascript: 2.1.0
+
+ unicode-match-property-value-ecmascript@2.1.0: {}
+
+ unicode-property-aliases-ecmascript@2.1.0: {}
+
+ unified@9.2.0:
+ dependencies:
+ '@types/unist': 2.0.10
+ bail: 1.0.5
+ extend: 3.0.2
+ is-buffer: 2.0.5
+ is-plain-obj: 2.1.0
+ trough: 1.0.5
+ vfile: 4.2.1
+
+ union-value@1.0.1:
+ dependencies:
+ arr-union: 3.1.0
+ get-value: 2.0.6
+ is-extendable: 0.1.1
+ set-value: 2.0.1
+
+ unique-filename@1.1.1:
+ dependencies:
+ unique-slug: 2.0.2
+
+ unique-slug@2.0.2:
+ dependencies:
+ imurmurhash: 0.1.4
+
+ unist-builder@2.0.3: {}
+
+ unist-util-generated@1.1.6: {}
+
+ unist-util-is@4.1.0: {}
+
+ unist-util-position@3.1.0: {}
+
+ unist-util-remove-position@2.0.1:
+ dependencies:
+ unist-util-visit: 2.0.3
+
+ unist-util-remove@2.1.0:
+ dependencies:
+ unist-util-is: 4.1.0
+
+ unist-util-stringify-position@2.0.3:
+ dependencies:
+ '@types/unist': 2.0.10
+
+ unist-util-visit-parents@3.1.1:
+ dependencies:
+ '@types/unist': 2.0.10
+ unist-util-is: 4.1.0
+
+ unist-util-visit@2.0.3:
+ dependencies:
+ '@types/unist': 2.0.10
+ unist-util-is: 4.1.0
+ unist-util-visit-parents: 3.1.1
+
+ universalify@0.2.0: {}
+
+ universalify@2.0.1: {}
+
+ unpipe@1.0.0: {}
+
+ unset-value@1.0.0:
+ dependencies:
+ has-value: 0.3.1
+ isobject: 3.0.1
+
+ untildify@2.1.0:
+ dependencies:
+ os-homedir: 1.0.2
+ optional: true
+
+ upath@1.2.0:
+ optional: true
+
+ update-browserslist-db@1.0.15(browserslist@4.23.0):
+ dependencies:
+ browserslist: 4.23.0
+ escalade: 3.1.2
+ picocolors: 1.0.0
+
+ uri-js@4.4.1:
+ dependencies:
+ punycode: 2.3.1
+
+ urix@0.1.0: {}
+
+ url-loader@4.1.1(file-loader@6.2.0(webpack@4.47.0))(webpack@4.47.0):
+ dependencies:
+ loader-utils: 2.0.4
+ mime-types: 2.1.35
+ schema-utils: 3.3.0
+ webpack: 4.47.0
+ optionalDependencies:
+ file-loader: 6.2.0(webpack@4.47.0)
+
+ url-parse@1.5.10:
+ dependencies:
+ querystringify: 2.2.0
+ requires-port: 1.0.0
+
+ url@0.11.3:
+ dependencies:
+ punycode: 1.4.1
+ qs: 6.12.1
+
+ use@3.1.1: {}
+
+ util-deprecate@1.0.2: {}
+
+ util.promisify@1.0.0:
+ dependencies:
+ define-properties: 1.2.1
+ object.getownpropertydescriptors: 2.1.8
+
+ util@0.10.4:
+ dependencies:
+ inherits: 2.0.3
+
+ util@0.11.1:
+ dependencies:
+ inherits: 2.0.3
+
+ utila@0.4.0: {}
+
+ utils-merge@1.0.1: {}
+
+ uuid-browser@3.1.0: {}
+
+ uuid@3.4.0: {}
+
+ v8-to-istanbul@8.1.1:
+ dependencies:
+ '@types/istanbul-lib-coverage': 2.0.6
+ convert-source-map: 1.9.0
+ source-map: 0.7.4
+
+ v8-to-istanbul@9.2.0:
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.25
+ '@types/istanbul-lib-coverage': 2.0.6
+ convert-source-map: 2.0.0
+
+ validate-npm-package-license@3.0.4:
+ dependencies:
+ spdx-correct: 3.2.0
+ spdx-expression-parse: 3.0.1
+
+ vary@1.1.2: {}
+
+ vfile-location@3.2.0: {}
+
+ vfile-message@2.0.4:
+ dependencies:
+ '@types/unist': 2.0.10
+ unist-util-stringify-position: 2.0.3
+
+ vfile@4.2.1:
+ dependencies:
+ '@types/unist': 2.0.10
+ is-buffer: 2.0.5
+ unist-util-stringify-position: 2.0.3
+ vfile-message: 2.0.4
+
+ vm-browserify@1.1.2: {}
+
+ w3c-hr-time@1.0.2:
+ dependencies:
+ browser-process-hrtime: 1.0.0
+
+ w3c-xmlserializer@2.0.0:
+ dependencies:
+ xml-name-validator: 3.0.0
+
+ walker@1.0.8:
+ dependencies:
+ makeerror: 1.0.12
+
+ watchpack-chokidar2@2.0.1:
+ dependencies:
+ chokidar: 2.1.8
+ transitivePeerDependencies:
+ - supports-color
+ optional: true
+
+ watchpack@1.7.5:
+ dependencies:
+ graceful-fs: 4.2.11
+ neo-async: 2.6.2
+ optionalDependencies:
+ chokidar: 3.6.0
+ watchpack-chokidar2: 2.0.1
+ transitivePeerDependencies:
+ - supports-color
+
+ watchpack@2.4.1:
+ dependencies:
+ glob-to-regexp: 0.4.1
+ graceful-fs: 4.2.11
+
+ web-namespaces@1.1.4: {}
+
+ webidl-conversions@3.0.1: {}
+
+ webidl-conversions@5.0.0: {}
+
+ webidl-conversions@6.1.0: {}
+
+ webpack-dev-middleware@3.7.3(webpack@4.47.0):
+ dependencies:
+ memory-fs: 0.4.1
+ mime: 2.6.0
+ mkdirp: 0.5.6
+ range-parser: 1.2.1
+ webpack: 4.47.0
+ webpack-log: 2.0.0
+
+ webpack-filter-warnings-plugin@1.2.1(webpack@4.47.0):
+ dependencies:
+ webpack: 4.47.0
+
+ webpack-hot-middleware@2.26.1:
+ dependencies:
+ ansi-html-community: 0.0.8
+ html-entities: 2.5.2
+ strip-ansi: 6.0.1
+
+ webpack-log@2.0.0:
+ dependencies:
+ ansi-colors: 3.2.4
+ uuid: 3.4.0
+
+ webpack-sources@1.4.3:
+ dependencies:
+ source-list-map: 2.0.1
+ source-map: 0.6.1
+
+ webpack-sources@3.2.3: {}
+
+ webpack-virtual-modules@0.2.2:
+ dependencies:
+ debug: 3.2.7
+ transitivePeerDependencies:
+ - supports-color
+
+ webpack@4.47.0:
+ 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.2
+ ajv: 6.12.6
+ ajv-keywords: 3.5.2(ajv@6.12.6)
+ chrome-trace-event: 1.0.3
+ 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.4.2
+ memory-fs: 0.4.1
+ micromatch: 3.1.10
+ mkdirp: 0.5.6
+ neo-async: 2.6.2
+ node-libs-browser: 2.2.1
+ schema-utils: 1.0.0
+ tapable: 1.1.3
+ terser-webpack-plugin: 1.4.5(webpack@4.47.0)
+ watchpack: 1.7.5
+ webpack-sources: 1.4.3
+ transitivePeerDependencies:
+ - supports-color
+
+ webpack@5.91.0:
+ dependencies:
+ '@types/eslint-scope': 3.7.7
+ '@types/estree': 1.0.5
+ '@webassemblyjs/ast': 1.12.1
+ '@webassemblyjs/wasm-edit': 1.12.1
+ '@webassemblyjs/wasm-parser': 1.12.1
+ acorn: 8.11.3
+ acorn-import-assertions: 1.9.0(acorn@8.11.3)
+ browserslist: 4.23.0
+ chrome-trace-event: 1.0.3
+ enhanced-resolve: 5.16.1
+ es-module-lexer: 1.5.2
+ eslint-scope: 5.1.1
+ events: 3.3.0
+ glob-to-regexp: 0.4.1
+ graceful-fs: 4.2.11
+ json-parse-even-better-errors: 2.3.1
+ loader-runner: 4.3.0
+ mime-types: 2.1.35
+ neo-async: 2.6.2
+ schema-utils: 3.3.0
+ tapable: 2.2.1
+ terser-webpack-plugin: 5.3.10(webpack@5.91.0)
+ watchpack: 2.4.1
+ webpack-sources: 3.2.3
+ transitivePeerDependencies:
+ - '@swc/core'
+ - esbuild
+ - uglify-js
+
+ whatwg-encoding@1.0.5:
+ dependencies:
+ iconv-lite: 0.4.24
+
+ whatwg-mimetype@2.3.0: {}
+
+ whatwg-url@5.0.0:
+ dependencies:
+ tr46: 0.0.3
+ webidl-conversions: 3.0.1
+
+ whatwg-url@8.7.0:
+ dependencies:
+ lodash: 4.17.21
+ tr46: 2.1.0
+ webidl-conversions: 6.1.0
+
+ which-boxed-primitive@1.0.2:
+ dependencies:
+ is-bigint: 1.0.4
+ is-boolean-object: 1.1.2
+ is-number-object: 1.0.7
+ is-string: 1.0.7
+ is-symbol: 1.0.4
+
+ which-collection@1.0.2:
+ dependencies:
+ is-map: 2.0.3
+ is-set: 2.0.3
+ is-weakmap: 2.0.2
+ is-weakset: 2.0.3
+
+ which-typed-array@1.1.15:
+ dependencies:
+ available-typed-arrays: 1.0.7
+ call-bind: 1.0.7
+ for-each: 0.3.3
+ gopd: 1.0.1
+ has-tostringtag: 1.0.2
+
+ which@1.3.1:
+ dependencies:
+ isexe: 2.0.0
+
+ which@2.0.2:
+ dependencies:
+ isexe: 2.0.0
+
+ wide-align@1.1.5:
+ dependencies:
+ string-width: 4.2.3
+
+ widest-line@3.1.0:
+ dependencies:
+ string-width: 4.2.3
+
+ wordwrap@1.0.0: {}
+
+ worker-farm@1.7.0:
+ dependencies:
+ errno: 0.1.8
+
+ worker-rpc@0.1.1:
+ dependencies:
+ microevent.ts: 0.1.1
+
+ wrap-ansi@7.0.0:
+ dependencies:
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+
+ wrap-ansi@8.1.0:
+ dependencies:
+ ansi-styles: 6.2.1
+ string-width: 5.1.2
+ strip-ansi: 7.1.0
+
+ wrappy@1.0.2: {}
+
+ write-file-atomic@3.0.3:
+ dependencies:
+ imurmurhash: 0.1.4
+ is-typedarray: 1.0.0
+ signal-exit: 3.0.7
+ typedarray-to-buffer: 3.1.5
+
+ ws@7.5.9: {}
+
+ ws@8.17.0: {}
+
+ x-default-browser@0.4.0:
+ optionalDependencies:
+ default-browser-id: 1.0.4
+
+ xml-name-validator@3.0.0: {}
+
+ xmlchars@2.2.0: {}
+
+ xtend@4.0.2: {}
+
+ y18n@4.0.3: {}
+
+ y18n@5.0.8: {}
+
+ yallist@3.1.1: {}
+
+ yallist@4.0.0: {}
+
+ yaml@1.10.2: {}
+
+ yaml@2.4.2: {}
+
+ yargs-parser@20.2.9: {}
+
+ yargs@16.2.0:
+ dependencies:
+ cliui: 7.0.4
+ escalade: 3.1.2
+ get-caller-file: 2.0.5
+ require-directory: 2.1.1
+ string-width: 4.2.3
+ y18n: 5.0.8
+ yargs-parser: 20.2.9
+
+ yocto-queue@0.1.0: {}
+
+ zwitch@1.0.5: {}
diff --git a/styleguide/postcss.config.js b/styleguide/postcss.config.js
new file mode 100644
index 0000000000..12a703d900
--- /dev/null
+++ b/styleguide/postcss.config.js
@@ -0,0 +1,6 @@
+module.exports = {
+ plugins: {
+ tailwindcss: {},
+ autoprefixer: {},
+ },
+};
diff --git a/styleguide/rollup.config.js b/styleguide/rollup.config.js
new file mode 100644
index 0000000000..11cfef3f50
--- /dev/null
+++ b/styleguide/rollup.config.js
@@ -0,0 +1,220 @@
+import commonjs from "@rollup/plugin-commonjs";
+import styles from "rollup-plugin-styles";
+import { terser } from "rollup-plugin-terser";
+import typescript from "rollup-plugin-typescript2";
+import ts from "typescript";
+import pkg from "./package.json";
+
+const assetFileNames = (assetInfo) => {
+ if (assetInfo.name === "index.css") {
+ return "index.css"
+ }
+
+ if (assetInfo.name === "custom.css") {
+ return "custom-style.css";
+ }
+
+ if (assetInfo.name === "config-parts.js") {
+ return "config-parts.js";
+ }
+
+ return "assets/[name]-[hash][extname]";
+}
+
+const plugins = [
+ commonjs(),
+ styles({
+ url: {
+ hash: "[name]-[hash][extname]",
+ },
+ mode: "extract",
+ config: { path: "./postcss.config.js" },
+ }),
+ terser({
+ output: {
+ comments: false,
+ },
+ }),
+];
+
+const external = [
+ ...Object.keys(pkg.dependencies || {}),
+ ...Object.keys(pkg.peerDependencies || {}),
+];
+
+export default [
+ {
+ input: './src/custom.css',
+ output: [
+ {
+ file: `dist/custom.js`,
+ format: 'es',
+ sourcemap: false,
+ assetFileNames,
+ }
+ ],
+ plugins: [
+ styles({
+ url: {
+ hash: "[name]-[hash][extname]",
+ },
+ mode: "extract",
+ config: { path: "./postcss.config.js" },
+ }),
+ ],
+ },
+ {
+ input: "./src/index.ts",
+ external,
+ output: [
+ {
+ file: `${pkg.module}`,
+ format: "es",
+ sourcemap: true,
+ assetFileNames,
+ },
+ {
+ file: `${pkg.main}`,
+ format: "cjs",
+ sourcemap: true,
+ assetFileNames,
+ },
+ ],
+ plugins: [
+ typescript({
+ typescript: ts,
+ tsconfig: "tsconfig.json",
+ tsconfigDefaults: {
+ exclude: [
+ "**/*.spec.ts",
+ "**/*.test.ts",
+ "**/*.stories.ts",
+ "**/*.spec.tsx",
+ "**/*.test.tsx",
+ "**/*.stories.tsx",
+ "node_modules",
+ "bower_components",
+ "jspm_packages",
+ "dist",
+ ],
+ compilerOptions: {
+ sourceMap: true,
+ declaration: true,
+ },
+ },
+ }),
+ ...plugins,
+ ],
+ },
+ {
+ input: "./src/config-parts.js",
+ external,
+ output: [
+ {
+ file: `dist/config-parts.esm.js`,
+ format: "es",
+ sourcemap: false,
+ assetFileNames,
+ },
+ {
+ file: `dist/config-parts.js`,
+ format: "cjs",
+ sourcemap: false,
+ assetFileNames,
+ },
+ ],
+ plugins
+ },
+ {
+ input: "./src/icons/index.ts",
+ external,
+ output: [
+ {
+ file: `dist/icons/index.esm.js`,
+ format: "es",
+ sourcemap: true,
+ assetFileNames,
+ },
+ {
+ file: `dist/icons/index.js`,
+ format: "cjs",
+ sourcemap: true,
+ assetFileNames,
+ },
+ ],
+ plugins: [
+ typescript({
+ typescript: ts,
+ tsconfig: "tsconfig.json",
+ tsconfigOverride: {
+ include: ["./src/icons"],
+ },
+ tsconfigDefaults: {
+ exclude: [
+ "**/*.spec.ts",
+ "**/*.test.ts",
+ "**/*.stories.ts",
+ "**/*.spec.tsx",
+ "**/*.test.tsx",
+ "**/*.stories.tsx",
+ "node_modules",
+ "bower_components",
+ "jspm_packages",
+ "dist",
+ ],
+ compilerOptions: {
+ sourceMap: true,
+ declaration: true,
+ },
+ },
+ }),
+ ...plugins,
+ ],
+ },
+ {
+ input: "./src/illustrations/index.ts",
+ external,
+ output: [
+ {
+ file: `dist/illustrations/index.esm.js`,
+ format: "es",
+ sourcemap: true,
+ assetFileNames,
+ },
+ {
+ file: `dist/illustrations/index.js`,
+ format: "cjs",
+ sourcemap: true,
+ assetFileNames,
+ },
+ ],
+ plugins: [
+ typescript({
+ typescript: ts,
+ tsconfig: "tsconfig.json",
+ tsconfigOverride: {
+ include: ["./src/illustrations"],
+ },
+ tsconfigDefaults: {
+ exclude: [
+ "**/*.spec.ts",
+ "**/*.test.ts",
+ "**/*.stories.ts",
+ "**/*.spec.tsx",
+ "**/*.test.tsx",
+ "**/*.stories.tsx",
+ "node_modules",
+ "bower_components",
+ "jspm_packages",
+ "dist",
+ ],
+ compilerOptions: {
+ sourceMap: true,
+ declaration: true,
+ },
+ },
+ }),
+ ...plugins,
+ ],
+ },
+];
diff --git a/styleguide/src/avatar-group/avatar-group.stories.tsx b/styleguide/src/avatar-group/avatar-group.stories.tsx
new file mode 100644
index 0000000000..cb673cf3bc
--- /dev/null
+++ b/styleguide/src/avatar-group/avatar-group.stories.tsx
@@ -0,0 +1,22 @@
+import React from "react";
+import { Avatar } from "../avatar/avatar";
+import { AvatarGroup } from "./avatar-group";
+
+export default {
+ title: "Avatar Group",
+ parameters: {
+ layout: "centered",
+ },
+};
+
+export const Primary = () => {
+ return (
+
+
+
+
+
+
+
+ );
+};
diff --git a/styleguide/src/avatar-group/avatar-group.tsx b/styleguide/src/avatar-group/avatar-group.tsx
new file mode 100644
index 0000000000..3a495a92d5
--- /dev/null
+++ b/styleguide/src/avatar-group/avatar-group.tsx
@@ -0,0 +1,11 @@
+import React from "react";
+
+type Props = {
+ children: React.ReactNode;
+};
+
+export const AvatarGroup = ({ children }: Props) => {
+ return (
+
{children}
+ );
+};
diff --git a/styleguide/src/avatar-group/index.tsx b/styleguide/src/avatar-group/index.tsx
new file mode 100644
index 0000000000..27dc7b020a
--- /dev/null
+++ b/styleguide/src/avatar-group/index.tsx
@@ -0,0 +1 @@
+export { AvatarGroup } from "./avatar-group";
diff --git a/styleguide/src/avatar/avatar.stories.tsx b/styleguide/src/avatar/avatar.stories.tsx
new file mode 100644
index 0000000000..02afba072a
--- /dev/null
+++ b/styleguide/src/avatar/avatar.stories.tsx
@@ -0,0 +1,25 @@
+import React from "react";
+import { Avatar } from "./avatar";
+
+export default {
+ title: "Avatar",
+ parameters: {
+ layout: "centered",
+ },
+};
+
+export const Primary = () => {
+ return (
+ <>
+
+
+ >
+ );
+};
diff --git a/styleguide/src/avatar/avatar.tsx b/styleguide/src/avatar/avatar.tsx
new file mode 100644
index 0000000000..2d72630050
--- /dev/null
+++ b/styleguide/src/avatar/avatar.tsx
@@ -0,0 +1,44 @@
+import clsx from "clsx";
+import React from "react";
+import { getBackgroundClasses } from "../colors-utils";
+import { Text } from "../text";
+import { Color } from "../types";
+
+type Props = {
+ image?: string;
+ letter?: string;
+ letterBackgroundColor?: Color | "none";
+ alt?: string;
+};
+
+export const Avatar = ({
+ image,
+ letter,
+ letterBackgroundColor = "none",
+ alt,
+}: Props) => {
+ return (
+
+ {image && (
+

+ )}
+ {!image && letter && (
+
+
+ {letter[0]}
+
+
+ )}
+
+ );
+};
diff --git a/styleguide/src/avatar/index.tsx b/styleguide/src/avatar/index.tsx
new file mode 100644
index 0000000000..baf26a8a19
--- /dev/null
+++ b/styleguide/src/avatar/index.tsx
@@ -0,0 +1 @@
+export { Avatar } from "./avatar";
diff --git a/styleguide/src/base.css b/styleguide/src/base.css
new file mode 100644
index 0000000000..b5c61c9567
--- /dev/null
+++ b/styleguide/src/base.css
@@ -0,0 +1,3 @@
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
diff --git a/styleguide/src/bottom-bar/bottom-bar.stories.tsx b/styleguide/src/bottom-bar/bottom-bar.stories.tsx
new file mode 100644
index 0000000000..ff04e5635f
--- /dev/null
+++ b/styleguide/src/bottom-bar/bottom-bar.stories.tsx
@@ -0,0 +1,24 @@
+import React from "react";
+import { Button } from "../button";
+import { Heading } from "../heading";
+import { BottomBar } from "./bottom-bar";
+
+export const Primary = () => {
+ return (
+
+
long content
+
long content
+
long content
+
Checkout}>
+ € 630
+
+
content below
+
content below
+
content below
+
+ );
+};
+
+export default {
+ title: "Bottom bar",
+};
diff --git a/styleguide/src/bottom-bar/bottom-bar.tsx b/styleguide/src/bottom-bar/bottom-bar.tsx
new file mode 100644
index 0000000000..087a87d6af
--- /dev/null
+++ b/styleguide/src/bottom-bar/bottom-bar.tsx
@@ -0,0 +1,27 @@
+import React from "react";
+import { Spacer } from "../spacer";
+import { Separator } from "../separator";
+import { Container } from "../container";
+
+type Props = {
+ children: React.ReactNode;
+ action: React.ReactNode;
+};
+
+export const BottomBar = ({ children, action }: Props) => {
+ return (
+
+
+
+
+
{children}
+
+
+
{action}
+
+
+
+
+
+ );
+};
diff --git a/styleguide/src/bottom-bar/index.tsx b/styleguide/src/bottom-bar/index.tsx
new file mode 100644
index 0000000000..1d1a0986cc
--- /dev/null
+++ b/styleguide/src/bottom-bar/index.tsx
@@ -0,0 +1 @@
+export { BottomBar } from "./bottom-bar";
diff --git a/styleguide/src/button/basic-button.tsx b/styleguide/src/button/basic-button.tsx
new file mode 100644
index 0000000000..dcb684ee1a
--- /dev/null
+++ b/styleguide/src/button/basic-button.tsx
@@ -0,0 +1,50 @@
+import clsx from "clsx";
+import React from "react";
+import { Text } from "../text";
+
+type Props = {
+ children: React.ReactNode;
+ disabled?: boolean;
+ onClick?: (
+ e: React.MouseEvent
+ ) => void;
+ href?: string;
+ target?: string;
+ rel?: string;
+};
+
+export const BasicButton = ({
+ children,
+ disabled,
+ onClick,
+ href,
+ target,
+ rel,
+}: Props) => {
+ const Component = href ? "a" : "button";
+ return (
+
+
+ {children}
+
+
+ );
+};
diff --git a/styleguide/src/button/button.stories.tsx b/styleguide/src/button/button.stories.tsx
new file mode 100644
index 0000000000..43f87aa418
--- /dev/null
+++ b/styleguide/src/button/button.stories.tsx
@@ -0,0 +1,106 @@
+import React from "react";
+import { Spacer } from "../spacer";
+import { BasicButton } from "./basic-button";
+import { Button } from "./button";
+
+export default {
+ title: "Button",
+};
+
+export const Story = ({ text, size, disabled, variant }) => (
+
+
+
+
+
+
+
+
+
+
+
+);
+
+Story.argTypes = {
+ text: {
+ defaultValue: "Button",
+ control: {
+ type: "text",
+ },
+ },
+ disabled: {
+ defaultValue: false,
+ control: {
+ type: "boolean",
+ },
+ },
+ variant: {
+ defaultValue: "primary",
+ control: {
+ type: "select",
+ options: ["primary", "secondary"],
+ },
+ },
+};
+
+export const AllButtons = () => {
+ return (
+ <>
+
+
+
+
+
+
+ >
+ );
+};
+
+export const AsLink = () => {
+ return ;
+};
+
+export const BasicButtonStory = ({ disabled }) => {
+ return (
+
+ Simple button
+
+
+ Simple button as Link
+
+
+ );
+};
+
+BasicButtonStory.argTypes = {
+ disabled: {
+ defaultValue: false,
+ control: {
+ type: "boolean",
+ },
+ },
+};
diff --git a/styleguide/src/button/button.tsx b/styleguide/src/button/button.tsx
new file mode 100644
index 0000000000..c2f0ba07a4
--- /dev/null
+++ b/styleguide/src/button/button.tsx
@@ -0,0 +1,78 @@
+import clsx from "clsx";
+import React, { ReactNode } from "react";
+import { getBackgroundClasses } from "../colors-utils";
+import { Text } from "../text";
+import { Color } from "../types";
+
+export const Button = ({
+ children,
+ onClick,
+ variant = "primary",
+ icon = null,
+ size = "default",
+ fullWidth = false,
+ background,
+ disabled = false,
+ href = undefined,
+ target = undefined,
+ ...props
+}: {
+ background?: Color | "none";
+ icon?: ReactNode;
+ size?: "default" | "small";
+ children: ReactNode;
+ disabled?: boolean;
+ variant?: "primary" | "secondary" | "alert";
+ onClick?: (
+ e: React.MouseEvent | React.MouseEvent
+ ) => void;
+ href?: string;
+ target?: string;
+ fullWidth?: boolean | "mobile";
+}) => {
+ const Wrapper = href ? "a" : "button";
+ return (
+
+ {icon && {icon}}
+
+ {children}
+
+
+ );
+};
diff --git a/styleguide/src/button/index.tsx b/styleguide/src/button/index.tsx
new file mode 100644
index 0000000000..5346acf4ad
--- /dev/null
+++ b/styleguide/src/button/index.tsx
@@ -0,0 +1,2 @@
+export { Button } from "./button";
+export { BasicButton } from "./basic-button";
diff --git a/styleguide/src/carousel/carousel.stories.tsx b/styleguide/src/carousel/carousel.stories.tsx
new file mode 100644
index 0000000000..1834f4fb96
--- /dev/null
+++ b/styleguide/src/carousel/carousel.stories.tsx
@@ -0,0 +1,25 @@
+import React from "react";
+import { SpeakerCard } from "../speaker-card/speaker-card";
+import { Carousel } from "./carousel";
+
+export default {
+ title: "Carousel",
+};
+
+export const Standard = ({ items }) => (
+
+ {new Array(items).fill(null).map((_, index) => (
+
+ ))}
+
+);
+
+Standard.args = {
+ items: 10,
+};
diff --git a/styleguide/src/carousel/carousel.tsx b/styleguide/src/carousel/carousel.tsx
new file mode 100644
index 0000000000..63b934b3c1
--- /dev/null
+++ b/styleguide/src/carousel/carousel.tsx
@@ -0,0 +1,143 @@
+import clsx from "clsx";
+import React, { useEffect, useState } from "react";
+import { Heading } from "../heading";
+import { Color } from "../types";
+
+type Props = {
+ title: string;
+ children: React.ReactNode;
+};
+
+const MAX_PAGE_SIZE = 4;
+const MIN_PAGE_SIZE = 1;
+
+const LeftArrow = ({ className }: { className?: string }) => (
+
+);
+
+const RightArrow = ({ className }: { className?: string }) => (
+
+);
+
+const COLORS: Color[] = ["coral", "green", "blue", "yellow", "purple"];
+
+const ArrowButton = ({
+ onClick,
+ className,
+ direction = "left",
+}: {
+ onClick: () => void;
+ className: string;
+ direction?: "left" | "right";
+}) => (
+
+);
+
+export const Carousel = ({ title, children }: Props) => {
+ const [currentIndex, setCurrentIndex] = useState(0);
+ const [pageSize, setPageSize] = useState(MAX_PAGE_SIZE);
+
+ const totalCount = React.Children.count(children);
+
+ const previous = () => setCurrentIndex(Math.max(0, currentIndex - 1));
+ const next = () =>
+ setCurrentIndex(Math.min(totalCount - pageSize, currentIndex + 1));
+
+ useEffect(() => {
+ const listener = () => {
+ if (window.innerWidth >= 768) {
+ const maxIndexForSize = totalCount - MAX_PAGE_SIZE;
+
+ setPageSize(MAX_PAGE_SIZE);
+ setCurrentIndex((value) =>
+ value > maxIndexForSize ? maxIndexForSize : value
+ );
+ } else {
+ setPageSize(MIN_PAGE_SIZE);
+ }
+ };
+
+ listener();
+ window.addEventListener("resize", listener);
+
+ return () => {
+ window.removeEventListener("resize", listener);
+ };
+ }, []);
+
+ return (
+
+
+
+
{title}
+
+
+
+
+
+
+
+
+
+
+
+
+ {React.Children.map(children, (child, index) => (
+
+
+ {React.cloneElement(child as React.ReactElement, {
+ className: `bg-${COLORS[index % COLORS.length]}`,
+ })}
+
+
+ ))}
+
+
+
+
+
+
+ );
+};
diff --git a/styleguide/src/checkbox/checkbox.stories.tsx b/styleguide/src/checkbox/checkbox.stories.tsx
new file mode 100644
index 0000000000..318c895efa
--- /dev/null
+++ b/styleguide/src/checkbox/checkbox.stories.tsx
@@ -0,0 +1,34 @@
+import React, { useState } from "react";
+
+import { Checkbox } from "./checkbox";
+
+export default {
+ title: "Checkbox",
+ parameters: {
+ layout: "centered",
+ },
+};
+
+export const Primary = () => {
+ const [checked, setChecked] = useState(false);
+ return (
+
+ Large:
+ {
+ setChecked(e.target.checked);
+ }}
+ />
+ Small:
+ {
+ setChecked(e.target.checked);
+ }}
+ />
+
+ );
+};
diff --git a/styleguide/src/checkbox/checkbox.tsx b/styleguide/src/checkbox/checkbox.tsx
new file mode 100644
index 0000000000..640f852d59
--- /dev/null
+++ b/styleguide/src/checkbox/checkbox.tsx
@@ -0,0 +1,43 @@
+import clsx from "clsx";
+import React from "react";
+
+type Props = Omit, "size"> & {
+ checked: boolean;
+ size?: "small" | "large";
+};
+
+export const Checkbox = ({ checked, size = "large", ...props }: Props) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/checkbox/index.tsx b/styleguide/src/checkbox/index.tsx
new file mode 100644
index 0000000000..2d4f967d9a
--- /dev/null
+++ b/styleguide/src/checkbox/index.tsx
@@ -0,0 +1 @@
+export { Checkbox } from "./checkbox";
diff --git a/styleguide/src/colors-utils.tsx b/styleguide/src/colors-utils.tsx
new file mode 100644
index 0000000000..ce922db3fe
--- /dev/null
+++ b/styleguide/src/colors-utils.tsx
@@ -0,0 +1,210 @@
+import { Color } from "./types";
+
+export const getBackgroundClasses = (background: Color) => {
+ switch (background) {
+ case "coral":
+ return "bg-coral";
+ case "caramel":
+ return "bg-caramel";
+ case "cream":
+ return "bg-cream";
+ case "yellow":
+ return "bg-yellow";
+ case "green":
+ return "bg-green";
+ case "purple":
+ return "bg-purple";
+ case "pink":
+ return "bg-pink";
+ case "blue":
+ return "bg-blue";
+ case "red":
+ return "bg-red";
+ case "success":
+ return "bg-success";
+ case "warning":
+ return "bg-warning";
+ case "neutral":
+ return "bg-neutral";
+ case "error":
+ return "bg-error";
+ case "black":
+ return "bg-black";
+ case "grey":
+ return "bg-grey";
+ case "grey-900":
+ return "bg-grey-900";
+ case "grey-700":
+ return "bg-grey-700";
+ case "grey-500":
+ return "bg-grey-500";
+ case "grey-250":
+ return "bg-grey-250";
+ case "grey-100":
+ return "bg-grey-100";
+ case "grey-50":
+ return "bg-grey-50";
+ case "white":
+ return "bg-white";
+ case "milk":
+ return "bg-milk";
+ default:
+ return ""
+ }
+};
+
+export const getHoverBackgroundColor = (background?: Color | "none") => {
+ switch (background) {
+ case "coral":
+ return "hover:bg-coral";
+ case "caramel":
+ return "hover:bg-caramel";
+ case "cream":
+ return "hover:bg-cream";
+ case "yellow":
+ return "hover:bg-yellow";
+ case "green":
+ return "hover:bg-green";
+ case "purple":
+ return "hover:bg-purple";
+ case "pink":
+ return "hover:bg-pink";
+ case "blue":
+ return "hover:bg-blue";
+ case "red":
+ return "hover:bg-red";
+ case "success":
+ return "hover:bg-success";
+ case "warning":
+ return "hover:bg-warning";
+ case "neutral":
+ return "hover:bg-neutral";
+ case "error":
+ return "hover:bg-error";
+ case "black":
+ return "hover:bg-black";
+ case "grey":
+ return "hover:bg-grey";
+ case "grey-900":
+ return "hover:bg-grey-900";
+ case "grey-700":
+ return "hover:bg-grey-700";
+ case "grey-500":
+ return "hover:bg-grey-500";
+ case "grey-250":
+ return "hover:bg-grey-250";
+ case "grey-100":
+ return "hover:bg-grey-100";
+ case "grey-50":
+ return "hover:bg-grey-50";
+ case "white":
+ return "hover:bg-white";
+ case "milk":
+ return "hover:bg-milk";
+ default:
+ return "";
+ }
+};
+
+export const getStyleClassesTextColor = (color: Color | "none" | "default") => {
+ switch (color) {
+ case "default":
+ case "black":
+ return "text-black";
+ case "coral":
+ return "text-coral";
+ case "caramel":
+ return "text-caramel";
+ case "cream":
+ return "text-cream";
+ case "yellow":
+ return "text-yellow";
+ case "green":
+ return "text-green";
+ case "purple":
+ return "text-purple";
+ case "pink":
+ return "text-pink";
+ case "blue":
+ return "text-blue";
+ case "red":
+ case "error":
+ return "text-red";
+ case "success":
+ return "text-success";
+ case "warning":
+ return "text-warning";
+ case "neutral":
+ return "text-neutral";
+ case "white":
+ return "text-white";
+ case "milk":
+ return "text-milk";
+ case "grey-900":
+ return "text-grey-900";
+ case "grey-700":
+ return "text-grey-700";
+ case "grey-500":
+ return "text-grey-500";
+ case "grey-250":
+ return "text-grey-250";
+ case "grey-100":
+ return "text-grey-100";
+ case "grey-50":
+ return "text-grey-50";
+ default:
+ return "";
+ }
+};
+export const getStyleClassesHoverTextColor = (
+ color: Color | "none" | "default"
+) => {
+ switch (color) {
+ case "default":
+ case "black":
+ return "hover:text-black";
+ case "coral":
+ return "hover:text-coral";
+ case "caramel":
+ return "hover:text-caramel";
+ case "cream":
+ return "hover:text-cream";
+ case "yellow":
+ return "hover:text-yellow";
+ case "green":
+ return "hover:text-green";
+ case "purple":
+ return "hover:text-purple";
+ case "pink":
+ return "hover:text-pink";
+ case "blue":
+ return "hover:text-blue";
+ case "red":
+ case "error":
+ return "hover:text-red";
+ case "success":
+ return "hover:text-success";
+ case "warning":
+ return "hover:text-warning";
+ case "neutral":
+ return "hover:text-neutral";
+ case "white":
+ return "hover:text-white";
+ case "milk":
+ return "hover:text-milk";
+ case "grey-900":
+ return "hover:text-grey-900";
+ case "grey-700":
+ return "hover:text-grey-700";
+ case "grey-500":
+ return "hover:text-grey-500";
+ case "grey-250":
+ return "hover:text-grey-250";
+ case "grey-100":
+ return "hover:text-grey-100";
+ case "grey-50":
+ return "hover:text-grey-50";
+ default:
+ return "";
+ }
+};
diff --git a/styleguide/src/colors/colors.stories.tsx b/styleguide/src/colors/colors.stories.tsx
new file mode 100644
index 0000000000..bf4741c801
--- /dev/null
+++ b/styleguide/src/colors/colors.stories.tsx
@@ -0,0 +1,8 @@
+import React from "react";
+import { Colors } from "./colors";
+
+export const Standard = () => ;
+
+export default {
+ title: "Colors",
+};
diff --git a/styleguide/src/colors/colors.tsx b/styleguide/src/colors/colors.tsx
new file mode 100644
index 0000000000..02f384723e
--- /dev/null
+++ b/styleguide/src/colors/colors.tsx
@@ -0,0 +1,76 @@
+import React from "react";
+
+export const Colors = () => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/styleguide/src/config-parts.js b/styleguide/src/config-parts.js
new file mode 100644
index 0000000000..0858f48441
--- /dev/null
+++ b/styleguide/src/config-parts.js
@@ -0,0 +1,77 @@
+module.exports = {
+ colors: {
+ transparent: "transparent",
+ current: "currentColor",
+
+ // primary
+ coral: {
+ light: "#F17A5D",
+ DEFAULT: "#F17A5D",
+ },
+ caramel: {
+ light: "#EAD6CE",
+ DEFAULT: "#EAD6CE",
+ },
+ cream: {
+ light: "#FCE8DE",
+ DEFAULT: "#FCE8DE",
+ },
+
+ // accent
+ yellow: {
+ light: "#F8B03D",
+ DEFAULT: "#F8B03D",
+ },
+ green: {
+ light: "#34B4A1",
+ DEFAULT: "#34B4A1",
+ },
+ purple: {
+ light: "#9473B0",
+ DEFAULT: "#9473B0",
+ },
+ pink: {
+ light: "#DD9BC7",
+ DEFAULT: "#DD9BC7",
+ },
+ blue: {
+ light: "#79CDE0",
+ DEFAULT: "#79CDE0",
+ },
+ fake: "#C51D34",
+ // status
+ red: {
+ light: "#D75353",
+ DEFAULT: "#D75353",
+ },
+ error: {
+ light: "#D75353",
+ DEFAULT: "#D75353",
+ },
+ success: {
+ light: "#33BC8B",
+ DEFAULT: "#33BC8B",
+ },
+ warning: {
+ light: "#F8B03D",
+ DEFAULT: "#F8B03D",
+ },
+ neutral: {
+ light: "#538AD4",
+ DEFAULT: "#538AD4",
+ },
+
+ // grey scale
+ black: "#0E1116",
+ white: "#FAF5F3",
+ grey: {
+ 900: "#1A1C21",
+ 700: "#494A4D",
+ 500: "#848384",
+ 250: "#BFBCBC",
+ 100: "#E2DEDD",
+ 50: "#EEEAE8",
+ },
+ milk: "#FAF5F3",
+ },
+};
diff --git a/styleguide/src/container/container.stories.tsx b/styleguide/src/container/container.stories.tsx
new file mode 100644
index 0000000000..1f3012e6cd
--- /dev/null
+++ b/styleguide/src/container/container.stories.tsx
@@ -0,0 +1,22 @@
+import React from "react";
+import { Container } from "./container";
+
+export default {
+ title: "Container",
+};
+
+export const Primary = () => {
+ return (
+
+ Base Container
+ Small Container
+
+ Small Container - No center align
+
+
+ Small Container / No center align / No padding
+
+ Medium Container
+
+ );
+};
diff --git a/styleguide/src/container/container.tsx b/styleguide/src/container/container.tsx
new file mode 100644
index 0000000000..c05c203bf7
--- /dev/null
+++ b/styleguide/src/container/container.tsx
@@ -0,0 +1,39 @@
+import clsx from "clsx";
+import React from "react";
+
+export type ContainerSize = "base" | "small" | "medium" | "2md";
+
+type Props = {
+ children: React.ReactNode;
+ className?: string;
+ size?: ContainerSize;
+ noPadding?: boolean;
+ center?: boolean;
+};
+
+export const Container = ({
+ noPadding = false,
+ children,
+ className,
+ center = true,
+ size = "base",
+}: Props) => {
+ return (
+
+ {children}
+
+ );
+};
diff --git a/styleguide/src/container/index.tsx b/styleguide/src/container/index.tsx
new file mode 100644
index 0000000000..5159506b46
--- /dev/null
+++ b/styleguide/src/container/index.tsx
@@ -0,0 +1 @@
+export { Container } from "./container";
diff --git a/styleguide/src/countdown/countdown.stories.tsx b/styleguide/src/countdown/countdown.stories.tsx
new file mode 100644
index 0000000000..f431561d99
--- /dev/null
+++ b/styleguide/src/countdown/countdown.stories.tsx
@@ -0,0 +1,47 @@
+import React from "react";
+import { Countdown } from "./countdown";
+
+export const Standard = ({
+ deadline,
+ snakeLookingAt,
+ showSnake,
+ background,
+}) => (
+
+);
+
+export default {
+ title: "Countdown",
+ component: Standard,
+ argTypes: {
+ deadline: {
+ control: {
+ type: "date",
+ },
+ },
+ showSnake: {
+ control: {
+ type: "boolean",
+ },
+ },
+ background: {
+ control: {
+ type: "select",
+ defaultValue: "green",
+ options: ["green", "blue", "red", "yellow", "cream"],
+ },
+ },
+ snakeLookingAt: {
+ control: {
+ type: "select",
+ defaultValue: "left",
+ options: ["left", "right"],
+ },
+ },
+ },
+};
diff --git a/styleguide/src/countdown/countdown.tsx b/styleguide/src/countdown/countdown.tsx
new file mode 100644
index 0000000000..28897e8851
--- /dev/null
+++ b/styleguide/src/countdown/countdown.tsx
@@ -0,0 +1,156 @@
+import React from "react";
+import { Heading } from "../heading";
+import { Text } from "../text";
+import { SnakeTail, SnakeHead } from "../illustrations";
+import clsx from "clsx";
+import {
+ differenceInMinutes,
+ differenceInHours,
+ differenceInDays,
+} from "date-fns";
+import { isBefore } from "date-fns";
+import { FormattedMessage } from "react-intl";
+import { Color } from "../types";
+import { getBackgroundClasses } from "../colors-utils";
+
+type Props = {
+ className?: string;
+ deadline: Date;
+ showSnake?: boolean;
+ snakeLookingAt?: "left" | "right";
+ background?: Color;
+};
+
+export const Countdown = ({
+ className,
+ deadline,
+ background = "green",
+ showSnake = false,
+ snakeLookingAt = "left",
+}: Props) => {
+ const { days, hours, minutes } = timeLeftUntil(deadline);
+ const boxes =
+ days === 0
+ ? [
+ {
+ value: hours,
+ label: (
+
+ ),
+ },
+ {
+ value: minutes,
+ label: (
+
+ ),
+ },
+ ]
+ : [
+ {
+ value: days,
+ label: (
+
+ ),
+ },
+ {
+ value: hours,
+ label: (
+
+ ),
+ },
+ ];
+
+ const snakeBaseClasses = "w-24 lg:h-60 lg:w-52";
+
+ return (
+
+ {showSnake && (
+
+ )}
+
+ {boxes.map(({ value, label }, i) => (
+
+ ))}
+
+ {showSnake && (
+
+ )}
+
+ );
+};
+
+const CountdownBox = ({
+ value,
+ label,
+}: {
+ value: number;
+ label: React.ReactNode;
+}) => {
+ return (
+
+ {String(value).padStart(2, "0")}
+
+ {label}
+
+
+ );
+};
+
+const timeLeftUntil = (
+ datetime: Date
+): {
+ days: number;
+ hours: number;
+ minutes: number;
+} => {
+ const now = new Date();
+
+ if (isBefore(datetime, now)) {
+ return { days: 0, hours: 0, minutes: 0 };
+ }
+
+ const days = differenceInDays(datetime, now);
+ const hours = differenceInHours(datetime, now) - days * 24;
+ const minutes =
+ differenceInMinutes(datetime, now) - days * 24 * 60 - hours * 60;
+ return { days, hours, minutes };
+};
diff --git a/styleguide/src/countdown/index.tsx b/styleguide/src/countdown/index.tsx
new file mode 100644
index 0000000000..88acb177c5
--- /dev/null
+++ b/styleguide/src/countdown/index.tsx
@@ -0,0 +1 @@
+export { Countdown } from "./countdown";
diff --git a/styleguide/src/custom.css b/styleguide/src/custom.css
new file mode 100644
index 0000000000..b4e877a7cd
--- /dev/null
+++ b/styleguide/src/custom.css
@@ -0,0 +1,135 @@
+:root {
+ --screen-sides-width: max(calc(100vw - 1280px), 32px);
+ --screen-side-width: calc(var(--screen-sides-width) / 2);
+}
+
+p a {
+ font-weight: bold;
+ text-decoration: underline;
+}
+
+.dotted-underline {
+ text-decoration: underline;
+ text-decoration-style: dotted;
+ text-decoration-color: theme("colors.purple.light");
+ text-underline-offset: 2px;
+ text-decoration-thickness: 1px;
+}
+
+.wavy-underline {
+ text-decoration: underline;
+ text-decoration-style: wavy;
+ text-decoration-color: theme("colors.blue.light");
+}
+
+.carousel-container {
+ --per-page: 1;
+ --tw-translate-x: calc(var(--current-index) * -100% / var(--per-page));
+}
+
+@screen md {
+ .carousel-container {
+ --per-page: 4;
+ --index: max(
+ 0,
+ min(var(--current-index), calc(var(--total-count) - var(--per-page)))
+ );
+ --tw-translate-x: calc(var(--index) * -100% / var(--per-page));
+ }
+}
+
+.schedule-head {
+ @apply grid gap-1 bg-black border-black border-b-4;
+ grid-template-columns: repeat(var(--days), 1fr);
+}
+
+.schedule-head-mc {
+ grid-template-columns: 1fr;
+}
+
+.schedule-grid {
+ @apply grid gap-1 bg-black;
+
+ grid-template-rows: repeat(var(--rows), 10px);
+ grid-template-columns: 80px 1fr;
+}
+
+@screen md {
+ .schedule-head,
+ .schedule-grid,
+ .schedule-head-mc {
+ grid-template-columns: 80px repeat(var(--days), 1fr);
+ }
+}
+
+@font-face {
+ font-family: 'GeneralSans-Variable';
+ src: url('../fonts/GeneralSans-Variable.woff2') format('woff2'),
+ url('../fonts/GeneralSans-Variable.woff') format('woff'),
+ url('../fonts/GeneralSans-Variable.ttf') format('truetype');
+ font-weight: 200 700;
+ font-display: swap;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: 'JetBrainsMono';
+ src: url('../fonts/JetBrainsMono.ttf') format('truetype');
+ font-weight: 200 700;
+ font-display: swap;
+ font-style: normal;
+}
+
+.navbar-actionitem {
+ transition-duration: 0.2s;
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
+ transition-property: width, background-color;
+ transform: translateZ(0);
+}
+
+.navbar-actionitem-text {
+ transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1);
+ transform: translateZ(0);
+}
+
+.grid-section--item {
+ @apply opacity-30;
+}
+
+.grid-section--item a.inline-flex {
+ @apply opacity-0 -z-1;
+ transition-property: opacity, color, background-color;
+}
+
+.grid-section--current-item {
+ @apply opacity-100;
+}
+
+.grid-section--current-item a.inline-flex {
+ @apply opacity-100 z-0;
+}
+
+.multiple-parts-card-collection .multiparts-card-wrapper + .multiparts-card-wrapper .multiparts-card-content {
+ border-top-width: 0px;
+}
+
+.slider-grid .multiparts-card-wrapper {
+ height: 100%;
+}
+
+.input-number:hover .input-number-label {
+ display: block;
+}
+
+.input-number-wrapper:hover.has-value .active-element {
+ display: block;
+}
+
+.input-number-wrapper:hover .input-number:not(:hover) .active-element {
+ display: none;
+}
+
+/* typography custom styles */
+.prose b {
+ font-weight: 600;
+}
diff --git a/styleguide/src/days-selector/days-selector.stories.tsx b/styleguide/src/days-selector/days-selector.stories.tsx
new file mode 100644
index 0000000000..60fdb38307
--- /dev/null
+++ b/styleguide/src/days-selector/days-selector.stories.tsx
@@ -0,0 +1,45 @@
+import React, { useState } from "react";
+import { DaysSelector } from "./days-selector";
+
+export default {
+ title: "Days Selector",
+};
+
+export const Primary = () => {
+ const [selected, setSelected] = useState("2023-05-25");
+ return (
+ {
+ setSelected(date);
+ }}
+ >
+ Text text
+
+ );
+};
+
+export const CenteredSelector = () => {
+ const [selected, setSelected] = useState("2023-05-25");
+ return (
+ {
+ setSelected(date);
+ }}
+ />
+ );
+};
diff --git a/styleguide/src/days-selector/days-selector.tsx b/styleguide/src/days-selector/days-selector.tsx
new file mode 100644
index 0000000000..b95a5cd052
--- /dev/null
+++ b/styleguide/src/days-selector/days-selector.tsx
@@ -0,0 +1,83 @@
+import clsx from "clsx";
+import React from "react";
+import { Heading } from "../heading";
+import { Container } from "../container";
+import { Spacer } from "../spacer";
+import { Text } from "../text";
+
+type Day = {
+ date: string;
+ selected: boolean;
+};
+
+type Props = {
+ days: Day[];
+ language: string;
+ onClick?: (date: string) => void;
+ children?: React.ReactNode;
+ center?: boolean;
+};
+
+export const DaysSelector = ({
+ days,
+ language,
+ onClick,
+ children,
+ center = false,
+}: Props) => {
+ const numberAndDayFormatter = new Intl.DateTimeFormat(language, {
+ day: "numeric",
+ month: "long",
+ });
+ const weekDayFormatter = new Intl.DateTimeFormat(language, {
+ weekday: "long",
+ });
+
+ return (
+
+
+
+ {days.map(({ date, selected }) => {
+ const parsedDate = new Date(`${date}T00:00:00`);
+ return (
+
onClick?.(date)}
+ key={date}
+ className={clsx(
+ "basis-36 md:basis-[190px] cursor-pointer border shrink-0 text-center select-none snap-center",
+ "py-2 px-7 md:py-4 md:px-10 mx-2 first:ml-4 last:mr-4 hover:bg-coral transition",
+ {
+ "bg-milk/20 border-black/20": !selected,
+ "bg-coral border-black": selected,
+ }
+ )}
+ >
+
+ {numberAndDayFormatter.format(parsedDate)}
+
+
+
+ {weekDayFormatter.format(parsedDate)}
+
+
+ );
+ })}
+
+ {children}
+
+
+ );
+};
diff --git a/styleguide/src/days-selector/index.tsx b/styleguide/src/days-selector/index.tsx
new file mode 100644
index 0000000000..a4a12c680e
--- /dev/null
+++ b/styleguide/src/days-selector/index.tsx
@@ -0,0 +1 @@
+export { DaysSelector } from "./days-selector";
diff --git a/styleguide/src/embedded-video/embedded-twitch.tsx b/styleguide/src/embedded-video/embedded-twitch.tsx
new file mode 100644
index 0000000000..6d4c90e595
--- /dev/null
+++ b/styleguide/src/embedded-video/embedded-twitch.tsx
@@ -0,0 +1,28 @@
+import React from "react";
+
+type EmbeddedTwitchProps = {
+ channel: string;
+ backgroundColor?: string;
+ autoplay?: boolean;
+ parent?: string;
+};
+
+export const EmbeddedTwitch = ({
+ channel,
+ backgroundColor = "white",
+ autoplay = false,
+ parent = "localhost",
+}: EmbeddedTwitchProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/embedded-video/index.tsx b/styleguide/src/embedded-video/index.tsx
new file mode 100644
index 0000000000..4e76a966ef
--- /dev/null
+++ b/styleguide/src/embedded-video/index.tsx
@@ -0,0 +1 @@
+export { EmbeddedTwitch } from "./embedded-twitch";
diff --git a/styleguide/src/file-input/file-input.stories.tsx b/styleguide/src/file-input/file-input.stories.tsx
new file mode 100644
index 0000000000..d0689e91b1
--- /dev/null
+++ b/styleguide/src/file-input/file-input.stories.tsx
@@ -0,0 +1,26 @@
+import React from "react";
+import { FileInput } from "./file-input";
+
+export default {
+ title: "File Input",
+ argTypes: {
+ error: {
+ defaultValue: "",
+ control: {
+ type: "text",
+ },
+ },
+ },
+};
+
+export const Primary = ({ error }) => {
+ const [selectedFile, setSelectedFile] = React.useState(null);
+ return (
+ setSelectedFile(file)}
+ placeholder="Upload your image"
+ errors={[error]}
+ value={selectedFile}
+ />
+ );
+};
diff --git a/styleguide/src/file-input/file-input.tsx b/styleguide/src/file-input/file-input.tsx
new file mode 100644
index 0000000000..d8db80b0c5
--- /dev/null
+++ b/styleguide/src/file-input/file-input.tsx
@@ -0,0 +1,62 @@
+import React from "react";
+import { FileUploadIcon } from "../icons";
+import { Spacer } from "../spacer";
+import { Text } from "../text";
+
+type Props = {
+ placeholder?: string;
+ accept?: string;
+ name?: string;
+ errors?: string[];
+ onChange?: (file: File | null) => void;
+ value?: File | null;
+};
+
+export const FileInput = React.forwardRef(
+ ({ placeholder, accept, name, errors, onChange, value }: Props, ref) => {
+ const allErrors = errors ?? [];
+ const hasErrors = allErrors.length > 0;
+
+ const inputChange = (e: React.ChangeEvent) => {
+ if (!e.target.files) {
+ onChange?.(null);
+ return;
+ }
+
+ onChange?.(e.target.files[0]);
+ };
+
+ const visibleName = value?.name ?? placeholder;
+
+ return (
+
+
+
+ );
+ },
+);
diff --git a/styleguide/src/file-input/index.tsx b/styleguide/src/file-input/index.tsx
new file mode 100644
index 0000000000..634e08d55b
--- /dev/null
+++ b/styleguide/src/file-input/index.tsx
@@ -0,0 +1 @@
+export { FileInput } from "./file-input";
diff --git a/styleguide/src/filter-bar/filter-bar.stories.tsx b/styleguide/src/filter-bar/filter-bar.stories.tsx
new file mode 100644
index 0000000000..87a819ed97
--- /dev/null
+++ b/styleguide/src/filter-bar/filter-bar.stories.tsx
@@ -0,0 +1,93 @@
+import React, { useState } from "react";
+
+import { FilterBar } from "./filter-bar";
+
+export default {
+ title: "Filter Bar",
+};
+
+export const Primary = () => {
+ const [appliedFilters, setAppliedFilters] = useState({});
+ return (
+
+ setAppliedFilters(newFilters)}
+ placement="left"
+ appliedFilters={appliedFilters}
+ filters={[
+ {
+ id: "search",
+ label: "Search",
+ search: true,
+ },
+ {
+ id: "audience-level",
+ label: "By Audience Level",
+ options: [
+ {
+ label: "All",
+ value: "",
+ },
+ {
+ label: "Beginner",
+ value: "beginner",
+ },
+ {
+ label: "Intermediate",
+ value: "intermediate",
+ },
+ {
+ label: "Advanced",
+ value: "advanced",
+ },
+ ],
+ },
+ {
+ id: "language",
+ label: "By Language",
+ options: [
+ {
+ label: "All",
+ value: "",
+ },
+ {
+ label: "English",
+ value: "english",
+ },
+ {
+ label: "Italian",
+ value: "italian",
+ },
+ ],
+ },
+ {
+ id: "type",
+ label: "By Type",
+ options: [
+ {
+ label: "All",
+ value: "",
+ },
+ {
+ label: "Talk",
+ value: "talk",
+ },
+ {
+ label: "Workshop",
+ value: "workshop",
+ },
+ {
+ label: "Panel",
+ value: "panel",
+ },
+ {
+ label: "Q&A",
+ value: "qa",
+ },
+ ],
+ },
+ ]}
+ />
+
+ );
+};
diff --git a/styleguide/src/filter-bar/filter-bar.tsx b/styleguide/src/filter-bar/filter-bar.tsx
new file mode 100644
index 0000000000..94408f260f
--- /dev/null
+++ b/styleguide/src/filter-bar/filter-bar.tsx
@@ -0,0 +1,260 @@
+import clsx from "clsx";
+import React, { Fragment, useEffect, useState } from "react";
+import { createPortal } from "react-dom";
+import { FormattedMessage } from "react-intl";
+import { BasicButton, Button } from "../button/index";
+import { Heading } from "../heading/index";
+import { Input } from "../index";
+import { Text } from "../text/index";
+
+type FilterOption = {
+ label: string | React.ReactNode;
+ value: string;
+};
+
+type Filter = {
+ id: string;
+ label: string | React.ReactNode;
+ options?: FilterOption[];
+ search?: boolean;
+};
+
+type Props = {
+ filters: Filter[];
+ appliedFilters: Record;
+ onApply: (changedFilters: Record) => void;
+ placement?: "right" | "left";
+};
+
+export const FilterBar = ({
+ filters,
+ appliedFilters = {},
+ onApply,
+ placement = "right",
+}: Props) => {
+ // using the state here so we can render the overlay once the dom is ready
+ const [overlayElement, setOverlayElement] = useState(
+ null
+ );
+ const [isOpen, setIsOpen] = useState(false);
+ const [changedFilters, setChangedFilters] = useState(appliedFilters);
+ const [isDirty, setIsDirty] = useState(false);
+
+ useEffect(() => {
+ setChangedFilters(appliedFilters);
+ }, [appliedFilters]);
+
+ useEffect(() => {
+ const classes = ["overflow-hidden", "md:overflow-scroll"];
+
+ if (isOpen) {
+ document.body.classList.add(...classes);
+ }
+
+ return () => {
+ document.body.classList.remove(...classes);
+ };
+ }, [isOpen]);
+
+ useEffect(() => {
+ const element = document.createElement("div");
+ element.id = "filter-bar-overlay";
+ document.body.appendChild(element);
+ setOverlayElement(element);
+ return () => {
+ document.body.removeChild(element);
+ setOverlayElement(null);
+ };
+ }, []);
+
+ const changeFilter = (filterId: string, value: string) => {
+ setIsDirty(true);
+ const isSearchFilter = filters.find((f) => f.id === filterId)?.search;
+
+ if (isSearchFilter) {
+ setChangedFilters({
+ ...changedFilters,
+ [filterId]: [value],
+ });
+ return;
+ }
+
+ if (changedFilters[filterId]?.includes(value)) {
+ setChangedFilters({
+ ...changedFilters,
+ [filterId]: changedFilters[filterId].filter((v) => v !== value),
+ });
+ } else {
+ if (value === "") {
+ setChangedFilters({
+ ...changedFilters,
+ [filterId]: [],
+ });
+ return;
+ }
+
+ setChangedFilters({
+ ...changedFilters,
+ [filterId]: [...(changedFilters[filterId] || []), value],
+ });
+ }
+ };
+
+ const onReset = () => {
+ if (isDirty) {
+ setChangedFilters(appliedFilters);
+ setIsDirty(false);
+ } else {
+ setIsDirty(false);
+ setChangedFilters({});
+ onApply({});
+ setIsOpen(false);
+ }
+ };
+
+ const applyChanges = () => {
+ onApply(changedFilters);
+ setIsOpen(false);
+ setIsDirty(false);
+ };
+
+ const countFilters = Object.keys(
+ Object.values(appliedFilters).filter((v) => v.length)
+ ).length;
+
+ const toggleFilterBar = () => {
+ setIsOpen((value) => !value);
+ };
+
+ return (
+ <>
+ {overlayElement &&
+ createPortal(
+ ,
+ overlayElement
+ )}
+
+
+
+
+
+
+
+ {countFilters > 0 && (
+
+ {countFilters}
+
+ )}
+
+
+
+
+
+ {filters.map((filter) => (
+
+
+ {filter.label}
+
+
+ {filter.search && (
+
+ {(message) => (
+
+ changeFilter(filter.id, e.target.value)
+ }
+ />
+ )}
+
+ )}
+
+ {filter.options?.map((option, index) => (
+ changeFilter(filter.id, option.value)}
+ key={option.value}
+ >
+ {option.label}
+ {changedFilters[filter.id]?.includes(option.value) && (
+
+ )}
+
+ ))}
+
+ ))}
+
+
+
+
+
+
+
+
+
+
+ >
+ );
+};
+
+const Tick = () => (
+
+);
diff --git a/styleguide/src/filter-bar/index.tsx b/styleguide/src/filter-bar/index.tsx
new file mode 100644
index 0000000000..641a6d1f1d
--- /dev/null
+++ b/styleguide/src/filter-bar/index.tsx
@@ -0,0 +1 @@
+export { FilterBar } from "./filter-bar";
diff --git a/styleguide/src/footer/footer.stories.tsx b/styleguide/src/footer/footer.stories.tsx
new file mode 100644
index 0000000000..a6c98253d1
--- /dev/null
+++ b/styleguide/src/footer/footer.stories.tsx
@@ -0,0 +1,38 @@
+import React from "react";
+import { Heading } from "../heading";
+import { Logo } from "../logo/logo";
+import { Footer } from "./footer";
+
+export default {
+ title: "Footer",
+};
+
+export const Standard = () => (
+
+
+);
diff --git a/styleguide/src/footer/footer.tsx b/styleguide/src/footer/footer.tsx
new file mode 100644
index 0000000000..0e38974a27
--- /dev/null
+++ b/styleguide/src/footer/footer.tsx
@@ -0,0 +1,114 @@
+import clsx from "clsx";
+import React from "react";
+import { FormattedMessage } from "react-intl";
+import { Container } from "../container";
+import { SnakeHead } from "../illustrations/snake-head";
+import { SnakeTail } from "../illustrations/snake-tail";
+import { Link } from "../link";
+import type { Link as LinkType } from "../navbar/types";
+import { Separator } from "../separator";
+import type { SocialLinkProps } from "../social-links/social-link";
+import { SocialLinks } from "../social-links/social-links";
+import { Text } from "../text";
+
+type Props = {
+ logo: React.ElementType;
+ socials: SocialLinkProps[];
+ bottomLinks?: LinkType[];
+ socialsBarLeft?: React.ReactNode;
+ noTopSpace?: boolean;
+};
+
+export const Footer = ({
+ noTopSpace,
+ logo: Logo,
+ socials,
+ bottomLinks = [],
+ socialsBarLeft,
+}: Props) => (
+
+
+
+);
diff --git a/styleguide/src/footer/index.tsx b/styleguide/src/footer/index.tsx
new file mode 100644
index 0000000000..25eaacd65d
--- /dev/null
+++ b/styleguide/src/footer/index.tsx
@@ -0,0 +1 @@
+export { Footer } from "./footer";
diff --git a/styleguide/src/fullscreen-overlay/fullscreen-overlay.stories.tsx b/styleguide/src/fullscreen-overlay/fullscreen-overlay.stories.tsx
new file mode 100644
index 0000000000..d3faa44069
--- /dev/null
+++ b/styleguide/src/fullscreen-overlay/fullscreen-overlay.stories.tsx
@@ -0,0 +1,30 @@
+import React from "react";
+import { TicketWithHolder } from "../ticket";
+import { FullscreenOverlay } from "./fullscreen-overlay";
+
+export default {
+ title: "Fullscreen overlay",
+ argTypes: {
+ contents: {
+ defaultValue: "ticket with holder",
+ control: {
+ type: "select",
+ options: ["ticket with holder", "simple text"],
+ },
+ },
+ },
+};
+
+export const Primary = ({ contents }) => {
+ return (
+
+ {contents === "ticket with holder" && (
+
+ )}
+ {contents === "simple text" && your text here}
+
+ );
+};
diff --git a/styleguide/src/fullscreen-overlay/fullscreen-overlay.tsx b/styleguide/src/fullscreen-overlay/fullscreen-overlay.tsx
new file mode 100644
index 0000000000..d440cac9ee
--- /dev/null
+++ b/styleguide/src/fullscreen-overlay/fullscreen-overlay.tsx
@@ -0,0 +1,29 @@
+import React from "react";
+
+type Props = {
+ children: React.ReactNode;
+ overlayStyle?: any;
+ contentStyle?: any;
+ overlayAs?: React.ElementType;
+};
+
+export const FullscreenOverlay = ({
+ children,
+ overlayStyle,
+ contentStyle,
+ overlayAs,
+}: Props) => {
+ const OverlayComponent = overlayAs ?? "div";
+
+ return (
+
+ );
+};
diff --git a/styleguide/src/fullscreen-overlay/index.ts b/styleguide/src/fullscreen-overlay/index.ts
new file mode 100644
index 0000000000..d4f1abe43c
--- /dev/null
+++ b/styleguide/src/fullscreen-overlay/index.ts
@@ -0,0 +1 @@
+export { FullscreenOverlay } from "./fullscreen-overlay";
diff --git a/styleguide/src/grid/grid-column.tsx b/styleguide/src/grid/grid-column.tsx
new file mode 100644
index 0000000000..2399936eb9
--- /dev/null
+++ b/styleguide/src/grid/grid-column.tsx
@@ -0,0 +1,216 @@
+import React from "react";
+import clsx from "clsx";
+
+type Props = {
+ children?: React.ReactNode;
+ colSpan?: number;
+ mdColSpan?: number;
+
+ colStart?: number;
+ mdColStart?: number;
+
+ colEnd?: number;
+ mdColEnd?: number;
+
+ rowSpan?: number;
+ mdRowSpan?: number;
+
+ rowStart?: number;
+ mdRowStart?: number;
+
+ rowEnd?: number;
+ mdRowEnd?: number;
+
+ className?: string;
+};
+
+export const GridColumn = ({
+ children,
+
+ colSpan,
+ mdColSpan,
+
+ colStart,
+ mdColStart,
+
+ colEnd,
+ mdColEnd,
+
+ rowSpan,
+ mdRowSpan,
+
+ rowStart,
+ mdRowStart,
+
+ rowEnd,
+ mdRowEnd,
+
+ className,
+}: Props) => {
+ return (
+
+ {children}
+
+ );
+};
diff --git a/styleguide/src/grid/grid.stories.tsx b/styleguide/src/grid/grid.stories.tsx
new file mode 100644
index 0000000000..13eaf2f551
--- /dev/null
+++ b/styleguide/src/grid/grid.stories.tsx
@@ -0,0 +1,77 @@
+import React from "react";
+import { Heading } from "../heading";
+import { Container } from "../container";
+import { Text } from "../text";
+import { Grid } from "./grid";
+import { GridColumn } from "./grid-column";
+
+export default {
+ title: "Grid",
+ argTypes: {
+ cols: {
+ defaultValue: 3,
+ control: {
+ type: "number",
+ },
+ },
+ },
+};
+
+export const Primary = ({ cols }) => {
+ return (
+
+
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+
+
+ );
+};
+
+export const SpanColumns = () => {
+ return (
+
+
+
+ 1
+
+
+ 2
+
+
+ 3
+
+
+ 4
+
+
+ 5
+
+
+ 6
+
+
+
+ );
+};
+
+export const DividerTest = () => {
+ return (
+
+
+
+ From
+ 300
+
+
+ To
+ 400
+
+
+
+ );
+};
diff --git a/styleguide/src/grid/grid.tsx b/styleguide/src/grid/grid.tsx
new file mode 100644
index 0000000000..c6b7aebc24
--- /dev/null
+++ b/styleguide/src/grid/grid.tsx
@@ -0,0 +1,97 @@
+import clsx from "clsx";
+import React from "react";
+
+export type GridCols = number;
+
+type Props = {
+ cols: GridCols;
+ mdCols?: GridCols;
+ children: React.ReactNode;
+ alignItems?: "start" | "center" | "end";
+ gap?: "none" | "small" | "medium";
+ smCols?: GridCols;
+ divide?: boolean;
+ equalHeight?: boolean;
+ fullWidth?: boolean;
+ className?: string;
+};
+
+export const Grid = ({
+ cols,
+ mdCols,
+ smCols,
+ children,
+ alignItems,
+ gap = "medium",
+ divide = false,
+ equalHeight = false,
+ fullWidth = false,
+ className,
+}: Props) => {
+ return (
+
+ {children}
+
+ );
+};
diff --git a/styleguide/src/grid/index.tsx b/styleguide/src/grid/index.tsx
new file mode 100644
index 0000000000..30093ff3ce
--- /dev/null
+++ b/styleguide/src/grid/index.tsx
@@ -0,0 +1,2 @@
+export { Grid } from "./grid";
+export { GridColumn } from "./grid-column";
diff --git a/styleguide/src/heading/heading.stories.tsx b/styleguide/src/heading/heading.stories.tsx
new file mode 100644
index 0000000000..cf654f62c4
--- /dev/null
+++ b/styleguide/src/heading/heading.stories.tsx
@@ -0,0 +1,22 @@
+import React from "react";
+import { Heading } from "./heading";
+
+export default {
+ title: "Heading",
+};
+
+export const Primary = () => (
+ <>
+ Display 1 🐎
+
+ Display 1 [fluid] 🐎
+
+ Display 2 🐈
+ Heading 1 🦙
+ Heading 2 🐠
+ Heading 3 🦘
+ Heading 4 🐼
+ Heading 5 🦆
+ Heading 6 🐙
+ >
+);
diff --git a/styleguide/src/heading/heading.tsx b/styleguide/src/heading/heading.tsx
new file mode 100644
index 0000000000..4d67c12605
--- /dev/null
+++ b/styleguide/src/heading/heading.tsx
@@ -0,0 +1,85 @@
+import clsx from "clsx";
+import React, { ReactNode } from "react";
+import { getStyleClassesTextColor } from "../colors-utils";
+import { Color } from "../types";
+
+type Size = "display1" | "display2" | 1 | 2 | 3 | 4 | 5 | 6;
+
+const SIZE_TO_COMPONENT: { [size in Size]: React.ElementType } = {
+ display1: "h1",
+ display2: "h1",
+ 1: "h1",
+ 2: "h2",
+ 3: "h3",
+ 4: "h4",
+ 5: "h5",
+ 6: "h6",
+};
+
+type Props = {
+ children: ReactNode;
+ size?: Size;
+ color?: Color | "none";
+ fluid?: boolean;
+ align?: "left" | "center" | "right";
+ className?: string;
+ uppercase?: boolean;
+};
+
+export const getStyleClassesForHeading = (size: Size) => {
+ switch (size) {
+ case 1:
+ return "font-semibold text-2lg leading-10 lg:text-2xl lg:leading-13";
+ case 2:
+ return "font-semibold text-3md leading-8 lg:text-xl lg:leading-11";
+ case 3:
+ return "font-semibold text-2md leading-5 lg:text-lg lg:leading-8";
+ case 4:
+ return "font-semibold text-md leading-3 lg:text-2md lg:leading-6";
+ case 5:
+ return "font-semibold text-base leading-2 lg:text-md lg:leading-4";
+ case 6:
+ return "font-semibold text-sm leading-1 lg:text-base lg:leading-2";
+ default:
+ return "";
+ }
+};
+
+export const Heading = ({
+ children,
+ size = 1,
+ color = "black",
+ align,
+ className,
+ fluid = false,
+ uppercase = false,
+}: Props) => {
+ const Component = SIZE_TO_COMPONENT[size];
+ return (
+
+ {children}
+
+ );
+};
diff --git a/styleguide/src/heading/index.ts b/styleguide/src/heading/index.ts
new file mode 100644
index 0000000000..8ce959fdc3
--- /dev/null
+++ b/styleguide/src/heading/index.ts
@@ -0,0 +1 @@
+export { Heading } from "./heading";
diff --git a/styleguide/src/hero-illustration/hero-illustration-bologna.stories.tsx b/styleguide/src/hero-illustration/hero-illustration-bologna.stories.tsx
new file mode 100644
index 0000000000..3e20e9583b
--- /dev/null
+++ b/styleguide/src/hero-illustration/hero-illustration-bologna.stories.tsx
@@ -0,0 +1,22 @@
+import React from "react";
+import { HeroIllustrationBologna } from "./hero-illustration-bologna";
+
+export default {
+ title: "Hero Illustration Bologna",
+};
+
+export const Day = () => {
+ return (
+
+
+
+ );
+};
+
+export const Night = () => {
+ return (
+
+
+
+ );
+};
diff --git a/styleguide/src/hero-illustration/hero-illustration-bologna.tsx b/styleguide/src/hero-illustration/hero-illustration-bologna.tsx
new file mode 100644
index 0000000000..0d74248a88
--- /dev/null
+++ b/styleguide/src/hero-illustration/hero-illustration-bologna.tsx
@@ -0,0 +1,917 @@
+"use client";
+import clsx from "clsx";
+import {
+ AnimatePresence,
+ motion,
+ stagger,
+ useAnimate,
+ useMotionValue,
+} from "framer-motion";
+
+import React, { useEffect, useState } from "react";
+import { Stars } from "./stars";
+
+const Hills1 = ({ isNight }: { isNight: boolean }) => {
+ const fill = isNight ? "#1C475F" : "#47E2B9";
+ return (
+
+ );
+};
+
+const Hills2 = ({ isNight }: { isNight: boolean }) => {
+ const fill = isNight ? "#133949" : "#34B4A1";
+
+ return (
+
+ );
+};
+
+const Hills3 = ({ isNight }: { isNight: boolean }) => {
+ const fill = isNight ? "#223F50" : "#33BC8B";
+
+ return (
+
+ );
+};
+
+const Hills4 = ({ isNight }: { isNight: boolean }) => {
+ const fill = isNight ? "#223F50" : "#33BC8B";
+
+ return (
+
+ );
+};
+
+const Church = ({ onClick }: { onClick: () => void }) => (
+
+);
+
+const Snake = () => (
+
+);
+
+const SnakeTail = () => (
+
+);
+
+const TwoTowers = () => (
+
+);
+
+const Sun = () => (
+
+);
+
+const Moon = () => (
+
+);
+
+const Cloud = () => (
+
+);
+
+const NightTail = () => (
+
+);
+
+const Cocktail = () => (
+
+);
+
+const staggerItems = stagger(0.2, { startDelay: 0 });
+
+export const HeroIllustrationBologna = ({
+ cycle,
+}: { cycle: "day" | "night" }) => {
+ const [isNight, setIsNight] = useState(cycle === "night");
+
+ const [scope, animate] = useAnimate();
+ const snakeScaleX = useMotionValue(1);
+ const snakeX = useMotionValue(200);
+ const snakeY = useMotionValue(600);
+ const snakeTailX = useMotionValue(1300);
+ const snakeTailY = useMotionValue(600);
+ const snakeOpacity = useMotionValue(0);
+ const cocktailX = useMotionValue(-150);
+ const cocktailOpacity = useMotionValue(0);
+ const nightTailOpacity = useMotionValue(0);
+ const backgroundColor = useMotionValue(isNight ? "#151C28" : "#6A80EF");
+
+ const snakeXEnd = -560;
+ const snakeXEndNight = -520;
+ const cocktailXEnd = -350;
+
+ const animateClouds = (enter: boolean, delay = 0.2) => {
+ animate(
+ ".cloud",
+ { right: enter ? ["-200px", "100px"] : ["100px", "-200px"] },
+ { duration: 0.5, delay },
+ );
+ animate(
+ ".cloud-2",
+ { right: enter ? ["-200px", "150px"] : ["150px", "-200px"] },
+ { duration: 0.5, delay: delay + 0.1 },
+ );
+ };
+
+ const dayAnimation = () => {
+ animate(
+ ".landmark",
+ { bottom: ["-100%", "0%"] },
+ {
+ duration: 0.5,
+ delay: staggerItems,
+ },
+ ).then(async () => {
+ snakeOpacity.set(1);
+
+ await animate(snakeY, -40, { duration: 0.5, ease: "linear" });
+ await animate(snakeTailY, 120, { duration: 0.5, ease: "linear" });
+ animate(snakeTailY, [140, 160, 140, 160, 140, 160], {
+ duration: 2.3,
+ delay: 0,
+ ease: "easeInOut",
+ });
+ animate(snakeTailX, 680, {
+ duration: 2.4,
+ delay: 0,
+ ease: "easeInOut",
+ });
+ animate(snakeY, [-40, -20, -40, -20, -40, -20, -60], {
+ duration: 2.3,
+ delay: 0,
+ ease: "easeInOut",
+ });
+ animate(snakeX, snakeXEnd, {
+ duration: 2.4,
+ delay: 0,
+ ease: "easeInOut",
+ });
+ });
+
+ animateClouds(true);
+ };
+
+ const nightAnimation = async () => {
+ nightTailOpacity.set(1);
+ cocktailOpacity.set(1);
+ snakeOpacity.set(1);
+ snakeX.set(snakeXEndNight);
+ snakeScaleX.set(-1);
+
+ animate(snakeY, -60, { duration: 0.5, delay: 1.4, ease: "linear" });
+ await animate(
+ ".landmark",
+ { bottom: ["-100%", "0%"] },
+ {
+ duration: 0.5,
+ delay: staggerItems,
+ },
+ );
+
+ await animate(cocktailX, cocktailXEnd, { duration: 0.5, delay: 0.6 });
+
+ animate(
+ ".stars",
+ {
+ opacity: [0, 1],
+ },
+ { duration: 0.3, delay: 0.1 },
+ );
+ };
+
+ useEffect(() => {
+ if (isNight) {
+ nightAnimation();
+ } else {
+ dayAnimation();
+ }
+ }, []);
+
+ const toggle = async () => {
+ setIsNight(!isNight);
+
+ animate(backgroundColor, isNight ? "#6A80EF" : "#151C28", {
+ duration: 0.5,
+ });
+
+ if (isNight) {
+ animate(".stars", { opacity: 0 }, { duration: 0.5 });
+ animateClouds(true, 0);
+ } else {
+ animate(".stars", { opacity: 1 }, { duration: 0.5 });
+ animateClouds(false, 0);
+ }
+
+ await Promise.all([
+ animate(snakeY, 1000, { duration: 0.5, ease: "linear" }),
+ animate(snakeTailY, 1000, { duration: 0.5, ease: "linear" }),
+ animate(
+ ".church, .two-towers",
+ { y: 1000, x: "-50%" },
+ { duration: 0.5, ease: "linear" },
+ ),
+ ]);
+
+ if (!isNight) {
+ snakeX.set(snakeXEndNight);
+ } else {
+ snakeX.set(snakeXEnd);
+ }
+
+ nightTailOpacity.set(isNight ? 0 : 1);
+ cocktailOpacity.set(isNight ? 0 : 1);
+ snakeScaleX.set(isNight ? 1 : -1);
+ snakeTailX.set(680);
+
+ await Promise.all([
+ animate(snakeY, -60, { duration: 0.5, ease: "linear" }),
+ animate(
+ ".church, .two-towers",
+ { y: 0, x: "-50%" },
+ { duration: 0.5, ease: "linear" },
+ ),
+ isNight && animate(snakeTailY, 100, { duration: 0.5, ease: "linear" }),
+ !isNight &&
+ animate(cocktailX, cocktailXEnd, { duration: 0.5, delay: 0.6 }),
+ ]);
+ };
+
+ if (typeof window !== "undefined") {
+ (window as any).toggle = toggle;
+ }
+
+ return (
+
+
+
+
+
+
+
+
+
+ {isNight ? : }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/styleguide/src/hero-illustration/hero-illustration.stories.tsx b/styleguide/src/hero-illustration/hero-illustration.stories.tsx
new file mode 100644
index 0000000000..36b5ca42f5
--- /dev/null
+++ b/styleguide/src/hero-illustration/hero-illustration.stories.tsx
@@ -0,0 +1,22 @@
+import React from "react";
+import { HeroIllustration } from "./hero-illustration";
+
+export default {
+ title: "Hero Illustration",
+};
+
+export const Day = () => {
+ return (
+
+
+
+ );
+};
+
+export const Night = () => {
+ return (
+
+
+
+ );
+};
diff --git a/styleguide/src/hero-illustration/hero-illustration.tsx b/styleguide/src/hero-illustration/hero-illustration.tsx
new file mode 100644
index 0000000000..e81e0e3c54
--- /dev/null
+++ b/styleguide/src/hero-illustration/hero-illustration.tsx
@@ -0,0 +1,1018 @@
+"use client";
+import clsx from "clsx";
+import {
+ AnimatePresence,
+ motion,
+ stagger,
+ useAnimate,
+ useMotionValue,
+} from "framer-motion";
+
+import React, { useEffect, useState } from "react";
+import { Stars } from "./stars";
+
+const Hills1 = ({ isNight }: { isNight: boolean }) => {
+ const fill = isNight ? "#1C475F" : "#47E2B9";
+ return (
+
+ );
+};
+
+const Hills2 = ({ isNight }: { isNight: boolean }) => {
+ const fill = isNight ? "#133949" : "#34B4A1";
+
+ return (
+
+ );
+};
+
+const Hills3 = ({ isNight }: { isNight: boolean }) => {
+ const fill = isNight ? "#223F50" : "#33BC8B";
+
+ return (
+
+ );
+};
+
+const Hills4 = ({ isNight }: { isNight: boolean }) => {
+ const fill = isNight ? "#223F50" : "#33BC8B";
+
+ return (
+
+ );
+};
+
+const Cathedral = ({ onClick }: { onClick: () => void }) => (
+
+);
+
+const Snake = () => (
+
+);
+
+const SnakeTail = () => (
+
+);
+
+const Sun = () => (
+
+);
+
+const Moon = () => (
+
+);
+
+const Cloud = () => (
+
+);
+
+const NightTail = () => (
+
+);
+
+const Cocktail = () => (
+
+);
+
+const staggerItems = stagger(0.2, { startDelay: 0 });
+
+export const HeroIllustration = ({ cycle }: { cycle: "day" | "night" }) => {
+ const [isNight, setIsNight] = useState(cycle === "night");
+
+ const [scope, animate] = useAnimate();
+ const snakeX = useMotionValue(400);
+ const snakeScaleX = useMotionValue(1);
+ const snakeY = useMotionValue(600);
+ const snakeTailX = useMotionValue(1000);
+ const snakeTailY = useMotionValue(600);
+ const snakeOpacity = useMotionValue(0);
+ const cocktailX = useMotionValue(129);
+ const cocktailOpacity = useMotionValue(0);
+ const nightTailOpacity = useMotionValue(0);
+ const backgroundColor = useMotionValue(isNight ? "#151C28" : "#6A80EF");
+
+ const animateClouds = (enter: boolean, delay = 0.2) => {
+ animate(
+ ".cloud",
+ { right: enter ? ["-200px", "100px"] : ["100px", "-200px"] },
+ { duration: 0.5, delay },
+ );
+ animate(
+ ".cloud-2",
+ { right: enter ? ["-200px", "150px"] : ["150px", "-200px"] },
+ { duration: 0.5, delay: delay + 0.1 },
+ );
+ };
+
+ const dayAnimation = () => {
+ animate(
+ ".landmark",
+ { bottom: ["-100%", "0%"] },
+ {
+ duration: 0.5,
+ delay: staggerItems,
+ },
+ ).then(async () => {
+ snakeOpacity.set(1);
+
+ await animate(snakeY, 20, { duration: 0.5, ease: "linear" });
+ await animate(snakeTailY, 100, { duration: 0.5, ease: "linear" });
+ animate(snakeTailY, [100, 120, 100, 120, 100, 120], {
+ duration: 2.3,
+ delay: 0,
+ ease: "easeInOut",
+ });
+ animate(snakeTailX, 380, {
+ duration: 2.4,
+ delay: 0,
+ ease: "easeInOut",
+ });
+ animate(snakeY, [20, 0, 20, 0, 20, 0], {
+ duration: 2.3,
+ delay: 0,
+ ease: "easeInOut",
+ });
+ animate(snakeX, -220, { duration: 2.4, delay: 0, ease: "easeInOut" });
+ });
+
+ animateClouds(true);
+ };
+
+ const nightAnimation = async () => {
+ nightTailOpacity.set(1);
+ cocktailOpacity.set(1);
+ snakeOpacity.set(1);
+ snakeX.set(-240);
+ snakeScaleX.set(-1);
+
+ animate(snakeY, -40, { duration: 0.5, delay: 1.4, ease: "linear" });
+ await animate(
+ ".landmark",
+ { bottom: ["-100%", "0%"] },
+ {
+ duration: 0.5,
+ delay: staggerItems,
+ },
+ );
+
+ await animate(cocktailX, 0, { duration: 0.5, delay: 0.6 });
+
+ animate(
+ ".stars",
+ {
+ opacity: [0, 1],
+ },
+ { duration: 0.3, delay: 0.1 },
+ );
+ };
+
+ useEffect(() => {
+ if (isNight) {
+ nightAnimation();
+ } else {
+ dayAnimation();
+ }
+ }, []);
+
+ const toggle = async () => {
+ setIsNight(!isNight);
+
+ animate(backgroundColor, isNight ? "#6A80EF" : "#151C28", {
+ duration: 0.5,
+ });
+
+ if (isNight) {
+ animate(".stars", { opacity: 0 }, { duration: 0.5 });
+ animateClouds(true, 0);
+ } else {
+ animate(".stars", { opacity: 1 }, { duration: 0.5 });
+ animateClouds(false, 0);
+ }
+
+ await Promise.all([
+ animate(snakeY, 600, { duration: 0.5, ease: "linear" }),
+ animate(snakeTailY, 600, { duration: 0.5, ease: "linear" }),
+ animate(
+ ".cathedral",
+ { y: 600, x: "-50%" },
+ { duration: 0.5, ease: "linear" },
+ ),
+ ]);
+
+ nightTailOpacity.set(isNight ? 0 : 1);
+ cocktailOpacity.set(isNight ? 0 : 1);
+ snakeScaleX.set(isNight ? 1 : -1);
+ snakeTailX.set(380);
+
+ await Promise.all([
+ animate(snakeY, -40, { duration: 0.5, ease: "linear" }),
+ animate(
+ ".cathedral",
+ { y: 0, x: "-50%" },
+ { duration: 0.5, ease: "linear" },
+ ),
+ isNight && animate(snakeTailY, 100, { duration: 0.5, ease: "linear" }),
+ !isNight && animate(cocktailX, 0, { duration: 0.5, delay: 0.6 }),
+ ]);
+ };
+
+ if (typeof window !== "undefined") {
+ (window as any).toggle = toggle;
+ }
+
+ return (
+
+
+
+
+
+
+
+
+
+ {isNight ? : }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/styleguide/src/hero-illustration/index.tsx b/styleguide/src/hero-illustration/index.tsx
new file mode 100644
index 0000000000..22000ac699
--- /dev/null
+++ b/styleguide/src/hero-illustration/index.tsx
@@ -0,0 +1,2 @@
+export { HeroIllustration } from "./hero-illustration";
+export { HeroIllustrationBologna } from "./hero-illustration-bologna";
diff --git a/styleguide/src/hero-illustration/stars.tsx b/styleguide/src/hero-illustration/stars.tsx
new file mode 100644
index 0000000000..1cef923f23
--- /dev/null
+++ b/styleguide/src/hero-illustration/stars.tsx
@@ -0,0 +1,2307 @@
+import React from "react";
+
+export const Stars = () => (
+
+);
diff --git a/styleguide/src/horizontal-stack/horizontal-stack.stories.tsx b/styleguide/src/horizontal-stack/horizontal-stack.stories.tsx
new file mode 100644
index 0000000000..61e7912def
--- /dev/null
+++ b/styleguide/src/horizontal-stack/horizontal-stack.stories.tsx
@@ -0,0 +1,46 @@
+import React from "react";
+import { Button } from "../button/button";
+import { Heading } from "../heading";
+import { HorizontalStack } from "./horizontal-stack";
+
+export default {
+ title: "Horizontal Stack",
+ argTypes: {
+ align: {
+ defaultValue: "left",
+ control: {
+ type: "select",
+ options: ["left", "center", "right"],
+ },
+ },
+ },
+ parameters: {
+ layout: "centered",
+ },
+};
+
+export const Primary = (props) => (
+
+
+ Long Title
+ With multiple
+ Lines in it
+
+
+
+
+
+
+
+
+
+
+);
diff --git a/styleguide/src/horizontal-stack/horizontal-stack.tsx b/styleguide/src/horizontal-stack/horizontal-stack.tsx
new file mode 100644
index 0000000000..2308fdb7c0
--- /dev/null
+++ b/styleguide/src/horizontal-stack/horizontal-stack.tsx
@@ -0,0 +1,52 @@
+import clsx from "clsx";
+import React, { ReactNode } from "react";
+
+type Props = {
+ children: ReactNode;
+ alignItems?: "start" | "center" | "end";
+ justifyContent?: "start" | "center" | "end" | "spaceBetween" | "spaceAround";
+ wrap?: "wrap" | "wrapMobileOnly" | "nowrap" | "wrapReverse";
+ gap?: "none" | "small" | "medium";
+ reverse?: boolean;
+ fullWidth?: boolean;
+};
+
+export const HorizontalStack = ({
+ children,
+ gap = "none",
+ alignItems,
+ justifyContent,
+ wrap,
+ reverse = false,
+ fullWidth = false,
+}: Props) => (
+
+ {children}
+
+);
diff --git a/styleguide/src/horizontal-stack/index.tsx b/styleguide/src/horizontal-stack/index.tsx
new file mode 100644
index 0000000000..51d28523c7
--- /dev/null
+++ b/styleguide/src/horizontal-stack/index.tsx
@@ -0,0 +1 @@
+export { HorizontalStack } from "./horizontal-stack";
diff --git a/styleguide/src/icons/arrow-down.tsx b/styleguide/src/icons/arrow-down.tsx
new file mode 100644
index 0000000000..e451d280dd
--- /dev/null
+++ b/styleguide/src/icons/arrow-down.tsx
@@ -0,0 +1,14 @@
+import * as React from "react";
+
+export const ArrowDownIcon = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/icons/arrow.tsx b/styleguide/src/icons/arrow.tsx
new file mode 100644
index 0000000000..5f7847c692
--- /dev/null
+++ b/styleguide/src/icons/arrow.tsx
@@ -0,0 +1,14 @@
+import * as React from "react";
+
+export const ArrowIcon = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/icons/circle.tsx b/styleguide/src/icons/circle.tsx
new file mode 100644
index 0000000000..c0ca3fb652
--- /dev/null
+++ b/styleguide/src/icons/circle.tsx
@@ -0,0 +1,9 @@
+import * as React from "react";
+
+export const CircleIcon = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/icons/close.tsx b/styleguide/src/icons/close.tsx
new file mode 100644
index 0000000000..f442d42f18
--- /dev/null
+++ b/styleguide/src/icons/close.tsx
@@ -0,0 +1,24 @@
+import clsx from "clsx";
+import React, { SVGProps } from "react";
+
+type Props = SVGProps & {
+ full?: boolean;
+};
+
+export const CloseIcon = (props: Props) => (
+
+);
diff --git a/styleguide/src/icons/drink.tsx b/styleguide/src/icons/drink.tsx
new file mode 100644
index 0000000000..ad10db9d3c
--- /dev/null
+++ b/styleguide/src/icons/drink.tsx
@@ -0,0 +1,27 @@
+import * as React from "react";
+
+export const DrinkIcon = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/icons/email.tsx b/styleguide/src/icons/email.tsx
new file mode 100644
index 0000000000..19986dedb9
--- /dev/null
+++ b/styleguide/src/icons/email.tsx
@@ -0,0 +1,29 @@
+import * as React from "react";
+
+export const EmailIcon = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/icons/facebook.tsx b/styleguide/src/icons/facebook.tsx
new file mode 100644
index 0000000000..87c4b65ffc
--- /dev/null
+++ b/styleguide/src/icons/facebook.tsx
@@ -0,0 +1,7 @@
+import React, { SVGProps } from "react";
+
+export const FacebookIcon = (props: SVGProps) => (
+
+);
diff --git a/styleguide/src/icons/file-upload.tsx b/styleguide/src/icons/file-upload.tsx
new file mode 100644
index 0000000000..aad9724706
--- /dev/null
+++ b/styleguide/src/icons/file-upload.tsx
@@ -0,0 +1,43 @@
+import React from "react";
+
+export const FileUploadIcon = (props) => (
+
+);
diff --git a/styleguide/src/icons/forks.tsx b/styleguide/src/icons/forks.tsx
new file mode 100644
index 0000000000..045bd3c969
--- /dev/null
+++ b/styleguide/src/icons/forks.tsx
@@ -0,0 +1,19 @@
+import * as React from "react";
+
+export const ForksIcon = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/icons/gear.tsx b/styleguide/src/icons/gear.tsx
new file mode 100644
index 0000000000..d26c901284
--- /dev/null
+++ b/styleguide/src/icons/gear.tsx
@@ -0,0 +1,15 @@
+import * as React from "react";
+
+export const GearIcon = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/icons/github.tsx b/styleguide/src/icons/github.tsx
new file mode 100644
index 0000000000..3193b23d65
--- /dev/null
+++ b/styleguide/src/icons/github.tsx
@@ -0,0 +1,7 @@
+import React, { SVGProps } from "react";
+
+export const GithubIcon = (props: SVGProps) => (
+
+);
diff --git a/styleguide/src/icons/heart.tsx b/styleguide/src/icons/heart.tsx
new file mode 100644
index 0000000000..f4558b8c4b
--- /dev/null
+++ b/styleguide/src/icons/heart.tsx
@@ -0,0 +1,31 @@
+import clsx from "clsx";
+import * as React from "react";
+
+type Props = React.SVGProps & {
+ filled?: boolean;
+ onClick?: React.MouseEventHandler;
+};
+
+export const HeartIcon = ({ filled = false, onClick, ...props }: Props) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/icons/hotel.tsx b/styleguide/src/icons/hotel.tsx
new file mode 100644
index 0000000000..2bccec96a8
--- /dev/null
+++ b/styleguide/src/icons/hotel.tsx
@@ -0,0 +1,15 @@
+import * as React from "react";
+
+export const HotelIcon = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/icons/icons.stories.tsx b/styleguide/src/icons/icons.stories.tsx
new file mode 100644
index 0000000000..3059f7d478
--- /dev/null
+++ b/styleguide/src/icons/icons.stories.tsx
@@ -0,0 +1,28 @@
+import React, { useState } from "react";
+import { HeartIcon } from "./heart";
+import { LiveIcon } from "./live";
+import { LiveCircleIcon } from "./live-circle";
+
+export default {
+ title: "Icons",
+ parameters: {
+ layout: "centered",
+ },
+};
+
+export const Primary = () => {
+ const [fill, setToggleFill] = useState(false);
+ return (
+
+
setToggleFill((value) => !value)}
+ />
+
+ Live circle:
+
+
+
+
+ );
+};
diff --git a/styleguide/src/icons/icons.ts b/styleguide/src/icons/icons.ts
new file mode 100644
index 0000000000..f2c6c8330a
--- /dev/null
+++ b/styleguide/src/icons/icons.ts
@@ -0,0 +1,90 @@
+import { ArrowIcon } from "./arrow";
+import { ArrowDownIcon } from "./arrow-down";
+import { CircleIcon } from "./circle";
+import { CloseIcon } from "./close";
+import { DrinkIcon } from "./drink";
+import { EmailIcon } from "./email";
+import { FacebookIcon } from "./facebook";
+import { FileUploadIcon } from "./file-upload";
+import { ForksIcon } from "./forks";
+import { GearIcon } from "./gear";
+import { GithubIcon } from "./github";
+import { HeartIcon } from "./heart";
+import { HotelIcon } from "./hotel";
+import { InstagramIcon } from "./instagram";
+import { LinkedinIcon } from "./linkedin";
+import { LiveIcon } from "./live";
+import { LiveCircleIcon } from "./live-circle";
+import { MastodonIcon } from "./mastodon";
+import { MenuIcon } from "./menu";
+import { MinusIcon } from "./minus";
+import { PlusIcon } from "./plus";
+import { SignOutIcon } from "./signout";
+import { StarIcon } from "./star";
+import { TicketsIcon } from "./tickets";
+import { TShirtIcon } from "./tshirt";
+import { TwitterIcon } from "./twitter";
+import type { Icon } from "./types";
+import { UserIcon } from "./user";
+import { WebIcon } from "./web";
+
+export const getIcon = (name: Icon) => {
+ switch (name) {
+ case "twitter":
+ return TwitterIcon;
+ case "github":
+ return GithubIcon;
+ case "instagram":
+ return InstagramIcon;
+ case "facebook":
+ return FacebookIcon;
+ case "arrow-down":
+ return ArrowDownIcon;
+ case "close":
+ return CloseIcon;
+ case "linkedin":
+ return LinkedinIcon;
+ case "menu":
+ return MenuIcon;
+ case "plus":
+ return PlusIcon;
+ case "tickets":
+ return TicketsIcon;
+ case "arrow":
+ return ArrowIcon;
+ case "hotel":
+ return HotelIcon;
+ case "mastodon":
+ return MastodonIcon;
+ case "minus":
+ return MinusIcon;
+ case "star":
+ return StarIcon;
+ case "tshirt":
+ return TShirtIcon;
+ case "user":
+ return UserIcon;
+ case "heart":
+ return HeartIcon;
+ case "live":
+ return LiveIcon;
+ case "sign-out":
+ return SignOutIcon;
+ case "gear":
+ return GearIcon;
+ case "email":
+ return EmailIcon;
+ case "circle":
+ return CircleIcon;
+ case "web":
+ return WebIcon;
+ case "drink":
+ return DrinkIcon;
+ case "forks":
+ return ForksIcon;
+ case "live-circle":
+ return LiveCircleIcon;
+ case "file-upload":
+ return FileUploadIcon;
+ }
+};
diff --git a/styleguide/src/icons/index.ts b/styleguide/src/icons/index.ts
new file mode 100644
index 0000000000..8e3a5ee01e
--- /dev/null
+++ b/styleguide/src/icons/index.ts
@@ -0,0 +1,29 @@
+export { TwitterIcon } from "./twitter";
+export { GithubIcon } from "./github";
+export { InstagramIcon } from "./instagram";
+export { FacebookIcon } from "./facebook";
+export { ArrowDownIcon } from "./arrow-down";
+export { CloseIcon } from "./close";
+export { LinkedinIcon } from "./linkedin";
+export { MenuIcon } from "./menu";
+export { PlusIcon } from "./plus";
+export { TicketsIcon } from "./tickets";
+export { ArrowIcon } from "./arrow";
+export { HotelIcon } from "./hotel";
+export { MastodonIcon } from "./mastodon";
+export { MinusIcon } from "./minus";
+export { StarIcon } from "./star";
+export { TShirtIcon } from "./tshirt";
+export { UserIcon } from "./user";
+export { HeartIcon } from "./heart";
+export { LiveIcon } from "./live";
+export { SignOutIcon } from "./signout";
+export { GearIcon } from "./gear";
+export { CircleIcon } from "./circle";
+export { WebIcon } from "./web";
+export { ForksIcon } from "./forks";
+export { DrinkIcon } from "./drink";
+export { LiveCircleIcon } from "./live-circle";
+export { FileUploadIcon } from "./file-upload";
+
+export { getIcon } from "./icons";
diff --git a/styleguide/src/icons/instagram.tsx b/styleguide/src/icons/instagram.tsx
new file mode 100644
index 0000000000..e74e54af5a
--- /dev/null
+++ b/styleguide/src/icons/instagram.tsx
@@ -0,0 +1,7 @@
+import React, { SVGProps } from "react";
+
+export const InstagramIcon = (props: SVGProps) => (
+
+);
diff --git a/styleguide/src/icons/linkedin.tsx b/styleguide/src/icons/linkedin.tsx
new file mode 100644
index 0000000000..6f349d9ce9
--- /dev/null
+++ b/styleguide/src/icons/linkedin.tsx
@@ -0,0 +1,7 @@
+import React from "react";
+
+export const LinkedinIcon = (props) => (
+
+);
diff --git a/styleguide/src/icons/live-circle.tsx b/styleguide/src/icons/live-circle.tsx
new file mode 100644
index 0000000000..24fef6c2e3
--- /dev/null
+++ b/styleguide/src/icons/live-circle.tsx
@@ -0,0 +1,15 @@
+import * as React from "react";
+
+export const LiveCircleIcon = (props: React.SVGProps) => (
+
+);
diff --git a/styleguide/src/icons/live.tsx b/styleguide/src/icons/live.tsx
new file mode 100644
index 0000000000..861a27fe4e
--- /dev/null
+++ b/styleguide/src/icons/live.tsx
@@ -0,0 +1,22 @@
+import * as React from "react";
+
+export const LiveIcon = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/icons/mastodon.tsx b/styleguide/src/icons/mastodon.tsx
new file mode 100644
index 0000000000..3b06212f63
--- /dev/null
+++ b/styleguide/src/icons/mastodon.tsx
@@ -0,0 +1,7 @@
+import React from "react";
+
+export const MastodonIcon = (props) => (
+
+);
diff --git a/styleguide/src/icons/menu.tsx b/styleguide/src/icons/menu.tsx
new file mode 100644
index 0000000000..83e29dd73d
--- /dev/null
+++ b/styleguide/src/icons/menu.tsx
@@ -0,0 +1,25 @@
+import clsx from "clsx";
+import React, { SVGProps } from "react";
+
+type Props = SVGProps & {
+ full?: boolean;
+};
+
+export const MenuIcon = ({ full, ...props }: Props) => (
+
+);
diff --git a/styleguide/src/icons/minus.tsx b/styleguide/src/icons/minus.tsx
new file mode 100644
index 0000000000..b4101dd248
--- /dev/null
+++ b/styleguide/src/icons/minus.tsx
@@ -0,0 +1,14 @@
+import * as React from "react";
+
+export const MinusIcon = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/icons/plus.tsx b/styleguide/src/icons/plus.tsx
new file mode 100644
index 0000000000..4bbafdeea2
--- /dev/null
+++ b/styleguide/src/icons/plus.tsx
@@ -0,0 +1,14 @@
+import * as React from "react";
+
+export const PlusIcon = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/icons/signout.tsx b/styleguide/src/icons/signout.tsx
new file mode 100644
index 0000000000..658f274d62
--- /dev/null
+++ b/styleguide/src/icons/signout.tsx
@@ -0,0 +1,14 @@
+import React from "react";
+
+export const SignOutIcon = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/icons/star.tsx b/styleguide/src/icons/star.tsx
new file mode 100644
index 0000000000..b5bb91ba3a
--- /dev/null
+++ b/styleguide/src/icons/star.tsx
@@ -0,0 +1,13 @@
+import * as React from "react";
+
+export const StarIcon = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/icons/tickets.tsx b/styleguide/src/icons/tickets.tsx
new file mode 100644
index 0000000000..7be800fcb7
--- /dev/null
+++ b/styleguide/src/icons/tickets.tsx
@@ -0,0 +1,25 @@
+import clsx from "clsx";
+import React, { SVGProps } from "react";
+
+type Props = SVGProps & {
+ full?: boolean;
+};
+
+export const TicketsIcon = ({ full, ...props }: Props) => (
+
+);
diff --git a/styleguide/src/icons/tshirt.tsx b/styleguide/src/icons/tshirt.tsx
new file mode 100644
index 0000000000..83cda07f5b
--- /dev/null
+++ b/styleguide/src/icons/tshirt.tsx
@@ -0,0 +1,13 @@
+import * as React from "react";
+
+export const TShirtIcon = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/icons/twitter.tsx b/styleguide/src/icons/twitter.tsx
new file mode 100644
index 0000000000..dd59822faf
--- /dev/null
+++ b/styleguide/src/icons/twitter.tsx
@@ -0,0 +1,7 @@
+import React, { SVGProps } from "react";
+
+export const TwitterIcon = (props: SVGProps) => (
+
+);
diff --git a/styleguide/src/icons/types.ts b/styleguide/src/icons/types.ts
new file mode 100644
index 0000000000..843af4679e
--- /dev/null
+++ b/styleguide/src/icons/types.ts
@@ -0,0 +1,29 @@
+export type Icon =
+ | "tickets"
+ | "tshirt"
+ | "hotel"
+ | "star"
+ | "arrow"
+ | "user"
+ | "heart"
+ | "arrow-down"
+ | "close"
+ | "menu"
+ | "plus"
+ | "minus"
+ | "live"
+ | "facebook"
+ | "twitter"
+ | "mastodon"
+ | "instagram"
+ | "linkedin"
+ | "github"
+ | "gear"
+ | "sign-out"
+ | "email"
+ | "circle"
+ | "web"
+ | "drink"
+ | "forks"
+ | "live-circle"
+ | "file-upload";
diff --git a/styleguide/src/icons/user.tsx b/styleguide/src/icons/user.tsx
new file mode 100644
index 0000000000..521f5faa59
--- /dev/null
+++ b/styleguide/src/icons/user.tsx
@@ -0,0 +1,24 @@
+import clsx from "clsx";
+import React, { SVGProps } from "react";
+type Props = SVGProps & {
+ full?: boolean;
+};
+
+export const UserIcon = ({ full, ...props }: Props) => (
+
+);
diff --git a/styleguide/src/icons/web.tsx b/styleguide/src/icons/web.tsx
new file mode 100644
index 0000000000..47a07995ae
--- /dev/null
+++ b/styleguide/src/icons/web.tsx
@@ -0,0 +1,11 @@
+import * as React from "react";
+
+export const WebIcon = (props: React.SVGProps) => (
+
+);
diff --git a/styleguide/src/illustrations/cathedral.tsx b/styleguide/src/illustrations/cathedral.tsx
new file mode 100644
index 0000000000..e5d2cafaf9
--- /dev/null
+++ b/styleguide/src/illustrations/cathedral.tsx
@@ -0,0 +1,271 @@
+import * as React from "react";
+
+export const Cathedral = (props: React.SVGProps) => {
+ return (
+
+ );
+};
+Cathedral.backgroundColor = "#6A80EF";
diff --git a/styleguide/src/illustrations/florence.tsx b/styleguide/src/illustrations/florence.tsx
new file mode 100644
index 0000000000..f90e7991f1
--- /dev/null
+++ b/styleguide/src/illustrations/florence.tsx
@@ -0,0 +1,287 @@
+import * as React from "react";
+
+export const Florence = (props: React.SVGProps) => {
+ return (
+
+ );
+};
+
+Florence.backgroundColor = "#F8B03D";
diff --git a/styleguide/src/illustrations/florence2.tsx b/styleguide/src/illustrations/florence2.tsx
new file mode 100644
index 0000000000..f2d34dc5a2
--- /dev/null
+++ b/styleguide/src/illustrations/florence2.tsx
@@ -0,0 +1,286 @@
+import * as React from "react";
+
+export const Florence2 = (props: React.SVGProps) => {
+ return (
+
+ );
+};
+Florence2.backgroundColor = "#F8B03D";
diff --git a/styleguide/src/illustrations/hand-with-snake-inside.tsx b/styleguide/src/illustrations/hand-with-snake-inside.tsx
new file mode 100644
index 0000000000..5420d80fa2
--- /dev/null
+++ b/styleguide/src/illustrations/hand-with-snake-inside.tsx
@@ -0,0 +1,125 @@
+import * as React from "react";
+
+export const HandWithSnakeInside = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/illustrations/illustration.stories.tsx b/styleguide/src/illustrations/illustration.stories.tsx
new file mode 100644
index 0000000000..b19ccdfe36
--- /dev/null
+++ b/styleguide/src/illustrations/illustration.stories.tsx
@@ -0,0 +1,121 @@
+import React from "react";
+import { Cathedral } from "./cathedral";
+import { Florence } from "./florence";
+import { Florence2 } from "./florence2";
+import { HandWithSnakeInside } from "./hand-with-snake-inside";
+import { Snake1 } from "./snake-1";
+import { Snake2 } from "./snake-2";
+import { Snake4 } from "./snake-4";
+import { Snake5 } from "./snake-5";
+import { SnakeBody } from "./snake-body";
+import { SnakeCouple } from "./snake-couple";
+import { SnakeDNA } from "./snake-dna";
+import { SnakeHead } from "./snake-head";
+import { SnakeInDragon } from "./snake-in-dragon";
+import { SnakeInDragonInverted } from "./snake-in-dragon-inverted";
+import { SnakeLetter } from "./snake-letter";
+import { SnakeLongNeck } from "./snake-long-neck";
+import { SnakePencil } from "./snake-pencil";
+import { SnakeTail } from "./snake-tail";
+import { SnakeWithBalloon } from "./snake-with-balloon";
+import { SnakeWithContacts } from "./snake-with-contacts";
+import { SnakesWithBanner } from "./snakes-with-banner";
+import { SnakesWithCocktail } from "./snakes-with-cocktail";
+import { SnakesWithDirections } from "./snakes-with-directions";
+import { SnakesWithOutlines } from "./snakes-with-outlines";
+import { TripleSnakes } from "./triple-snakes";
+import { SnakeWithPopcorn } from "./snake-with-popcorn";
+import { SnakesFacingLeft } from "./snakes-facing-left";
+
+export default {
+ title: "Illustrations",
+};
+
+const Template = ({ component: Component }) => {
+ return ;
+};
+Template.args = { component: SnakeCouple };
+
+export const CathedralStory = Template.bind({});
+CathedralStory.args = { component: Cathedral };
+
+export const FlorenceStory = Template.bind({});
+FlorenceStory.args = { component: Florence };
+
+export const Florence2Story = Template.bind({});
+Florence2Story.args = { component: Florence2 };
+
+export const HandWithSnakeInsideStory = Template.bind({});
+HandWithSnakeInsideStory.args = { component: HandWithSnakeInside };
+
+export const Snake1Story = Template.bind({});
+Snake1Story.args = { component: Snake1 };
+
+export const Snake2Story = Template.bind({});
+Snake2Story.args = { component: Snake2 };
+
+export const Snake3Story = Template.bind({});
+Snake3Story.args = { component: SnakeTail };
+
+export const Snake4Story = Template.bind({});
+Snake4Story.args = { component: Snake4 };
+
+export const Snake5Story = Template.bind({});
+Snake5Story.args = { component: Snake5 };
+
+export const SnakeBodyStory = Template.bind({});
+SnakeBodyStory.args = { component: SnakeBody };
+
+export const SnakeCoupleStory = Template.bind({});
+SnakeCoupleStory.args = { component: SnakeCouple };
+
+export const SnakeDNAStory = Template.bind({});
+SnakeDNAStory.args = { component: SnakeDNA };
+
+export const SnakeHeadStory = Template.bind({});
+SnakeHeadStory.args = { component: SnakeHead };
+
+export const SnakeInDragonInvertedStory = Template.bind({});
+SnakeInDragonInvertedStory.args = { component: SnakeInDragonInverted };
+
+export const SnakeInDragonStory = Template.bind({});
+SnakeInDragonStory.args = { component: SnakeInDragon };
+
+export const SnakeLetterStory = Template.bind({});
+SnakeLetterStory.args = { component: SnakeLetter };
+
+export const SnakeLongNeckStory = Template.bind({});
+SnakeLongNeckStory.args = { component: SnakeLongNeck };
+
+export const SnakePencilStory = Template.bind({});
+SnakePencilStory.args = { component: SnakePencil };
+
+export const SnakeTailStory = Template.bind({});
+SnakeTailStory.args = { component: SnakeTail };
+
+export const SnakeWithBalloonStory = Template.bind({});
+SnakeWithBalloonStory.args = { component: SnakeWithBalloon };
+
+export const SnakeWithContactsStory = Template.bind({});
+SnakeWithContactsStory.args = { component: SnakeWithContacts };
+
+export const SnakesWithBannerStory = Template.bind({});
+SnakesWithBannerStory.args = { component: SnakesWithBanner };
+
+export const SnakesWithCocktailStory = Template.bind({});
+SnakesWithCocktailStory.args = { component: SnakesWithCocktail };
+
+export const SnakesWithDirectionsStory = Template.bind({});
+SnakesWithDirectionsStory.args = { component: SnakesWithDirections };
+
+export const SnakesWithOutlinesStory = Template.bind({});
+SnakesWithOutlinesStory.args = { component: SnakesWithOutlines };
+
+export const TripleSnakesStory = Template.bind({});
+TripleSnakesStory.args = { component: TripleSnakes };
+
+export const SnakeWithPopcornStory = Template.bind({});
+SnakeWithPopcornStory.args = { component: SnakeWithPopcorn };
+
+export const SnakesFacingLeftStory = Template.bind({});
+SnakesFacingLeftStory.args = { component: SnakesFacingLeft };
diff --git a/styleguide/src/illustrations/illustrations.ts b/styleguide/src/illustrations/illustrations.ts
new file mode 100644
index 0000000000..f4d930ce23
--- /dev/null
+++ b/styleguide/src/illustrations/illustrations.ts
@@ -0,0 +1,91 @@
+import { Cathedral } from "./cathedral";
+import { Florence } from "./florence";
+import { Florence2 } from "./florence2";
+import { HandWithSnakeInside } from "./hand-with-snake-inside";
+import { Snake1 } from "./snake-1";
+import { Snake2 } from "./snake-2";
+import { Snake4 } from "./snake-4";
+import { Snake5 } from "./snake-5";
+import { SnakeBody } from "./snake-body";
+import { SnakeCouple } from "./snake-couple";
+import { SnakeDNA } from "./snake-dna";
+import { SnakeHead } from "./snake-head";
+import { SnakeInDragon } from "./snake-in-dragon";
+import { SnakeInDragonInverted } from "./snake-in-dragon-inverted";
+import { SnakeLetter } from "./snake-letter";
+import { SnakeLongNeck } from "./snake-long-neck";
+import { SnakePencil } from "./snake-pencil";
+import { SnakeTail } from "./snake-tail";
+import { SnakeTailUp } from "./snake-tail-up";
+import { SnakeWithBalloon } from "./snake-with-balloon";
+import { SnakeWithContacts } from "./snake-with-contacts";
+import { SnakeWithPopcorn } from "./snake-with-popcorn";
+import { SnakesWithBanner } from "./snakes-with-banner";
+import { SnakesWithCocktail } from "./snakes-with-cocktail";
+import { SnakesWithDirections } from "./snakes-with-directions";
+import { SnakesWithOutlines } from "./snakes-with-outlines";
+import { TripleSnakes } from "./triple-snakes";
+import { SnakesFacingLeft } from "./snakes-facing-left";
+import { Illustration } from "./types";
+
+export const getIllustration = (name: Illustration | undefined) => {
+ switch (name) {
+ case "cathedral":
+ return Cathedral;
+ case "florence":
+ return Florence;
+ case "florence2":
+ return Florence2;
+ case "handWithSnakeInside":
+ return HandWithSnakeInside;
+ case "snake1":
+ return Snake1;
+ case "snake2":
+ return Snake2;
+ case "snake4":
+ return Snake4;
+ case "snake5":
+ return Snake5;
+ case "snakeBody":
+ return SnakeBody;
+ case "snakeCouple":
+ return SnakeCouple;
+ case "snakeDNA":
+ return SnakeDNA;
+ case "snakeHead":
+ return SnakeHead;
+ case "snakeInDragon":
+ return SnakeInDragon;
+ case "snakeInDragonInverted":
+ return SnakeInDragonInverted;
+ case "snakeLetter":
+ return SnakeLetter;
+ case "snakeLongNeck":
+ return SnakeLongNeck;
+ case "snakePencil":
+ return SnakePencil;
+ case "snakeTail":
+ return SnakeTail;
+ case "snakeWithBalloon":
+ return SnakeWithBalloon;
+ case "snakeWithContacts":
+ return SnakeWithContacts;
+ case "snakesWithBanner":
+ return SnakesWithBanner;
+ case "snakesWithCocktail":
+ return SnakesWithCocktail;
+ case "snakesWithDirections":
+ return SnakesWithDirections;
+ case "snakesWithOutlines":
+ return SnakesWithOutlines;
+ case "tripleSnakes":
+ return TripleSnakes;
+ case "snakeTailUp":
+ return SnakeTailUp;
+ case "snakeWithPopcorn":
+ return SnakeWithPopcorn;
+ case "snakesFacingLeft":
+ return SnakesFacingLeft;
+ }
+ return null;
+};
diff --git a/styleguide/src/illustrations/index.ts b/styleguide/src/illustrations/index.ts
new file mode 100644
index 0000000000..78ef52636f
--- /dev/null
+++ b/styleguide/src/illustrations/index.ts
@@ -0,0 +1,29 @@
+export { Cathedral } from "./cathedral";
+export { Florence } from "./florence";
+export { Florence2 } from "./florence2";
+export { HandWithSnakeInside } from "./hand-with-snake-inside";
+export { Snake1 } from "./snake-1";
+export { Snake2 } from "./snake-2";
+export { Snake4 } from "./snake-4";
+export { Snake5 } from "./snake-5";
+export { SnakeBody } from "./snake-body";
+export { SnakeCouple } from "./snake-couple";
+export { SnakeDNA } from "./snake-dna";
+export { SnakeHead } from "./snake-head";
+export { SnakeInDragon } from "./snake-in-dragon";
+export { SnakeInDragonInverted } from "./snake-in-dragon-inverted";
+export { SnakeLetter } from "./snake-letter";
+export { SnakeLongNeck } from "./snake-long-neck";
+export { SnakePencil } from "./snake-pencil";
+export { SnakeTail } from "./snake-tail";
+export { SnakeWithBalloon } from "./snake-with-balloon";
+export { SnakeWithContacts } from "./snake-with-contacts";
+export { SnakesWithBanner } from "./snakes-with-banner";
+export { SnakesWithCocktail } from "./snakes-with-cocktail";
+export { SnakesWithDirections } from "./snakes-with-directions";
+export { SnakesWithOutlines } from "./snakes-with-outlines";
+export { TripleSnakes } from "./triple-snakes";
+export { SnakeTailUp } from "./snake-tail-up";
+export { SnakeWithPopcorn } from "./snake-with-popcorn";
+export { SnakesFacingLeft } from "./snakes-facing-left";
+export { getIllustration } from "./illustrations";
diff --git a/styleguide/src/illustrations/snake-1.tsx b/styleguide/src/illustrations/snake-1.tsx
new file mode 100644
index 0000000000..226f866d77
--- /dev/null
+++ b/styleguide/src/illustrations/snake-1.tsx
@@ -0,0 +1,77 @@
+import * as React from "react";
+
+export const Snake1 = (props: React.SVGProps) => {
+ return (
+
+ );
+};
+Snake1.backgroundColor = "#9473B0";
diff --git a/styleguide/src/illustrations/snake-2.tsx b/styleguide/src/illustrations/snake-2.tsx
new file mode 100644
index 0000000000..fca2bcd83e
--- /dev/null
+++ b/styleguide/src/illustrations/snake-2.tsx
@@ -0,0 +1,65 @@
+import * as React from "react";
+
+export const Snake2 = (props: React.SVGProps) => {
+ return (
+
+ );
+};
+Snake2.backgroundColor = "#79CDE0";
diff --git a/styleguide/src/illustrations/snake-4.tsx b/styleguide/src/illustrations/snake-4.tsx
new file mode 100644
index 0000000000..a73f7fa3ee
--- /dev/null
+++ b/styleguide/src/illustrations/snake-4.tsx
@@ -0,0 +1,65 @@
+import * as React from "react";
+
+export const Snake4 = (props: React.SVGProps) => {
+ return (
+
+ );
+};
+Snake4.backgroundColor = "#DD9BC7";
diff --git a/styleguide/src/illustrations/snake-5.tsx b/styleguide/src/illustrations/snake-5.tsx
new file mode 100644
index 0000000000..ced7a56ff7
--- /dev/null
+++ b/styleguide/src/illustrations/snake-5.tsx
@@ -0,0 +1,65 @@
+import * as React from "react";
+
+export const Snake5 = (props: React.SVGProps) => {
+ return (
+
+ );
+};
+Snake5.backgroundColor = "#6A80EF";
diff --git a/styleguide/src/illustrations/snake-body.tsx b/styleguide/src/illustrations/snake-body.tsx
new file mode 100644
index 0000000000..6399936509
--- /dev/null
+++ b/styleguide/src/illustrations/snake-body.tsx
@@ -0,0 +1,37 @@
+import * as React from "react";
+
+export const SnakeBody = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/illustrations/snake-couple.tsx b/styleguide/src/illustrations/snake-couple.tsx
new file mode 100644
index 0000000000..6a4501902b
--- /dev/null
+++ b/styleguide/src/illustrations/snake-couple.tsx
@@ -0,0 +1,85 @@
+import React from "react";
+
+export const SnakeCouple = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/illustrations/snake-dna.tsx b/styleguide/src/illustrations/snake-dna.tsx
new file mode 100644
index 0000000000..c7d4ec336a
--- /dev/null
+++ b/styleguide/src/illustrations/snake-dna.tsx
@@ -0,0 +1,76 @@
+import React from "react";
+
+export const SnakeDNA = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/illustrations/snake-head.tsx b/styleguide/src/illustrations/snake-head.tsx
new file mode 100644
index 0000000000..4c341926d5
--- /dev/null
+++ b/styleguide/src/illustrations/snake-head.tsx
@@ -0,0 +1,49 @@
+import * as React from "react";
+
+export const SnakeHead = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/illustrations/snake-in-dragon-inverted.tsx b/styleguide/src/illustrations/snake-in-dragon-inverted.tsx
new file mode 100644
index 0000000000..ecdd1454bc
--- /dev/null
+++ b/styleguide/src/illustrations/snake-in-dragon-inverted.tsx
@@ -0,0 +1,122 @@
+import * as React from "react";
+
+export const SnakeInDragonInverted = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/illustrations/snake-in-dragon.tsx b/styleguide/src/illustrations/snake-in-dragon.tsx
new file mode 100644
index 0000000000..b6af5d87a6
--- /dev/null
+++ b/styleguide/src/illustrations/snake-in-dragon.tsx
@@ -0,0 +1,128 @@
+import * as React from "react";
+
+export const SnakeInDragon = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/illustrations/snake-letter.tsx b/styleguide/src/illustrations/snake-letter.tsx
new file mode 100644
index 0000000000..0423372c1f
--- /dev/null
+++ b/styleguide/src/illustrations/snake-letter.tsx
@@ -0,0 +1,63 @@
+import * as React from "react";
+
+export const SnakeLetter = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/illustrations/snake-long-neck.tsx b/styleguide/src/illustrations/snake-long-neck.tsx
new file mode 100644
index 0000000000..7b458fb3f5
--- /dev/null
+++ b/styleguide/src/illustrations/snake-long-neck.tsx
@@ -0,0 +1,44 @@
+import * as React from "react";
+
+export const SnakeLongNeck = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/illustrations/snake-pencil.tsx b/styleguide/src/illustrations/snake-pencil.tsx
new file mode 100644
index 0000000000..f459e5adfb
--- /dev/null
+++ b/styleguide/src/illustrations/snake-pencil.tsx
@@ -0,0 +1,64 @@
+import * as React from "react";
+
+export const SnakePencil = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/illustrations/snake-tail-up.tsx b/styleguide/src/illustrations/snake-tail-up.tsx
new file mode 100644
index 0000000000..e9f1617388
--- /dev/null
+++ b/styleguide/src/illustrations/snake-tail-up.tsx
@@ -0,0 +1,37 @@
+import * as React from "react";
+
+export const SnakeTailUp = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/illustrations/snake-tail.tsx b/styleguide/src/illustrations/snake-tail.tsx
new file mode 100644
index 0000000000..4e308b5909
--- /dev/null
+++ b/styleguide/src/illustrations/snake-tail.tsx
@@ -0,0 +1,42 @@
+import * as React from "react";
+
+export const SnakeTail = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/illustrations/snake-with-balloon.tsx b/styleguide/src/illustrations/snake-with-balloon.tsx
new file mode 100644
index 0000000000..9279795aa2
--- /dev/null
+++ b/styleguide/src/illustrations/snake-with-balloon.tsx
@@ -0,0 +1,174 @@
+import * as React from "react";
+
+export const SnakeWithBalloon = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/illustrations/snake-with-contacts.tsx b/styleguide/src/illustrations/snake-with-contacts.tsx
new file mode 100644
index 0000000000..8c87fafaca
--- /dev/null
+++ b/styleguide/src/illustrations/snake-with-contacts.tsx
@@ -0,0 +1,143 @@
+import * as React from "react";
+
+export const SnakeWithContacts = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/illustrations/snake-with-popcorn.tsx b/styleguide/src/illustrations/snake-with-popcorn.tsx
new file mode 100644
index 0000000000..4386b72a93
--- /dev/null
+++ b/styleguide/src/illustrations/snake-with-popcorn.tsx
@@ -0,0 +1,135 @@
+import * as React from "react";
+
+export const SnakeWithPopcorn = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/illustrations/snakes-facing-left.tsx b/styleguide/src/illustrations/snakes-facing-left.tsx
new file mode 100644
index 0000000000..7317b93fa9
--- /dev/null
+++ b/styleguide/src/illustrations/snakes-facing-left.tsx
@@ -0,0 +1,194 @@
+import * as React from "react";
+
+export const SnakesFacingLeft = (props: React.SVGProps) => (
+
+);
diff --git a/styleguide/src/illustrations/snakes-with-banner.tsx b/styleguide/src/illustrations/snakes-with-banner.tsx
new file mode 100644
index 0000000000..ff667549e2
--- /dev/null
+++ b/styleguide/src/illustrations/snakes-with-banner.tsx
@@ -0,0 +1,224 @@
+import * as React from "react";
+
+export const SnakesWithBanner = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/illustrations/snakes-with-cocktail.tsx b/styleguide/src/illustrations/snakes-with-cocktail.tsx
new file mode 100644
index 0000000000..77b8e382e6
--- /dev/null
+++ b/styleguide/src/illustrations/snakes-with-cocktail.tsx
@@ -0,0 +1,244 @@
+import * as React from "react";
+
+export const SnakesWithCocktail = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/illustrations/snakes-with-directions.tsx b/styleguide/src/illustrations/snakes-with-directions.tsx
new file mode 100644
index 0000000000..657734462d
--- /dev/null
+++ b/styleguide/src/illustrations/snakes-with-directions.tsx
@@ -0,0 +1,130 @@
+import * as React from "react";
+
+export const SnakesWithDirections = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/illustrations/snakes-with-outlines.tsx b/styleguide/src/illustrations/snakes-with-outlines.tsx
new file mode 100644
index 0000000000..e797bebb81
--- /dev/null
+++ b/styleguide/src/illustrations/snakes-with-outlines.tsx
@@ -0,0 +1,191 @@
+import * as React from "react";
+
+export const SnakesWithOutlines = (props: React.SVGProps) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/illustrations/triple-snakes.tsx b/styleguide/src/illustrations/triple-snakes.tsx
new file mode 100644
index 0000000000..f34294cf82
--- /dev/null
+++ b/styleguide/src/illustrations/triple-snakes.tsx
@@ -0,0 +1,74 @@
+import * as React from "react";
+
+export const TripleSnakes = (props: React.SVGProps) => {
+ return (
+
+ );
+};
+TripleSnakes.backgroundColor = "#F8B03D";
diff --git a/styleguide/src/illustrations/types.ts b/styleguide/src/illustrations/types.ts
new file mode 100644
index 0000000000..b2c0ecc2f0
--- /dev/null
+++ b/styleguide/src/illustrations/types.ts
@@ -0,0 +1,29 @@
+export type Illustration =
+ | "cathedral"
+ | "florence"
+ | "florence2"
+ | "handWithSnakeInside"
+ | "snake1"
+ | "snake2"
+ | "snake4"
+ | "snake5"
+ | "snakeBody"
+ | "snakeCouple"
+ | "snakeDNA"
+ | "snakeHead"
+ | "snakeInDragon"
+ | "snakeInDragonInverted"
+ | "snakeLetter"
+ | "snakeLongNeck"
+ | "snakeTail"
+ | "snakePencil"
+ | "snakeWithBalloon"
+ | "snakeWithContacts"
+ | "snakesWithBanner"
+ | "snakesWithCocktail"
+ | "snakesWithDirections"
+ | "snakesWithOutlines"
+ | "tripleSnakes"
+ | "snakeTailUp"
+ | "snakeWithPopcorn"
+ | "snakesFacingLeft";
diff --git a/styleguide/src/index.ts b/styleguide/src/index.ts
new file mode 100644
index 0000000000..89835cb6df
--- /dev/null
+++ b/styleguide/src/index.ts
@@ -0,0 +1,71 @@
+// styles
+import "./base.css";
+import "./custom.css";
+
+// components
+export { NavBar } from "./navbar/navbar";
+export { Heading } from "./heading/heading";
+export { SpeakerCard } from "./speaker-card";
+export { Marquee } from "./marquee/marquee";
+export { Carousel } from "./carousel/carousel";
+export { SplitSection } from "./split-section/split-section";
+export { Schedule } from "./schedule/schedule";
+export { ScheduleProgram } from "./schedule/types";
+export { Colors } from "./colors/colors";
+export { Wrapper } from "./wrapper/wrapper";
+export { Paragraph } from "./paragraph/paragraph";
+export { LocalTime } from "./local-time/local-time";
+export { Ticket, TicketHolder, Lanyard, TicketWithHolder } from "./ticket";
+export { FullscreenOverlay } from "./fullscreen-overlay";
+export { Button, BasicButton } from "./button";
+export { VerticalStack } from "./vertical-stack";
+export { HorizontalStack } from "./horizontal-stack";
+export { Spacer } from "./spacer/spacer";
+export { IntermissionText } from "./livestream-itermission-text";
+export { EmbeddedTwitch } from "./embedded-video";
+export { Text } from "./text";
+export { Link } from "./link";
+export { Countdown } from "./countdown";
+export { Section } from "./section";
+export { Page } from "./page";
+export { getMessagesForLocale } from "./lang";
+export {
+ MultiplePartsCard,
+ CardPart,
+ CardPartIncrements,
+ CardPartOptions,
+ CardPartAddRemove,
+ CardPartTwoSides,
+} from "./multiple-parts-card";
+export { MultiplePartsCardCollection } from "./multiple-parts-card-collection";
+export { SliderGrid } from "./slider-grid";
+export { Separator } from "./separator";
+export { Footer } from "./footer";
+export { Container } from "./container";
+export { BottomBar } from "./bottom-bar";
+export { Grid, GridColumn } from "./grid";
+export { Tag } from "./tag";
+export { TagsCollection } from "./tags-collection";
+export { Input } from "./input";
+export { InputWrapper } from "./input-wrapper";
+export { InputNumber } from "./input-number";
+export { Select } from "./select";
+export { Textarea } from "./textarea";
+export { LayoutContent } from "./layout-content";
+export { SocialLinks } from "./social-links";
+export { ScrollDownArrowBar } from "./scrolldown-arrow-bar";
+export { SponsorsGrid } from "./sponsors-grid";
+export { ScheduleItemCard } from "./schedule/schedule-item-card";
+export { DaysSelector } from "./days-selector";
+export { Avatar } from "./avatar";
+export { AvatarGroup } from "./avatar-group";
+export { Checkbox } from "./checkbox";
+export { StyledHTMLText, StyledText } from "./styled-text";
+export { FilterBar } from "./filter-bar";
+export { HeroIllustration, HeroIllustrationBologna } from "./hero-illustration";
+export { FileInput } from "./file-input";
+
+// tailwind config
+export { default as tailwindConfig } from "../tailwind.config";
+export { colors } from "./config-parts";
+export { getIcon } from "./icons";
diff --git a/styleguide/src/input-number/index.tsx b/styleguide/src/input-number/index.tsx
new file mode 100644
index 0000000000..3b21f8d6b8
--- /dev/null
+++ b/styleguide/src/input-number/index.tsx
@@ -0,0 +1 @@
+export { InputNumber } from "./input-number";
diff --git a/styleguide/src/input-number/input-number.stories.tsx b/styleguide/src/input-number/input-number.stories.tsx
new file mode 100644
index 0000000000..c336d4b77b
--- /dev/null
+++ b/styleguide/src/input-number/input-number.stories.tsx
@@ -0,0 +1,29 @@
+import React, { useState } from "react";
+import { InputNumber } from "./input-number";
+
+export default {
+ title: "Input Number",
+};
+
+const VALUES = [
+ { value: "1", label: "Didn't like it" },
+ { value: "2", label: "Ok" },
+ { value: "3", label: "I like it" },
+ { value: "4", label: "Was amazing!" },
+];
+
+export const Primary = () => {
+ const [value, setValue] = useState("");
+ const [selected, setSelected] = useState("4");
+
+ return (
+
+ );
+};
diff --git a/styleguide/src/input-number/input-number.tsx b/styleguide/src/input-number/input-number.tsx
new file mode 100644
index 0000000000..ef1fd37999
--- /dev/null
+++ b/styleguide/src/input-number/input-number.tsx
@@ -0,0 +1,54 @@
+import clsx from "clsx";
+import { Heading } from "../heading";
+import { Text } from "../text";
+import React from "react";
+
+type Props = {
+ values: { value: number | string; label: string | React.ReactNode }[];
+ value?: number | string | undefined;
+ onClick?: (value: number | string) => void;
+};
+
+export const InputNumber = ({ values, value, onClick }: Props) => {
+ const valuesById = Object.fromEntries(
+ values.map((value) => [value.value, value.label])
+ );
+
+ return (
+
+
+ {values.map((element) => (
+
onClick?.(element.value)}
+ >
+
{element.value}
+
+
+ {valuesById[element.value]}
+
+
+ ))}
+
+
+ Value
+
+
+ );
+};
diff --git a/styleguide/src/input-wrapper/index.tsx b/styleguide/src/input-wrapper/index.tsx
new file mode 100644
index 0000000000..5b28862c6b
--- /dev/null
+++ b/styleguide/src/input-wrapper/index.tsx
@@ -0,0 +1 @@
+export { InputWrapper } from "./input-wrapper";
diff --git a/styleguide/src/input-wrapper/input-wrapper.stories.tsx b/styleguide/src/input-wrapper/input-wrapper.stories.tsx
new file mode 100644
index 0000000000..735867c4e3
--- /dev/null
+++ b/styleguide/src/input-wrapper/input-wrapper.stories.tsx
@@ -0,0 +1,84 @@
+import React, { useState } from "react";
+import { Select } from "../select";
+
+import { Input } from "../input";
+import { InputWrapper } from "./input-wrapper";
+import { Textarea } from "../textarea";
+
+export default {
+ title: "Input Wrapper",
+ argTypes: {
+ title: {
+ defaultValue: "Test Title",
+ control: {
+ type: "text",
+ },
+ },
+ description: {
+ defaultValue: "Test description",
+ control: {
+ type: "text",
+ },
+ },
+ required: {
+ defaultValue: false,
+ control: {
+ type: "boolean",
+ },
+ },
+ },
+};
+
+export const Primary = ({ title, description, required }) => {
+ const [value, setValue] = useState("");
+
+ return (
+
+
+ setValue(e.target.value)}
+ value={value}
+ />
+
+
+ );
+};
+
+export const FormExample = ({ title, description, required }) => {
+ const [value, setValue] = useState("");
+ const [selectValue, setSelectValue] = useState("");
+ const [textareaValue, setTextareaValue] = useState("");
+
+ return (
+
+
+ setValue(e.target.value)}
+ value={value}
+ />
+
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/styleguide/src/input-wrapper/input-wrapper.tsx b/styleguide/src/input-wrapper/input-wrapper.tsx
new file mode 100644
index 0000000000..9cdce8b54f
--- /dev/null
+++ b/styleguide/src/input-wrapper/input-wrapper.tsx
@@ -0,0 +1,40 @@
+import React from "react";
+import { Spacer } from "../spacer";
+import { Text } from "../text";
+
+type Props = {
+ children: React.ReactNode;
+ title?: string | React.ReactNode;
+ description?: string | React.ReactNode;
+ required?: boolean;
+};
+
+export const InputWrapper = ({
+ children,
+ title,
+ description,
+ required,
+}: Props) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/input/chars-counter.tsx b/styleguide/src/input/chars-counter.tsx
new file mode 100644
index 0000000000..f46c67e38e
--- /dev/null
+++ b/styleguide/src/input/chars-counter.tsx
@@ -0,0 +1,19 @@
+import React from "react";
+import { Text } from "../text";
+
+type Props = {
+ maxLength?: number;
+ value: React.InputHTMLAttributes["value"];
+};
+export const CharsCounter = ({ maxLength, value }: Props) => {
+ if (!maxLength) {
+ return null;
+ }
+
+ const currentLength = String(value ?? "").length || 0;
+ return (
+
+ {currentLength}/{maxLength}
+
+ );
+};
diff --git a/styleguide/src/input/index.tsx b/styleguide/src/input/index.tsx
new file mode 100644
index 0000000000..c123393e6b
--- /dev/null
+++ b/styleguide/src/input/index.tsx
@@ -0,0 +1 @@
+export { Input } from "./input";
diff --git a/styleguide/src/input/input-bar.tsx b/styleguide/src/input/input-bar.tsx
new file mode 100644
index 0000000000..d3c40528cd
--- /dev/null
+++ b/styleguide/src/input/input-bar.tsx
@@ -0,0 +1,32 @@
+import clsx from "clsx";
+import React from "react";
+import { Spacer } from "../spacer";
+import { Text } from "../text";
+import { CharsCounter } from "./chars-counter";
+
+type Props = {
+ errors: (string | React.ReactNode)[];
+ maxLength?: number;
+ value: React.InputHTMLAttributes["value"];
+};
+
+export const InputBar = ({ maxLength, value, errors }: Props) => {
+ return (
+ <>
+
+
+
+
+ {errors.join(", ")}
+
+
+
+
+
+ >
+ );
+};
diff --git a/styleguide/src/input/input.stories.tsx b/styleguide/src/input/input.stories.tsx
new file mode 100644
index 0000000000..cf23a3d7f7
--- /dev/null
+++ b/styleguide/src/input/input.stories.tsx
@@ -0,0 +1,120 @@
+import React, { useState } from "react";
+import { FormattedMessage } from "react-intl";
+import { Grid } from "../grid";
+import { Spacer } from "../spacer";
+
+import { Input } from "./input";
+
+export default {
+ title: "Input",
+ argTypes: {
+ placeholder: {
+ defaultValue: "Placeholder",
+ control: {
+ type: "text",
+ },
+ },
+ error: {
+ defaultValue: "",
+ control: {
+ type: "text",
+ },
+ },
+ },
+};
+
+export const Primary = ({ placeholder, error }) => {
+ return (
+
+
+
+ );
+};
+
+export const PlaceholderAsElement = ({ placeholder, error }) => {
+ return (
+
+
+ }
+ errors={[error]}
+ />
+
+ );
+};
+
+export const MultipleInputs = ({ error }) => {
+ const [value, setValue] = useState("");
+ return (
+
+ setValue(e.target.value)}
+ placeholder="Placeholder"
+ />
+ setValue(e.target.value)}
+ placeholder="Placeholder 1"
+ />
+ setValue(e.target.value)}
+ placeholder="Placeholder 2"
+ maxLength={200}
+ errors={[error]}
+ />
+ setValue(e.target.value)}
+ placeholder="Placeholder 3"
+ />
+
+
+
+
+ setValue(e.target.value)}
+ placeholder="Placeholder 3"
+ />
+ setValue(e.target.value)}
+ placeholder="Placeholder 2"
+ maxLength={200}
+ errors={[error]}
+ />
+ setValue(e.target.value)}
+ placeholder="Placeholder 3"
+ />
+ setValue(e.target.value)}
+ placeholder="Placeholder 3"
+ />
+ setValue(e.target.value)}
+ placeholder="Placeholder 2"
+ errors={[error]}
+ />
+ setValue(e.target.value)}
+ placeholder="Placeholder 2"
+ errors={[error]}
+ />
+ setValue(e.target.value)}
+ placeholder="Placeholder 2"
+ errors={[error]}
+ />
+
+
+ );
+};
diff --git a/styleguide/src/input/input.tsx b/styleguide/src/input/input.tsx
new file mode 100644
index 0000000000..4752f3d9c9
--- /dev/null
+++ b/styleguide/src/input/input.tsx
@@ -0,0 +1,34 @@
+import clsx from "clsx";
+import React from "react";
+import { InputBar } from "./input-bar";
+
+type Props = React.InputHTMLAttributes & {
+ errors?: (string | React.ReactNode)[];
+ showErrorBar?: boolean;
+};
+
+export const Input = ({ errors, showErrorBar = true, ...props }: Props) => {
+ const { value, maxLength } = props;
+ const errorsOrEmpty = (errors ?? []).filter((e) => !!e);
+ const hasError = errorsOrEmpty.length > 0;
+
+ return (
+
+
+ {showErrorBar && (
+
+ )}
+
+ );
+};
diff --git a/styleguide/src/lang/index.tsx b/styleguide/src/lang/index.tsx
new file mode 100644
index 0000000000..aa7c19756b
--- /dev/null
+++ b/styleguide/src/lang/index.tsx
@@ -0,0 +1,9 @@
+import { messages as italianMessages } from "./it";
+
+export const getMessagesForLocale = (locale: string) => {
+ if (locale === "it") {
+ return italianMessages;
+ }
+
+ return {};
+};
diff --git a/styleguide/src/lang/it.tsx b/styleguide/src/lang/it.tsx
new file mode 100644
index 0000000000..6c6cacb257
--- /dev/null
+++ b/styleguide/src/lang/it.tsx
@@ -0,0 +1,16 @@
+export const messages = {
+ "countdown.days": "{value, plural, one {giorno} other {giorni}}",
+ "countdown.hours": "{value, plural, one {ora} other {ore}}",
+ "countdown.minutes": "{value, plural, one {minuto} other {minuti}}",
+
+ "footer.designedBy": "Design di ROLL Studio",
+ "footer.builtBy": "Sviluppato da Python Italia",
+
+ "multiple-parts-card.openLabel": "Apri",
+ "multiple-parts-card.closeLabel": "Chiudi",
+
+ "filters.reset": "Cancella",
+ "filters.apply": "Applica",
+ "filter.filter": "Filtra",
+ "filter.searchPlaceholder": "speaker, titolo, tags",
+};
diff --git a/styleguide/src/layout-content/index.tsx b/styleguide/src/layout-content/index.tsx
new file mode 100644
index 0000000000..6ec4de77fb
--- /dev/null
+++ b/styleguide/src/layout-content/index.tsx
@@ -0,0 +1 @@
+export { LayoutContent } from "./layout-content";
diff --git a/styleguide/src/layout-content/layout-content.stories.tsx b/styleguide/src/layout-content/layout-content.stories.tsx
new file mode 100644
index 0000000000..88295cb787
--- /dev/null
+++ b/styleguide/src/layout-content/layout-content.stories.tsx
@@ -0,0 +1,24 @@
+import React from "react";
+import { Spacer } from "../spacer";
+
+import { LayoutContent } from "./layout-content";
+
+export default {
+ title: "Layout Content",
+};
+
+export const Primary = () => {
+ return (
+
+ Test content
+ Show from Desktop
+ Show from Tablet
+ Show from Mobile
+
+
+
+ Show until Desktop
+ Show until Tablet
+
+ );
+};
diff --git a/styleguide/src/layout-content/layout-content.tsx b/styleguide/src/layout-content/layout-content.tsx
new file mode 100644
index 0000000000..6223f02497
--- /dev/null
+++ b/styleguide/src/layout-content/layout-content.tsx
@@ -0,0 +1,64 @@
+import clsx from "clsx";
+import React from "react";
+import { getBackgroundClasses } from "../colors-utils";
+import { Color } from "../types";
+
+type Props = {
+ children: React.ReactNode;
+ as?: React.ElementType<{
+ className?: string;
+ }>;
+ position?: "absolute" | "relative" | "fixed" | "static" | "sticky";
+ bottom?: number;
+ background?: Color | "none";
+ zIndex?: 0 | 1 | 10;
+ style?: React.CSSProperties;
+ fullScreenHeight?: boolean;
+ overflow?: "scroll" | "auto" | "hidden" | "visible";
+ showFrom?: "mobile" | "tablet" | "desktop";
+ showUntil?: "tablet" | "desktop";
+};
+export const LayoutContent = ({
+ children,
+ fullScreenHeight,
+ overflow,
+ showFrom,
+ showUntil,
+ position,
+ style,
+ zIndex,
+ background = "none",
+ as: Component = "div",
+}: Props) => {
+ return (
+
+ {children}
+
+ );
+};
diff --git a/styleguide/src/link/index.tsx b/styleguide/src/link/index.tsx
new file mode 100644
index 0000000000..f7f96c3f0b
--- /dev/null
+++ b/styleguide/src/link/index.tsx
@@ -0,0 +1 @@
+export { Link } from "./link";
diff --git a/styleguide/src/link/link.tsx b/styleguide/src/link/link.tsx
new file mode 100644
index 0000000000..f3c4ebfeec
--- /dev/null
+++ b/styleguide/src/link/link.tsx
@@ -0,0 +1,65 @@
+import clsx from "clsx";
+import React from "react";
+import { getStyleClassesTextColor } from "../colors-utils";
+import { Color } from "../types";
+
+type Props = {
+ children: React.ReactNode;
+ href: string;
+ rel?: string;
+ color?: Color;
+ target?: string;
+ hoverColor?: Color;
+ noHover?: boolean;
+ noLayout?: boolean;
+ onClick?: (e: React.MouseEvent) => void;
+ className?: string;
+};
+
+export const Link = ({
+ href,
+ children,
+ rel,
+ target,
+ color = "black",
+ hoverColor = "green",
+ noHover = false,
+ noLayout = false,
+ onClick,
+ className,
+}: Props) => {
+ return (
+
+ {children}
+
+ );
+};
diff --git a/styleguide/src/livestream-itermission-text/index.ts b/styleguide/src/livestream-itermission-text/index.ts
new file mode 100644
index 0000000000..a7892fd9f6
--- /dev/null
+++ b/styleguide/src/livestream-itermission-text/index.ts
@@ -0,0 +1 @@
+export { IntermissionText } from "./intermission-text";
diff --git a/styleguide/src/livestream-itermission-text/intermission-text.stories.tsx b/styleguide/src/livestream-itermission-text/intermission-text.stories.tsx
new file mode 100644
index 0000000000..6362d54c14
--- /dev/null
+++ b/styleguide/src/livestream-itermission-text/intermission-text.stories.tsx
@@ -0,0 +1,21 @@
+import React from "react";
+import { IntermissionText } from ".";
+
+export const Standard = ({ text, ...props }) => (
+
+ {text}
+
+);
+
+export default {
+ title: "Livestream intermission text",
+
+ argTypes: {
+ text: {
+ defaultValue: "Stream starting soon...",
+ control: {
+ type: "text",
+ },
+ },
+ },
+};
diff --git a/styleguide/src/livestream-itermission-text/intermission-text.tsx b/styleguide/src/livestream-itermission-text/intermission-text.tsx
new file mode 100644
index 0000000000..3ec1abfe87
--- /dev/null
+++ b/styleguide/src/livestream-itermission-text/intermission-text.tsx
@@ -0,0 +1,8 @@
+import React from "react";
+import TextTransition, { presets } from "react-text-transition";
+
+export const IntermissionText = ({ children }: { children: string }) => (
+
+
+
+);
diff --git a/styleguide/src/local-time/local-time.stories.tsx b/styleguide/src/local-time/local-time.stories.tsx
new file mode 100644
index 0000000000..2aa20ca66f
--- /dev/null
+++ b/styleguide/src/local-time/local-time.stories.tsx
@@ -0,0 +1,18 @@
+import React from "react";
+
+import { LocalTime } from "./local-time";
+
+export default {
+ title: "Local Time",
+};
+
+export const Primary = () => (
+
+);
diff --git a/styleguide/src/local-time/local-time.tsx b/styleguide/src/local-time/local-time.tsx
new file mode 100644
index 0000000000..23486a15af
--- /dev/null
+++ b/styleguide/src/local-time/local-time.tsx
@@ -0,0 +1,40 @@
+import React from "react";
+import { format } from "date-fns";
+
+const getUserTimeZone = () => {
+ try {
+ return ` (${Intl.DateTimeFormat().resolvedOptions().timeZone})`;
+ } catch {
+ return "";
+ }
+};
+
+const FORMAT_MAP = {
+ full: "d MMMM yyyy 'at' HH:mm",
+ "just-time": "HH:mm",
+};
+
+export const LocalTime = ({
+ datetime,
+ format: formatType,
+}: {
+ datetime: Date;
+ format: keyof typeof FORMAT_MAP;
+}) => {
+ const userTimeZone = getUserTimeZone();
+
+ return (
+
+ );
+};
diff --git a/styleguide/src/logo/logo.stories.tsx b/styleguide/src/logo/logo.stories.tsx
new file mode 100644
index 0000000000..148a2d4bc9
--- /dev/null
+++ b/styleguide/src/logo/logo.stories.tsx
@@ -0,0 +1,8 @@
+import React from "react";
+import { Logo } from "./logo";
+
+export default {
+ title: "Logo",
+};
+
+export const Story = () => ;
diff --git a/styleguide/src/logo/logo.tsx b/styleguide/src/logo/logo.tsx
new file mode 100644
index 0000000000..5c67b6ba5c
--- /dev/null
+++ b/styleguide/src/logo/logo.tsx
@@ -0,0 +1,36 @@
+import React from "react";
+
+export const Logo = ({ className }: { className?: string }) => (
+
+);
diff --git a/styleguide/src/marquee/marquee.stories.tsx b/styleguide/src/marquee/marquee.stories.tsx
new file mode 100644
index 0000000000..e7dc53aa9b
--- /dev/null
+++ b/styleguide/src/marquee/marquee.stories.tsx
@@ -0,0 +1,25 @@
+import React from "react";
+import { Marquee } from "./marquee";
+
+export default {
+ title: "Marquee",
+ argTypes: {
+ text: {
+ defaultValue: "Hello there 👋",
+ control: {
+ type: "text",
+ },
+ },
+ speed: {
+ defaultValue: "medium",
+ control: {
+ type: "select",
+ options: ["slow", "medium"],
+ },
+ },
+ },
+};
+
+export const Standard = ({ text, ...props }) => (
+
+);
diff --git a/styleguide/src/marquee/marquee.tsx b/styleguide/src/marquee/marquee.tsx
new file mode 100644
index 0000000000..330f155c90
--- /dev/null
+++ b/styleguide/src/marquee/marquee.tsx
@@ -0,0 +1,43 @@
+import React from "react";
+import clsx from "clsx";
+
+type Speed = "slow" | "medium";
+
+type Props = {
+ children: React.ReactNode;
+ speed?: Speed;
+ separator?: string | React.ReactNode;
+};
+
+export const Marquee = ({
+ children,
+ speed = "medium",
+ separator = "/",
+}: Props) => (
+
+
+
{children}
+
+ {new Array(20).fill(null).map((_, index) => (
+
+ {separator}
+ {React.Children.map(children, (child) => {
+ if (React.isValidElement(child)) {
+ return React.cloneElement(child);
+ }
+
+ return child;
+ })}
+
+ ))}
+
+
+);
diff --git a/styleguide/src/menu-button/menu-button.stories.tsx b/styleguide/src/menu-button/menu-button.stories.tsx
new file mode 100644
index 0000000000..9febc5a32f
--- /dev/null
+++ b/styleguide/src/menu-button/menu-button.stories.tsx
@@ -0,0 +1,8 @@
+import React from "react";
+import { MenuButton } from "./menu-button";
+
+export default {
+ title: "Menu Button",
+};
+
+export const Story = () => {}} />;
diff --git a/styleguide/src/menu-button/menu-button.tsx b/styleguide/src/menu-button/menu-button.tsx
new file mode 100644
index 0000000000..9496ca3d48
--- /dev/null
+++ b/styleguide/src/menu-button/menu-button.tsx
@@ -0,0 +1,58 @@
+import React from "react";
+
+const Icon = () => (
+
+);
+
+export const MenuButton = ({ onClick }: { onClick: () => void }) => (
+
+);
diff --git a/styleguide/src/multiple-parts-card-collection/index.tsx b/styleguide/src/multiple-parts-card-collection/index.tsx
new file mode 100644
index 0000000000..c0babb24fb
--- /dev/null
+++ b/styleguide/src/multiple-parts-card-collection/index.tsx
@@ -0,0 +1 @@
+export { MultiplePartsCardCollection } from "./multiple-parts-card-collection";
diff --git a/styleguide/src/multiple-parts-card-collection/multiple-parts-card-collection.tsx b/styleguide/src/multiple-parts-card-collection/multiple-parts-card-collection.tsx
new file mode 100644
index 0000000000..29726bce71
--- /dev/null
+++ b/styleguide/src/multiple-parts-card-collection/multiple-parts-card-collection.tsx
@@ -0,0 +1,9 @@
+import React from "react";
+
+type Props = {
+ children: React.ReactNode;
+};
+
+export const MultiplePartsCardCollection = ({ children }: Props) => {
+ return {children}
;
+};
diff --git a/styleguide/src/multiple-parts-card-collection/mutiple-parts-card-collection.stories.tsx b/styleguide/src/multiple-parts-card-collection/mutiple-parts-card-collection.stories.tsx
new file mode 100644
index 0000000000..73203338a2
--- /dev/null
+++ b/styleguide/src/multiple-parts-card-collection/mutiple-parts-card-collection.stories.tsx
@@ -0,0 +1,28 @@
+import React from "react";
+import { MultiplePartsCardCollection } from "./multiple-parts-card-collection";
+import { MultiplePartsCard } from "../multiple-parts-card/multiple-parts-card";
+import { CardPart } from "../multiple-parts-card/card-part";
+import { Heading } from "../heading";
+import { Text } from "../text";
+
+export default {
+ title: "Multiple Parts Card Collection",
+ parameters: {
+ layout: "centered",
+ },
+};
+
+export const Primary = () => (
+
+
+
+ Student
+
+
+
+
+ Student
+
+
+
+);
diff --git a/styleguide/src/multiple-parts-card/action.tsx b/styleguide/src/multiple-parts-card/action.tsx
new file mode 100644
index 0000000000..7c18705068
--- /dev/null
+++ b/styleguide/src/multiple-parts-card/action.tsx
@@ -0,0 +1,36 @@
+import React from "react";
+
+import clsx from "clsx";
+
+export const Action = ({
+ children,
+ button = false,
+ noPadding = false,
+ negative = false,
+ onClick,
+}: {
+ button?: boolean;
+ children: React.ReactNode;
+ noPadding?: boolean;
+ onClick?: () => void;
+ negative?: boolean;
+}) => {
+ return (
+
+ {children}
+
+ );
+};
diff --git a/styleguide/src/multiple-parts-card/card-part-addremove.tsx b/styleguide/src/multiple-parts-card/card-part-addremove.tsx
new file mode 100644
index 0000000000..31c054908a
--- /dev/null
+++ b/styleguide/src/multiple-parts-card/card-part-addremove.tsx
@@ -0,0 +1,37 @@
+import React from "react";
+import { MinusIcon } from "../icons/minus";
+import { PlusIcon } from "../icons/plus";
+import { Action } from "./action";
+import { SideText } from "./sidetext";
+
+type Props = {
+ children: React.ReactNode;
+ action: "add" | "remove";
+ onAdd?: () => void;
+ onRemove?: () => void;
+};
+
+export const CardPartAddRemove = ({
+ children,
+ action,
+ onAdd,
+ onRemove,
+}: Props) => {
+ return (
+
+
{children}
+
+ {action === "add" && (
+
+
+
+ )}
+ {action === "remove" && (
+
+
+
+ )}
+
+
+ );
+};
diff --git a/styleguide/src/multiple-parts-card/card-part-increments.tsx b/styleguide/src/multiple-parts-card/card-part-increments.tsx
new file mode 100644
index 0000000000..3cda89753c
--- /dev/null
+++ b/styleguide/src/multiple-parts-card/card-part-increments.tsx
@@ -0,0 +1,37 @@
+import React from "react";
+import { MinusIcon } from "../icons/minus";
+import { Heading } from "../heading";
+import { PlusIcon } from "../icons/plus";
+import { SideText } from "./sidetext";
+import { Action } from "./action";
+
+type Props = {
+ children: React.ReactNode;
+ value: number;
+ onIncrement: () => void;
+ onDecrement: () => void;
+};
+
+export const CardPartIncrements = ({
+ value,
+ children,
+ onIncrement,
+ onDecrement,
+}: Props) => {
+ return (
+
+
{children}
+
+
+ {String(value).padStart(2, "0")}
+
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/styleguide/src/multiple-parts-card/card-part-options.tsx b/styleguide/src/multiple-parts-card/card-part-options.tsx
new file mode 100644
index 0000000000..7e087f7782
--- /dev/null
+++ b/styleguide/src/multiple-parts-card/card-part-options.tsx
@@ -0,0 +1,76 @@
+import clsx from "clsx";
+import React, { CSSProperties } from "react";
+import { MinusIcon } from "../icons/minus";
+import { PlusIcon } from "../icons/plus";
+import { Option, SimpleSelect } from "../simple-select/simple-select";
+import { Action } from "./action";
+import { SideText } from "./sidetext";
+
+type SelectProps = {
+ id: string;
+ value?: string;
+ options: Option[];
+ placeholder?: string | React.ReactNode;
+};
+
+type Props = {
+ children: React.ReactNode;
+ options: SelectProps[];
+ onConfirm?: () => void;
+ onRemove?: () => void;
+ onChange?: (id: string, e: any) => void;
+ action: "add" | "remove";
+};
+
+export const CardPartOptions = ({
+ children,
+ options,
+ onChange,
+ onConfirm,
+ onRemove,
+ action,
+}: Props) => {
+ return (
+
+
{children}
+
+ {options?.map((select) => (
+
+ onChange?.(select.id, e)}
+ className={clsx("pl-4 py-7 lg:pl-5", {
+ "pr-9 lg:pr-14": action === "add",
+ })}
+ value={select.value}
+ options={select.options}
+ placeholder={select.placeholder}
+ />
+
+ ))}
+
+
+
{children}
+
+ {action === "add" && (
+
+
+
+ )}
+ {action === "remove" && (
+
+
+
+ )}
+
+
+
+ );
+};
diff --git a/styleguide/src/multiple-parts-card/card-part-two-sides.tsx b/styleguide/src/multiple-parts-card/card-part-two-sides.tsx
new file mode 100644
index 0000000000..ba40240c48
--- /dev/null
+++ b/styleguide/src/multiple-parts-card/card-part-two-sides.tsx
@@ -0,0 +1,14 @@
+import React from "react";
+import { SideText } from "./sidetext";
+
+type Props = {
+ children: React.ReactNode;
+ rightSide: React.ReactNode;
+};
+
+export const CardPartTwoSides = ({ children, rightSide }: Props) => (
+
+ {children}
+ {rightSide}
+
+);
diff --git a/styleguide/src/multiple-parts-card/card-part.tsx b/styleguide/src/multiple-parts-card/card-part.tsx
new file mode 100644
index 0000000000..c22a96102b
--- /dev/null
+++ b/styleguide/src/multiple-parts-card/card-part.tsx
@@ -0,0 +1,222 @@
+import React from "react";
+import { Text } from "../text";
+import clsx from "clsx";
+import { ArrowDownIcon } from "../icons/arrow-down";
+import { useMultiPartsCardContext } from "./context";
+import { FormattedMessage } from "react-intl";
+import { Color } from "../types";
+import { getBackgroundClasses, getHoverBackgroundColor } from "../colors-utils";
+import { Icon } from "../icons/types";
+import { getIcon } from "../icons/icons";
+
+type IconSize = "small" | "large";
+
+type CardPartProps = {
+ children: React.ReactNode;
+ background?: Color;
+ hoverColor?: Color;
+ contentAlign?: "right" | "left" | "center";
+ size?: "none" | "small" | "large";
+ icon?: Icon;
+ iconBackground?: Color;
+ iconSize?: IconSize;
+ rightSideIcon?: Icon;
+ rightSideIconBackground?: Color;
+ rightSideIconSize?: IconSize;
+ id?: string;
+ openLabel?: string | React.ReactNode;
+ closeLabel?: string | React.ReactNode;
+ fullHeight?: boolean;
+ shrink?: boolean;
+ overflow?: boolean;
+};
+
+export const CardPart = ({
+ children,
+ background = "cream",
+ hoverColor,
+ contentAlign = "center",
+ size = "large",
+ icon,
+ iconBackground,
+ iconSize = "large",
+ rightSideIcon,
+ rightSideIconBackground,
+ rightSideIconSize = "large",
+ id,
+ openLabel,
+ closeLabel,
+ fullHeight = false,
+ shrink = true,
+ overflow = false,
+}: CardPartProps) => {
+ const { isClickablePart, isTargetPart, open, toggleOpen } =
+ useMultiPartsCardContext();
+
+ const isClickToExpandElement = isClickablePart(id);
+ const canBeOpened = isTargetPart(id);
+
+ const onToggleExpand = () => {
+ if (isClickToExpandElement) {
+ toggleOpen?.((expanded) => !expanded);
+ }
+ };
+
+ const hasIcon = !!icon || !!rightSideIcon;
+
+ return (
+
+
+ {icon && (
+
+ )}
+
+ {children}
+
+ {isClickToExpandElement && (
+
+ {!open && (
+
+ {openLabel || (
+
+ )}
+
+ )}
+
+ {open && (
+
+ {closeLabel || (
+
+ )}
+
+ )}
+
+
+
+ )}
+
+ {rightSideIcon && (
+
+ )}
+
+
+ );
+};
+
+const SideIcon = ({
+ icon,
+ iconBackground = "none",
+ side,
+ size,
+ containerSize,
+}: {
+ icon: Icon;
+ iconBackground?: Color;
+ side: "left" | "right";
+ size: IconSize;
+ containerSize: "none" | "small" | "large";
+}) => {
+ const Component = getIcon(icon);
+
+ return (
+
+ );
+};
diff --git a/styleguide/src/multiple-parts-card/context.ts b/styleguide/src/multiple-parts-card/context.ts
new file mode 100644
index 0000000000..fdc3b57dea
--- /dev/null
+++ b/styleguide/src/multiple-parts-card/context.ts
@@ -0,0 +1,19 @@
+import React, { useContext } from "react";
+
+type MultiPartsCardContextType = {
+ clickablePart?: string;
+ expandTarget?: string;
+ open: boolean;
+ toggleOpen?: React.Dispatch>;
+ isClickablePart: (id?: string) => boolean;
+ isTargetPart: (id?: string) => boolean;
+};
+
+export const MultiPartsCardContext =
+ React.createContext({
+ open: false,
+ isClickablePart: () => false,
+ isTargetPart: () => false,
+ });
+
+export const useMultiPartsCardContext = () => useContext(MultiPartsCardContext);
diff --git a/styleguide/src/multiple-parts-card/index.tsx b/styleguide/src/multiple-parts-card/index.tsx
new file mode 100644
index 0000000000..cb0b32f3ca
--- /dev/null
+++ b/styleguide/src/multiple-parts-card/index.tsx
@@ -0,0 +1,6 @@
+export { MultiplePartsCard } from "./multiple-parts-card";
+export { CardPart } from "./card-part";
+export { CardPartIncrements } from "./card-part-increments";
+export { CardPartOptions } from "./card-part-options";
+export { CardPartAddRemove } from "./card-part-addremove";
+export { CardPartTwoSides } from "./card-part-two-sides";
diff --git a/styleguide/src/multiple-parts-card/multiple-parts-card.stories.tsx b/styleguide/src/multiple-parts-card/multiple-parts-card.stories.tsx
new file mode 100644
index 0000000000..6cd616d2fa
--- /dev/null
+++ b/styleguide/src/multiple-parts-card/multiple-parts-card.stories.tsx
@@ -0,0 +1,635 @@
+import React, { useState } from "react";
+import { Text } from "../text";
+import { MultiplePartsCard } from "./multiple-parts-card";
+import { CardPart } from "./card-part";
+import { Spacer } from "../spacer";
+import { CardPartIncrements } from "./card-part-increments";
+import { Heading } from "../heading";
+import { CardPartOptions } from "./card-part-options";
+import { differenceInCalendarDays } from "date-fns";
+import { CardPartAddRemove } from "./card-part-addremove";
+import { Tag } from "../tag";
+import { CardPartTwoSides } from "./card-part-two-sides";
+
+export default {
+ title: "Multiple Parts Card",
+};
+
+export const Primary = () => (
+
+
+
+ Student
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit.
+
+
+
+
+ € 100
+
+ flat price
+
+
+
+ red bg
+
+
+
+ blue bg
+
+
+
+);
+
+export const CardWithContentAndOnePart = () => (
+
+
+
+ General info
+
+
+
+ We are here to help you! Let us know how we can do it
+
+
+
+
+);
+
+export const CardForProductItemIcons = () => (
+
+
+
+ Student
+
+
+
+ Lorem Ipsum is simply dummy text of the printing and typesetting
+
+
+
+
+
+
+
+
+ Membership
+
+
+
+ Lorem Ipsum is simply dummy text of the printing and typesetting
+
+
+
+
+);
+
+export const WithIncrementExample = () => {
+ const [counter1, setCounter1] = useState(0);
+ const [counter2, setCounter2] = useState(0);
+ const [counter3, setCounter3] = useState(0);
+ const [counter4, setCounter4] = useState(0);
+
+ return (
+
+
+
+ T-Shirt
+
+
+
+ Lorem Ipsum is simply dummy text of the printing and typesetting
+
+
+ setCounter1((value) => value + 1)}
+ onDecrement={() => setCounter1((value) => value - 1)}
+ value={counter1}
+ >
+
+ € 40
+
+
+ Small
+
+ {counter1 > 0 && € 20 x2}
+
+
+ setCounter2((value) => value + 1)}
+ onDecrement={() => setCounter2((value) => value - 1)}
+ value={counter2}
+ >
+ € 40
+
+
+ Medium
+
+ {counter2 > 0 && € 20 x2}
+
+ setCounter3((value) => value + 1)}
+ onDecrement={() => setCounter3((value) => value - 1)}
+ value={counter3}
+ >
+ € 40
+
+ Large
+
+ {counter3 > 0 && € 20 x2}
+
+ setCounter4((value) => value + 1)}
+ onDecrement={() => setCounter4((value) => value - 1)}
+ value={counter4}
+ >
+ € 40
+
+ Extra Large
+
+ {counter4 > 0 && € 20 x2}
+
+
+
+ );
+};
+
+export const MultiPartCardWithOptions = () => {
+ const [temporaryRoom, setTemporaryRoom] = useState({});
+ const [storedRooms, setStoredRooms] = useState([]);
+
+ const nightsBetween = differenceInCalendarDays(
+ new Date(temporaryRoom.checkout),
+ new Date(temporaryRoom.checkin)
+ );
+
+ return (
+
+
+
+ Double Room
+
+
+
+ Lorem Ipsum is simply dummy text of the printing and typesetting
+
+
+
+
+ {storedRooms.map((room, index) => {
+ const nightsBetween = differenceInCalendarDays(
+ new Date(room.checkout),
+ new Date(room.checkin)
+ );
+ return (
+ {
+ const newRooms = [...storedRooms];
+ newRooms.splice(index, 1);
+ setStoredRooms(newRooms);
+ }}
+ options={[
+ {
+ id: "checkin",
+ options: [
+ { label: "2022-10-10", value: "2022-10-10" },
+ { label: "2022-10-11", value: "2022-10-11" },
+ { label: "2022-10-12", value: "2022-10-12" },
+ ],
+ placeholder: "Check-in",
+ value: room.checkin,
+ },
+ {
+ id: "checkout",
+ options: [
+ { label: "2022-10-10", value: "2022-10-10" },
+ { label: "2022-10-11", value: "2022-10-11" },
+ { label: "2022-10-12", value: "2022-10-12" },
+ ],
+ placeholder: "Check-out",
+ value: room.checkout,
+ },
+ {
+ id: "beds",
+ options: [
+ { value: "double", label: "Double Bed" },
+ { value: "single", label: "2x Single Beds" },
+ { value: "another", label: "Very long single beds" },
+ ],
+ placeholder: "Bed layout",
+ value: room.beds,
+ },
+ ]}
+ >
+
+
+ € {nightsBetween ? 40 * nightsBetween : 40}
+
+
+ {nightsBetween ? `€ 40/night` : `/night`}
+
+
+
+ );
+ })}
+
+ {
+ setStoredRooms((rooms) => [...rooms, temporaryRoom]);
+ setTemporaryRoom({});
+ }}
+ action="add"
+ onChange={(id, e) => {
+ if (id === "checkin") {
+ setTemporaryRoom((room) => ({
+ ...room,
+ checkin: e.target.value,
+ }));
+ } else if (id === "checkout") {
+ setTemporaryRoom((room) => ({
+ ...room,
+ checkout: e.target.value,
+ }));
+ } else if (id === "beds") {
+ setTemporaryRoom((room) => ({
+ ...room,
+ beds: e.target.value,
+ }));
+ }
+ }}
+ options={[
+ {
+ id: "checkin",
+ options: [
+ { label: "2022-10-10", value: "2022-10-10" },
+ { label: "2022-10-11", value: "2022-10-11" },
+ { label: "2022-10-12", value: "2022-10-12" },
+ ],
+ placeholder: "Check-in",
+ value: temporaryRoom.checkin,
+ },
+ {
+ id: "checkout",
+ options: [
+ { label: "2022-10-10", value: "2022-10-10" },
+ { label: "2022-10-11", value: "2022-10-11" },
+ { label: "2022-10-12", value: "2022-10-12" },
+ ],
+ placeholder: "Check-out",
+ value: temporaryRoom.checkout,
+ },
+ {
+ id: "beds",
+ options: [
+ { value: "double", label: "Double + Single" },
+ { value: "single", label: "3x Single Beds" },
+ { value: "another", label: "Very long single beds" },
+ ],
+ placeholder: "Bed layout",
+ value: temporaryRoom.beds,
+ },
+ ]}
+ >
+
+
+ € {nightsBetween ? 40 * nightsBetween : 40}
+
+
+ {nightsBetween ? `€ 40/night` : `/night`}
+
+
+
+
+
+ );
+};
+
+export const MultiPartCardWithVariableOptions = ({ numOfSelects }) => {
+ const [temporaryRoom, setTemporaryRoom] = useState({});
+ const createObject = (index: number, longItem: boolean = false) => ({
+ id: `obj-${index}`,
+ options: [
+ longItem
+ ? { label: "1x Matrimoniale 2x Singoli", value: "2022-10-10" }
+ : {
+ label: "10 Giugno",
+ value: "2022-10-10",
+ },
+ { label: "11 Giugno", value: "2022-10-11" },
+ { label: "12 Giugno", value: "2022-10-12" },
+ ],
+ placeholder: `Object ${index}`,
+ value: temporaryRoom[`obj-${index}`],
+ });
+
+ return (
+
+
+
+ Double Room
+
+
+
+ Lorem Ipsum is simply dummy text of the printing and typesetting
+
+
+
+ {
+ setTemporaryRoom({});
+ }}
+ action="remove"
+ onChange={(id, e) => {
+ setTemporaryRoom((room) => ({
+ ...room,
+ [id]: e.target.value,
+ }));
+ }}
+ options={new Array(numOfSelects)
+ .fill(0)
+ .map((_, index) => createObject(index, index === 2))}
+ >
+ £350 3 x nights
+
+
+ {
+ setTemporaryRoom({});
+ }}
+ action="add"
+ onChange={(id, e) => {
+ setTemporaryRoom((room) => ({
+ ...room,
+ [id]: e.target.value,
+ }));
+ }}
+ options={new Array(numOfSelects)
+ .fill(0)
+ .map((_, index) => createObject(index, index === 2))}
+ >
+ Test Test Test
+
+
+
+ );
+};
+
+MultiPartCardWithVariableOptions.argTypes = {
+ numOfSelects: {
+ defaultValue: 3,
+ control: {
+ type: "number",
+ },
+ },
+};
+
+export const AddRemoveCardPart = () => {
+ const [added, setAdded] = useState(false);
+ return (
+
+
+
+ Membership
+
+
+
+
+ Lorem Ipsum is simply dummy text of the printing and typesetting
+
+
+ setAdded(true)}
+ onRemove={() => setAdded(false)}
+ action={added ? "remove" : "add"}
+ >
+ 30£
+
+
+
+ );
+};
+
+export const CardPartExpandable = () => {
+ return (
+
+
+
+ Membership [closed by default]
+
+
+
+ Lorem Ipsum is simply dummy text of the printing and typesetting
+ Lorem Ipsum is simply dummy text of the printing and typesetting
+ Lorem Ipsum is simply dummy text of the printing and typesetting
+ Lorem Ipsum is simply dummy text of the printing and typesetting
+ Lorem Ipsum is simply dummy text of the printing and typesetting
+ Lorem Ipsum is simply dummy text of the printing and typesetting
+ Lorem Ipsum is simply dummy text of the printing and typesetting
+ Lorem Ipsum is simply dummy text of the printing and typesetting
+
+
+
+ € 100
+
+ flat price
+
+
+
+
+
+ Membership [open by default]
+
+
+
+ Lorem Ipsum is simply dummy text of the printing and typesetting
+ Lorem Ipsum is simply dummy text of the printing and typesetting
+ Lorem Ipsum is simply dummy text of the printing and typesetting
+ Lorem Ipsum is simply dummy text of the printing and typesetting
+ Lorem Ipsum is simply dummy text of the printing and typesetting
+ Lorem Ipsum is simply dummy text of the printing and typesetting
+ Lorem Ipsum is simply dummy text of the printing and typesetting
+ Lorem Ipsum is simply dummy text of the printing and typesetting
+
+
+
+ € 100
+
+ flat price
+
+
+
+ );
+};
+
+export const CardPartTwoSidesExample = () => {
+ return (
+
+
+
+ Example with tag
+
+ Sold-out}>
+ £400
+
+
+
+
+
+ Different color & length
+
+ Buy me now!}>
+ $250
+
+
+
+ );
+};
+
+export const CardWithInputsInItAndFocus = () => {
+ return (
+
+
+
+
+
+ Membership
+
+
+
+
+
+
+
+
+ € 100
+
+ flat price
+
+
+
+ );
+};
+
+export const CardPartIconsWithIcons = ({ size }) => {
+ return (
+
+
+
+ Icon on the right only
+
+
+
+
+
+ Icon on the left only
+
+
+
+
+
+ Icon on both sides
+
+
+
+ );
+};
+
+CardPartIconsWithIcons.argTypes = {
+ size: {
+ control: {
+ type: "select",
+ options: ["small", "large"],
+ },
+ },
+};
+
+export const CarPartWithHoveColor = () => (
+
+
+
+ Student
+
+
+
+
+ Student
+
+
+
+);
diff --git a/styleguide/src/multiple-parts-card/multiple-parts-card.tsx b/styleguide/src/multiple-parts-card/multiple-parts-card.tsx
new file mode 100644
index 0000000000..c1e93858a6
--- /dev/null
+++ b/styleguide/src/multiple-parts-card/multiple-parts-card.tsx
@@ -0,0 +1,83 @@
+import React, { useCallback, useState } from "react";
+import { Spacer } from "../spacer";
+import { Button } from "../button";
+import { MultiPartsCardContext } from "./context";
+
+type CTA = {
+ label: string | React.ReactNode;
+ link: string;
+};
+
+type Props = {
+ cta?: CTA;
+ expand?: string;
+ children: React.ReactNode;
+ clickablePart?: string;
+ openOnFocus?: boolean;
+ expandTarget?: string;
+ openByDefault?: boolean;
+};
+
+export const MultiplePartsCard = ({
+ children,
+ clickablePart,
+ expandTarget,
+ cta,
+ openByDefault = true,
+ openOnFocus = true,
+}: Props) => {
+ const isMatchingId = (id?: string, target?: string) => {
+ if (!target || !id) {
+ return false;
+ }
+
+ return target === id;
+ };
+ const [open, toggleOpen] = useState(openByDefault);
+
+ const onFocus = useCallback(
+ (e: React.FocusEvent) => {
+ if (!clickablePart || !expandTarget) {
+ return;
+ }
+
+ if (!e.target.closest(`[data-expand-own-id="${expandTarget}"]`)) {
+ return;
+ }
+
+ if (openOnFocus) {
+ toggleOpen(true);
+ }
+ },
+ [openOnFocus, clickablePart, expandTarget]
+ );
+
+ return (
+ isMatchingId(id, clickablePart),
+ isTargetPart: (id) => isMatchingId(id, expandTarget),
+ }}
+ >
+
+
+ {children}
+
+
+ {cta && (
+ <>
+
+
+
+ >
+ )}
+
+
+ );
+};
diff --git a/styleguide/src/multiple-parts-card/sidetext.tsx b/styleguide/src/multiple-parts-card/sidetext.tsx
new file mode 100644
index 0000000000..f5cba43e29
--- /dev/null
+++ b/styleguide/src/multiple-parts-card/sidetext.tsx
@@ -0,0 +1,20 @@
+import clsx from "clsx";
+import React from "react";
+
+type Props = {
+ children: React.ReactNode;
+ className?: string;
+};
+
+export const SideText = ({ children, className }: Props) => {
+ return (
+
+ {children}
+
+ );
+};
diff --git a/styleguide/src/navbar/action-item.tsx b/styleguide/src/navbar/action-item.tsx
new file mode 100644
index 0000000000..b8b57a77ba
--- /dev/null
+++ b/styleguide/src/navbar/action-item.tsx
@@ -0,0 +1,155 @@
+import clsx from "clsx";
+import React, { useState, useRef, useEffect } from "react";
+import { Text } from "../text";
+import { Action } from "./types";
+import { getIcon } from "../icons/icons";
+import { getBackgroundClasses, getHoverBackgroundColor } from "../colors-utils";
+
+type ActionProps = Action & {
+ className?: string;
+};
+
+export const ActionItem = ({
+ className,
+ text,
+ onClick,
+ link,
+ icon,
+ background = "cream",
+ hoverBackground = "green",
+}: ActionProps) => {
+ const Component = link ? "a" : "div";
+ const [widths, setWidths] = useState<{
+ withTextWidth: number;
+ iconOnlyWidth: number;
+ } | null>(null);
+ const [isHovering, setIsHovering] = useState(false);
+ const rootElement = useRef();
+ const textElement = useRef();
+
+ const calculateWidths = () => {
+ if (!rootElement.current) {
+ return;
+ }
+ // get the dimensions of the action with and without text
+ // this is needed to animate the width of the action
+ // when hovering
+ // we need to do this because we can't animate the width
+ // of the action when it's set to "auto"
+
+ // reset width to auto, in case we are re-calculating
+ rootElement.current!.style.width = "auto";
+
+ // get the width of the action without text
+ const withoutText = rootElement.current!.getBoundingClientRect().width;
+ textElement.current!.classList.remove("absolute");
+
+ requestAnimationFrame(() => {
+ if (!rootElement.current) {
+ return;
+ }
+
+ // reducing a bit to compensate for the padding and make it look better
+ const withText = rootElement.current!.getBoundingClientRect().width - 26;
+
+ textElement.current!.classList.add("absolute");
+ rootElement.current!.style.width = `${withoutText}px`;
+
+ setWidths({
+ withTextWidth: withText,
+ iconOnlyWidth: withoutText,
+ });
+ });
+ };
+
+ useEffect(() => {
+ if (!text) {
+ return;
+ }
+
+ let timer: number;
+ const listener = () => {
+ if (timer) {
+ clearTimeout(timer);
+ }
+
+ timer = window.setTimeout(calculateWidths, 100);
+ };
+
+ calculateWidths();
+
+ window.addEventListener("resize", listener);
+ return () => {
+ window.removeEventListener("resize", listener);
+ if (timer) {
+ clearTimeout(timer);
+ }
+ };
+ }, []);
+
+ const extendAction = () => {
+ if (!widths) {
+ return;
+ }
+
+ if (window.matchMedia("(min-width: 599px)").matches) {
+ setIsHovering(true);
+ }
+ };
+
+ const shrinkAction = () => {
+ if (!widths) {
+ return;
+ }
+
+ setIsHovering(false);
+ };
+
+ const IconComponent = getIcon(icon);
+
+ return (
+
+
+
+
+
+ {/* margin left of this element is basically: size of the icon (32px, w-8) + actual margin we want */}
+ {/* (w-8) 32px + (ml-5) 20px = 52px */}
+ {text && (
+
+ {text}
+
+ )}
+
+ );
+};
diff --git a/styleguide/src/navbar/header-bar.tsx b/styleguide/src/navbar/header-bar.tsx
new file mode 100644
index 0000000000..f68c159979
--- /dev/null
+++ b/styleguide/src/navbar/header-bar.tsx
@@ -0,0 +1,55 @@
+import clsx from "clsx";
+import React from "react";
+
+import { Container } from "../container";
+import { ActionItem } from "./action-item";
+import type { Action } from "./types";
+
+type HeaderBarProps = {
+ hidden?: boolean;
+ actions: Action[];
+ logo: React.JSXElementConstructor;
+ mobileLogo: React.JSXElementConstructor;
+};
+
+export const HeaderBar = ({
+ actions,
+ hidden,
+ logo: Logo,
+ mobileLogo: MobileLogo,
+}: HeaderBarProps) => {
+ return (
+
+
+
+
+
+ {actions.map((action, index) => (
+
+ ))}
+
+
+
+ );
+};
diff --git a/styleguide/src/navbar/menu.tsx b/styleguide/src/navbar/menu.tsx
new file mode 100644
index 0000000000..ccd857f6f7
--- /dev/null
+++ b/styleguide/src/navbar/menu.tsx
@@ -0,0 +1,102 @@
+import React from "react";
+import { Container } from "../container";
+import { Heading } from "../heading";
+import { Link } from "../link";
+import { Separator } from "../separator";
+import { Text } from "../text";
+import type { Link as LinkType } from "./types";
+
+export const Menu = ({
+ mainLinks,
+ secondaryLinks,
+ bottomBarLink,
+}: {
+ mainLinks: LinkType[];
+ secondaryLinks: LinkType[];
+ bottomBarLink?: LinkType;
+}) => {
+ const mainLinksSplit = splitLinks(mainLinks, 2);
+ const secondaryLinksSplit = splitLinks(secondaryLinks, 4);
+
+ return (
+
+ {mainLinks.length > 0 && (
+ <>
+
+
+
+ {mainLinksSplit
+ .filter((split) => split.length > 0)
+ .map((split, index) => (
+
+ {split.map(({ text, link }) => (
+ -
+
+
+ {text}
+
+
+
+ ))}
+
+ ))}
+
+
+ >
+ )}
+ {secondaryLinks.length > 0 && (
+ <>
+
+
+
+ {secondaryLinksSplit
+ .filter((split) => split.length > 0)
+ .map((secondaryLinks, index) => (
+
+ {secondaryLinks.map(({ link, text }) => (
+ -
+
+
+ {text}
+
+
+
+ ))}
+
+ ))}
+
+
+ >
+ )}
+ {bottomBarLink && (
+ <>
+
+
+
+
+ {bottomBarLink.text}
+
+
+
+ >
+ )}
+
+ );
+};
+
+function splitLinks(links: T[], cols: number): T[][] {
+ const slices: T[][] = [];
+ const splitPoint = Math.ceil(links.length / cols);
+
+ for (let i = 0; i < cols; i++) {
+ slices.push(links.slice(i * splitPoint, (i + 1) * splitPoint));
+ }
+
+ return slices;
+}
diff --git a/styleguide/src/navbar/navbar.stories.tsx b/styleguide/src/navbar/navbar.stories.tsx
new file mode 100644
index 0000000000..98a9a42e77
--- /dev/null
+++ b/styleguide/src/navbar/navbar.stories.tsx
@@ -0,0 +1,116 @@
+import React from "react";
+import { Logo } from "../logo/logo";
+import { NavBar } from "./navbar";
+
+export const Standard = ({
+ withMainLinks,
+ withSecondaryLinks,
+ withBottomBarLink,
+ withActions,
+ ...props
+}) => (
+ ({
+ ...l,
+ text: `${l.text} ${index}`,
+ }))
+ : []
+ }
+ logo={Logo}
+ mobileLogo={Logo}
+ bottomBarLink={
+ withBottomBarLink
+ ? {
+ link: "/it",
+ text: "Switch to Italian",
+ }
+ : undefined
+ }
+ {...props}
+ />
+);
+
+export default {
+ title: "NavBar",
+ component: Standard,
+ argTypes: {
+ withMainLinks: {
+ defaultValue: true,
+ control: {
+ type: "boolean",
+ },
+ },
+ withSecondaryLinks: {
+ defaultValue: true,
+ control: {
+ type: "boolean",
+ },
+ },
+ withBottomBarLink: {
+ defaultValue: true,
+ control: {
+ type: "boolean",
+ },
+ },
+ withActions: {
+ defaultValue: true,
+ control: {
+ type: "boolean",
+ },
+ },
+ },
+};
diff --git a/styleguide/src/navbar/navbar.tsx b/styleguide/src/navbar/navbar.tsx
new file mode 100644
index 0000000000..f38c6a0182
--- /dev/null
+++ b/styleguide/src/navbar/navbar.tsx
@@ -0,0 +1,65 @@
+import React, { useState } from "react";
+import { Separator } from "../separator";
+import { HeaderBar } from "./header-bar";
+import { Menu } from "./menu";
+import { Action, Link as LinkType } from "./types";
+
+type Props = {
+ logo: React.JSXElementConstructor;
+ mobileLogo: React.JSXElementConstructor;
+ actions: Action[];
+ mainLinks: LinkType[];
+ secondaryLinks: LinkType[];
+ bottomBarLink?: LinkType;
+};
+
+export const NavBar = ({
+ logo,
+ mobileLogo,
+ mainLinks,
+ secondaryLinks,
+ actions: closedMenuActions,
+ bottomBarLink,
+}: Props) => {
+ const [isOpen, setOpenMenu] = useState(false);
+ const toggleMenu = () => setOpenMenu((open) => !open);
+ const openMenuActions: Action[] = [
+ {
+ icon: "close",
+ onClick: toggleMenu,
+ },
+ ];
+ const baseMenuAction: Action = {
+ text: "Menu",
+ icon: "menu",
+ onClick: toggleMenu,
+ };
+
+ const actions = isOpen
+ ? openMenuActions
+ : [...closedMenuActions, baseMenuAction];
+
+ return (
+ <>
+
+ {isOpen && (
+
+
+
+
+
+
+
+ )}
+ >
+ );
+};
diff --git a/styleguide/src/navbar/types.tsx b/styleguide/src/navbar/types.tsx
new file mode 100644
index 0000000000..bba90838ca
--- /dev/null
+++ b/styleguide/src/navbar/types.tsx
@@ -0,0 +1,16 @@
+import { Icon } from "../icons/types";
+import { Color } from "../types";
+
+export type Action = {
+ icon: Icon;
+ background?: Color;
+ hoverBackground?: Color;
+ text?: string;
+ link?: string;
+ onClick?: () => void;
+};
+
+export type Link = {
+ text: string;
+ link: string;
+};
diff --git a/styleguide/src/page/index.tsx b/styleguide/src/page/index.tsx
new file mode 100644
index 0000000000..57b51d7560
--- /dev/null
+++ b/styleguide/src/page/index.tsx
@@ -0,0 +1 @@
+export { Page } from "./page";
diff --git a/styleguide/src/page/page.stories.tsx b/styleguide/src/page/page.stories.tsx
new file mode 100644
index 0000000000..9e6541b323
--- /dev/null
+++ b/styleguide/src/page/page.stories.tsx
@@ -0,0 +1,213 @@
+import React from "react";
+import { Button } from "../button";
+import { Countdown } from "../countdown";
+import { Heading } from "../heading";
+import { Cathedral, Snake5 } from "../illustrations";
+import { Logo } from "../logo/logo";
+import { CardPart, MultiplePartsCard } from "../multiple-parts-card";
+import { NavBar } from "../navbar/navbar";
+import { Section } from "../section";
+import { SliderGrid } from "../slider-grid";
+import { Spacer } from "../spacer";
+import { SplitSection } from "../split-section/split-section";
+import { Text } from "../text";
+import { Page } from "./page";
+
+export default {
+ title: "Page examples",
+};
+
+export const Standard = () => (
+
+
({
+ ...l,
+ text: `${l.text} ${index}`,
+ }))}
+ logo={Logo}
+ mobileLogo={Logo}
+ bottomBarLink={{
+ link: "/it",
+ text: "Switch to Italian",
+ }}
+ />
+
+
+
+ Welcome to the Python Italia Conference
+
+
+
+
+
+ Student
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit.
+
+
+
+
+ € 100
+
+ flat price
+
+
+
+
+
+ Regular
+
+
+ Buying now your ticket, you can save up to the 30%
+
+
+
+
+ € 180
+
+ Early bird
+
+
+
+
+
+ Business
+
+
+ Buying now your ticket, you can save up to the 25%
+
+
+
+
+ € 250
+
+ Early bird
+
+
+
+
+ }
+ sideContentBackground={Cathedral.backgroundColor}
+ title="Buy a ticket"
+ >
+ We have tickets
+
+
+
+
+ }
+ invert
+ sideContentType="other"
+ hideSideContentOnMobile
+ spacing="larger-content"
+ title="Call for proposals [inverted]"
+ >
+
+ PyCon Italia is looking for you!
+
+
+
+
+ PyCon Italia is seeking speakers of all experience levels and
+ backgrounds to contribute to our conference program! If you use Python
+ professionally, as a hobbyist or are just excited about Python or
+ programming and open source communities, we would love to hear from
+ you.
+
+
+
+
+ }
+ sideContentBackground={Snake5.backgroundColor}
+ title="Spacing tests"
+ >
+
+ PyCon Italia is looking for you!
+
+
+ PyCon Italia is seeking speakers of all experience levels and
+ backgrounds to contribute to our conference program! If you use Python
+ professionally, as a hobbyist or are just excited about Python or
+ programming and open source communities, we would love to hear from
+ you.
+
+
+
+
+
+
+);
diff --git a/styleguide/src/page/page.tsx b/styleguide/src/page/page.tsx
new file mode 100644
index 0000000000..68c4d549f1
--- /dev/null
+++ b/styleguide/src/page/page.tsx
@@ -0,0 +1,20 @@
+import React from "react";
+import { Separator } from "../separator";
+
+type Props = {
+ children: React.ReactNode;
+ startSeparator?: boolean;
+ endSeparator?: boolean;
+};
+
+export const Page = ({
+ children,
+ startSeparator = true,
+ endSeparator = true,
+}: Props) => (
+
+ {startSeparator &&
}
+
{children}
+ {endSeparator &&
}
+
+);
diff --git a/styleguide/src/paragraph/paragraph.stories.tsx b/styleguide/src/paragraph/paragraph.stories.tsx
new file mode 100644
index 0000000000..643f414a1c
--- /dev/null
+++ b/styleguide/src/paragraph/paragraph.stories.tsx
@@ -0,0 +1,29 @@
+import React from "react";
+
+import { Paragraph } from "./paragraph";
+
+export default {
+ title: "Paragrah",
+};
+
+export const Primary = () => (
+
+
+ Lorem ipsum dolor sit, amet consectetur adipisicing elit. Doloribus vero
+ saepe adipisci rerum, itaque minima voluptas quasi porro eius accusamus
+ quo aspernatur laborum nam enim. Iusto iure doloribus molestias et.
+
+
+
+ Lorem ipsum dolor sit, amet consectetur adipisicing elit. Doloribus vero
+ saepe adipisci rerum, itaque minima voluptas quasi porro eius accusamus
+ quo aspernatur laborum nam enim. Iusto iure doloribus molestias et.
+
+
+
+ Lorem ipsum dolor sit, amet consectetur adipisicing elit. Doloribus vero
+ saepe adipisci rerum, itaque minima voluptas quasi porro eius accusamus
+ quo aspernatur laborum nam enim. Iusto iure doloribus molestias et.
+
+
+);
diff --git a/styleguide/src/paragraph/paragraph.tsx b/styleguide/src/paragraph/paragraph.tsx
new file mode 100644
index 0000000000..fe4bc53a9d
--- /dev/null
+++ b/styleguide/src/paragraph/paragraph.tsx
@@ -0,0 +1,28 @@
+import clsx from "clsx";
+import React, { ReactNode } from "react";
+import { Color } from "../types";
+
+export const Paragraph = ({
+ children,
+ bold = false,
+ color = "black",
+}: {
+ children: ReactNode;
+ bold?: boolean;
+ color?: Color;
+}) => (
+
+ {children}
+
+);
diff --git a/styleguide/src/schedule/ical-link.tsx b/styleguide/src/schedule/ical-link.tsx
new file mode 100644
index 0000000000..17b0950343
--- /dev/null
+++ b/styleguide/src/schedule/ical-link.tsx
@@ -0,0 +1,15 @@
+import React from "react";
+
+export const ICALLink = ({
+ title,
+ description,
+ start,
+ end,
+}: {
+ title: string;
+ description: string;
+ start: string;
+ end: string;
+}) => {
+ return 📆;
+};
diff --git a/styleguide/src/schedule/schedule-item-card.tsx b/styleguide/src/schedule/schedule-item-card.tsx
new file mode 100644
index 0000000000..a555a11510
--- /dev/null
+++ b/styleguide/src/schedule/schedule-item-card.tsx
@@ -0,0 +1,27 @@
+import clsx from "clsx";
+import React from "react";
+import { ReactNode } from "react";
+import { getBackgroundClasses } from "../colors-utils";
+import { Color } from "../types";
+
+type Props = {
+ children: ReactNode;
+ size: "small" | "large";
+ background: Color;
+};
+export const ScheduleItemCard = ({ children, size, background }: Props) => {
+ return (
+
+ {children}
+
+ );
+};
diff --git a/styleguide/src/schedule/schedule-item.tsx b/styleguide/src/schedule/schedule-item.tsx
new file mode 100644
index 0000000000..b44750d222
--- /dev/null
+++ b/styleguide/src/schedule/schedule-item.tsx
@@ -0,0 +1,116 @@
+import clsx from "clsx";
+import { parseISO } from "date-fns";
+import React from "react";
+import { LocalTime } from "../local-time/local-time";
+import { ICALLink } from "./ical-link";
+import { EventWithPerformer, Event, EventWithPerformers } from "./types";
+
+const getPerformers = (event: Event) => {
+ const performer = (event as EventWithPerformer).performer || null;
+
+ if (performer) {
+ return [performer];
+ }
+
+ return (event as EventWithPerformers).performers || [];
+};
+
+const getTitle = (event: Event, performers: { fullName: string }[]) => {
+ if (event.type === "LIVE_CODING") {
+ return `Live coding with ${performers.map((p) => p.fullName).join("&")}`;
+ }
+
+ return event.title;
+};
+
+export const ScheduleItem = ({
+ event,
+ className,
+ ...props
+}: {
+ event: Event;
+ style: React.CSSProperties;
+ className?: string;
+}) => {
+ const background = {
+ LIVE_CODING: "bg-green",
+ PERFORMANCE: "bg-blue",
+ INTERMISSION: "bg-white",
+ LIGHTNING_TALK: "bg-coral",
+ QUIZ: "bg-purple",
+ INTERVIEW: "bg-pink",
+ CLOSING: "bg-blue",
+ DIVERSITY_SUCCESS_STORY: "bg-coral",
+ AMA: "bg-green",
+ }[event.type];
+
+ if (event.status == "TBC") {
+ return (
+
+ To be announced
+
+ );
+ }
+
+ const performersList = getPerformers(event);
+
+ const title = getTitle(event, performersList);
+ const performers = performersList.map((p) => p.fullName).join(" & ");
+
+ const actualStart = event.actualStart ? parseISO(event.actualStart) : null;
+
+ return (
+
+
+
+ {event.status === "CANCELLED" ?
Cancelled 😢 : null}
+
+ {title}
+
+ {actualStart ? (
+
+ Starts at{" "}
+
+
+ ) : null}
+
+
+
+ {event.status === "CONFIRMED" ? (
+
+ ) : null}
+
+
+
+ );
+};
diff --git a/styleguide/src/schedule/schedule.stories.tsx b/styleguide/src/schedule/schedule.stories.tsx
new file mode 100644
index 0000000000..033ec354ee
--- /dev/null
+++ b/styleguide/src/schedule/schedule.stories.tsx
@@ -0,0 +1,365 @@
+import React from "react";
+import { Schedule } from "./schedule";
+import { ScheduleProgram } from "./types";
+
+export default {
+ title: "Schedule",
+};
+
+const program: ScheduleProgram = {
+ days: [
+ {
+ date: "2021-06-16",
+ mc: {
+ fullName: "Harry Percival",
+ profilePicture: "/images/harry-percival.jpg",
+ status: "TBC",
+ },
+ events: [
+ {
+ start: "2021-06-16T17:00+02:00",
+ end: "2021-06-16T20:00+02:00",
+ type: "LIVE_CODING",
+ performer: {
+ fullName: "Aaron Bassett",
+ profilePicture: "/images/aaron-basset.jpg",
+ },
+ slug: "aaron-basset-live-coding",
+ status: "CONFIRMED",
+ },
+
+ {
+ start: "2021-06-16T20:00+02:00",
+ end: "2021-06-16T20:15+02:00",
+ status: "CONFIRMED",
+ type: "INTERMISSION",
+ title: "Live Coding wrap up",
+ },
+
+ {
+ start: "2021-06-16T20:15+02:00",
+ end: "2021-06-16T20:30+02:00",
+ type: "PERFORMANCE",
+ title: "Artistic Performance by Łukasz Langa",
+ performer: {
+ fullName: "Łukasz Langa",
+ profilePicture: "/images/lukasz-langa.jpg",
+ },
+ slug: "lukasz-langa-performance",
+ status: "CONFIRMED",
+ },
+
+ {
+ start: "2021-06-16T20:30+02:00",
+ end: "2021-06-16T20:40+02:00",
+ type: "LIGHTNING_TALK",
+ title: "Lightning talk by Tania Allard",
+ performer: {
+ fullName: "Tania Allard",
+ profilePicture: "/images/tania-allard.jpg",
+ },
+ status: "CONFIRMED",
+ },
+
+ {
+ start: "2021-06-16T20:40+02:00",
+ end: "2021-06-16T20:50+02:00",
+ type: "LIGHTNING_TALK",
+ title: "Lightning talk by Alessandro Molina",
+ performer: {
+ fullName: "Alessandro Molina",
+ profilePicture: "/images/alessandro-molina.jpg",
+ },
+ status: "CONFIRMED",
+ },
+
+ {
+ start: "2021-06-16T20:50+02:00",
+ end: "2021-06-16T21:10+02:00",
+ type: "DIVERSITY_SUCCESS_STORY",
+ title: "Diversity Success Story - Serena Sensini",
+ performer: {
+ fullName: "Serena Sensini",
+ profilePicture: "/images/serena-sensini.jpg",
+ },
+ status: "CONFIRMED",
+ },
+
+ {
+ start: "2021-06-16T21:10+02:00",
+ end: "2021-06-16T22:00+02:00",
+ type: "AMA",
+ title: "PSF - Ask Me Anything",
+ performers: [
+ {
+ fullName: "Ewa Jodlowska",
+ profilePicture: "/images/ewa-jodlowska.jpg",
+ twitter: "ewa_jodlowska",
+ bio: "Executive Director for the Python Software Foundation",
+ },
+ {
+ fullName: "Lorena Mesa",
+ profilePicture: "/images/lorena-mesa.jpg",
+ twitter: "loooorenanicole",
+ website: "https://lorenamesa.com/",
+ bio:
+ "@PyLadiesChicago, @ThePSF Chair, Director, Fellow; @github engineer #LatinxInTech who 💖 live long, 🏳️🌈, 🐍, 🚀, 🏃 & prosper 🖖🏽; opinions my own. She/her.",
+ },
+ ],
+ slug: "psf-ama",
+ status: "CONFIRMED",
+ },
+
+ {
+ start: "2021-06-16T22:00+02:00",
+ end: "2021-06-16T23:00+02:00",
+ type: "QUIZ",
+ title: "Pub Quiz",
+ status: "CONFIRMED",
+ },
+
+ {
+ start: "2021-06-16T23:00+02:00",
+ end: "2021-06-16T23:10+02:00",
+ type: "CLOSING",
+ title: "Closing session",
+ status: "CONFIRMED",
+ },
+ ],
+ },
+ {
+ date: "2021-06-17",
+ mc: {
+ fullName: "Cheuk Ting Ho",
+ profilePicture: "/images/cheuk-ting-ho.jpg",
+ status: "TBC",
+ },
+ events: [
+ {
+ start: "2021-06-17T17:00+02:00",
+ actualStart: "2021-06-17T18:30+02:00",
+ end: "2021-06-17T20:00+02:00",
+ type: "LIVE_CODING",
+ performer: {
+ fullName: "TBC",
+ profilePicture: null,
+ },
+ status: "CONFIRMED",
+ },
+
+ {
+ start: "2021-06-17T20:00+02:00",
+ end: "2021-06-17T20:15+02:00",
+ type: "INTERMISSION",
+ status: "CONFIRMED",
+ title: "Live Coding wrap up",
+ },
+
+ {
+ start: "2021-06-17T20:15+02:00",
+ end: "2021-06-17T20:30+02:00",
+ type: "LIGHTNING_TALK",
+ title: "Lightning Talk - SEMILLA — a neural audio synthesizer",
+ performer: {
+ fullName: "Moisés Horta Valenzuela",
+ profilePicture: "/images/moises.jpg",
+ bio:
+ "Moisés Horta Valenzuela sound artist and electronic musician from Tijuana, México working in the fields of computer music and the history and politics of emerging technologies. My practice attempts to disrupt dichotomies with juxtapositions, such as utopia with dystopia and folk traditions with capitalist modernity.",
+ twitter: "hexorcismos",
+ website: "https://moiseshorta.audio/",
+ },
+ status: "CONFIRMED",
+ },
+
+ {
+ start: "2021-06-17T20:30+02:00",
+ end: "2021-06-17T20:40+02:00",
+ type: "LIGHTNING_TALK",
+ title: "TBC",
+ performers: [
+ {
+ fullName: "Ernesto Arbitrio",
+ profilePicture: "/images/ernesto-arbitrio.jpg",
+ },
+ {
+ fullName: "Alessia Marcolini",
+ profilePicture: "/images/alessia-marcolini.jpg",
+ },
+ ],
+ status: "CONFIRMED",
+ },
+
+ {
+ start: "2021-06-17T20:40+02:00",
+ end: "2021-06-17T20:50+02:00",
+ type: "LIGHTNING_TALK",
+ title: "Lightning Talk - Structure of Brain Activity",
+ performer: {
+ fullName: "Jacob Billings",
+ profilePicture: "/images/jacob-billings.jpg",
+ },
+ status: "CONFIRMED",
+ },
+
+ {
+ start: "2021-06-17T20:50+02:00",
+ end: "2021-06-17T21:10+02:00",
+ type: "DIVERSITY_SUCCESS_STORY",
+ title: "Diversity Success Story - Darya Majidi",
+ performers: [
+ {
+ fullName: "Darya Majidi",
+ profilePicture: "/images/darya-majidi.jpg",
+ bio:
+ "Entrepreneur, computer science degree, economics master, expert in artificial intelligence and Healthcare, founder and CEO Daxo Group, a company of strategic consulting, founder and CEO Daxolab, innovative startup incubator, Member of Singularity University Faculty. She was the councilor for innovation of the Municipality of Livorno, President of the Youth of Confindustria Livorno and lecturer in prestigious international universities. Mentor, speaker, author of books «Women 4.0» and “Digital Sisterhood”, she is the founder of the Women 4.0 Community.",
+ },
+ ],
+ slug: "darya-majidi-success-story",
+ status: "CONFIRMED",
+ },
+
+ {
+ start: "2021-06-17T21:10+02:00",
+ end: "2021-06-17T22:00+02:00",
+ type: "INTERVIEW",
+ title: "Interview with Ines Montani and Sebastián Ramírez",
+ performers: [
+ {
+ fullName: "Ines Montani",
+ profilePicture: "/images/ines-montani.png",
+ },
+ {
+ fullName: "Sebastián Ramírez",
+ profilePicture: "/images/sebastian-ramirez.jpg",
+ },
+ ],
+ slug: "ines-montani-sebastian-ramirez-interview",
+ status: "CONFIRMED",
+ },
+
+ {
+ start: "2021-06-17T22:00+02:00",
+ end: "2021-06-17T23:00+02:00",
+ type: "PERFORMANCE",
+ title: "Monty Python Performance",
+ performer: {
+ fullName: "",
+ profilePicture: null,
+ },
+ status: "CONFIRMED",
+ },
+
+ {
+ start: "2021-06-17T23:00+02:00",
+ end: "2021-06-17T23:10+02:00",
+ type: "CLOSING",
+ title: "Closing session",
+ status: "CONFIRMED",
+ },
+ ],
+ },
+ {
+ date: "2021-06-18",
+ mc: {
+ fullName: "Miriah Peterson",
+ profilePicture: "/images/miriah-peterson.jpg",
+ status: "CONFIRMED",
+ },
+ events: [
+ {
+ start: "2021-06-18T17:00+02:00",
+ end: "2021-06-18T20:00+02:00",
+ type: "LIVE_CODING",
+ performer: {
+ fullName: "Al Sweigart",
+ profilePicture: "/images/al-sweigart.jpg",
+ },
+ slug: "al-sweigart-live-coding",
+ status: "CANCELLED",
+ },
+
+ {
+ start: "2021-06-18T20:00+02:00",
+ end: "2021-06-18T20:15+02:00",
+ status: "CONFIRMED",
+ type: "INTERMISSION",
+ title: "Live Coding wrap up",
+ },
+
+ {
+ start: "2021-06-18T20:15+02:00",
+ end: "2021-06-18T20:30+02:00",
+ type: "LIGHTNING_TALK",
+ title: "TBC",
+ performer: null,
+ status: "TBC",
+ },
+
+ {
+ start: "2021-06-18T20:30+02:00",
+ end: "2021-06-18T20:50+02:00",
+ type: "LIGHTNING_TALK",
+ title: "The evolution of the African Python Community",
+ performer: {
+ fullName: "Aisha Bello",
+ profilePicture: "",
+ bio:
+ "Aisha is based out of Toronto, Canada and works as a Solutions Architect for AWS. She co-founded and is a former board member of the Python Nigeria Community, a Python Software Foundation fellow, Django Girls board member, Django Software Foundation member and winner of the 2016 Malcolm Tredinnick Memorial award. Aisha is passionate about mentoring African women through PyLadies and DjangoGirls and bringing communities together via conferences such as PyCon. She has helped organized a number of conferences including PyCon Nigeria and Pycon Africa. \nAisha also co-hosts a podcast called “Rogue Unlearning” where she talks about a range of topics about unlearning beliefs that inhibits growth. Since the pandemic when she’s not taking long walks listening to her favorite selection of Afropop, She enjoys painting.",
+ },
+ status: "CONFIRMED",
+ size: 2,
+ },
+
+ {
+ start: "2021-06-18T20:50+02:00",
+ end: "2021-06-18T21:10+02:00",
+ type: "DIVERSITY_SUCCESS_STORY",
+ title: "Diversity Success Story - Eleonora Rocca",
+ performers: [
+ {
+ fullName: "Eleonora Rocca",
+ profilePicture: "/images/eleonora-rocca.jpg",
+ },
+ ],
+ slug: "eleonora-rocca-success-story",
+ status: "CONFIRMED",
+ },
+
+ {
+ start: "2021-06-18T21:10+02:00",
+ end: "2021-06-18T22:00+02:00",
+ type: "LIGHTNING_TALK",
+ title: "What's new in Python 3.10",
+ performers: [
+ {
+ fullName: "Pablo Galindo Salgado",
+ bio:
+ "Pablo Galindo Salgado works in the Python Infrastructure team at the Software Infrastructure department at Bloomberg L.P. He is a CPython core developer and a Theoretical Physicist specialized in general relativity and black hole physics. He is currently serving on the Python Steering Council and he is the release manager for Python 3.10 and 3.11. He has also a cat but he does not code.",
+ profilePicture: "/images/pablo-galindo.jpg",
+ twitter: "pyblogsal",
+ },
+ ],
+ status: "CONFIRMED",
+ },
+
+ {
+ start: "2021-06-18T22:00+02:00",
+ end: "2021-06-18T23:00+02:00",
+ type: "QUIZ",
+ title: "Game",
+ status: "TBC",
+ },
+
+ {
+ start: "2021-06-18T23:00+02:00",
+ end: "2021-06-18T23:10+02:00",
+ type: "CLOSING",
+ title: "Closing session",
+ status: "CONFIRMED",
+ },
+ ],
+ },
+ ],
+};
+
+export const Standard = () => ;
diff --git a/styleguide/src/schedule/schedule.tsx b/styleguide/src/schedule/schedule.tsx
new file mode 100644
index 0000000000..7701f9941c
--- /dev/null
+++ b/styleguide/src/schedule/schedule.tsx
@@ -0,0 +1,251 @@
+import clsx from "clsx";
+import { format } from "date-fns";
+import differenceInMinutes from "date-fns/fp/differenceInMinutes";
+import parseISO from "date-fns/parseISO";
+import React, { Fragment, useState } from "react";
+import { LocalTime } from "../local-time/local-time";
+import { Heading } from "../heading";
+import { ScheduleItem } from "./schedule-item";
+import { Event, ScheduleProgram, ScheduleDay } from "./types";
+
+type Props = {
+ program: ScheduleProgram;
+};
+
+const getSlotKey = ({ start }: { start: string }) =>
+ `${format(parseISO(start), "HH:mm")}`;
+
+const Day = ({
+ day,
+ slots,
+ className,
+}: {
+ day: ScheduleDay;
+ slots: Slot[];
+ className?: string;
+}) => {
+ return (
+
+ {day.events.map((event) => {
+ const key = getSlotKey(event);
+ const slot = slots.find((slot) => slot.key == key);
+
+ if (!slot) {
+ console.warn("missing slot for", event);
+
+ return;
+ }
+
+ const increase =
+ event.size !== undefined ? (event.size - 1) * 10 + 1 : 0;
+
+ return (
+
+ );
+ })}
+
+ );
+};
+
+type Slot = {
+ start: Date;
+ end: Date;
+ rowStart: number;
+ rowEnd: number;
+ key: string;
+};
+
+const TimeSlots = ({ slots }: { slots: Slot[] }) => (
+
+ {slots.map((slot) => {
+ return (
+
+
+
+ );
+ })}
+
+);
+
+const getSlots = (events: Event[], uniformSize: boolean = false) => {
+ const slots: Slot[] = [];
+
+ const seenSlots = new Set();
+
+ events.forEach((event, index) => {
+ const start = parseISO(event.start);
+ const end = parseISO(event.end);
+
+ const key = getSlotKey(event);
+
+ if (seenSlots.has(key)) {
+ return;
+ }
+
+ seenSlots.add(key);
+
+ slots.push({
+ start,
+ end,
+ key,
+ rowStart: 0,
+ rowEnd: 0,
+ });
+ });
+
+ slots.sort((a, b) => (a.start < b.start ? -1 : a.start > b.start ? 1 : 0));
+
+ let previousSlot: Slot | null = null;
+
+ for (const slot of slots) {
+ const totalMinutes = differenceInMinutes(slot.start, slot.end);
+ const rows = uniformSize ? 10 : totalMinutes / 5;
+
+ slot.rowStart = previousSlot?.rowEnd || 1;
+ slot.rowEnd = slot.rowStart + rows + 1;
+
+ previousSlot = slot;
+ }
+
+ return slots;
+};
+
+const DayHeader = ({
+ day,
+ className,
+ onClick,
+}: {
+ day: ScheduleDay;
+ className?: string;
+ onClick?: () => void;
+}) => {
+ // use the first event as the day date to make sure we use the
+ // correct day based on the user time zone
+ const date = parseISO(day.events[0].start);
+
+ return (
+
+ {format(date, "EEEE d MMMM")}
+ {format(date, " yyyy")}
+
+ );
+};
+
+export const Schedule = ({ program }: Props) => {
+ const uniformSize = true;
+
+ const days = [program.days[0], program.days[1], program.days[2]];
+
+ const allEvents = days.flatMap((d) => d.events);
+
+ const slots = getSlots(allEvents, uniformSize);
+ const rows = Math.max(...slots.map((slot) => slot.rowEnd)) - 1;
+
+ const [selectedDay, setSelectedDay] = useState(days[0].date);
+
+ return (
+
+
+
+
+
+
+ {days.map((day) => (
+
setSelectedDay(day.date)}
+ className={clsx(
+ {
+ "bg-white": day.date !== selectedDay,
+ "bg-purple": day.date === selectedDay,
+ },
+ "md:bg-white"
+ )}
+ />
+ ))}
+
+
+
+
+
+ {days.map((day) => (
+
+ 🎤 MC: {day.mc.fullName}
+
+ ))}
+
+
+
+
+
+ {days.map((day) => (
+
+ ))}
+
+
+ );
+};
diff --git a/styleguide/src/schedule/types.ts b/styleguide/src/schedule/types.ts
new file mode 100644
index 0000000000..7984d6acc6
--- /dev/null
+++ b/styleguide/src/schedule/types.ts
@@ -0,0 +1,51 @@
+export type Performer = {
+ fullName: string;
+ profilePicture: string | null;
+ bio?: string | null;
+ twitter?: string | null;
+ website?: string | null;
+};
+
+export type Status = "CONFIRMED" | "TBC" | "CANCELLED";
+
+export type BaseEvent = {
+ start: string;
+ actualStart?: string;
+ end: string;
+ title?: string;
+ slug?: string;
+ status: Status;
+ size?: number;
+ type:
+ | "LIVE_CODING"
+ | "PERFORMANCE"
+ | "INTERMISSION"
+ | "INTERVIEW"
+ | "LIGHTNING_TALK"
+ | "QUIZ"
+ | "CLOSING"
+ | "DIVERSITY_SUCCESS_STORY"
+ | "AMA";
+};
+
+export type EventWithPerformer = BaseEvent & {
+ performer: Performer | null;
+};
+
+export type EventWithPerformers = BaseEvent & {
+ performers: Performer[];
+};
+
+export type Event = BaseEvent | EventWithPerformer | EventWithPerformers;
+
+export type ScheduleDay = {
+ date: string;
+ mc: Performer & {
+ status: Status;
+ };
+ events: Event[];
+};
+
+export type ScheduleProgram = {
+ days: ScheduleDay[];
+};
diff --git a/styleguide/src/scrolldown-arrow-bar/index.tsx b/styleguide/src/scrolldown-arrow-bar/index.tsx
new file mode 100644
index 0000000000..104859a7ac
--- /dev/null
+++ b/styleguide/src/scrolldown-arrow-bar/index.tsx
@@ -0,0 +1 @@
+export { ScrollDownArrowBar } from "./scrolldown-arrow-bar";
diff --git a/styleguide/src/scrolldown-arrow-bar/scrolldown-arrow-bar.stories.tsx b/styleguide/src/scrolldown-arrow-bar/scrolldown-arrow-bar.stories.tsx
new file mode 100644
index 0000000000..aa4d9fc882
--- /dev/null
+++ b/styleguide/src/scrolldown-arrow-bar/scrolldown-arrow-bar.stories.tsx
@@ -0,0 +1,10 @@
+import React from "react";
+import { ScrollDownArrowBar } from "./scrolldown-arrow-bar";
+
+export default {
+ title: "Scrolldown Arrow Bar",
+};
+
+export const Primary = () => {
+ return ;
+};
diff --git a/styleguide/src/scrolldown-arrow-bar/scrolldown-arrow-bar.tsx b/styleguide/src/scrolldown-arrow-bar/scrolldown-arrow-bar.tsx
new file mode 100644
index 0000000000..22c4327dd6
--- /dev/null
+++ b/styleguide/src/scrolldown-arrow-bar/scrolldown-arrow-bar.tsx
@@ -0,0 +1,53 @@
+import React from "react";
+
+export const ScrollDownArrowBar = () => {
+ return (
+
+ );
+};
+
+const LineArrow = () => (
+
+);
diff --git a/styleguide/src/section/index.tsx b/styleguide/src/section/index.tsx
new file mode 100644
index 0000000000..2e37b756b2
--- /dev/null
+++ b/styleguide/src/section/index.tsx
@@ -0,0 +1 @@
+export { Section } from "./section";
diff --git a/styleguide/src/section/section.stories.tsx b/styleguide/src/section/section.stories.tsx
new file mode 100644
index 0000000000..15be58dfd9
--- /dev/null
+++ b/styleguide/src/section/section.stories.tsx
@@ -0,0 +1,258 @@
+import React from "react";
+import { ContainerSize } from "../container/container";
+import { Heading } from "../heading";
+import { Page } from "../page";
+import { Text } from "../text";
+import { Color } from "../types";
+import { Section } from "./section";
+import { Spacer } from "../spacer";
+
+export const Standard = ({
+ containerSize = "base",
+ background,
+}: {
+ containerSize: ContainerSize;
+ background: Color | "none";
+}) => {
+ return (
+
+ );
+};
+
+export const SectionInsidePage = ({
+ containerSize = "base",
+ background,
+}: {
+ containerSize: ContainerSize;
+ background: Color | "none";
+}) => {
+ return (
+
+
+
+
+ Section Tail!
+
+ Induco eligo, cogito sit et officia adipisici canvallis quis commodi
+ neque culpa, in neque quis trivia insula canvallis dulcis amet gratia
+ abundantia legio caelum galea cogito legis impera, legis ventum gratia
+ trivia bene sit legis, abundantia bene bene negotium sum medius neque
+ amet in oblivio modestus bene lege minim, virtus legio impera
+ abundantia sit dulcis in medius eligo. Induco eligo, cogito sit et
+ officia adipisici canvallis quis commodi neque culpa, in neque quis
+ trivia insula canvallis dulcis amet gratia abundantia legio caelum
+ galea cogito legis impera, legis ventum gratia trivia bene sit legis,
+ abundantia bene bene negotium sum medius neque amet in oblivio
+ modestus bene lege minim, virtus legio impera abundantia sit dulcis in
+ medius eligo.
+
+
+
+
+ Long neck illustration
+
+
+
+ Induco eligo, cogito sit et officia adipisici canvallis quis commodi
+ neque culpa, in neque quis trivia insula canvallis dulcis amet gratia
+ abundantia legio caelum galea cogito legis impera, legis ventum gratia
+ trivia bene sit legis, abundantia bene bene negotium sum medius neque
+ amet in oblivio modestus bene lege minim, virtus legio impera
+ abundantia sit dulcis in medius eligo.{" "}
+
+
+
+
+ Long neck illustration
+
+
+
+ Induco eligo, cogito sit et officia adipisici canvallis quis commodi
+ neque culpa, in neque quis trivia insula canvallis dulcis amet gratia
+ abundantia legio caelum galea cogito legis impera, legis ventum gratia
+ trivia bene sit legis, abundantia bene bene negotium sum medius neque
+ amet in oblivio modestus bene lege minim, virtus legio impera
+ abundantia sit dulcis in medius eligo.{" "}
+
+
+
+
+ Long neck illustration
+
+
+
+ Induco eligo, cogito sit et officia adipisici canvallis quis commodi
+ neque culpa, in neque quis trivia insula canvallis dulcis amet gratia
+ abundantia legio caelum galea cogito legis impera, legis ventum gratia
+ trivia bene sit legis, abundantia bene bene negotium sum medius neque
+ amet in oblivio modestus bene lege minim, virtus legio impera
+ abundantia sit dulcis in medius eligo.{" "}
+
+
+
+
+ Long neck illustration
+
+
+
+ Induco eligo, cogito sit et officia adipisici canvallis quis commodi
+ neque culpa, in neque quis trivia insula canvallis dulcis amet gratia
+ abundantia legio caelum galea cogito legis impera, legis ventum gratia
+ trivia bene sit legis, abundantia bene bene negotium sum medius neque
+ amet in oblivio modestus bene lege minim, virtus legio impera
+ abundantia sit dulcis in medius eligo.{" "}
+
+
+
+
+ Long neck illustration
+
+
+
+ Induco eligo, cogito sit et officia adipisici canvallis quis commodi
+ neque culpa, in neque quis trivia insula canvallis dulcis amet gratia
+ abundantia legio caelum galea cogito legis impera, legis ventum gratia
+ trivia bene sit legis, abundantia bene bene negotium sum medius neque
+ amet in oblivio modestus bene lege minim, virtus legio impera
+ abundantia sit dulcis in medius eligo.{" "}
+
+
+
+
+ Long neck illustration
+
+
+
+ Induco eligo, cogito sit et officia adipisici canvallis quis commodi
+ neque culpa, in neque quis trivia insula canvallis dulcis amet gratia
+ abundantia legio caelum galea cogito legis impera, legis ventum gratia
+ trivia bene sit legis, abundantia bene bene negotium sum medius neque
+ amet in oblivio modestus bene lege minim, virtus legio impera
+ abundantia sit dulcis in medius eligo.{" "}
+
+
+
+
+ Long neck illustration
+
+
+
+ Induco eligo, cogito sit et officia adipisici canvallis quis commodi
+ neque culpa, in neque quis trivia insula canvallis dulcis amet gratia
+ abundantia legio caelum galea cogito legis impera, legis ventum gratia
+ trivia bene sit legis, abundantia bene bene negotium sum medius neque
+ amet in oblivio modestus bene lege minim, virtus legio impera
+ abundantia sit dulcis in medius eligo.{" "}
+
+
+
+
+ Long neck illustration
+
+
+
+ Induco eligo, cogito sit et officia adipisici canvallis quis commodi
+ neque culpa, in neque quis trivia insula canvallis dulcis amet gratia
+ abundantia legio caelum galea cogito legis impera, legis ventum gratia
+ trivia bene sit legis, abundantia bene bene negotium sum medius neque
+ amet in oblivio modestus bene lege minim, virtus legio impera
+ abundantia sit dulcis in medius eligo.{" "}
+
+
+
+
+
+ );
+};
+
+export default {
+ title: "Section",
+ component: Standard,
+ argTypes: {
+ containerSize: {
+ control: {
+ type: "select",
+ options: ["base", "medium"],
+ },
+ defaultValue: "base",
+ },
+ background: {
+ defaultValue: "none",
+ control: {
+ type: "select",
+ options: [
+ "none",
+ "coral",
+ "caramel",
+ "cream",
+ "yellow",
+ "green",
+ "purple",
+ "pink",
+ "blue",
+ "red",
+ "success",
+ "warning",
+ "neutral",
+ "black",
+ "grey",
+ "white",
+ "milk",
+ ],
+ },
+ },
+ },
+};
diff --git a/styleguide/src/section/section.tsx b/styleguide/src/section/section.tsx
new file mode 100644
index 0000000000..008e846879
--- /dev/null
+++ b/styleguide/src/section/section.tsx
@@ -0,0 +1,135 @@
+import clsx from "clsx";
+import React from "react";
+import { getBackgroundClasses } from "../colors-utils";
+import { Container } from "../container";
+import { ContainerSize } from "../container/container";
+import { SnakeTail } from "../illustrations/snake-tail";
+import { Grid, GridColumn } from "../grid";
+import { Spacer } from "../spacer";
+import { Color } from "../types";
+import { Illustration } from "../illustrations/types";
+import { getIllustration } from "../illustrations/illustrations";
+
+const NO_MOBILE_ILLUSTRATIONS: Illustration[] = ["snakeLongNeck", "snakeHead"];
+
+const getClasses = (illustration: Illustration) => {
+ if (illustration === "snakeHead") {
+ return "max-w-[90px] lg:max-w-[190px]";
+ }
+
+ if (illustration === "snakeTailUp") {
+ return "max-h-[140px] lg:max-h-[340px] max-w-[70px] lg:max-w-[140px]";
+ }
+
+ return "max-w-md max-h-[340px]";
+};
+
+const SideIllustration = ({
+ illustration,
+ cols,
+ mdCols,
+}: {
+ illustration?: Illustration;
+ cols: number;
+ mdCols: number;
+}) => {
+ if (!illustration) {
+ return null;
+ }
+
+ const Component = getIllustration(illustration);
+
+ if (!Component) {
+ return null;
+ }
+
+ const classes = getClasses(illustration);
+
+ return (
+
+
+
+ );
+};
+
+type Props = {
+ children: React.ReactNode;
+ noContainer?: boolean;
+ containerSize?: ContainerSize;
+ illustration?: Illustration;
+ background?: Color | "none";
+ spacingSize?: "none" | "xl" | "2xl" | "3xl";
+};
+
+const getCols = (illustration?: Illustration) => {
+ if (!illustration) {
+ return [12, 0];
+ }
+
+ if (illustration === "snakeLongNeck") {
+ return [10, 2];
+ }
+
+ if (illustration === "snakeTail") {
+ return [8, 0];
+ }
+
+ return [7, 5];
+};
+
+export const Section = ({
+ children,
+ noContainer = false,
+ illustration,
+ containerSize = "base",
+ background = "none",
+ spacingSize = "2xl",
+}: Props) => {
+ const Wrapper = noContainer ? "div" : Container;
+ const wrapperProps = noContainer ? {} : { size: containerSize };
+
+ const [contentCols, illustrationCols] = getCols(illustration);
+
+ return (
+
+
+
+ {illustration === "snakeTail" && (
+
+
+
+ )}
+
+
+
+ {children}
+
+
+
+ {illustration !== "snakeTail" && (
+
+ )}
+
+
+
+ );
+};
diff --git a/styleguide/src/select/index.tsx b/styleguide/src/select/index.tsx
new file mode 100644
index 0000000000..13bcb8262e
--- /dev/null
+++ b/styleguide/src/select/index.tsx
@@ -0,0 +1 @@
+export { Select } from "./select";
diff --git a/styleguide/src/select/select.stories.tsx b/styleguide/src/select/select.stories.tsx
new file mode 100644
index 0000000000..0a94e3a455
--- /dev/null
+++ b/styleguide/src/select/select.stories.tsx
@@ -0,0 +1,35 @@
+import React, { useState } from "react";
+
+import { Select } from "./select";
+
+export default {
+ title: "Select",
+ argTypes: {
+ error: {
+ defaultValue: "",
+ control: {
+ type: "text",
+ },
+ },
+ },
+};
+
+export const Primary = ({ error }) => {
+ const [value, setValue] = useState("");
+ return (
+
+
+
+ );
+};
diff --git a/styleguide/src/select/select.tsx b/styleguide/src/select/select.tsx
new file mode 100644
index 0000000000..9af591545c
--- /dev/null
+++ b/styleguide/src/select/select.tsx
@@ -0,0 +1,41 @@
+import clsx from "clsx";
+import React from "react";
+import { ArrowDownIcon } from "../icons/arrow-down";
+import { Spacer } from "../spacer";
+import { Text } from "../text";
+
+type Props = React.InputHTMLAttributes & {
+ errors?: (string | React.ReactNode)[];
+ children: React.ReactNode;
+};
+
+export const Select = ({ errors, children, ...props }: Props) => {
+ const errorsOrEmpty = (errors ?? []).filter((e) => !!e);
+ const hasError = errorsOrEmpty.length > 0;
+
+ return (
+
+
+
+
+ {errorsOrEmpty.join(", ")}
+
+
+ );
+};
diff --git a/styleguide/src/separator/index.tsx b/styleguide/src/separator/index.tsx
new file mode 100644
index 0000000000..9fac69c92d
--- /dev/null
+++ b/styleguide/src/separator/index.tsx
@@ -0,0 +1 @@
+export { Separator } from "./separator";
diff --git a/styleguide/src/separator/separator.stories.tsx b/styleguide/src/separator/separator.stories.tsx
new file mode 100644
index 0000000000..536a0294d8
--- /dev/null
+++ b/styleguide/src/separator/separator.stories.tsx
@@ -0,0 +1,34 @@
+import React from "react";
+import { Separator } from "./separator";
+import { Container } from "../container";
+
+export default {
+ title: "Separator",
+};
+
+export const Primary = () => {
+ return (
+
+ Test
+
+ Another separator
+
+ );
+};
+
+export const EscapeContainer = () => {
+ return (
+ <>
+
+ Mobile only
+
+ Another separator
+
+
+ Always
+
+ Another separator
+
+ >
+ );
+};
diff --git a/styleguide/src/separator/separator.tsx b/styleguide/src/separator/separator.tsx
new file mode 100644
index 0000000000..8c145fbbf7
--- /dev/null
+++ b/styleguide/src/separator/separator.tsx
@@ -0,0 +1,30 @@
+import clsx from "clsx";
+import React from "react";
+
+type Props = {
+ mobileOnly?: boolean;
+ hidden?: boolean;
+ escapeContainer?: boolean | "mobile";
+ orientation?: "horizontal" | "vertical";
+};
+
+export const Separator = ({
+ escapeContainer = false,
+ hidden = false,
+ mobileOnly = false,
+ orientation = "horizontal",
+}: Props) => (
+
+);
diff --git a/styleguide/src/simple-select/index.tsx b/styleguide/src/simple-select/index.tsx
new file mode 100644
index 0000000000..c31cfe3a1f
--- /dev/null
+++ b/styleguide/src/simple-select/index.tsx
@@ -0,0 +1 @@
+export { SimpleSelect } from "./simple-select";
diff --git a/styleguide/src/simple-select/simple-select.tsx b/styleguide/src/simple-select/simple-select.tsx
new file mode 100644
index 0000000000..314ad3ff6c
--- /dev/null
+++ b/styleguide/src/simple-select/simple-select.tsx
@@ -0,0 +1,60 @@
+import clsx from "clsx";
+import React from "react";
+import { ArrowDownIcon } from "../icons/arrow-down";
+
+export type Option = {
+ value: string;
+ label: string;
+};
+
+type Props = {
+ options: Option[];
+ placeholder?: string | React.ReactNode;
+ value?: string;
+ className?: string;
+ onChange?: (e: any) => void;
+ disabled?: boolean;
+};
+
+export const SimpleSelect = ({
+ options,
+ placeholder,
+ className,
+ value = "",
+ onChange,
+ disabled = false,
+}: Props) => {
+ return (
+
+
+ {!disabled && (
+
+ )}
+
+ );
+};
diff --git a/styleguide/src/slider-grid/index.tsx b/styleguide/src/slider-grid/index.tsx
new file mode 100644
index 0000000000..dd5af6fa5e
--- /dev/null
+++ b/styleguide/src/slider-grid/index.tsx
@@ -0,0 +1 @@
+export { SliderGrid } from "./slider-grid";
diff --git a/styleguide/src/slider-grid/slider-grid.stories.tsx b/styleguide/src/slider-grid/slider-grid.stories.tsx
new file mode 100644
index 0000000000..e8c7c22a59
--- /dev/null
+++ b/styleguide/src/slider-grid/slider-grid.stories.tsx
@@ -0,0 +1,206 @@
+import React from "react";
+import { MultiplePartsCard, CardPart } from "../multiple-parts-card";
+import { SliderGrid } from "./slider-grid";
+import { Text } from "../text";
+import { Heading } from "../heading";
+import { Spacer } from "../spacer";
+import { SpeakerCard } from "../speaker-card";
+import { Link } from "../link";
+
+export const Default = () => {
+ return (
+
+
+
+
+ Student
+
+ Lorem ipsum dolor sit amet
+
+
+
+ € 100
+
+ flat price
+
+
+
+
+
+ Regular
+
+
+ Buying now your ticket, you can save up to the 30%
+
+
+
+
+ € 180
+
+ Early bird
+
+
+
+
+
+ Business
+
+
+ Buying now your ticket, you can save up to the 25%
+
+
+
+
+ € 250
+
+ Early bird
+
+
+
+
+ );
+};
+
+export const DynamicCards = ({ cols, items }) => {
+ return (
+
+
+ {Array(items)
+ .fill(0)
+ .map((_, index) => (
+
+
+ Student
+
+
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit.
+
+
+
+
+ € 100
+
+ flat price
+
+
+ ))}
+
+
+ );
+};
+DynamicCards.argTypes = {
+ cols: {
+ defaultValue: 2,
+ control: {
+ type: "number",
+ },
+ },
+ items: {
+ defaultValue: 2,
+ control: {
+ type: "number",
+ },
+ },
+};
+
+export const SpeakerCardGrid = () => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+};
+
+export const SingleItem = () => {
+ return (
+
+
+
+ );
+};
+
+export default {
+ title: "Slider Grid",
+ component: Default,
+};
diff --git a/styleguide/src/slider-grid/slider-grid.tsx b/styleguide/src/slider-grid/slider-grid.tsx
new file mode 100644
index 0000000000..5d28c817a7
--- /dev/null
+++ b/styleguide/src/slider-grid/slider-grid.tsx
@@ -0,0 +1,122 @@
+import clsx from "clsx";
+import React, { useEffect, useRef } from "react";
+import { Container } from "../container";
+import { SnakeBody } from "../illustrations/snake-body";
+import { SnakeHead } from "../illustrations/snake-head";
+import { SnakeTail } from "../illustrations/snake-tail";
+
+type Props = {
+ children: React.ReactNode;
+ cols: number;
+ mdCols?: number;
+ background?: "snake" | "none";
+ justifyContent?: "left" | "center" | "right";
+ wrap?: "wrap" | "nowrap";
+};
+
+export const SliderGrid = ({
+ children,
+ cols,
+ mdCols = cols,
+ wrap = "wrap",
+ justifyContent,
+ background = "none",
+}: Props) => {
+ const scrollerRef = useRef(null);
+ const listItemsRef = useRef<(HTMLDivElement | null)[]>([]);
+
+ useEffect(() => {
+ if (!scrollerRef.current) {
+ return;
+ }
+
+ const callback = (entries: IntersectionObserverEntry[]) => {
+ entries.forEach((entry) => {
+ if (entry.isIntersecting) {
+ entry.target.classList.add("grid-section--current-item");
+ } else {
+ entry.target.classList.remove("grid-section--current-item");
+ }
+ });
+ };
+
+ const observer = new IntersectionObserver(callback, {
+ root: scrollerRef.current,
+ rootMargin: "0px",
+ threshold: 0.75,
+ });
+
+ listItemsRef.current.forEach((item) => {
+ if (item) {
+ item.classList.add("grid-section--item");
+ observer.observe(item);
+ }
+ });
+
+ return () => {
+ observer.disconnect();
+ };
+ }, [scrollerRef.current, children]);
+
+ const countChildren = React.Children.count(children);
+ const useSnakeBackground = background === "snake";
+
+ return (
+
+
+ {useSnakeBackground && (
+
+ )}
+
+
+
+ {React.Children.map(children, (child, index) => (
+
(listItemsRef.current[index] = el)}
+ style={
+ {
+ "--lgCols": cols,
+ "--mdCols": mdCols,
+ } as any
+ }
+ className={clsx(
+ "md:opacity-100 z-10 transition-opacity snap-center shrink-0",
+ "w-scroller-item md:w-auto relative",
+ "pl-2 pr-2 md:min-w-0 md:p-2 lg:p-4",
+ {
+ "lg:basis-[calc((100%/var(--lgCols)))]": cols,
+ "md:basis-[calc((100%/var(--mdCols)))]": !!mdCols,
+ }
+ )}
+ >
+ {useSnakeBackground &&
+ index !== countChildren - 1 &&
+ index % cols !== cols - 1 && (
+
+ )}
+ {child}
+
+ ))}
+
+
+
+ {useSnakeBackground && (
+
+ )}
+
+
+ );
+};
diff --git a/styleguide/src/social-links/index.tsx b/styleguide/src/social-links/index.tsx
new file mode 100644
index 0000000000..e6068b2825
--- /dev/null
+++ b/styleguide/src/social-links/index.tsx
@@ -0,0 +1 @@
+export { SocialLinks } from "./social-links";
diff --git a/styleguide/src/social-links/social-link.tsx b/styleguide/src/social-links/social-link.tsx
new file mode 100644
index 0000000000..80c23c7abf
--- /dev/null
+++ b/styleguide/src/social-links/social-link.tsx
@@ -0,0 +1,35 @@
+import React from "react";
+import { Link } from "../link";
+import { Color } from "../types";
+import { getIcon } from "../icons/icons";
+import { Icon } from "../icons/types";
+
+export type SocialLinkProps = {
+ link: string;
+ icon: Icon;
+ rel?: string;
+ color?: Color;
+ hoverColor?: Color;
+};
+
+export const SocialLink = ({
+ link,
+ icon,
+ rel,
+ color,
+ hoverColor,
+}: SocialLinkProps) => {
+ const Icon = getIcon(icon);
+ return (
+
+
+
+ );
+};
diff --git a/styleguide/src/social-links/social-links.stories.tsx b/styleguide/src/social-links/social-links.stories.tsx
new file mode 100644
index 0000000000..69a5890fec
--- /dev/null
+++ b/styleguide/src/social-links/social-links.stories.tsx
@@ -0,0 +1,68 @@
+import React from "react";
+import { Spacer } from "../spacer";
+import { SocialLinks } from "./social-links";
+
+export default {
+ title: "Social links",
+};
+
+export const Primary = () => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/social-links/social-links.tsx b/styleguide/src/social-links/social-links.tsx
new file mode 100644
index 0000000000..c6ea241f96
--- /dev/null
+++ b/styleguide/src/social-links/social-links.tsx
@@ -0,0 +1,31 @@
+import clsx from "clsx";
+import React from "react";
+import { Color } from "../types";
+import { SocialLink, SocialLinkProps } from "./social-link";
+
+type Props = {
+ socials: SocialLinkProps[];
+ color?: Color;
+ hoverColor?: Color;
+ className?: string;
+};
+
+export const SocialLinks = ({
+ socials,
+ color = "black",
+ hoverColor = "cream",
+ className,
+}: Props) => {
+ return (
+
+ {socials.map((social) => (
+ -
+
+
+ ))}
+
+ );
+};
diff --git a/styleguide/src/spacer/index.tsx b/styleguide/src/spacer/index.tsx
new file mode 100644
index 0000000000..18bb3a65c7
--- /dev/null
+++ b/styleguide/src/spacer/index.tsx
@@ -0,0 +1 @@
+export { Spacer } from "./spacer";
diff --git a/styleguide/src/spacer/spacer.stories.tsx b/styleguide/src/spacer/spacer.stories.tsx
new file mode 100644
index 0000000000..7400808c9d
--- /dev/null
+++ b/styleguide/src/spacer/spacer.stories.tsx
@@ -0,0 +1,44 @@
+import React from "react";
+import { Text } from "../text";
+import { Spacer } from "./spacer";
+
+export default {
+ title: "Spacer",
+ parameters: {
+ layout: "centered",
+ },
+ argTypes: {
+ size: {
+ defaultValue: "medium",
+ control: {
+ type: "select",
+ options: ["xs", "small", "medium", "2md", "large", "xl"],
+ },
+ },
+ showOnlyOn: {
+ defaultValue: undefined,
+ control: {
+ type: "select",
+ options: ["", "mobile", "tablet", "desktop"],
+ },
+ },
+ },
+};
+
+export const Primary = ({ size, showOnlyOn }) => (
+ <>
+ Block of text Block of text Block of text
+
+ Block of text Block of text Block of text
+ >
+);
+
+export const Horizontal = ({ size, showOnlyOn }) => {
+ return (
+ <>
+ Block of text Block of text Block of text
+
+ Block of text Block of text Block of text
+ >
+ );
+};
diff --git a/styleguide/src/spacer/spacer.tsx b/styleguide/src/spacer/spacer.tsx
new file mode 100644
index 0000000000..b5a0d5ed2b
--- /dev/null
+++ b/styleguide/src/spacer/spacer.tsx
@@ -0,0 +1,71 @@
+import clsx from "clsx";
+import React from "react";
+
+type Breakpoint = "mobile" | "tablet" | "desktop";
+
+type Props = {
+ size:
+ | "none"
+ | "thin"
+ | "xs"
+ | "small"
+ | "medium"
+ | "2md"
+ | "large"
+ | "xl"
+ | "2xl"
+ | "3xl";
+ showOnlyOn?: Breakpoint;
+ orientation?: "horizontal" | "vertical";
+};
+
+export const Spacer = ({
+ size,
+ orientation = "vertical",
+ showOnlyOn,
+}: Props) => {
+ if (size === "none") {
+ return null;
+ }
+
+ return (
+
+ );
+};
diff --git a/styleguide/src/speaker-card/index.tsx b/styleguide/src/speaker-card/index.tsx
new file mode 100644
index 0000000000..56a7013d39
--- /dev/null
+++ b/styleguide/src/speaker-card/index.tsx
@@ -0,0 +1 @@
+export { SpeakerCard } from "./speaker-card";
diff --git a/styleguide/src/speaker-card/speaker-card.stories.tsx b/styleguide/src/speaker-card/speaker-card.stories.tsx
new file mode 100644
index 0000000000..99ab78603a
--- /dev/null
+++ b/styleguide/src/speaker-card/speaker-card.stories.tsx
@@ -0,0 +1,51 @@
+import React from "react";
+import { Grid } from "../grid";
+
+import { SpeakerCard } from "./speaker-card";
+
+export default {
+ title: "Speaker Card",
+ argTypes: {
+ talkTitle: {
+ defaultValue: "Talk title",
+ control: {
+ type: "text",
+ },
+ },
+ portraitUrl: {
+ defaultValue: "https://source.unsplash.com/900x900/?face",
+ control: {
+ type: "text",
+ },
+ },
+ speakerName: {
+ defaultValue: "Speaker name",
+ control: {
+ type: "text",
+ },
+ },
+ },
+};
+
+export const Primary = (args: any) => ;
+
+export const MultipleCards = (args: any) => {
+ return (
+
+
+
+
+
+
+
+
+ );
+};
diff --git a/styleguide/src/speaker-card/speaker-card.tsx b/styleguide/src/speaker-card/speaker-card.tsx
new file mode 100644
index 0000000000..a84ababa0e
--- /dev/null
+++ b/styleguide/src/speaker-card/speaker-card.tsx
@@ -0,0 +1,60 @@
+import React from "react";
+import { Heading } from "../heading";
+import { Text } from "../text";
+import { CardPart, MultiplePartsCard } from "../multiple-parts-card";
+import { Spacer } from "../spacer";
+
+type Props = {
+ talkTitle?: string;
+ talkInfoLeft?: string;
+ talkInfoRight?: string;
+ portraitUrl?: string;
+ speakerName?: string;
+};
+
+export const SpeakerCard = ({
+ portraitUrl,
+ talkTitle,
+ speakerName,
+ talkInfoRight,
+ talkInfoLeft,
+}: Props) => {
+ return (
+
+
+
+
+
+ {(talkInfoRight || talkInfoLeft) && (
+ <>
+
+ {talkInfoLeft ? (
+
+ {talkInfoLeft}
+
+ ) : (
+
+ )}
+ {talkInfoRight && (
+
+ {talkInfoRight}
+
+ )}
+
+
+ >
+ )}
+ {talkTitle}
+
+
+ {speakerName}
+
+
+ );
+};
diff --git a/styleguide/src/split-section/split-section.stories.tsx b/styleguide/src/split-section/split-section.stories.tsx
new file mode 100644
index 0000000000..a6122398e9
--- /dev/null
+++ b/styleguide/src/split-section/split-section.stories.tsx
@@ -0,0 +1,266 @@
+import React from "react";
+import { Button } from "../button";
+import { Countdown } from "../countdown";
+import { Heading } from "../heading";
+import {
+ Cathedral,
+ Snake1,
+ Snake4,
+ Snake5,
+ SnakePencil,
+} from "../illustrations";
+import { Florence2 } from "../illustrations/florence2";
+import { Page } from "../page/index";
+import { Spacer } from "../spacer";
+import { Text } from "../text";
+import { SplitSection } from "./split-section";
+
+export const Standard = ({ ...props }) => (
+
+ }
+ sideContentBackground={Florence2.backgroundColor}
+ {...props}
+ >
+ Become a sponsor
+
+
+ Sponsoring PyConIT guarantees you strongly targeted visibility towards
+ senior developers and software engineers.
+
+
+
+
+
+);
+
+export const WithCustomIllustration = () => (
+
+ }
+ sideContentType="other"
+ sideContentPadding={false}
+ contentSpacing="medium"
+ hideSideContentOnMobile={true}
+ >
+ Become a sponsor
+
+
+ Sponsoring PyConIT guarantees you strongly targeted visibility towards
+ senior developers and software engineers.
+
+
+
+
+
+);
+
+export const WithOtherSideContent = ({ ...props }) => (
+
+
+ }
+ invert
+ sideContentType="other"
+ hideSideContentOnMobile
+ contentSpacing="medium"
+ >
+ Call for proposals [inverted]
+
+ PyCon Italia is looking for you!
+
+
+
+
+ PyCon Italia is seeking speakers of all experience levels and
+ backgrounds to contribute to our conference program! If you use Python
+ professionally, as a hobbyist or are just excited about Python or
+ programming and open source communities, we would love to hear from you.
+
+
+
+
+
+
+ }
+ sideContentType="other"
+ hideSideContentOnMobile
+ contentSpacing="medium"
+ >
+ Not inverted
+
+ PyCon Italia is looking for you!
+
+
+
+
+ PyCon Italia is seeking speakers of all experience levels and
+ backgrounds to contribute to our conference program! If you use Python
+ professionally, as a hobbyist or are just excited about Python or
+ programming and open source communities, we would love to hear from you.
+
+
+
+
+
+);
+
+export const MultipleSections = ({ ...props }) => (
+
+
+ }
+ sideContentBackground={Florence2.backgroundColor}
+ >
+ Become a sponsor
+
+
+ Sponsoring PyConIT guarantees you strongly targeted visibility towards
+ senior developers and software engineers.
+
+
+
+
+ }
+ sideContentBackground={Cathedral.backgroundColor}
+ >
+ Buy a ticket
+
+ We have tickets
+
+
+
+
+ }
+ invert
+ sideContentType="other"
+ hideSideContentOnMobile
+ contentSpacing="medium"
+ >
+ Call for proposals
+
+
+ PyCon Italia is looking for you!
+
+
+
+
+ PyCon Italia is seeking speakers of all experience levels and
+ backgrounds to contribute to our conference program! If you use Python
+ professionally, as a hobbyist or are just excited about Python or
+ programming and open source communities, we would love to hear from
+ you.
+
+
+
+
+ }
+ sideContentBackground={Snake4.backgroundColor}
+ >
+ Keynoters here
+
+ Some more text
+
+
+
+ }
+ sideContentBackground={Snake5.backgroundColor}
+ >
+ Spacing tests
+
+
+ PyCon Italia is looking for you!
+
+
+ PyCon Italia is seeking speakers of all experience levels and
+ backgrounds to contribute to our conference program! If you use Python
+ professionally, as a hobbyist or are just excited about Python or
+ programming and open source communities, we would love to hear from
+ you.
+
+
+
+
+ }
+ sideContentBackground={Snake1.backgroundColor}
+ >
+ Inverted spacing tests
+
+
+
+ PyCon Italia is looking for you!
+
+
+ PyCon Italia is seeking speakers of all experience levels and
+ backgrounds to contribute to our conference program! If you use Python
+ professionally, as a hobbyist or are just excited about Python or
+ programming and open source communities, we would love to hear from
+ you.
+
+
+
+
+
+
+);
+
+export default {
+ title: "SplitSection",
+ component: Standard,
+ argTypes: {
+ invert: {
+ control: {
+ type: "boolean",
+ },
+ },
+ },
+};
diff --git a/styleguide/src/split-section/split-section.tsx b/styleguide/src/split-section/split-section.tsx
new file mode 100644
index 0000000000..b260cfcba9
--- /dev/null
+++ b/styleguide/src/split-section/split-section.tsx
@@ -0,0 +1,146 @@
+import clsx from "clsx";
+import React, { useEffect, useRef } from "react";
+import { Separator } from "../separator";
+import { Container } from "../container";
+
+type Props = {
+ children: React.ReactNode;
+ sideContent: React.ReactNode;
+ sideContentBackground?: string;
+ sideContentType?: "illustration" | "other";
+ invert?: boolean;
+ hideSideContentOnMobile?: boolean;
+ sideContentPadding?: boolean;
+ sideContentClassName?: string;
+ className?: string;
+ contentSpacing?: "even" | "medium";
+};
+
+export const SplitSection = ({
+ children,
+ sideContent,
+ sideContentBackground,
+ sideContentType = "illustration",
+ contentSpacing = "even",
+ hideSideContentOnMobile = false,
+ sideContentPadding = true,
+ invert = false,
+ className,
+ sideContentClassName,
+}: Props) => {
+ const illustrationRef = useRef();
+ const isIllustration = sideContentType === "illustration";
+ const isOtherContent = sideContentType === "other";
+
+ useEffect(() => {
+ // Fixes a bug in safari where the svg height is not displayed correctly
+ // setting intrinsic as height and then removing it fixes the issue
+ if (!illustrationRef.current) {
+ return;
+ }
+
+ const svgElement = illustrationRef.current.firstElementChild as SVGElement;
+
+ svgElement.style.height = "intrinsic";
+ requestAnimationFrame(() => {
+ svgElement.style.height = "";
+ });
+ }, []);
+
+ return (
+
+
+ {/* content */}
+
+
+ {/* side content */}
+ {isOtherContent && (
+
+ {sideContent}
+
+ )}
+
+ {isIllustration && (
+
+ )}
+
+
+ );
+};
diff --git a/styleguide/src/sponsors-grid/index.tsx b/styleguide/src/sponsors-grid/index.tsx
new file mode 100644
index 0000000000..17418e2bf4
--- /dev/null
+++ b/styleguide/src/sponsors-grid/index.tsx
@@ -0,0 +1 @@
+export { SponsorsGrid } from "./sponsors-grid";
diff --git a/styleguide/src/sponsors-grid/sponsors-grid.stories.tsx b/styleguide/src/sponsors-grid/sponsors-grid.stories.tsx
new file mode 100644
index 0000000000..ad3b881df8
--- /dev/null
+++ b/styleguide/src/sponsors-grid/sponsors-grid.stories.tsx
@@ -0,0 +1,122 @@
+import React from "react";
+import { Grid, GridColumn } from "../grid";
+import { SponsorsGrid } from "./sponsors-grid";
+
+export default {
+ title: "Sponsors Grid",
+};
+
+export const Default = () => (
+
+);
+
+export const InGrid = () => (
+
+
+ test
+
+
+
+
+
+);
diff --git a/styleguide/src/sponsors-grid/sponsors-grid.tsx b/styleguide/src/sponsors-grid/sponsors-grid.tsx
new file mode 100644
index 0000000000..c13c221d59
--- /dev/null
+++ b/styleguide/src/sponsors-grid/sponsors-grid.tsx
@@ -0,0 +1,101 @@
+import React from "react";
+import { Heading } from "../heading";
+import { Grid } from "../grid";
+import { Spacer } from "../spacer";
+import clsx from "clsx";
+
+type Sponsor = {
+ name: string;
+ logo: string;
+ url: string;
+};
+
+type SponsorsTier = {
+ name: string;
+ cols?: number;
+ sponsors: Sponsor[];
+};
+
+type Props = {
+ tiers: SponsorsTier[];
+};
+
+const getClassNames = (cols: number) => {
+ switch (cols) {
+ case 1:
+ return "lg:w-[70%]";
+ default:
+ return "";
+ }
+}
+
+export const SponsorsGrid = ({ tiers }: Props) => {
+ return (
+
+ {tiers.map((tier, index) => {
+ const cols = tier.cols ?? 2;
+ const classNames = getClassNames(cols);
+
+ return (
+
+ {tier.name}
+
+
+ {tier.sponsors.map((sponsor) => (
+
+ ))}
+
+ {index !== tiers.length - 1 && }
+
+ );
+ })}
+
+ );
+};
+
+const getInset = (cols: number) => {
+ switch (cols) {
+ case 1:
+ return "inset-0 md:inset-2";
+ case 2:
+ return "inset-10 lg:inset-6";
+ default:
+ return "inset-10 md:inset-4 lg:inset-2";
+ }
+};
+
+const getPaddings = (cols: number) => {
+ switch (cols) {
+ case 1:
+ return "pb-[50%] lg:pb-[50%]";
+ default:
+ return "pb-[50%] lg:pb-[60%]";
+ }
+}
+
+const SponsorItem = ({ sponsor, cols }: { sponsor: Sponsor; cols: number }) => {
+ const inset = getInset(cols);
+ const paddings = getPaddings(cols);
+
+ return (
+
+
+
+
+
+

+
+
+
+ );
+};
diff --git a/styleguide/src/styled-text/index.ts b/styleguide/src/styled-text/index.ts
new file mode 100644
index 0000000000..985dccb96f
--- /dev/null
+++ b/styleguide/src/styled-text/index.ts
@@ -0,0 +1,2 @@
+export { StyledHTMLText } from "./styled-html-text";
+export { StyledText } from "./styled-text";
diff --git a/styleguide/src/styled-text/prose.ts b/styleguide/src/styled-text/prose.ts
new file mode 100644
index 0000000000..94d5997902
--- /dev/null
+++ b/styleguide/src/styled-text/prose.ts
@@ -0,0 +1,70 @@
+import clsx from "clsx";
+import { getStyleClassesTextColor } from "../colors-utils";
+import { getStyleClassesForHeading } from "../heading/heading";
+import { getStyleClassesForTextSize } from "../text/text";
+
+const createProseStyle = (element, ...style) => {
+ const classes = style.join(" ").split(" ");
+ return classes.reduce((acc, curr) => {
+ acc = `${acc} prose-${element}:${curr}`;
+ return acc;
+ }, "");
+};
+
+const SIZE_1_P_PROSE_STYLES = createProseStyle(
+ "p",
+ getStyleClassesForTextSize(1),
+ getStyleClassesTextColor("grey-900")
+);
+
+const SIZE_1_LI_PROSE_STYLES = createProseStyle(
+ "li",
+ getStyleClassesForTextSize(1),
+ getStyleClassesTextColor("grey-900")
+);
+
+const SIZE_2_P_PROSE_STYLES = createProseStyle(
+ "p",
+ getStyleClassesForTextSize(2),
+ getStyleClassesTextColor("grey-900")
+);
+
+const SIZE_2_LI_PROSE_STYLES = createProseStyle(
+ "li",
+ getStyleClassesForTextSize(2),
+ getStyleClassesTextColor("grey-900")
+);
+
+const H2_PROSE_STYLES = createProseStyle(
+ "h2",
+ getStyleClassesForHeading(2),
+ getStyleClassesTextColor("grey-900")
+);
+
+const H3_PROSE_STYLES = createProseStyle(
+ "h3",
+ getStyleClassesForHeading(3),
+ getStyleClassesTextColor("grey-900")
+);
+
+const H4_PROSE_STYLES = createProseStyle(
+ "h4",
+ getStyleClassesForHeading(4),
+ getStyleClassesTextColor("grey-900")
+);
+
+export const ALL_PROSE_STYLES_SIZE_1 = clsx(
+ SIZE_1_P_PROSE_STYLES,
+ SIZE_1_LI_PROSE_STYLES
+);
+
+export const ALL_PROSE_STYLES_SIZE_2 = clsx(
+ SIZE_2_P_PROSE_STYLES,
+ SIZE_2_LI_PROSE_STYLES
+);
+
+export const ALL_H_STYLES = clsx(
+ H2_PROSE_STYLES,
+ H3_PROSE_STYLES,
+ H4_PROSE_STYLES
+);
diff --git a/styleguide/src/styled-text/styled-html-text.tsx b/styleguide/src/styled-text/styled-html-text.tsx
new file mode 100644
index 0000000000..1bc4edbbb4
--- /dev/null
+++ b/styleguide/src/styled-text/styled-html-text.tsx
@@ -0,0 +1,15 @@
+import React from "react";
+import { StyledText } from "./styled-text";
+
+type Props = { text: string; baseTextSize?: 1 | 2 };
+
+export const StyledHTMLText = ({ text, baseTextSize = 1 }: Props) => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/styled-text/styled-text.stories.tsx b/styleguide/src/styled-text/styled-text.stories.tsx
new file mode 100644
index 0000000000..0b599b5c31
--- /dev/null
+++ b/styleguide/src/styled-text/styled-text.stories.tsx
@@ -0,0 +1,52 @@
+import React from "react";
+import { StyledHTMLText } from "./styled-html-text";
+import { StyledText } from "./styled-text";
+
+export default {
+ title: "Styled Text",
+ parameters: {
+ layout: "centered",
+ },
+ argTypes: {
+ baseTextSize: {
+ control: {
+ type: "select",
+ options: [1, 2, 3],
+ },
+ },
+ },
+};
+
+export const HTMLText = ({ baseTextSize }) => {
+ const text = `Grand Hotel Mediterraneo
+ is 10Km far from Firenze Peretola (FLR) airport (also called “Amerigo Vespucci”).
+
You can take tram (Line 2 - ticket: 1,50€) and from the airport you will arrive at central station (Santa Maria Novella); from there you can use the same instructions for people coming by train. As alternative you can get a taxi from the airport to the hotel (it will cost around 25€ / 30€).
+
+
Heading tests:
+
+
Heading 2
Heading 3
+
Heading 4
+
numbered list test:
+
- numbered
- list
+
link test:
+
link to google
+
An alternative airport is Galileo Galilei - Pisa (PSA), 80 Km far from Florence. From there you have:
+
- Shuttle bus to Florence: if you decide to travel by bus, Terravision operates a service from Pisa airport to Florence “Santa Maria Novella” train station. You can buy the ticket directly at Pisa airport.
+ - Trains to Florence: there is a direct train from Pisa airport to Pisa Centrale and from there you can take the direct train to Florence “Santa Maria Novella” train station.
`;
+ return ;
+};
+
+export const StaticContent = ({ baseTextSize }) => {
+ return (
+
+ Things I love:
+
+ Things I hate:
+
+
+ );
+};
diff --git a/styleguide/src/styled-text/styled-text.tsx b/styleguide/src/styled-text/styled-text.tsx
new file mode 100644
index 0000000000..1e3347fd2d
--- /dev/null
+++ b/styleguide/src/styled-text/styled-text.tsx
@@ -0,0 +1,54 @@
+import clsx from "clsx";
+import React from "react";
+type Props = {
+ baseTextSize?: 1 | 2 | 3;
+ children?: React.ReactNode;
+ dangerouslySetInnerHTML?: {
+ __html: string;
+ };
+};
+
+export const StyledText = ({
+ baseTextSize = 1,
+ children,
+ dangerouslySetInnerHTML,
+}: Props) => {
+ return (
+
+ {children}
+
+ );
+};
diff --git a/styleguide/src/tag/index.tsx b/styleguide/src/tag/index.tsx
new file mode 100644
index 0000000000..1dc841224e
--- /dev/null
+++ b/styleguide/src/tag/index.tsx
@@ -0,0 +1 @@
+export { Tag } from "./tag";
diff --git a/styleguide/src/tag/tag.stories.tsx b/styleguide/src/tag/tag.stories.tsx
new file mode 100644
index 0000000000..65889edb40
--- /dev/null
+++ b/styleguide/src/tag/tag.stories.tsx
@@ -0,0 +1,33 @@
+import React from "react";
+import { Grid } from "../grid";
+import { Tag } from "./tag";
+
+export const Primary = () => {
+ return (
+
+ coral tag
+ caramel tag
+ cream tag
+ yellow tag
+ green tag
+ purple tag
+ pink tag
+ blue tag
+ red tag
+ success tag
+ warning tag
+ neutral tag
+ black tag
+ grey tag
+ white tag
+ milk tag
+
+ );
+};
+
+export default {
+ title: "Tag",
+ parameters: {
+ layout: "centered",
+ },
+};
diff --git a/styleguide/src/tag/tag.tsx b/styleguide/src/tag/tag.tsx
new file mode 100644
index 0000000000..6be8095b42
--- /dev/null
+++ b/styleguide/src/tag/tag.tsx
@@ -0,0 +1,47 @@
+import clsx from "clsx";
+import React from "react";
+import { Text } from "../text";
+import { Color } from "../types";
+
+type Props = {
+ size?: "small" | "big";
+ children: React.ReactNode;
+ color: Color;
+};
+
+export const Tag = ({ children, size = "big", color }: Props) => {
+ return (
+
+
+ {children}
+
+
+ );
+};
diff --git a/styleguide/src/tags-collection/index.tsx b/styleguide/src/tags-collection/index.tsx
new file mode 100644
index 0000000000..692fcc7bc5
--- /dev/null
+++ b/styleguide/src/tags-collection/index.tsx
@@ -0,0 +1 @@
+export { TagsCollection } from "./tags-collection";
diff --git a/styleguide/src/tags-collection/tags-collection.stories.tsx b/styleguide/src/tags-collection/tags-collection.stories.tsx
new file mode 100644
index 0000000000..d8e682df80
--- /dev/null
+++ b/styleguide/src/tags-collection/tags-collection.stories.tsx
@@ -0,0 +1,18 @@
+import React from "react";
+import { Tag } from "../tag";
+import { TagsCollection } from "./tags-collection";
+
+export default {
+ title: "Tags Collection",
+ parameters: {
+ layout: "centered",
+ },
+};
+
+export const Primary = () => (
+
+ Tag 1
+ Tag 2
+ Tag 3
+
+);
diff --git a/styleguide/src/tags-collection/tags-collection.tsx b/styleguide/src/tags-collection/tags-collection.tsx
new file mode 100644
index 0000000000..e3e197bc69
--- /dev/null
+++ b/styleguide/src/tags-collection/tags-collection.tsx
@@ -0,0 +1,8 @@
+import React from "react";
+
+type Props = {
+ children: React.ReactNode;
+};
+export const TagsCollection = ({ children }: Props) => {
+ return {children}
;
+};
diff --git a/styleguide/src/text/index.ts b/styleguide/src/text/index.ts
new file mode 100644
index 0000000000..6e474c64e6
--- /dev/null
+++ b/styleguide/src/text/index.ts
@@ -0,0 +1 @@
+export { Text } from "./text";
diff --git a/styleguide/src/text/text.stories.tsx b/styleguide/src/text/text.stories.tsx
new file mode 100644
index 0000000000..b981413387
--- /dev/null
+++ b/styleguide/src/text/text.stories.tsx
@@ -0,0 +1,31 @@
+import React from "react";
+import { Text } from "./text";
+
+export default {
+ title: "Text",
+};
+
+export const Primary = () => (
+ <>
+
+ Text Size 1 🐎
+
+
+ Text Weight Strong 1 🐙
+
+
+
+ Text Size 2 🐈
+
+
+ Text Weight Strong 2 🐙
+
+
+
+ Text Size 3 🐠
+
+
+ Text Weight Strong 3 🐙
+
+ >
+);
diff --git a/styleguide/src/text/text.tsx b/styleguide/src/text/text.tsx
new file mode 100644
index 0000000000..dd176b095b
--- /dev/null
+++ b/styleguide/src/text/text.tsx
@@ -0,0 +1,103 @@
+import clsx from "clsx";
+import React from "react";
+import {
+ getStyleClassesHoverTextColor,
+ getStyleClassesTextColor,
+} from "../colors-utils";
+import { Color } from "../types";
+
+type Props = {
+ children: React.ReactNode;
+ size?: 1 | 2 | 3 | "label1" | "label2" | "label3" | "label4" | "inherit";
+ weight?: "regular" | "strong";
+ align?: "left" | "center" | "right";
+ as?: "span" | "p";
+ className?: string;
+ color?: Color | "none" | "default";
+ hoverColor?: Color | "none" | "default";
+ noWrap?: boolean;
+ uppercase?: boolean;
+ decoration?: "none" | "underline" | "line-through";
+ onClick?: () => void;
+ select?: "none" | "auto";
+};
+
+export const getStyleClassesForTextSize = (size: Props["size"]) => {
+ switch (size) {
+ case 1:
+ return "text-md leading-7 lg:text-2md lg:leading-8";
+ case 2:
+ return "text-md leading-7";
+ case 3:
+ return "text-base leading-4";
+ case "label1":
+ return "text-base leading-1 lg:text-2md lg:leading-4";
+ case "label2":
+ return "text-base leading-1 lg:text-md lg:leading-2";
+ case "label3":
+ return "text-base leading-1";
+ case "label4":
+ return "text-sm leading-0.5";
+ case "inherit":
+ default:
+ return "";
+ }
+};
+
+export const Text = React.forwardRef(
+ (
+ {
+ children,
+ as: As = "span",
+ size = 1,
+ weight = "regular",
+ className = "",
+ color = "default",
+ hoverColor = "none",
+ noWrap = false,
+ uppercase = false,
+ decoration = "none",
+ align,
+ onClick,
+ select = "auto",
+ },
+ ref
+ ) => {
+ return (
+
+ {children}
+
+ );
+ }
+);
diff --git a/styleguide/src/textarea/index.tsx b/styleguide/src/textarea/index.tsx
new file mode 100644
index 0000000000..67abdd179e
--- /dev/null
+++ b/styleguide/src/textarea/index.tsx
@@ -0,0 +1 @@
+export { Textarea } from "./textarea";
diff --git a/styleguide/src/textarea/textarea.stories.tsx b/styleguide/src/textarea/textarea.stories.tsx
new file mode 100644
index 0000000000..971ba6c768
--- /dev/null
+++ b/styleguide/src/textarea/textarea.stories.tsx
@@ -0,0 +1,34 @@
+import React from "react";
+import { Textarea } from "./textarea";
+
+export default {
+ title: "Textarea",
+ argTypes: {
+ placeholder: {
+ defaultValue: "",
+ control: {
+ type: "text",
+ },
+ },
+ error: {
+ defaultValue: "",
+ control: {
+ type: "text",
+ },
+ },
+ rows: {
+ defaultValue: 1,
+ control: {
+ type: "number",
+ },
+ },
+ },
+};
+
+export const Primary = ({ placeholder, rows, error }) => {
+ return (
+
+
+
+ );
+};
diff --git a/styleguide/src/textarea/textarea.tsx b/styleguide/src/textarea/textarea.tsx
new file mode 100644
index 0000000000..777172e39d
--- /dev/null
+++ b/styleguide/src/textarea/textarea.tsx
@@ -0,0 +1,37 @@
+import clsx from "clsx";
+import React from "react";
+import { InputBar } from "../input/input-bar";
+
+type Props = React.TextareaHTMLAttributes & {
+ errors?: (string | React.ReactNode)[];
+};
+
+export const Textarea = ({ errors, ...props }: Props) => {
+ const errorsOrEmpty = (errors ?? []).filter((e) => !!e);
+ const hasError = errorsOrEmpty.length > 0;
+
+ return (
+
+
+
+
+ );
+};
diff --git a/styleguide/src/ticket/index.ts b/styleguide/src/ticket/index.ts
new file mode 100644
index 0000000000..ee34f76a8b
--- /dev/null
+++ b/styleguide/src/ticket/index.ts
@@ -0,0 +1,4 @@
+export { Ticket } from "./ticket";
+export { Lanyard } from "./lanyard";
+export { TicketHolder } from "./ticket-holder";
+export { TicketWithHolder } from "./ticket-with-holder";
diff --git a/styleguide/src/ticket/lanyard.stories.tsx b/styleguide/src/ticket/lanyard.stories.tsx
new file mode 100644
index 0000000000..5d8b6c69a1
--- /dev/null
+++ b/styleguide/src/ticket/lanyard.stories.tsx
@@ -0,0 +1,12 @@
+import React from "react";
+
+import { Lanyard } from "./lanyard";
+
+export default {
+ title: "Lanyard",
+ parameters: {
+ layout: "centered",
+ },
+};
+
+export const Primary = () => ;
diff --git a/styleguide/src/ticket/lanyard.tsx b/styleguide/src/ticket/lanyard.tsx
new file mode 100644
index 0000000000..877118707e
--- /dev/null
+++ b/styleguide/src/ticket/lanyard.tsx
@@ -0,0 +1,18 @@
+import React from "react";
+
+export const Lanyard = () => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/ticket/pythons.tsx b/styleguide/src/ticket/pythons.tsx
new file mode 100644
index 0000000000..0451975c5d
--- /dev/null
+++ b/styleguide/src/ticket/pythons.tsx
@@ -0,0 +1,238 @@
+import React from "react";
+
+export const PythonSquare0 = () => {
+ return (
+
+ );
+};
+
+export const PythonSquare1 = () => {
+ return (
+
+ );
+};
+
+export const PythonSquare2 = () => {
+ return (
+
+ );
+};
+
+export const PythonSquare3 = () => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/ticket/ticket-holder.stories.tsx b/styleguide/src/ticket/ticket-holder.stories.tsx
new file mode 100644
index 0000000000..3d8d5633fb
--- /dev/null
+++ b/styleguide/src/ticket/ticket-holder.stories.tsx
@@ -0,0 +1,25 @@
+import React from "react";
+
+import { TicketHolder } from "./ticket-holder";
+
+export default {
+ title: "Ticket holder",
+ parameters: {
+ layout: "centered",
+ backgrounds: {
+ default: "default",
+ values: [
+ {
+ name: "default",
+ value: "#e0e0e0",
+ },
+ ],
+ },
+ },
+};
+
+export const Primary = () => (
+
+ Ticket here Ticket here Ticket here Ticket here Ticket here Ticket here
+
+);
diff --git a/styleguide/src/ticket/ticket-holder.tsx b/styleguide/src/ticket/ticket-holder.tsx
new file mode 100644
index 0000000000..d8ea00ec91
--- /dev/null
+++ b/styleguide/src/ticket/ticket-holder.tsx
@@ -0,0 +1,25 @@
+import React from "react";
+
+type Props = {
+ children: React.ReactNode;
+};
+
+export const TicketHolder = React.forwardRef(
+ ({ children }, ref) => (
+
+ {/* large */}
+
+
+ {/* round one */}
+
+
+ {/* large */}
+
+
+ {children}
+
+ )
+);
diff --git a/styleguide/src/ticket/ticket-with-holder.stories.tsx b/styleguide/src/ticket/ticket-with-holder.stories.tsx
new file mode 100644
index 0000000000..738147d9ec
--- /dev/null
+++ b/styleguide/src/ticket/ticket-with-holder.stories.tsx
@@ -0,0 +1,37 @@
+import React from "react";
+
+import { TicketWithHolder } from "./ticket-with-holder";
+
+export default {
+ title: "Ticket with holder",
+ argTypes: {
+ ticketSize: {
+ defaultValue: "medium",
+ control: {
+ type: "radio",
+ options: ["medium"],
+ },
+ },
+ },
+
+ parameters: {
+ layout: "centered",
+
+ backgrounds: {
+ default: "default",
+ values: [
+ {
+ name: "default",
+ value: "#e0e0e0",
+ },
+ ],
+ },
+ },
+};
+
+export const Primary = (props) => (
+
+);
diff --git a/styleguide/src/ticket/ticket-with-holder.tsx b/styleguide/src/ticket/ticket-with-holder.tsx
new file mode 100644
index 0000000000..d7f75dc5b7
--- /dev/null
+++ b/styleguide/src/ticket/ticket-with-holder.tsx
@@ -0,0 +1,31 @@
+import clsx from "clsx";
+import React from "react";
+import { Lanyard } from "./lanyard";
+import { Ticket, TicketProps } from "./ticket";
+import { TicketHolder } from "./ticket-holder";
+
+type Props = {
+ ticketSize: "medium";
+ ticket: TicketProps;
+ ticketHolderRef?: React.Ref;
+};
+
+export const TicketWithHolder = ({
+ ticketSize,
+ ticket,
+ ticketHolderRef,
+}: Props) => {
+ return (
+
+
+
+
+
+
+
+ );
+};
diff --git a/styleguide/src/ticket/ticket.stories.tsx b/styleguide/src/ticket/ticket.stories.tsx
new file mode 100644
index 0000000000..8121a19701
--- /dev/null
+++ b/styleguide/src/ticket/ticket.stories.tsx
@@ -0,0 +1,44 @@
+import React from "react";
+import { Ticket } from "./ticket";
+
+export default {
+ title: "Ticket",
+ argTypes: {
+ name: {
+ defaultValue: "Ester Beltrami",
+ control: {
+ type: "text",
+ },
+ },
+ company: {
+ defaultValue: "Made.com",
+ control: {
+ type: "text",
+ },
+ },
+ username: {
+ defaultValue: "@etty",
+ control: {
+ type: "text",
+ },
+ },
+ },
+ parameters: {
+ layout: "centered",
+ backgrounds: {
+ default: "default",
+ values: [
+ {
+ name: "default",
+ value: "#e0e0e0",
+ },
+ ],
+ },
+ },
+};
+
+export const Primary = (props) => (
+
+
+
+);
diff --git a/styleguide/src/ticket/ticket.tsx b/styleguide/src/ticket/ticket.tsx
new file mode 100644
index 0000000000..bde72c79e5
--- /dev/null
+++ b/styleguide/src/ticket/ticket.tsx
@@ -0,0 +1,51 @@
+import React from "react";
+
+import {
+ PythonSquare0,
+ PythonSquare1,
+ PythonSquare2,
+ PythonSquare3,
+} from "./pythons";
+
+export type TicketProps = {
+ name: string;
+ company?: string;
+ username?: string;
+};
+
+export const Ticket = ({ name, company, username }: TicketProps) => {
+ return (
+
+
+
+
+
+
{name}
+
{company}
+
{username}
+
+
+
+
+
+ );
+};
diff --git a/styleguide/src/ticket/wrapper.tsx b/styleguide/src/ticket/wrapper.tsx
new file mode 100644
index 0000000000..688ad8abb4
--- /dev/null
+++ b/styleguide/src/ticket/wrapper.tsx
@@ -0,0 +1,211 @@
+import React from "react";
+export const TicketWrapper = () => {
+ return (
+
+ );
+};
diff --git a/styleguide/src/types.ts b/styleguide/src/types.ts
new file mode 100644
index 0000000000..65a91416ba
--- /dev/null
+++ b/styleguide/src/types.ts
@@ -0,0 +1,25 @@
+export type Color =
+ | "coral"
+ | "caramel"
+ | "cream"
+ | "yellow"
+ | "green"
+ | "purple"
+ | "pink"
+ | "blue"
+ | "red"
+ | "success"
+ | "warning"
+ | "neutral"
+ | "error"
+ | "black"
+ | "grey"
+ | "grey-900"
+ | "grey-700"
+ | "grey-500"
+ | "grey-250"
+ | "grey-100"
+ | "grey-50"
+ | "white"
+ | "milk"
+ | "none";
diff --git a/styleguide/src/vertical-stack/index.tsx b/styleguide/src/vertical-stack/index.tsx
new file mode 100644
index 0000000000..937288deca
--- /dev/null
+++ b/styleguide/src/vertical-stack/index.tsx
@@ -0,0 +1 @@
+export { VerticalStack } from "./vertical-stack";
diff --git a/styleguide/src/vertical-stack/vertical-stack.stories.tsx b/styleguide/src/vertical-stack/vertical-stack.stories.tsx
new file mode 100644
index 0000000000..c9282b0f78
--- /dev/null
+++ b/styleguide/src/vertical-stack/vertical-stack.stories.tsx
@@ -0,0 +1,34 @@
+import React from "react";
+import { Button } from "../button/button";
+import { Heading } from "../heading/index";
+import { VerticalStack } from "./vertical-stack";
+
+export default {
+ title: "Vertical Stack",
+ argTypes: {
+ align: {
+ defaultValue: "left",
+ control: {
+ type: "select",
+ options: ["left", "center", "right"],
+ },
+ },
+ },
+ parameters: {
+ layout: "centered",
+ },
+};
+
+export const Primary = (props) => (
+
+ Long title to show aligns
+
+
+
+
+
+);
diff --git a/styleguide/src/vertical-stack/vertical-stack.tsx b/styleguide/src/vertical-stack/vertical-stack.tsx
new file mode 100644
index 0000000000..586584ceab
--- /dev/null
+++ b/styleguide/src/vertical-stack/vertical-stack.tsx
@@ -0,0 +1,54 @@
+import clsx from "clsx";
+import React, { ReactNode } from "react";
+
+type Props = {
+ children: ReactNode;
+ alignItems?: "start" | "center" | "end";
+ justifyContent?: "start" | "center" | "end" | "spaceBetween" | "spaceAround";
+ wrap?: "wrap" | "nowrap" | "wrapReverse";
+ gap?: "none" | "small" | "medium";
+ fullHeight?: boolean;
+ reverse?: boolean;
+ fullWidth?: boolean;
+};
+
+export const VerticalStack = ({
+ children,
+ alignItems,
+ justifyContent,
+ wrap,
+ gap,
+ fullHeight,
+ reverse = false,
+ fullWidth = false,
+}: Props) => (
+
+ {children}
+
+);
diff --git a/styleguide/src/wrapper/wrapper.stories.tsx b/styleguide/src/wrapper/wrapper.stories.tsx
new file mode 100644
index 0000000000..d6312856ca
--- /dev/null
+++ b/styleguide/src/wrapper/wrapper.stories.tsx
@@ -0,0 +1,32 @@
+import React from "react";
+import { Paragraph } from "../paragraph/paragraph";
+import { Heading } from "../heading";
+import { Wrapper } from "./wrapper";
+
+export default {
+ title: "Wrapper",
+};
+
+export const Primary = () => (
+
+ Title inside a wrapper
+
+
+ Lorem ipsum dolor sit, amet consectetur adipisicing elit. Doloribus vero
+ saepe adipisci rerum, itaque minima voluptas quasi porro eius accusamus
+ quo aspernatur laborum nam enim. Iusto iure doloribus molestias et.
+
+
+
+ Lorem ipsum dolor sit, amet consectetur adipisicing elit. Doloribus vero
+ saepe adipisci rerum, itaque minima voluptas quasi porro eius accusamus
+ quo aspernatur laborum nam enim. Iusto iure doloribus molestias et.
+
+
+
+ Lorem ipsum dolor sit, amet consectetur adipisicing elit. Doloribus vero
+ saepe adipisci rerum, itaque minima voluptas quasi porro eius accusamus
+ quo aspernatur laborum nam enim. Iusto iure doloribus molestias et.
+
+
+);
diff --git a/styleguide/src/wrapper/wrapper.tsx b/styleguide/src/wrapper/wrapper.tsx
new file mode 100644
index 0000000000..8ad65c598c
--- /dev/null
+++ b/styleguide/src/wrapper/wrapper.tsx
@@ -0,0 +1,9 @@
+import React, { ReactNode } from "react";
+
+type Props = {
+ children: ReactNode;
+};
+
+export const Wrapper = ({ children }: Props) => (
+ {children}
+);
diff --git a/styleguide/tailwind.config.js b/styleguide/tailwind.config.js
new file mode 100644
index 0000000000..97baf38b32
--- /dev/null
+++ b/styleguide/tailwind.config.js
@@ -0,0 +1,124 @@
+const { colors } = require('./src/config-parts');
+
+module.exports = {
+ content: ["./src/**/*.{js,jsx,ts,tsx,vue}"],
+ theme: {
+ screens: {
+ md: '599px',
+ lg: '1023px',
+ xl: '1440px',
+ },
+
+ fontFamily: {
+ sans: ["GeneralSans-Variable", "ui-sans", "system-ui"],
+ mono: ["JetBrainsMono", "Source Code Pro", "Menlo", "Consolas", "Monaco", "monospace"],
+ display: ["GeneralSans-Variable"],
+ body: ["GeneralSans-Variable"],
+ },
+
+ borderWidth: {
+ DEFAULT: '3px',
+ 0: 0,
+ 1: '1px',
+ 3: '3px',
+ 4: '4px',
+ },
+ lineHeight: {
+ 0.5: '0.875rem', // 14px
+ 1: '1rem', // 16px
+ 2: '1.25rem', // 20px
+ 3: '1.375rem', // 22px
+ 4: '1.5rem', // 24px
+ 5: '1.625rem', // 26px
+ 6: '1.75rem', // 28px
+ 7: '1.875rem', // 30px
+ 8: '2rem', // 32px
+ 9: '2.25rem', // 36px
+ 10: '2.5rem', // 40px
+ 11: '3rem', // 48px
+ 12: '3.5rem', // 56px
+ 13: '4rem', // 64px
+ 14: '5rem', // 80px
+ 15: '6.375rem', // 102px
+ },
+ fontSize: {
+ sm: '0.875rem', // 14px
+ base: '1rem', // 16px
+ md: '1.25rem', // 20px
+ "2md": '1.5rem', // 24px
+ "3md": '1.75rem', // 28px
+ lg: '1.875rem', // 30px
+ "2lg": '2.25rem', // 36px
+ xl: '2.5rem', // 40px
+ "2xl": '3.5rem', // 56px
+ "3xl": '5rem', // 80px
+ '4xl': '7.5rem', // 120px
+ '4xl-fluid': 'clamp(2.9rem, 12vw, 7.5rem)', // 120px
+ },
+ colors,
+ extend: {
+ animation: {
+ "marquee-slow": "marquee 60s linear infinite",
+ "marquee-medium": "marquee 20s linear infinite",
+ },
+ keyframes: {
+ marquee: {
+ "0%": { transform: "translateX(0%)" },
+ "100%": { transform: "translateX(-100%)" },
+ },
+ },
+ zIndex: {
+ "-1": "-1",
+ },
+ screens: {
+ ticket: { raw: "(min-height: 810px) and (min-width: 640px)" },
+ },
+ scale: {
+ 10000: "100",
+ },
+ padding: {
+ xl: '32rem',
+ },
+ height: {
+ separator: '3px',
+
+ 7.5: '1.875rem', // 30px
+ 128: '28.875rem', // 462px
+ 256: '36.875rem', // 590px
+ },
+ width: {
+ "full-outside-container": 'calc(100% + var(--screen-side-width))',
+ "scroller-item": 'calc(100% - 5rem)',
+ separator: '3px',
+
+ 7.5: '1.875rem', // 30px
+ 14.8: '3.75rem' // 60px
+ },
+ margin: {
+ 0.6: '0.188rem', // 3px
+ 15: '3.75rem', // 60px
+ "-full-outside-container": 'calc((100% + var(--screen-side-width)) * -1)'
+ },
+ maxWidth: {
+ // + the padding of the container
+ container: `${1280 + 16 * 2}px`,
+
+ 'container-small': `${600 + 16 * 2}px`,
+ 'container-medium': `${810 + 16 * 2}px`,
+ 'container-2md': `${950 + 16 * 2}px`,
+
+ full: '100%',
+ },
+ gridTemplateColumns: {
+ 'cardpart-increments': '1fr 231px',
+ 'cardpart-options': '0.5fr 1fr',
+ 'cardpart-options-options': 'repeat(var(--num-of-options), 1fr) auto',
+ 'bottombar': '1fr auto',
+ },
+ },
+ },
+ plugins: [
+ require("tailwindcss-blend-mode")(),
+ require('@tailwindcss/typography'),
+ ],
+};
diff --git a/styleguide/tsconfig.json b/styleguide/tsconfig.json
new file mode 100644
index 0000000000..dd643e3e13
--- /dev/null
+++ b/styleguide/tsconfig.json
@@ -0,0 +1,23 @@
+{
+ "compilerOptions": {
+ "allowSyntheticDefaultImports": true,
+ "declaration": true,
+ "esModuleInterop": true,
+ "experimentalDecorators": true,
+ "jsx": "react",
+ "lib": ["dom", "es5", "ES2019"],
+ "module": "esNext",
+ "moduleResolution": "NodeNext",
+ "noImplicitAny": false,
+ "noImplicitReturns": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": false,
+ "outDir": "./dist",
+ "pretty": true,
+ "sourceMap": true,
+ "strict": true,
+ "target": "es5"
+ },
+ "exclude": ["node_modules"],
+ "include": ["./src"]
+}