diff options
56 files changed, 1657 insertions, 4128 deletions
diff --git a/packages/anastasis-webui/package.json b/packages/anastasis-webui/package.json index 5206de551..b96c0f351 100644 --- a/packages/anastasis-webui/package.json +++ b/packages/anastasis-webui/package.json @@ -45,7 +45,6 @@ "@storybook/preact": "^6.3.12", "@storybook/preset-scss": "^1.0.3", "@types/enzyme": "^3.10.10", - "@types/jest": "^27.0.2", "@typescript-eslint/eslint-plugin": "^5.3.0", "@typescript-eslint/parser": "^5.3.0", "bulma": "^0.9.3", @@ -55,20 +54,11 @@ "enzyme-adapter-preact-pure": "^3.2.0", "eslint": "^8.1.0", "eslint-config-preact": "^1.2.0", - "jest": "^27.3.1", - "jest-preset-preact": "^4.0.5", "jssha": "^3.2.0", "preact-cli": "^3.3.1", "sass": "1.32.13", "sass-loader": "^10", "sirv-cli": "^1.0.14", "typescript": "^4.4.4" - }, - "jest": { - "preset": "jest-preset-preact", - "setupFiles": [ - "<rootDir>/tests/__mocks__/browserMocks.ts", - "<rootDir>/tests/__mocks__/setupTests.ts" - ] } } diff --git a/packages/taler-wallet-webextension/.storybook/main.js b/packages/taler-wallet-webextension/.storybook/main.js index c648a9088..d3f216922 100644 --- a/packages/taler-wallet-webextension/.storybook/main.js +++ b/packages/taler-wallet-webextension/.storybook/main.js @@ -48,14 +48,14 @@ module.exports = { webpackFinal: (config) => { // should be removed after storybook 6.3 // https://github.com/storybookjs/storybook/issues/12853#issuecomment-821576113 - // removing workaround since this creates another problem - // https://github.com/storybookjs/storybook/issues/16623 - // https://github.com/nodejs/node/issues/33460 - // FIXME: remove this comments in 2022 if no problem arise -// config.resolve.alias = { -// react: "preact/compat", -// "react-dom": "preact/compat", -// }; + // removing workaround since this creates another problem + // https://github.com/storybookjs/storybook/issues/16623 + // https://github.com/nodejs/node/issues/33460 + // FIXME: remove this comments in 2022 if no problem arise + // config.resolve.alias = { + // react: "preact/compat", + // "react-dom": "preact/compat", + // }; // we need to add @linaria loader AFTER the babel-loader // https://github.com/callstack/linaria/blob/master/docs/BUNDLERS_INTEGRATION.md#webpack @@ -65,7 +65,7 @@ module.exports = { use: [ { ...(config.module.rules[0].use[0]), - loader: 'babel-loader', + loader: 'babel-loader', }, { loader: '@linaria/webpack-loader', @@ -74,7 +74,7 @@ module.exports = { babelOptions: { presets: config.module.rules[0].use[0].options.presets, } - // Pass the current babel options to linaria's babel instance + // Pass the current babel options to linaria's babel instance } } ] diff --git a/packages/taler-wallet-webextension/.storybook/preview.js b/packages/taler-wallet-webextension/.storybook/preview.js index 25f9f46ba..6331a7fa8 100644 --- a/packages/taler-wallet-webextension/.storybook/preview.js +++ b/packages/taler-wallet-webextension/.storybook/preview.js @@ -21,7 +21,6 @@ import { TranslationProvider } from '../src/context/translation' import { PopupBox, WalletBox } from '../src/components/styled' export const parameters = { controls: { expanded: true }, - actions: { argTypesRegex: "^on[A-Z].*" }, } export const globalTypes = { diff --git a/packages/taler-wallet-webextension/clean_and_build_fast.sh b/packages/taler-wallet-webextension/clean_and_build_fast.sh index bac758c92..a7681d268 100755 --- a/packages/taler-wallet-webextension/clean_and_build_fast.sh +++ b/packages/taler-wallet-webextension/clean_and_build_fast.sh @@ -2,6 +2,7 @@ # This file is in the public domain. set -e +mv node_modules{,_saved} rm -rf dist lib tsconfig.tsbuildinfo (cd ../.. && rm -rf build/web && ./contrib/build-fast-web.sh) rm -rf extension/ @@ -9,3 +10,4 @@ rm -rf extension/ (cd extension/v2 && unzip taler*.zip) (cd extension/v3 && unzip taler*.zip) +mv node_modules{_saved,} diff --git a/packages/taler-wallet-webextension/package.json b/packages/taler-wallet-webextension/package.json index 41d65e88e..179cd94db 100644 --- a/packages/taler-wallet-webextension/package.json +++ b/packages/taler-wallet-webextension/package.json @@ -9,8 +9,9 @@ "private": false, "scripts": { "clean": "rimraf dist lib tsconfig.tsbuildinfo", - "test": "jest ./tests", - "compile": "tsc && rollup -c", + "test": "mocha --enable-source-maps 'dist/**/*.test.js'", + "test:coverage": "nyc pnpm test", + "compile": "rollup -c -m", "build-storybook": "build-storybook", "storybook": "start-storybook -s . -p 6006", "pretty": "prettier --write src", @@ -41,22 +42,21 @@ "@rollup/plugin-json": "^4.1.0", "@rollup/plugin-node-resolve": "^11.1.0", "@rollup/plugin-replace": "^2.3.4", + "@rollup/plugin-typescript": "^8.3.0", "@storybook/addon-a11y": "^6.2.9", "@storybook/addon-essentials": "^6.2.9", - "@storybook/preact": "^6.2.9", + "@storybook/preact": "6.4.9", "@testing-library/preact": "^2.0.1", + "@testing-library/preact-hooks": "^1.1.0", "@types/chrome": "^0.0.128", - "@types/enzyme": "^3.10.10", "@types/history": "^4.7.8", - "@types/jest": "^26.0.23", + "@types/mocha": "^9.0.0", "@types/node": "^14.14.22", "ava": "3.15.0", "babel-loader": "^8.2.2", "babel-plugin-transform-react-jsx": "^6.24.1", - "enzyme": "^3.11.0", - "enzyme-adapter-preact-pure": "^3.1.0", - "jest": "^26.6.3", - "jest-preset-preact": "^4.0.2", + "mocha": "^9.1.3", + "nyc": "^15.1.0", "preact-cli": "^3.0.5", "preact-render-to-string": "^5.1.19", "rimraf": "^3.0.2", @@ -68,17 +68,10 @@ "storybook-dark-mode": "^1.0.8", "typescript": "^4.1.3" }, - "jest": { - "preset": "jest-preset-preact", - "setupFiles": [ - "<rootDir>/tests/__mocks__/setupTests.ts" + "nyc": { + "include": [ + "**" ], - "moduleNameMapper": { - "\\.(css|less)$": "identity-obj-proxy", - "@linaria/react": "<rootDir>/tests/__mocks__/linaria.ts" - }, - "transform": { - "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga|po)$": "<rootDir>/tests/__mocks__/fileTransformer.js" - } + "exclude": [] } -}
\ No newline at end of file +} diff --git a/packages/taler-wallet-webextension/rollup.config.js b/packages/taler-wallet-webextension/rollup.config.js index 150db1fff..edbc69622 100644 --- a/packages/taler-wallet-webextension/rollup.config.js +++ b/packages/taler-wallet-webextension/rollup.config.js @@ -8,48 +8,77 @@ import nodeResolve from "@rollup/plugin-node-resolve"; import replace from "@rollup/plugin-replace"; import css from 'rollup-plugin-css-only'; import ignore from "rollup-plugin-ignore"; +import typescript from '@rollup/plugin-typescript'; + +import path from 'path'; +import fs from 'fs'; + +function fromDir(startPath, regex) { + if (!fs.existsSync(startPath)) { + return; + } + const files = fs.readdirSync(startPath); + const result = files.flatMap(file => { + const filename = path.join(startPath, file); + + const stat = fs.lstatSync(filename); + if (stat.isDirectory()) { + return fromDir(filename, regex); + } + else if (regex.test(filename)) { + return filename + } + }).filter(x => !!x) + + return result +} const makePlugins = () => [ - alias({ - entries: [ - { find: 'react', replacement: 'preact/compat' }, - { find: 'react-dom', replacement: 'preact/compat' } - ] - }), + typescript({ + outputToFilesystem: false, + }), - ignore(["module", "os"]), - nodeResolve({ - browser: true, - preferBuiltins: true, - }), + alias({ + entries: [ + { find: 'react', replacement: 'preact/compat' }, + { find: 'react-dom', replacement: 'preact/compat' } + ] + }), - //terser(), - + ignore(["module", "os"]), + nodeResolve({ + browser: true, + preferBuiltins: true, + }), - replace({ - "process.env.NODE_ENV": JSON.stringify("production"), - "__filename": "'__webextension__'", - }), + //terser(), - commonjs({ - include: [/node_modules/, /dist/], - extensions: [".js"], - ignoreGlobal: true, - sourceMap: true, - }), - json(), - image(), + replace({ + "process.env.NODE_ENV": JSON.stringify("production"), + // "__filename": "'__webextension__'", + preventAssignment: true + }), + + commonjs({ + include: [/node_modules/, /dist/], + extensions: [".js"], + ignoreGlobal: true, + sourceMap: true, + }), + + json(), + image(), + + linaria({ + sourceMap: process.env.NODE_ENV !== 'production', + }), - linaria({ - sourceMap: process.env.NODE_ENV !== 'production', - }), - ]; const webExtensionWalletEntryPoint = { - input: "lib/walletEntryPoint.js", + input: "src/walletEntryPoint.tsx", output: { file: "dist/walletEntryPoint.js", format: "iife", @@ -60,12 +89,12 @@ const webExtensionWalletEntryPoint = { ...makePlugins(), css({ output: 'walletEntryPoint.css', - }), - ], + }), + ], }; const webExtensionPopupEntryPoint = { - input: "lib/popupEntryPoint.js", + input: "src/popupEntryPoint.tsx", output: { file: "dist/popupEntryPoint.js", format: "iife", @@ -76,12 +105,12 @@ const webExtensionPopupEntryPoint = { ...makePlugins(), css({ output: 'popupEntryPoint.css', - }), - ], + }), + ], }; const webExtensionBackgroundPageScript = { - input: "lib/background.js", + input: "src/background.ts", output: { file: "dist/background.js", format: "iife", @@ -92,7 +121,7 @@ const webExtensionBackgroundPageScript = { }; const webExtensionCryptoWorker = { - input: "lib/browserWorkerEntry.js", + input: "src/browserWorkerEntry.ts", output: { file: "dist/browserWorkerEntry.js", format: "iife", @@ -102,9 +131,26 @@ const webExtensionCryptoWorker = { plugins: makePlugins(), }; +const tests = fromDir('./src', /.test.ts$/).map(test => ({ + input: test, + output: { + file: test.replace(/^src/, 'dist').replace(/\.ts$/, '.js'), + format: "iife", + exports: "none", + name: test, + }, + plugins: [ + ...makePlugins(), + css({ + output: 'walletEntryPoint.css', + }), + ], +})) + export default [ webExtensionPopupEntryPoint, webExtensionWalletEntryPoint, webExtensionBackgroundPageScript, webExtensionCryptoWorker, + ...tests, ]; diff --git a/packages/taler-wallet-webextension/run-test-in-browser.html b/packages/taler-wallet-webextension/run-test-in-browser.html new file mode 100644 index 000000000..0c7d9f6f0 --- /dev/null +++ b/packages/taler-wallet-webextension/run-test-in-browser.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> + <head> + <title>Mocha Tests</title> + <link rel="stylesheet" href="node_modules/mocha/mocha.css"> + </head> + <body> + <div id="mocha"></div> + <script src="node_modules/mocha/mocha.js"></script> + <script>mocha.setup('bdd')</script> + + <!-- load code you want to test here --> + + <!-- script src="dist/stories.test.js"></script --> + <script src="dist/hooks/useTalerActionURL.test.js"></script> + <!-- load your test files here --> + + <script> + mocha.run(); + </script> + </body> +</html> + diff --git a/packages/taler-wallet-webextension/src/NavigationBar.tsx b/packages/taler-wallet-webextension/src/NavigationBar.tsx index e7108679c..c02e48983 100644 --- a/packages/taler-wallet-webextension/src/NavigationBar.tsx +++ b/packages/taler-wallet-webextension/src/NavigationBar.tsx @@ -37,7 +37,7 @@ export enum Pages { deposit = "/deposit/:currency", settings = "/settings", dev = "/dev", - cta = "/cta", + cta = "/cta/:action", backup = "/backup", history = "/history", transaction = "/transaction/:tid", diff --git a/packages/taler-wallet-webextension/src/api/browser.ts b/packages/taler-wallet-webextension/src/api/browser.ts new file mode 100644 index 000000000..bc50853fb --- /dev/null +++ b/packages/taler-wallet-webextension/src/api/browser.ts @@ -0,0 +1,24 @@ + +export async function findTalerUriInActiveTab(): Promise<string | undefined> { + return new Promise((resolve, reject) => { + chrome.tabs.executeScript( + { + code: ` + (() => { + let x = document.querySelector("a[href^='taler://'") || document.querySelector("a[href^='taler+http://'"); + return x ? x.href.toString() : null; + })(); + `, + allFrames: false, + }, + (result) => { + if (chrome.runtime.lastError) { + console.error(chrome.runtime.lastError); + resolve(undefined); + return; + } + resolve(result[0]); + }, + ); + }); +} diff --git a/packages/taler-wallet-webextension/src/compat.js b/packages/taler-wallet-webextension/src/compat.js deleted file mode 100644 index 48e49a0a7..000000000 --- a/packages/taler-wallet-webextension/src/compat.js +++ /dev/null @@ -1,64 +0,0 @@ -"use strict"; -/* - This file is part of TALER - (C) 2017 INRIA - - TALER is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - TALER is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ -Object.defineProperty(exports, "__esModule", { value: true }); -exports.getPermissionsApi = exports.isNode = exports.isFirefox = void 0; -/** - * Compatibility helpers needed for browsers that don't implement - * WebExtension APIs consistently. - */ -function isFirefox() { - const rt = chrome.runtime; - if (typeof rt.getBrowserInfo === "function") { - return true; - } - return false; -} -exports.isFirefox = isFirefox; -/** - * Check if we are running under nodejs. - */ -function isNode() { - return typeof process !== "undefined" && process.release.name === "node"; -} -exports.isNode = isNode; -function getPermissionsApi() { - const myBrowser = globalThis.browser; - if ( - typeof myBrowser === "object" && - typeof myBrowser.permissions === "object" - ) { - return { - addPermissionsListener: () => { - // Not supported yet. - }, - contains: myBrowser.permissions.contains, - request: myBrowser.permissions.request, - remove: myBrowser.permissions.remove, - }; - } else { - return { - addPermissionsListener: chrome.permissions.onAdded.addListener.bind( - chrome.permissions.onAdded, - ), - contains: chrome.permissions.contains, - request: chrome.permissions.request, - remove: chrome.permissions.remove, - }; - } -} -exports.getPermissionsApi = getPermissionsApi; -//# sourceMappingURL=compat.js.map diff --git a/packages/taler-wallet-webextension/src/components/BalanceTable.tsx b/packages/taler-wallet-webextension/src/components/BalanceTable.tsx index cf396e129..05a7d28dd 100644 --- a/packages/taler-wallet-webextension/src/components/BalanceTable.tsx +++ b/packages/taler-wallet-webextension/src/components/BalanceTable.tsx @@ -19,7 +19,7 @@ import { h, VNode } from "preact"; import { ButtonPrimary, TableWithRoundRows as TableWithRoundedRows, -} from "./styled/index"; +} from "./styled"; export function BalanceTable({ balances, diff --git a/packages/taler-wallet-webextension/src/components/CheckboxOutlined.tsx b/packages/taler-wallet-webextension/src/components/CheckboxOutlined.tsx index c22103a85..16909d29a 100644 --- a/packages/taler-wallet-webextension/src/components/CheckboxOutlined.tsx +++ b/packages/taler-wallet-webextension/src/components/CheckboxOutlined.tsx @@ -14,7 +14,7 @@ GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> */ -import { Outlined, StyledCheckboxLabel } from "./styled/index"; +import { Outlined, StyledCheckboxLabel } from "./styled"; import { h, VNode } from "preact"; interface Props { diff --git a/packages/taler-wallet-webextension/src/components/ErrorTalerOperation.tsx b/packages/taler-wallet-webextension/src/components/ErrorTalerOperation.tsx index ae451dcd8..8f61c7133 100644 --- a/packages/taler-wallet-webextension/src/components/ErrorTalerOperation.tsx +++ b/packages/taler-wallet-webextension/src/components/ErrorTalerOperation.tsx @@ -29,10 +29,11 @@ export function ErrorTalerOperation({ }): VNode | null { const { devMode } = useDevContext(); const [showErrorDetail, setShowErrorDetail] = useState(false); - + if (!title || !error) return null; // const errorCode: number | undefined = (error.details as any)?.errorResponse?.code - const errorHint: string | undefined = (error.details as any)?.errorResponse?.hint + const errorHint: string | undefined = (error.details as any)?.errorResponse + ?.hint; return ( <ErrorBox style={{ paddingTop: 0, paddingBottom: 0 }}> @@ -53,11 +54,11 @@ export function ErrorTalerOperation({ <div style={{ padding: 5, textAlign: "left" }}> <div>{error.message}</div> </div> - {errorHint && - <div style={{ padding: 5, textAlign: "left" }}> - <div>{errorHint}</div> - </div> - } + {errorHint && ( + <div style={{ padding: 5, textAlign: "left" }}> + <div>{errorHint}</div> + </div> + )} {devMode && ( <div style={{ textAlign: "left", overflowX: "auto" }}> <pre>{JSON.stringify(error, undefined, 2)}</pre> diff --git a/packages/taler-wallet-webextension/src/components/SelectList.tsx b/packages/taler-wallet-webextension/src/components/SelectList.tsx index 5bb06f9a8..c17b87339 100644 --- a/packages/taler-wallet-webextension/src/components/SelectList.tsx +++ b/packages/taler-wallet-webextension/src/components/SelectList.tsx @@ -15,7 +15,7 @@ */ import { Fragment, h, VNode } from "preact"; -import { NiceSelect } from "./styled/index"; +import { NiceSelect } from "./styled"; interface Props { value?: string; diff --git a/packages/taler-wallet-webextension/src/components/TransactionItem.tsx b/packages/taler-wallet-webextension/src/components/TransactionItem.tsx index 99ca86385..68a4f8fad 100644 --- a/packages/taler-wallet-webextension/src/components/TransactionItem.tsx +++ b/packages/taler-wallet-webextension/src/components/TransactionItem.tsx @@ -34,7 +34,7 @@ import { SmallLightText, LargeText, LightText, -} from "./styled/index"; +} from "./styled"; import { Time } from "./Time"; export function TransactionItem(props: { diff --git a/packages/taler-wallet-webextension/src/context/iocContext.ts b/packages/taler-wallet-webextension/src/context/iocContext.ts new file mode 100644 index 000000000..688e7b488 --- /dev/null +++ b/packages/taler-wallet-webextension/src/context/iocContext.ts @@ -0,0 +1,49 @@ +/* + This file is part of GNU Taler + (C) 2021 Taler Systems S.A. + + GNU Taler is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> + */ + +/** + * + * @author Sebastian Javier Marchano (sebasjm) + */ + +import { createContext, h, VNode } from "preact"; +import { useContext } from "preact/hooks"; +import { findTalerUriInActiveTab } from "../api/browser"; + +interface Type { + findTalerUriInActiveTab: () => Promise<string | undefined>; +} +const Context = createContext<Type>({ + findTalerUriInActiveTab: async () => undefined, +}); + +/** + * Inversion of control Context + * + * This context act as a proxy between API that need to be replaced in + * different environments + * + * @returns + */ +export const useIocContext = (): Type => useContext(Context); + +export const IoCProviderForTesting = ({ value, children }: { value: Type, children: any }): VNode => { + return h(Context.Provider, { value, children }); +}; + +export const IoCProviderForRuntime = ({ children }: { children: any }): VNode => { + return h(Context.Provider, { value: { findTalerUriInActiveTab }, children }); +}; diff --git a/packages/taler-wallet-webextension/src/cta/Pay.stories.tsx b/packages/taler-wallet-webextension/src/cta/Pay.stories.tsx index c2d360d3b..a1288c337 100644 --- a/packages/taler-wallet-webextension/src/cta/Pay.stories.tsx +++ b/packages/taler-wallet-webextension/src/cta/Pay.stories.tsx @@ -34,13 +34,13 @@ export const NoBalance = createExample(TestedComponent, { status: PreparePayResultType.InsufficientBalance, noncePriv: "", proposalId: "proposal1234", - contractTerms: ({ + contractTerms: { merchant: { name: "someone", }, summary: "some beers", amount: "USD:10", - } as Partial<ContractTerms>) as any, + } as Partial<ContractTerms> as any, amountRaw: "USD:10", }, }); @@ -50,13 +50,13 @@ export const NoEnoughBalance = createExample(TestedComponent, { status: PreparePayResultType.InsufficientBalance, noncePriv: "", proposalId: "proposal1234", - contractTerms: ({ + contractTerms: { merchant: { name: "someone", }, summary: "some beers", amount: "USD:10", - } as Partial<ContractTerms>) as any, + } as Partial<ContractTerms> as any, amountRaw: "USD:10", }, balance: { @@ -67,42 +67,40 @@ export const NoEnoughBalance = createExample(TestedComponent, { }); export const PaymentPossible = createExample(TestedComponent, { - uri: - "taler://pay/merchant-backend.taler/2021.242-01G2X4275RBWG/?c=66BE594PDZR24744J6EQK52XM0", + uri: "taler://pay/merchant-backend.taler/2021.242-01G2X4275RBWG/?c=66BE594PDZR24744J6EQK52XM0", payStatus: { status: PreparePayResultType.PaymentPossible, amountEffective: "USD:10", amountRaw: "USD:10", noncePriv: "", - contractTerms: ({ + contractTerms: { nonce: "123213123", merchant: { name: "someone", }, amount: "USD:10", summary: "some beers", - } as Partial<ContractTerms>) as any, + } as Partial<ContractTerms> as any, contractTermsHash: "123456", proposalId: "proposal1234", }, }); export const PaymentPossibleWithFee = createExample(TestedComponent, { - uri: - "taler://pay/merchant-backend.taler/2021.242-01G2X4275RBWG/?c=66BE594PDZR24744J6EQK52XM0", + uri: "taler://pay/merchant-backend.taler/2021.242-01G2X4275RBWG/?c=66BE594PDZR24744J6EQK52XM0", payStatus: { status: PreparePayResultType.PaymentPossible, amountEffective: "USD:10.20", amountRaw: "USD:10", noncePriv: "", - contractTerms: ({ + contractTerms: { nonce: "123213123", merchant: { name: "someone", }, amount: "USD:10", summary: "some beers", - } as Partial<ContractTerms>) as any, + } as Partial<ContractTerms> as any, contractTermsHash: "123456", proposalId: "proposal1234", }, @@ -113,7 +111,7 @@ export const AlreadyConfirmedWithFullfilment = createExample(TestedComponent, { status: PreparePayResultType.AlreadyConfirmed, amountEffective: "USD:10", amountRaw: "USD:10", - contractTerms: ({ + contractTerms: { merchant: { name: "someone", }, @@ -121,7 +119,7 @@ export const AlreadyConfirmedWithFullfilment = createExample(TestedComponent, { "congratulations! you are looking at the fulfillment message! ", summary: "some beers", amount: "USD:10", - } as Partial<ContractTerms>) as any, + } as Partial<ContractTerms> as any, contractTermsHash: "123456", proposalId: "proposal1234", paid: false, @@ -135,13 +133,13 @@ export const AlreadyConfirmedWithoutFullfilment = createExample( status: PreparePayResultType.AlreadyConfirmed, amountEffective: "USD:10", amountRaw: "USD:10", - contractTerms: ({ + contractTerms: { merchant: { name: "someone", }, summary: "some beers", amount: "USD:10", - } as Partial<ContractTerms>) as any, + } as Partial<ContractTerms> as any, contractTermsHash: "123456", proposalId: "proposal1234", paid: false, @@ -154,7 +152,7 @@ export const AlreadyPaid = createExample(TestedComponent, { status: PreparePayResultType.AlreadyConfirmed, amountEffective: "USD:10", amountRaw: "USD:10", - contractTerms: ({ + contractTerms: { merchant: { name: "someone", }, @@ -162,7 +160,7 @@ export const AlreadyPaid = createExample(TestedComponent, { "congratulations! you are looking at the fulfillment message! ", summary: "some beers", amount: "USD:10", - } as Partial<ContractTerms>) as any, + } as Partial<ContractTerms> as any, contractTermsHash: "123456", proposalId: "proposal1234", paid: true, diff --git a/packages/taler-wallet-webextension/src/cta/Pay.tsx b/packages/taler-wallet-webextension/src/cta/Pay.tsx index 7b7d940c7..d7419d410 100644 --- a/packages/taler-wallet-webextension/src/cta/Pay.tsx +++ b/packages/taler-wallet-webextension/src/cta/Pay.tsx @@ -135,7 +135,9 @@ export function PayPage({ ? Amounts.parseOrThrow(foundBalance.available) : undefined; // We use a string here so that dependency tracking for useEffect works properly - const foundAmountStr = foundAmount ? Amounts.stringify(foundAmount) : undefined; + const foundAmountStr = foundAmount + ? Amounts.stringify(foundAmount) + : undefined; useEffect(() => { if (!talerPayUri) return; diff --git a/packages/taler-wallet-webextension/src/cta/Refund.stories.tsx b/packages/taler-wallet-webextension/src/cta/Refund.stories.tsx index a0abcea58..e71170ff1 100644 --- a/packages/taler-wallet-webextension/src/cta/Refund.stories.tsx +++ b/packages/taler-wallet-webextension/src/cta/Refund.stories.tsx @@ -35,10 +35,10 @@ export const Complete = createExample(TestedComponent, { amountRefundGone: "USD:0", amountRefundGranted: "USD:2", contractTermsHash: "QWEASDZXC", - info: ({ + info: { summary: "tasty cold beer", contractTermsHash: "QWEASDZXC", - } as Partial<OrderShortInfo>) as any, + } as Partial<OrderShortInfo> as any, pendingAtExchange: false, proposalId: "proposal123", }, @@ -50,10 +50,10 @@ export const Partial = createExample(TestedComponent, { amountRefundGone: "USD:1", amountRefundGranted: "USD:2", contractTermsHash: "QWEASDZXC", - info: ({ + info: { summary: "tasty cold beer", contractTermsHash: "QWEASDZXC", - } as Partial<OrderShortInfo>) as any, + } as Partial<OrderShortInfo> as any, pendingAtExchange: false, proposalId: "proposal123", }, @@ -65,10 +65,10 @@ export const InProgress = createExample(TestedComponent, { amountRefundGone: "USD:1", amountRefundGranted: "USD:2", contractTermsHash: "QWEASDZXC", - info: ({ + info: { summary: "tasty cold beer", contractTermsHash: "QWEASDZXC", - } as Partial<OrderShortInfo>) as any, + } as Partial<OrderShortInfo> as any, pendingAtExchange: true, proposalId: "proposal123", }, diff --git a/packages/taler-wallet-webextension/src/cta/TermsOfServiceSection.tsx b/packages/taler-wallet-webextension/src/cta/TermsOfServiceSection.tsx index 5109055e8..584da6d29 100644 --- a/packages/taler-wallet-webextension/src/cta/TermsOfServiceSection.tsx +++ b/packages/taler-wallet-webextension/src/cta/TermsOfServiceSection.tsx @@ -10,7 +10,7 @@ import { WarningBox, WarningText, } from "../components/styled"; -import { TermsState } from "../utils"; +import { TermsState } from "../utils/index"; interface Props { reviewing: boolean; diff --git a/packages/taler-wallet-webextension/src/cta/Withdraw.stories.tsx b/packages/taler-wallet-webextension/src/cta/Withdraw.stories.tsx index 3915dc126..3f548366a 100644 --- a/packages/taler-wallet-webextension/src/cta/Withdraw.stories.tsx +++ b/packages/taler-wallet-webextension/src/cta/Withdraw.stories.tsx @@ -24,12 +24,16 @@ import { createExample } from "../test-utils"; import { termsHtml, termsPdf, termsPlain, termsXml } from "./termsExample"; import { View as TestedComponent } from "./Withdraw"; +function parseFromString(s: string): Document { + if (typeof window === "undefined") { + return {} as Document; + } + return new window.DOMParser().parseFromString(s, "text/xml"); +} + export default { title: "cta/withdraw", component: TestedComponent, - argTypes: { - onSwitchExchange: { action: "onRetry" }, - }, }; const exchangeList: ExchangeListItem[] = [ @@ -77,7 +81,7 @@ export const NewTerms = createExample(TestedComponent, { terms: { content: { type: "xml", - document: new DOMParser().parseFromString(termsXml, "text/xml"), + document: parseFromString(termsXml), }, status: "new", version: "", @@ -192,7 +196,7 @@ export const TermsReviewingXML = createExample(TestedComponent, { terms: { content: { type: "xml", - document: new DOMParser().parseFromString(termsXml, "text/xml"), + document: parseFromString(termsXml), }, status: "new", version: "", @@ -219,7 +223,7 @@ export const NewTermsAccepted = createExample(TestedComponent, { terms: { content: { type: "xml", - document: new DOMParser().parseFromString(termsXml, "text/xml"), + document: parseFromString(termsXml), }, status: "new", version: "", @@ -247,7 +251,7 @@ export const TermsShowAgainXML = createExample(TestedComponent, { terms: { content: { type: "xml", - document: new DOMParser().parseFromString(termsXml, "text/xml"), + document: parseFromString(termsXml), }, version: "", status: "new", @@ -276,7 +280,7 @@ export const TermsChanged = createExample(TestedComponent, { terms: { content: { type: "xml", - document: new DOMParser().parseFromString(termsXml, "text/xml"), + document: parseFromString(termsXml), }, version: "", status: "changed", @@ -351,7 +355,7 @@ export const WithoutFee = createExample(TestedComponent, { terms: { content: { type: "xml", - document: new DOMParser().parseFromString(termsXml, "text/xml"), + document: parseFromString(termsXml), }, status: "accepted", version: "", diff --git a/packages/taler-wallet-webextension/src/cta/Withdraw.tsx b/packages/taler-wallet-webextension/src/cta/Withdraw.tsx index 4703492cf..0a06bd577 100644 --- a/packages/taler-wallet-webextension/src/cta/Withdraw.tsx +++ b/packages/taler-wallet-webextension/src/cta/Withdraw.tsx @@ -40,7 +40,11 @@ import { WalletAction, } from "../components/styled"; import { useAsyncAsHook } from "../hooks/useAsyncAsHook"; -import { amountToString, buildTermsOfServiceState, TermsState } from "../utils"; +import { + amountToString, + buildTermsOfServiceState, + TermsState, +} from "../utils/index"; import * as wxApi from "../wxApi"; import { TermsOfServiceSection } from "./TermsOfServiceSection"; diff --git a/packages/taler-wallet-webextension/src/hooks/useBackupStatus.ts b/packages/taler-wallet-webextension/src/hooks/useBackupStatus.ts index 8a8fd6f2f..df1e82676 100644 --- a/packages/taler-wallet-webextension/src/hooks/useBackupStatus.ts +++ b/packages/taler-wallet-webextension/src/hooks/useBackupStatus.ts @@ -43,8 +43,8 @@ function getStatusPaidOrder(a: ProviderPaymentPaid, b: ProviderPaymentPaid) { return a.paidUntil.t_ms === "never" ? -1 : b.paidUntil.t_ms === "never" - ? 1 - : a.paidUntil.t_ms - b.paidUntil.t_ms; + ? 1 + : a.paidUntil.t_ms - b.paidUntil.t_ms; } export function useBackupStatus(): BackupStatus | undefined { diff --git a/packages/taler-wallet-webextension/src/hooks/useTalerActionURL.test.ts b/packages/taler-wallet-webextension/src/hooks/useTalerActionURL.test.ts new file mode 100644 index 000000000..99934ef0b --- /dev/null +++ b/packages/taler-wallet-webextension/src/hooks/useTalerActionURL.test.ts @@ -0,0 +1,60 @@ +/* + This file is part of GNU Taler + (C) 2021 Taler Systems S.A. + + GNU Taler is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> + */ +import { useTalerActionURL } from "./useTalerActionURL" +import { justBrowser_it, mountBrowser } from "../test-utils"; +import { IoCProviderForTesting } from "../context/iocContext"; +import { h, VNode } from "preact"; +import { act } from "preact/test-utils"; + +describe('useTalerActionURL hook', () => { + + // eslint-disable-next-line jest/expect-expect + justBrowser_it('should be set url to undefined when dismiss', async () => { + + const ctx = ({ children }: { children: any }): VNode => { + return h(IoCProviderForTesting, { + value: { + findTalerUriInActiveTab: async () => "asd", + }, children + }) + } + + const { result, waitNextUpdate } = mountBrowser(useTalerActionURL, ctx) + + { + const [url] = result.current! + if (url !== undefined) throw Error('invalid') + } + + await waitNextUpdate() + + { + const [url] = result.current! + if (url !== "asd") throw Error(`invalid: ${url}`) + } + + await act(() => { + const [, setDismissed] = result.current! + setDismissed(true) + }) + + { + const [url] = result.current! + if (url !== undefined) throw Error('invalid') + } + + }) +})
\ No newline at end of file diff --git a/packages/taler-wallet-webextension/src/hooks/useTalerActionURL.ts b/packages/taler-wallet-webextension/src/hooks/useTalerActionURL.ts index 96a278401..53e1e912d 100644 --- a/packages/taler-wallet-webextension/src/hooks/useTalerActionURL.ts +++ b/packages/taler-wallet-webextension/src/hooks/useTalerActionURL.ts @@ -14,8 +14,8 @@ GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> */ -import { classifyTalerUri, TalerUriType } from "@gnu-taler/taler-util"; import { useEffect, useState } from "preact/hooks"; +import { useIocContext } from "../context/iocContext"; export function useTalerActionURL(): [ string | undefined, @@ -25,6 +25,8 @@ export function useTalerActionURL(): [ undefined, ); const [dismissed, setDismissed] = useState(false); + const { findTalerUriInActiveTab } = useIocContext() + useEffect(() => { async function check(): Promise<void> { const talerUri = await findTalerUriInActiveTab(); @@ -35,28 +37,3 @@ export function useTalerActionURL(): [ const url = dismissed ? undefined : talerActionUrl; return [url, setDismissed]; } - -async function findTalerUriInActiveTab(): Promise<string | undefined> { - return new Promise((resolve, reject) => { - chrome.tabs.executeScript( - { - code: ` - (() => { - let x = document.querySelector("a[href^='taler://'") || document.querySelector("a[href^='taler+http://'"); - return x ? x.href.toString() : null; - })(); - `, - allFrames: false, - }, - (result) => { - if (chrome.runtime.lastError) { - console.error(chrome.runtime.lastError); - resolve(undefined); - return; - } - console.log("got result", result); - resolve(result[0]); - }, - ); - }); -} diff --git a/packages/taler-wallet-webextension/src/popup/AddNewActionView.tsx b/packages/taler-wallet-webextension/src/popup/AddNewActionView.tsx index 876b1a83c..d4158973e 100644 --- a/packages/taler-wallet-webextension/src/popup/AddNewActionView.tsx +++ b/packages/taler-wallet-webextension/src/popup/AddNewActionView.tsx @@ -1,11 +1,7 @@ import { classifyTalerUri, TalerUriType } from "@gnu-taler/taler-util"; import { Fragment, h, VNode } from "preact"; import { useState } from "preact/hooks"; -import { - Button, - ButtonSuccess, - InputWithLabel, -} from "../components/styled/index"; +import { Button, ButtonSuccess, InputWithLabel } from "../components/styled"; import { actionForTalerUri } from "../utils/index"; export interface Props { diff --git a/packages/taler-wallet-webextension/src/popup/BalancePage.tsx b/packages/taler-wallet-webextension/src/popup/BalancePage.tsx index 40499b87c..3eb5f4270 100644 --- a/packages/taler-wallet-webextension/src/popup/BalancePage.tsx +++ b/packages/taler-wallet-webextension/src/popup/BalancePage.tsx @@ -17,7 +17,7 @@ import { BalancesResponse, i18n } from "@gnu-taler/taler-util"; import { Fragment, h, VNode } from "preact"; import { BalanceTable } from "../components/BalanceTable"; -import { ButtonPrimary, ErrorBox } from "../components/styled/index"; +import { ButtonPrimary, ErrorBox } from "../components/styled"; import { HookResponse, useAsyncAsHook } from "../hooks/useAsyncAsHook"; import { PageLink } from "../renderHtml"; import * as wxApi from "../wxApi"; diff --git a/packages/taler-wallet-webextension/src/popup/DeveloperPage.stories.tsx b/packages/taler-wallet-webextension/src/popup/DeveloperPage.stories.tsx index ea8a3537a..fb1177251 100644 --- a/packages/taler-wallet-webextension/src/popup/DeveloperPage.stories.tsx +++ b/packages/taler-wallet-webextension/src/popup/DeveloperPage.stories.tsx @@ -32,7 +32,7 @@ export default { }; export const AllOff = createExample(TestedComponent, { - onDownloadDatabase: async () => "this is the content of the database", + onDownloadDatabase: async () => "this is the content of the database", operations: [ { type: PendingTaskType.ExchangeUpdate, diff --git a/packages/taler-wallet-webextension/src/popup/DeveloperPage.tsx b/packages/taler-wallet-webextension/src/popup/DeveloperPage.tsx index b689004cc..aec288dec 100644 --- a/packages/taler-wallet-webextension/src/popup/DeveloperPage.tsx +++ b/packages/taler-wallet-webextension/src/popup/DeveloperPage.tsx @@ -20,7 +20,7 @@ import { format } from "date-fns"; import { Fragment, h, VNode } from "preact"; import { useState } from "preact/hooks"; import { Diagnostics } from "../components/Diagnostics"; -import { NotifyUpdateFadeOut } from "../components/styled/index"; +import { NotifyUpdateFadeOut } from "../components/styled"; import { Time } from "../components/Time"; import { useAsyncAsHook } from "../hooks/useAsyncAsHook"; import { useDiagnostics } from "../hooks/useDiagnostics"; diff --git a/packages/taler-wallet-webextension/src/popup/History.tsx b/packages/taler-wallet-webextension/src/popup/History.tsx index f897299d8..2dfddb8c4 100644 --- a/packages/taler-wallet-webextension/src/popup/History.tsx +++ b/packages/taler-wallet-webextension/src/popup/History.tsx @@ -23,7 +23,7 @@ import { } from "@gnu-taler/taler-util"; import { Fragment, h, VNode } from "preact"; import { useEffect, useState } from "preact/hooks"; -import { ButtonPrimary } from "../components/styled/index"; +import { ButtonPrimary } from "../components/styled"; import { TransactionItem } from "../components/TransactionItem"; import { useAsyncAsHook } from "../hooks/useAsyncAsHook"; import * as wxApi from "../wxApi"; @@ -133,7 +133,7 @@ export function HistoryView({ style={{ color: "darkgreen", textDecoration: "none" }} href={ // eslint-disable-next-line no-undef - chrome.extension + typeof chrome !== "undefined" && chrome.extension ? // eslint-disable-next-line no-undef chrome.extension.getURL(`/static/wallet.html#/history`) : "#" diff --git a/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx b/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx index 40e9111fb..45c4203e8 100644 --- a/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx +++ b/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx @@ -21,7 +21,7 @@ import { classifyTalerUri, TalerUriType } from "@gnu-taler/taler-util"; import { Fragment, h } from "preact"; -import { ButtonPrimary, ButtonSuccess } from "../components/styled/index"; +import { ButtonPrimary, ButtonSuccess } from "../components/styled"; import { actionForTalerUri } from "../utils/index"; export interface Props { diff --git a/packages/taler-wallet-webextension/tests/__mocks__/fileMocks.ts b/packages/taler-wallet-webextension/src/popup/index.stories.tsx index 0c045e9d1..c3e60c4ed 100644 --- a/packages/taler-wallet-webextension/tests/__mocks__/fileMocks.ts +++ b/packages/taler-wallet-webextension/src/popup/index.stories.tsx @@ -14,11 +14,16 @@ GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> */ - /** +/** * * @author Sebastian Javier Marchano (sebasjm) */ -// This fixed an error related to the CSS and loading gif breaking my Jest test -// See https://facebook.github.io/jest/docs/en/webpack.html#handling-static-assets -export default 'test-file-stub'; +import * as a1 from "./AddNewActionView.stories"; +import * as a2 from "./Balance.stories"; +import * as a3 from "./DeveloperPage.stories"; +import * as a4 from "./History.stories"; +import * as a5 from "./Popup.stories"; +import * as a6 from "./TalerActionFound.stories"; + +export default [a1, a2, a3, a4, a5, a6]; diff --git a/packages/taler-wallet-webextension/src/popupEntryPoint.tsx b/packages/taler-wallet-webextension/src/popupEntryPoint.tsx index ac1872fb1..27372db5e 100644 --- a/packages/taler-wallet-webextension/src/popupEntryPoint.tsx +++ b/packages/taler-wallet-webextension/src/popupEntryPoint.tsx @@ -22,7 +22,7 @@ import { setupI18n } from "@gnu-taler/taler-util"; import { createHashHistory } from "history"; -import { render, h } from "preact"; +import { render, h, VNode, Fragment } from "preact"; import Router, { route, Route } from "preact-router"; import { useEffect } from "preact/hooks"; import { PopupBox } from "./components/styled"; @@ -39,6 +39,7 @@ import { ProviderDetailPage } from "./wallet/ProviderDetailPage"; import { SettingsPage } from "./popup/Settings"; import { TalerActionFound } from "./popup/TalerActionFound"; import { ExchangeAddPage } from "./wallet/ExchangeAddPage"; +import { IoCProviderForRuntime } from "./context/iocContext"; function main(): void { try { @@ -63,87 +64,99 @@ if (document.readyState === "loading") { main(); } -function Application() { - const [talerActionUrl, setDismissed] = useTalerActionURL(); +function CheckTalerActionComponent(): VNode { + const [talerActionUrl] = useTalerActionURL(); useEffect(() => { - if (talerActionUrl) route(Pages.cta); + if (talerActionUrl) + route(Pages.cta.replace(":action", encodeURIComponent(talerActionUrl))); }, [talerActionUrl]); + return <Fragment />; +} + +function Application() { return ( <div> <DevContextProvider> - <WalletNavBar /> - <PopupBox> - <Router history={createHashHistory()}> - <Route path={Pages.dev} component={DeveloperPage} /> - - <Route - path={Pages.balance} - component={BalancePage} - goToWalletManualWithdraw={() => - goToWalletPage(Pages.manual_withdraw) - } - goToWalletDeposit={(currency: string) => - goToWalletPage(Pages.deposit.replace(":currency", currency)) - } - /> - <Route path={Pages.settings} component={SettingsPage} /> - <Route - path={Pages.cta} - component={() => ( - <TalerActionFound - url={talerActionUrl!} - onDismiss={() => { - setDismissed(true); - route(Pages.balance); - }} - /> - )} - /> - - <Route - path={Pages.transaction} - component={({ tid }: { tid: string }) => - goToWalletPage(Pages.transaction.replace(":tid", tid)) - } - /> - - <Route path={Pages.history} component={HistoryPage} /> - - <Route - path={Pages.backup} - component={BackupPage} - onAddProvider={() => { - route(Pages.provider_add); - }} - /> - <Route - path={Pages.provider_detail} - component={ProviderDetailPage} - onBack={() => { - route(Pages.backup); - }} - /> - <Route - path={Pages.provider_add} - component={ProviderAddPage} - onBack={() => { - route(Pages.backup); - }} - /> - - <Route - path={Pages.exchange_add} - component={ExchangeAddPage} - onBack={() => { - route(Pages.balance); - }} - /> - - <Route default component={Redirect} to={Pages.balance} /> - </Router> - </PopupBox> + <IoCProviderForRuntime> + <WalletNavBar /> + <CheckTalerActionComponent /> + <PopupBox> + <Router history={createHashHistory()}> + <Route path={Pages.dev} component={DeveloperPage} /> + + <Route + path={Pages.balance} + component={BalancePage} + goToWalletManualWithdraw={() => + goToWalletPage(Pages.manual_withdraw) + } + goToWalletDeposit={(currency: string) => + goToWalletPage(Pages.deposit.replace(":currency", currency)) + } + /> + <Route path={Pages.settings} component={SettingsPage} /> + <Route + path={Pages.cta} + component={function Action({ action }: { action: string }) { + const [, setDismissed] = useTalerActionURL(); + + return ( + <TalerActionFound + url={decodeURIComponent(action)} + onDismiss={() => { + setDismissed(true); + route(Pages.balance); + }} + /> + ); + }} + /> + + <Route + path={Pages.transaction} + component={({ tid }: { tid: string }) => + goToWalletPage(Pages.transaction.replace(":tid", tid)) + } + /> + + <Route path={Pages.history} component={HistoryPage} /> + + <Route + path={Pages.backup} + component={BackupPage} + onAddProvider={() => { + route(Pages.provider_add); + }} + /> + <Route + path={Pages.provider_detail} + component={ProviderDetailPage} + onBack={() => { + route(Pages.backup); + }} + /> + <Route + path={Pages.provider_add} + component={ProviderAddPage} + onBack={() => { + route(Pages.backup); + }} + /> + + <Route + path={Pages.exchange_add} + component={ExchangeAddPage} + onBack={() => { + route(Pages.balance); + }} + /> + + <Route default component={Redirect} to={Pages.balance} /> + </Router> + </PopupBox> + </IoCProviderForRuntime> </DevContextProvider> </div> ); diff --git a/packages/taler-wallet-webextension/src/stories.test.ts b/packages/taler-wallet-webextension/src/stories.test.ts new file mode 100644 index 000000000..e2d43d5cf --- /dev/null +++ b/packages/taler-wallet-webextension/src/stories.test.ts @@ -0,0 +1,51 @@ +/* + This file is part of GNU Taler + (C) 2021 Taler Systems S.A. + + GNU Taler is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> + */ + +/** + * + * @author Sebastian Javier Marchano (sebasjm) + */ +import * as popup from "./popup/index.stories"; +import * as wallet from "./wallet/index.stories"; + +import { setupI18n } from "@gnu-taler/taler-util"; +import { renderNodeOrBrowser } from "./test-utils"; +setupI18n("en", { en: {} }); + +function testThisStory(st: any): any { + describe(`render examples for ${(st as any).default.title}`, () => { + Object.keys(st).forEach((k) => { + const Component = (st as any)[k]; + if (k === "default" || !Component) return; + + + // eslint-disable-next-line jest/expect-expect + it(`example: ${k}`, () => { + renderNodeOrBrowser(Component, Component.args); + }); + }); + }); +} + +describe("render every storybook example", () => { + [popup, wallet].forEach(function testAll(st: any) { + if (Array.isArray(st.default)) { + st.default.forEach(testAll) + } else { + testThisStory(st) + } + }); +}); diff --git a/packages/taler-wallet-webextension/src/test-utils.ts b/packages/taler-wallet-webextension/src/test-utils.ts index 2fe2c43bd..fbb7c56ff 100644 --- a/packages/taler-wallet-webextension/src/test-utils.ts +++ b/packages/taler-wallet-webextension/src/test-utils.ts @@ -14,13 +14,15 @@ GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> */ -import { ComponentChildren, FunctionalComponent, h as render, VNode } from "preact"; +import { PendingTestFunction, TestFunction } from "mocha"; +import { ComponentChildren, Fragment, FunctionalComponent, h as create, render as renderIntoDom, VNode } from "preact"; +import { render as renderToString } from "preact-render-to-string"; export function createExample<Props>( Component: FunctionalComponent<Props>, props: Partial<Props>, ): ComponentChildren { - const Render = (args: any) => render(Component, args); + const Render = (args: any): VNode => create(Component, args); Render.args = props; return Render; } @@ -31,12 +33,89 @@ export function createExampleWithCustomContext<Props, ContextProps>( ContextProvider: FunctionalComponent<ContextProps>, contextProps: Partial<ContextProps>, ): ComponentChildren { - const Render = (args: any): VNode => render(Component, args); - const WithContext = (args: any): VNode => render(ContextProvider, { ...contextProps, children: [Render(args)] } as any); + const Render = (args: any): VNode => create(Component, args); + const WithContext = (args: any): VNode => create(ContextProvider, { ...contextProps, children: [Render(args)] } as any); WithContext.args = props return WithContext } -export function NullLink({ children }: { children?: ComponentChildren }) { - return render("a", { children, href: "javascript:void(0);" }); +export function NullLink({ children }: { children?: ComponentChildren }): VNode { + return create("a", { children, href: "javascript:void(0);" }); } + +export function renderNodeOrBrowser(Component: any, args: any): void { + const vdom = create(Component, args); + if (typeof window === "undefined") { + renderToString(vdom); + } else { + const div = document.createElement("div"); + document.body.appendChild(div); + renderIntoDom(vdom, div); + renderIntoDom(null, div); + document.body.removeChild(div); + } +} + +interface Mounted<T> { + unmount: () => void; + result: { current: T | null }; + waitNextUpdate: () => Promise<void>; +} + +export function mountBrowser<T>(callback: () => T, Context?: ({ children }: { children: any }) => VNode): Mounted<T> { + const result: { current: T | null } = { + current: null + } + const listener: Array<() => void> = [] + + // component that's going to hold the hook + function Component(): VNode { + const hookResult = callback() + // save the hook result + result.current = hookResult + // notify to everyone waiting for an update and clean the queue + listener.splice(0, listener.length).forEach(cb => cb()) + return create(Fragment, {}) + } + + // create the vdom with context if required + const vdom = !Context ? create(Component, {}) : create(Context, { children: [create(Component, {})] },); + + // in non-browser environment (server side rendering) just serialize to + // string and exit + if (typeof window === "undefined") { + renderToString(vdom); + return { unmount: () => null, result } as any + } + + // do the render into the DOM + const div = document.createElement("div"); + document.body.appendChild(div); + renderIntoDom(vdom, div); + + // clean up callback + function unmount(): any { + document.body.removeChild(div); + } + + // waiter callback + async function waitNextUpdate(): Promise<void> { + await new Promise((res, rej) => { + const tid = setTimeout(() => { + rej(Error("waiting for an update but the hook didn't make one")) + }, 100) + + listener.push(() => { + clearTimeout(tid) + res(undefined) + }) + }) + } + + return { + unmount, result, waitNextUpdate + } +} + +export const justBrowser_it: PendingTestFunction | TestFunction = + typeof window === 'undefined' ? it.skip : it
\ No newline at end of file diff --git a/packages/taler-wallet-webextension/src/wallet/BalancePage.tsx b/packages/taler-wallet-webextension/src/wallet/BalancePage.tsx index 52edbbe51..33182a38d 100644 --- a/packages/taler-wallet-webextension/src/wallet/BalancePage.tsx +++ b/packages/taler-wallet-webextension/src/wallet/BalancePage.tsx @@ -17,7 +17,7 @@ import { BalancesResponse, i18n } from "@gnu-taler/taler-util"; import { Fragment, h, VNode } from "preact"; import { BalanceTable } from "../components/BalanceTable"; -import { ButtonPrimary, Centered, ErrorBox } from "../components/styled/index"; +import { ButtonPrimary, Centered, ErrorBox } from "../components/styled"; import { HookResponse, useAsyncAsHook } from "../hooks/useAsyncAsHook"; import { PageLink } from "../renderHtml"; import * as wxApi from "../wxApi"; diff --git a/packages/taler-wallet-webextension/src/wallet/DepositPage.stories.tsx b/packages/taler-wallet-webextension/src/wallet/DepositPage.stories.tsx index 346b85d4f..2e2d4cb3d 100644 --- a/packages/taler-wallet-webextension/src/wallet/DepositPage.stories.tsx +++ b/packages/taler-wallet-webextension/src/wallet/DepositPage.stories.tsx @@ -19,7 +19,7 @@ * @author Sebastian Javier Marchano (sebasjm) */ -import { AmountJson, Amounts, parsePaytoUri } from "@gnu-taler/taler-util"; +import { Amounts, parsePaytoUri } from "@gnu-taler/taler-util"; import { DepositFee } from "@gnu-taler/taler-wallet-core/src/operations/deposits"; import { createExample } from "../test-utils"; import { View as TestedComponent } from "./DepositPage"; diff --git a/packages/taler-wallet-webextension/src/wallet/DepositPage.tsx b/packages/taler-wallet-webextension/src/wallet/DepositPage.tsx index d4759c537..5c931394d 100644 --- a/packages/taler-wallet-webextension/src/wallet/DepositPage.tsx +++ b/packages/taler-wallet-webextension/src/wallet/DepositPage.tsx @@ -108,8 +108,13 @@ export function View({ const currency = balance.currency; const amountStr: AmountString = `${currency}:${amount}`; - const account = knownBankAccounts[accountIdx]; - const accountURI = `payto://${account.targetType}/${account.targetPath}`; + const account = knownBankAccounts.length + ? knownBankAccounts[accountIdx] + : undefined; + const accountURI = !account + ? "" + : `payto://${account.targetType}/${account.targetPath}`; + useEffect(() => { if (amount === undefined) return; onCalculateFee(accountURI, amountStr).then((result) => { diff --git a/packages/taler-wallet-webextension/src/wallet/ExchangeAddConfirm.stories.tsx b/packages/taler-wallet-webextension/src/wallet/ExchangeAddConfirm.stories.tsx index 2e034458a..36b81d24c 100644 --- a/packages/taler-wallet-webextension/src/wallet/ExchangeAddConfirm.stories.tsx +++ b/packages/taler-wallet-webextension/src/wallet/ExchangeAddConfirm.stories.tsx @@ -23,6 +23,17 @@ import { termsXml } from "../cta/termsExample"; import { createExample } from "../test-utils"; import { View as TestedComponent } from "./ExchangeAddConfirm"; +function parseFromString(s: string): Document { + if (typeof window === "undefined") { + return { + querySelector: () => ({ + children: [], + }), + } as any; + } + return new window.DOMParser().parseFromString(s, "text/xml"); +} + export default { title: "wallet/exchange add/confirm", component: TestedComponent, @@ -60,7 +71,7 @@ export const TermsChanged = createExample(TestedComponent, { version: "1", content: { type: "xml", - document: new DOMParser().parseFromString(termsXml, "text/xml"), + document: parseFromString(termsXml), }, }, onAccept: async () => undefined, diff --git a/packages/taler-wallet-webextension/src/wallet/ExchangeAddConfirm.tsx b/packages/taler-wallet-webextension/src/wallet/ExchangeAddConfirm.tsx index 409e0b49e..562a2c956 100644 --- a/packages/taler-wallet-webextension/src/wallet/ExchangeAddConfirm.tsx +++ b/packages/taler-wallet-webextension/src/wallet/ExchangeAddConfirm.tsx @@ -1,14 +1,10 @@ import { i18n } from "@gnu-taler/taler-util"; import { Fragment, h, VNode } from "preact"; import { useState } from "preact/hooks"; -import { - Button, - ButtonSuccess, - ButtonWarning, -} from "../components/styled/index"; +import { Button, ButtonSuccess, ButtonWarning } from "../components/styled"; import { TermsOfServiceSection } from "../cta/TermsOfServiceSection"; import { useAsyncAsHook } from "../hooks/useAsyncAsHook"; -import { buildTermsOfServiceState, TermsState } from "../utils"; +import { buildTermsOfServiceState, TermsState } from "../utils/index"; import * as wxApi from "../wxApi"; export interface Props { diff --git a/packages/taler-wallet-webextension/src/wallet/ExchangeAddPage.tsx b/packages/taler-wallet-webextension/src/wallet/ExchangeAddPage.tsx index 6dbdf4c30..a8ef4549c 100644 --- a/packages/taler-wallet-webextension/src/wallet/ExchangeAddPage.tsx +++ b/packages/taler-wallet-webextension/src/wallet/ExchangeAddPage.tsx @@ -21,7 +21,7 @@ import { import { h, VNode } from "preact"; import { useState } from "preact/hooks"; import { useAsyncAsHook } from "../hooks/useAsyncAsHook"; -import { queryToSlashKeys } from "../utils"; +import { queryToSlashKeys } from "../utils/index"; import * as wxApi from "../wxApi"; import { ExchangeAddConfirmPage } from "./ExchangeAddConfirm"; import { ExchangeSetUrlPage } from "./ExchangeSetUrl"; diff --git a/packages/taler-wallet-webextension/src/wallet/ExchangeAddSetUrl.stories.tsx b/packages/taler-wallet-webextension/src/wallet/ExchangeAddSetUrl.stories.tsx index 6f0a58729..221a9da10 100644 --- a/packages/taler-wallet-webextension/src/wallet/ExchangeAddSetUrl.stories.tsx +++ b/packages/taler-wallet-webextension/src/wallet/ExchangeAddSetUrl.stories.tsx @@ -20,7 +20,7 @@ */ import { createExample } from "../test-utils"; -import { queryToSlashKeys } from "../utils"; +import { queryToSlashKeys } from "../utils/index"; import { ExchangeSetUrlPage as TestedComponent } from "./ExchangeSetUrl"; export default { diff --git a/packages/taler-wallet-webextension/src/wallet/ExchangeSetUrl.tsx b/packages/taler-wallet-webextension/src/wallet/ExchangeSetUrl.tsx index d529d162b..f346d6bf3 100644 --- a/packages/taler-wallet-webextension/src/wallet/ExchangeSetUrl.tsx +++ b/packages/taler-wallet-webextension/src/wallet/ExchangeSetUrl.tsx @@ -7,12 +7,7 @@ import { import { Fragment, h } from "preact"; import { useEffect, useState } from "preact/hooks"; import { ErrorMessage } from "../components/ErrorMessage"; -import { - Button, - ButtonPrimary, - Input, - WarningBox, -} from "../components/styled/index"; +import { Button, ButtonPrimary, Input, WarningBox } from "../components/styled"; export interface Props { initialValue?: string; diff --git a/packages/taler-wallet-webextension/src/wallet/ProviderAddPage.tsx b/packages/taler-wallet-webextension/src/wallet/ProviderAddPage.tsx index 16f239674..44d1049b9 100644 --- a/packages/taler-wallet-webextension/src/wallet/ProviderAddPage.tsx +++ b/packages/taler-wallet-webextension/src/wallet/ProviderAddPage.tsx @@ -30,8 +30,8 @@ import { Input, LightText, SmallLightText, -} from "../components/styled/index"; -import { queryToSlashConfig } from "../utils"; +} from "../components/styled"; +import { queryToSlashConfig } from "../utils/index"; import * as wxApi from "../wxApi"; interface Props { diff --git a/packages/taler-wallet-webextension/src/wallet/ReserveCreated.tsx b/packages/taler-wallet-webextension/src/wallet/ReserveCreated.tsx index f009c5ad0..ae820d8fe 100644 --- a/packages/taler-wallet-webextension/src/wallet/ReserveCreated.tsx +++ b/packages/taler-wallet-webextension/src/wallet/ReserveCreated.tsx @@ -3,7 +3,7 @@ import { Fragment, h, VNode } from "preact"; import { BankDetailsByPaytoType } from "../components/BankDetailsByPaytoType"; import { QR } from "../components/QR"; import { ButtonDestructive, WarningBox } from "../components/styled"; -import { amountToString } from "../utils"; +import { amountToString } from "../utils/index"; export interface Props { reservePub: string; payto: string; diff --git a/packages/taler-wallet-webextension/src/wallet/Settings.tsx b/packages/taler-wallet-webextension/src/wallet/Settings.tsx index 04656acc1..293448785 100644 --- a/packages/taler-wallet-webextension/src/wallet/Settings.tsx +++ b/packages/taler-wallet-webextension/src/wallet/Settings.tsx @@ -29,7 +29,7 @@ import { useBackupDeviceName } from "../hooks/useBackupDeviceName"; import { useExtendedPermissions } from "../hooks/useExtendedPermissions"; import { useLang } from "../hooks/useLang"; import { Pages } from "../NavigationBar"; -import { buildTermsOfServiceStatus } from "../utils"; +import { buildTermsOfServiceStatus } from "../utils/index"; import * as wxApi from "../wxApi"; export function SettingsPage(): VNode { diff --git a/packages/taler-wallet-webextension/src/wallet/Transaction.stories.tsx b/packages/taler-wallet-webextension/src/wallet/Transaction.stories.tsx index 4e8433921..7b6ac1fdc 100644 --- a/packages/taler-wallet-webextension/src/wallet/Transaction.stories.tsx +++ b/packages/taler-wallet-webextension/src/wallet/Transaction.stories.tsx @@ -125,12 +125,13 @@ const exampleData = { const transactionError = { code: 7005, details: { - requestUrl: "http://merchant-backend.taler:9966/orders/2021.340-02AD5XCC97MQM/pay", + requestUrl: + "http://merchant-backend.taler:9966/orders/2021.340-02AD5XCC97MQM/pay", httpStatusCode: 410, errorResponse: { code: 2161, - hint: "The payment is too late, the offer has expired." - } + hint: "The payment is too late, the offer has expired.", + }, }, hint: "Error: WALLET_UNEXPECTED_REQUEST_ERROR", message: "Unexpected error code in response", diff --git a/packages/taler-wallet-webextension/src/wallet/index.stories.tsx b/packages/taler-wallet-webextension/src/wallet/index.stories.tsx new file mode 100644 index 000000000..644ab1c59 --- /dev/null +++ b/packages/taler-wallet-webextension/src/wallet/index.stories.tsx @@ -0,0 +1,37 @@ +/* + This file is part of GNU Taler + (C) 2021 Taler Systems S.A. + + GNU Taler is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> + */ + +/** + * + * @author Sebastian Javier Marchano (sebasjm) + */ + +import * as a1 from "./Backup.stories"; +import * as a2 from "./Balance.stories"; +import * as a3 from "./CreateManualWithdraw.stories"; +import * as a4 from "./DepositPage.stories"; +import * as a5 from "./ExchangeAddConfirm.stories"; +import * as a6 from "./ExchangeAddSetUrl.stories"; +import * as a7 from "./History.stories"; +import * as a8 from "./ProviderAddConfirmProvider.stories"; +import * as a9 from "./ProviderAddSetUrl.stories"; +import * as a10 from "./ProviderDetail.stories"; +import * as a11 from "./ReserveCreated.stories"; +import * as a12 from "./Settings.stories"; +import * as a13 from "./Transaction.stories"; +import * as a14 from "./Welcome.stories"; + +export default [a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14]; diff --git a/packages/taler-wallet-webextension/src/walletEntryPoint.tsx b/packages/taler-wallet-webextension/src/walletEntryPoint.tsx index a38add3ca..938892874 100644 --- a/packages/taler-wallet-webextension/src/walletEntryPoint.tsx +++ b/packages/taler-wallet-webextension/src/walletEntryPoint.tsx @@ -46,6 +46,7 @@ import { ProviderDetailPage } from "./wallet/ProviderDetailPage"; import { ProviderAddPage } from "./wallet/ProviderAddPage"; import { ExchangeAddPage } from "./wallet/ExchangeAddPage"; import { DepositPage } from "./wallet/DepositPage"; +import { IoCProviderForRuntime } from "./context/iocContext"; function main(): void { try { @@ -88,103 +89,105 @@ function Application(): VNode { return ( <div> <DevContextProvider> - <Router history={createHashHistory()}> - <Route - path={Pages.welcome} - component={withLogoAndNavBar(WelcomePage)} - /> - - <Route - path={Pages.history} - component={withLogoAndNavBar(HistoryPage)} - /> - <Route - path={Pages.transaction} - component={withLogoAndNavBar(TransactionPage)} - /> - <Route - path={Pages.balance} - component={withLogoAndNavBar(BalancePage)} - goToWalletManualWithdraw={() => route(Pages.manual_withdraw)} - goToWalletDeposit={(currency: string) => - route(Pages.deposit.replace(":currency", currency)) - } - /> - <Route - path={Pages.settings} - component={withLogoAndNavBar(SettingsPage)} - /> - <Route - path={Pages.backup} - component={withLogoAndNavBar(BackupPage)} - onAddProvider={() => { - route(Pages.provider_add); - }} - /> - <Route - path={Pages.provider_detail} - component={withLogoAndNavBar(ProviderDetailPage)} - onBack={() => { - route(Pages.backup); - }} - /> - <Route - path={Pages.provider_add} - component={withLogoAndNavBar(ProviderAddPage)} - onBack={() => { - route(Pages.backup); - }} - /> - - <Route - path={Pages.exchange_add} - component={withLogoAndNavBar(ExchangeAddPage)} - onBack={() => { - route(Pages.balance); - }} - /> - - <Route - path={Pages.manual_withdraw} - component={withLogoAndNavBar(ManualWithdrawPage)} - /> - - <Route - path={Pages.deposit} - component={withLogoAndNavBar(DepositPage)} - /> - <Route - path={Pages.reset_required} - component={() => <div>no yet implemented</div>} - /> - <Route - path={Pages.payback} - component={() => <div>no yet implemented</div>} - /> - <Route - path={Pages.return_coins} - component={() => <div>no yet implemented</div>} - /> - - <Route - path={Pages.dev} - component={withLogoAndNavBar(DeveloperPage)} - /> - - {/** call to action */} - <Route - path={Pages.pay} - component={PayPage} - goToWalletManualWithdraw={() => - goToWalletPage(Pages.manual_withdraw) - } - /> - <Route path={Pages.refund} component={RefundPage} /> - <Route path={Pages.tips} component={TipPage} /> - <Route path={Pages.withdraw} component={WithdrawPage} /> - - <Route default component={Redirect} to={Pages.history} /> - </Router> + <IoCProviderForRuntime> + <Router history={createHashHistory()}> + <Route + path={Pages.welcome} + component={withLogoAndNavBar(WelcomePage)} + /> + + <Route + path={Pages.history} + component={withLogoAndNavBar(HistoryPage)} + /> + <Route + path={Pages.transaction} + component={withLogoAndNavBar(TransactionPage)} + /> + <Route + path={Pages.balance} + component={withLogoAndNavBar(BalancePage)} + goToWalletManualWithdraw={() => route(Pages.manual_withdraw)} + goToWalletDeposit={(currency: string) => + route(Pages.deposit.replace(":currency", currency)) + } + /> + <Route + path={Pages.settings} + component={withLogoAndNavBar(SettingsPage)} + /> + <Route + path={Pages.backup} + component={withLogoAndNavBar(BackupPage)} + onAddProvider={() => { + route(Pages.provider_add); + }} + /> + <Route + path={Pages.provider_detail} + component={withLogoAndNavBar(ProviderDetailPage)} + onBack={() => { + route(Pages.backup); + }} + /> + <Route + path={Pages.provider_add} + component={withLogoAndNavBar(ProviderAddPage)} + onBack={() => { + route(Pages.backup); + }} + /> + + <Route + path={Pages.exchange_add} + component={withLogoAndNavBar(ExchangeAddPage)} + onBack={() => { + route(Pages.balance); + }} + /> + + <Route + path={Pages.manual_withdraw} + component={withLogoAndNavBar(ManualWithdrawPage)} + /> + + <Route + path={Pages.deposit} + component={withLogoAndNavBar(DepositPage)} + /> + <Route + path={Pages.reset_required} + component={() => <div>no yet implemented</div>} + /> + <Route + path={Pages.payback} + component={() => <div>no yet implemented</div>} + /> + <Route + path={Pages.return_coins} + component={() => <div>no yet implemented</div>} + /> + + <Route + path={Pages.dev} + component={withLogoAndNavBar(DeveloperPage)} + /> + + {/** call to action */} + <Route + path={Pages.pay} + component={PayPage} + goToWalletManualWithdraw={() => + goToWalletPage(Pages.manual_withdraw) + } + /> + <Route path={Pages.refund} component={RefundPage} /> + <Route path={Pages.tips} component={TipPage} /> + <Route path={Pages.withdraw} component={WithdrawPage} /> + + <Route default component={Redirect} to={Pages.history} /> + </Router> + </IoCProviderForRuntime> </DevContextProvider> </div> ); diff --git a/packages/taler-wallet-webextension/src/wxApi.ts b/packages/taler-wallet-webextension/src/wxApi.ts index 64a506c13..5fe30bc4b 100644 --- a/packages/taler-wallet-webextension/src/wxApi.ts +++ b/packages/taler-wallet-webextension/src/wxApi.ts @@ -39,7 +39,7 @@ import { } from "@gnu-taler/taler-wallet-core"; import { DepositFee } from "@gnu-taler/taler-wallet-core/src/operations/deposits"; import { ExchangeWithdrawDetails } from "@gnu-taler/taler-wallet-core/src/operations/withdraw"; -import { MessageFromBackend } from "./wxBackend.js"; +import { MessageFromBackend } from "./wxBackend"; export interface ExtendedPermissionsResponse { newValue: boolean; @@ -75,7 +75,7 @@ async function callBackend(operation: string, payload: any): Promise<any> { console.log("Error calling backend"); reject( new Error( - `Error contacting backend: chrome.runtime.lastError.message`, + `Error contacting backend: ${chrome.runtime.lastError.message}`, ), ); } diff --git a/packages/taler-wallet-webextension/tests/__mocks__/fileTransformer.js b/packages/taler-wallet-webextension/tests/__mocks__/fileTransformer.js deleted file mode 100644 index e6193f8fd..000000000 --- a/packages/taler-wallet-webextension/tests/__mocks__/fileTransformer.js +++ /dev/null @@ -1,31 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ - -/** -* -* @author Sebastian Javier Marchano (sebasjm) -*/ -// fileTransformer.js - -// eslint-disable-next-line @typescript-eslint/no-var-requires -const path = require('path'); - -module.exports = { - process(src, filename, config, options) { - return 'module.exports = ' + JSON.stringify(path.basename(filename)) + ';'; - }, -}; - diff --git a/packages/taler-wallet-webextension/tests/__mocks__/linaria.ts b/packages/taler-wallet-webextension/tests/__mocks__/linaria.ts deleted file mode 100644 index 398ac0ec1..000000000 --- a/packages/taler-wallet-webextension/tests/__mocks__/linaria.ts +++ /dev/null @@ -1,33 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ - -/** -* -* @author Sebastian Javier Marchano (sebasjm) -*/ - -/** - * Here we are mocking the linaria runtime since it should not be used in - * runtime. - */ -export const styled = new Proxy(function (tag: any) { - return jest.fn(() => `mock-styled.${tag}`); -}, { - get(o, prop) { - return o(prop); - }, -}) - diff --git a/packages/taler-wallet-webextension/tests/__mocks__/setupTests.ts b/packages/taler-wallet-webextension/tests/__mocks__/setupTests.ts deleted file mode 100644 index bae5c128f..000000000 --- a/packages/taler-wallet-webextension/tests/__mocks__/setupTests.ts +++ /dev/null @@ -1,34 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ - - /** - * - * @author Sebastian Javier Marchano (sebasjm) - */ - -import 'regenerator-runtime/runtime' -import { configure } from 'enzyme'; -import Adapter from 'enzyme-adapter-preact-pure'; - -configure({ - adapter: new Adapter() -}); - -// Polyfill for encoding which isn't present globally in jsdom -import { TextEncoder, TextDecoder } from 'util' -global.TextEncoder = TextEncoder; -global.TextDecoder = TextDecoder; -(global as any).chrome = {};
\ No newline at end of file diff --git a/packages/taler-wallet-webextension/tests/i18n.test.tsx b/packages/taler-wallet-webextension/tests/i18n.test.tsx deleted file mode 100644 index ae8b44bb0..000000000 --- a/packages/taler-wallet-webextension/tests/i18n.test.tsx +++ /dev/null @@ -1,68 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2020 Taler Systems SA - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ - -// import * as test from "ava"; -import { internalSetStrings, i18n, Translate } from "@gnu-taler/taler-util"; -import { render, configure } from "enzyme"; -import { h } from 'preact'; -import Adapter from 'enzyme-adapter-preact-pure'; - -configure({ adapter: new Adapter() }); - -const testStrings = { - domain: "messages", - locale_data: { - messages: { - str1: ["foo1"], - str2: [""], - "str3 %1$s / %2$s": ["foo3 %2$s ; %1$s"], - "": { - domain: "messages", - plural_forms: "nplurals=2; plural=(n != 1);", - lang: "", - }, - }, - }, -}; - -test("str translation", (done) => { - - // Alias, so we nly use the function for lookups, not for string extranction. - const strAlias = i18n.str; - const TranslateAlias = Translate; - internalSetStrings(testStrings); - expect(strAlias`str1`).toEqual("foo1"); - expect(strAlias`str2`).toEqual("str2"); - const a = "a"; - const b = "b"; - expect(strAlias`str3 ${a} / ${b}`).toEqual("foo3 b ; a"); - const r = render(<Translate>str1</Translate>); - expect(r.text()).toEqual("foo1"); - - const r2 = render( - <TranslateAlias> - str3 <span>{a}</span> / <span>{b}</span> - </TranslateAlias>, - ); - expect(r2.text()).toEqual("foo3 b ; a"); - - done(); -}); - -// test.default("existing str translation", (t) => { -// internalSetStrings(strings); -// t.pass(); -// }); diff --git a/packages/taler-wallet-webextension/tests/stories.test.tsx b/packages/taler-wallet-webextension/tests/stories.test.tsx deleted file mode 100644 index 0122dfaeb..000000000 --- a/packages/taler-wallet-webextension/tests/stories.test.tsx +++ /dev/null @@ -1,70 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2021 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ - -/** -* -* @author Sebastian Javier Marchano (sebasjm) -*/ -import { mount } from 'enzyme'; -import { h } from 'preact'; - -import fs from 'fs'; - -function getFiles(dir: string, files_: string[] = []) { - const files = fs.readdirSync(dir); - for (const i in files) { - const name = dir + '/' + files[i]; - if (fs.statSync(name).isDirectory()) { - getFiles(name, files_); - } else { - files_.push(name); - } - } - return files_; -} - -const re = RegExp('.*\.stories.tsx') - -import { setupI18n } from '@gnu-taler/taler-util'; -setupI18n('en',{'en':{}}) - -it('render every story', () => { - // jest.spyOn(i18n, 'useTranslationContext').mockImplementation(() => ({ changeLanguage: () => null, lang: 'en' })); - - getFiles('./src').filter(f => re.test(f)).map(f => { - // const f = "./src/paths/instance/transfers/list/List.stories.tsx"; - // eslint-disable-next-line @typescript-eslint/no-var-requires - const s = require(`../${f}`) - - delete s.default - - Object.keys(s).forEach(k => { - const Component = s[k]; - expect(() => { - try { - let p = mount(<Component {...Component.args} /> as any) - p.mount() - p.unmount() - p.mount(); - } catch (e) { - console.log(e) - throw e - } - }).not.toThrow() //`problem rendering ${f} example ${k}` - - }) - }) -}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 923659f3b..54d3d18fd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -61,7 +61,6 @@ importers: '@storybook/preact': ^6.3.12 '@storybook/preset-scss': ^1.0.3 '@types/enzyme': ^3.10.10 - '@types/jest': ^27.0.2 '@typescript-eslint/eslint-plugin': ^5.3.0 '@typescript-eslint/parser': ^5.3.0 base64-inline-loader: 1.1.1 @@ -74,8 +73,6 @@ importers: eslint: ^8.1.0 eslint-config-preact: ^1.2.0 jed: 1.1.1 - jest: ^27.3.1 - jest-preset-preact: ^4.0.5 jssha: ^3.2.0 preact: ^10.5.15 preact-cli: ^3.3.1 @@ -105,7 +102,6 @@ importers: '@storybook/preact': 6.3.12_95076c79c13120062fc2121e56d666e8 '@storybook/preset-scss': 1.0.3_sass-loader@10.2.0 '@types/enzyme': 3.10.10 - '@types/jest': 27.0.2 '@typescript-eslint/eslint-plugin': 5.3.0_f8873316f48f7781ccc3e081fc76e214 '@typescript-eslint/parser': 5.3.0_eslint@8.1.0+typescript@4.4.4 bulma: 0.9.3 @@ -115,8 +111,6 @@ importers: enzyme-adapter-preact-pure: 3.2.0_enzyme@3.11.0+preact@10.5.15 eslint: 8.1.0 eslint-config-preact: 1.2.0_eslint@8.1.0+typescript@4.4.4 - jest: 27.3.1 - jest-preset-preact: 4.0.5_726380f5f23d12d9b6cc402fef7b8b84 jssha: 3.2.0 preact-cli: 3.3.1_bb0f676d04cdcea3d812adbcf5208138 sass: 1.32.13 @@ -340,24 +334,23 @@ importers: '@rollup/plugin-json': ^4.1.0 '@rollup/plugin-node-resolve': ^11.1.0 '@rollup/plugin-replace': ^2.3.4 + '@rollup/plugin-typescript': ^8.3.0 '@storybook/addon-a11y': ^6.2.9 '@storybook/addon-essentials': ^6.2.9 - '@storybook/preact': ^6.2.9 + '@storybook/preact': 6.4.9 '@testing-library/preact': ^2.0.1 + '@testing-library/preact-hooks': ^1.1.0 '@types/chrome': ^0.0.128 - '@types/enzyme': ^3.10.10 '@types/history': ^4.7.8 - '@types/jest': ^26.0.23 + '@types/mocha': ^9.0.0 '@types/node': ^14.14.22 ava: 3.15.0 babel-loader: ^8.2.2 babel-plugin-transform-react-jsx: ^6.24.1 date-fns: ^2.22.1 - enzyme: ^3.11.0 - enzyme-adapter-preact-pure: ^3.1.0 history: 4.10.1 - jest: ^26.6.3 - jest-preset-preact: ^4.0.2 + mocha: ^9.1.3 + nyc: ^15.1.0 preact: ^10.5.13 preact-cli: ^3.0.5 preact-render-to-string: ^5.1.19 @@ -396,22 +389,21 @@ importers: '@rollup/plugin-json': 4.1.0_rollup@2.56.2 '@rollup/plugin-node-resolve': 11.2.1_rollup@2.56.2 '@rollup/plugin-replace': 2.4.2_rollup@2.56.2 + '@rollup/plugin-typescript': 8.3.0_5f9d52eb8f5b9c5f8da2582f59355eb7 '@storybook/addon-a11y': 6.3.7 '@storybook/addon-essentials': 6.3.7_d95124e751df81c32a1d4f8e491e43a1 - '@storybook/preact': 6.3.7_9cd0ede338ef3d2deb8dbc69bc115c66 + '@storybook/preact': 6.4.9_9cd0ede338ef3d2deb8dbc69bc115c66 '@testing-library/preact': 2.0.1_preact@10.5.14 + '@testing-library/preact-hooks': 1.1.0_6273b572ba1ed58b8bbb2ee93959f9e4 '@types/chrome': 0.0.128 - '@types/enzyme': 3.10.10 '@types/history': 4.7.9 - '@types/jest': 26.0.24 + '@types/mocha': 9.0.0 '@types/node': 14.17.10 ava: 3.15.0 babel-loader: 8.2.2_@babel+core@7.13.16 babel-plugin-transform-react-jsx: 6.24.1 - enzyme: 3.11.0 - enzyme-adapter-preact-pure: 3.1.0_enzyme@3.11.0+preact@10.5.14 - jest: 26.6.3 - jest-preset-preact: 4.0.2_9b3f24ae35a87c3c82fffbe3fdf70e1e + mocha: 9.1.3 + nyc: 15.1.0 preact-cli: 3.2.2_517d24bd855b57d7e424aceed04e063b preact-render-to-string: 5.1.19_preact@10.5.14 rimraf: 3.0.2 @@ -462,12 +454,6 @@ packages: '@babel/highlight': 7.16.0 dev: true - /@babel/code-frame/7.12.11: - resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==} - dependencies: - '@babel/highlight': 7.10.4 - dev: true - /@babel/code-frame/7.12.13: resolution: {integrity: sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==} dependencies: @@ -579,12 +565,12 @@ packages: dependencies: '@babel/code-frame': 7.16.0 '@babel/generator': 7.16.0 - '@babel/helper-compilation-targets': 7.16.0_@babel+core@7.16.0 + '@babel/helper-compilation-targets': 7.16.3_@babel+core@7.16.0 '@babel/helper-module-transforms': 7.16.0 '@babel/helpers': 7.16.0 - '@babel/parser': 7.16.2 + '@babel/parser': 7.16.4 '@babel/template': 7.16.0 - '@babel/traverse': 7.16.0 + '@babel/traverse': 7.16.3 '@babel/types': 7.16.0 convert-source-map: 1.8.0 debug: 4.3.2 @@ -734,6 +720,19 @@ packages: semver: 6.3.0 dev: true + /@babel/helper-compilation-targets/7.16.3_@babel+core@7.16.0: + resolution: {integrity: sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/compat-data': 7.16.4 + '@babel/core': 7.16.0 + '@babel/helper-validator-option': 7.14.5 + browserslist: 4.18.1 + semver: 6.3.0 + dev: true + /@babel/helper-create-class-features-plugin/7.15.0_@babel+core@7.13.16: resolution: {integrity: sha512-MdmDXgvTIi4heDVX/e9EFfeGpugqm9fobBVg/iioE8kueXrOHdRDe36FAY7SnE9xXLVeYCoJR/gdrBEIHRC83Q==} engines: {node: '>=6.9.0'} @@ -801,17 +800,6 @@ packages: - supports-color dev: true - /@babel/helper-create-regexp-features-plugin/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-annotate-as-pure': 7.14.5 - regexpu-core: 4.7.1 - dev: true - /@babel/helper-create-regexp-features-plugin/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==} engines: {node: '>=6.9.0'} @@ -880,24 +868,6 @@ packages: - supports-color dev: true - /@babel/helper-define-polyfill-provider/0.2.3_@babel+core@7.13.16: - resolution: {integrity: sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==} - peerDependencies: - '@babel/core': ^7.4.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-compilation-targets': 7.15.0_@babel+core@7.13.16 - '@babel/helper-module-imports': 7.14.5 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/traverse': 7.15.0 - debug: 4.3.2 - lodash.debounce: 4.0.8 - resolve: 1.20.0 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helper-define-polyfill-provider/0.2.3_@babel+core@7.15.0: resolution: {integrity: sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==} peerDependencies: @@ -968,6 +938,24 @@ packages: - supports-color dev: true + /@babel/helper-define-polyfill-provider/0.3.0_@babel+core@7.16.0: + resolution: {integrity: sha512-7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg==} + peerDependencies: + '@babel/core': ^7.4.0-0 + dependencies: + '@babel/core': 7.16.0 + '@babel/helper-compilation-targets': 7.16.3_@babel+core@7.16.0 + '@babel/helper-module-imports': 7.16.0 + '@babel/helper-plugin-utils': 7.14.5 + '@babel/traverse': 7.16.3 + debug: 4.3.2 + lodash.debounce: 4.0.8 + resolve: 1.20.0 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + /@babel/helper-explode-assignable-expression/7.14.5: resolution: {integrity: sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ==} engines: {node: '>=6.9.0'} @@ -1082,7 +1070,7 @@ packages: '@babel/helper-split-export-declaration': 7.16.0 '@babel/helper-validator-identifier': 7.15.7 '@babel/template': 7.16.0 - '@babel/traverse': 7.16.0 + '@babel/traverse': 7.16.3 '@babel/types': 7.16.0 transitivePeerDependencies: - supports-color @@ -1162,7 +1150,7 @@ packages: dependencies: '@babel/helper-member-expression-to-functions': 7.16.0 '@babel/helper-optimise-call-expression': 7.16.0 - '@babel/traverse': 7.16.0 + '@babel/traverse': 7.16.3 '@babel/types': 7.16.0 transitivePeerDependencies: - supports-color @@ -1210,10 +1198,6 @@ packages: '@babel/types': 7.16.0 dev: true - /@babel/helper-validator-identifier/7.12.11: - resolution: {integrity: sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==} - dev: true - /@babel/helper-validator-identifier/7.14.0: resolution: {integrity: sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==} dev: true @@ -1273,20 +1257,12 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.16.0 - '@babel/traverse': 7.16.0 + '@babel/traverse': 7.16.3 '@babel/types': 7.16.0 transitivePeerDependencies: - supports-color dev: true - /@babel/highlight/7.10.4: - resolution: {integrity: sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==} - dependencies: - '@babel/helper-validator-identifier': 7.12.11 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true - /@babel/highlight/7.14.0: resolution: {integrity: sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==} dependencies: @@ -1350,18 +1326,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.13.0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.14.5 - '@babel/plugin-proposal-optional-chaining': 7.14.5_@babel+core@7.13.16 - dev: true - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ==} engines: {node: '>=6.9.0'} @@ -1397,20 +1361,6 @@ packages: '@babel/plugin-proposal-optional-chaining': 7.16.0_@babel+core@7.16.0 dev: true - /@babel/plugin-proposal-async-generator-functions/7.14.9_@babel+core@7.13.16: - resolution: {integrity: sha512-d1lnh+ZnKrFKwtTYdw320+sQWCTwgkB9fmUhNXRADA4akR6wLjaruSGnIEUjpt9HCOwTr4ynFTKu19b7rFRpmw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/helper-remap-async-to-generator': 7.14.5 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.13.16 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-proposal-async-generator-functions/7.14.9_@babel+core@7.15.0: resolution: {integrity: sha512-d1lnh+ZnKrFKwtTYdw320+sQWCTwgkB9fmUhNXRADA4akR6wLjaruSGnIEUjpt9HCOwTr4ynFTKu19b7rFRpmw==} engines: {node: '>=6.9.0'} @@ -1465,15 +1415,16 @@ packages: - supports-color dev: true - /@babel/plugin-proposal-class-properties/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==} + /@babel/plugin-proposal-async-generator-functions/7.16.4_@babel+core@7.16.0: + resolution: {integrity: sha512-/CUekqaAaZCQHleSK/9HajvcD/zdnJiKRiuUFq8ITE+0HsPzquf53cpFiqAwl/UfmJbR6n5uGPQSPdrmKOvHHg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.13.16 - '@babel/helper-create-class-features-plugin': 7.15.0_@babel+core@7.13.16 + '@babel/core': 7.16.0 '@babel/helper-plugin-utils': 7.14.5 + '@babel/helper-remap-async-to-generator': 7.16.4 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.16.0 transitivePeerDependencies: - supports-color dev: true @@ -1516,20 +1467,6 @@ packages: - supports-color dev: true - /@babel/plugin-proposal-class-static-block/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.12.0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-create-class-features-plugin': 7.15.0_@babel+core@7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.13.16 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-proposal-class-static-block/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg==} engines: {node: '>=6.9.0'} @@ -1599,17 +1536,6 @@ packages: - supports-color dev: true - /@babel/plugin-proposal-dynamic-import/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.13.16 - dev: true - /@babel/plugin-proposal-dynamic-import/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==} engines: {node: '>=6.9.0'} @@ -1664,17 +1590,6 @@ packages: '@babel/plugin-syntax-export-default-from': 7.16.0_@babel+core@7.16.0 dev: true - /@babel/plugin-proposal-export-namespace-from/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.13.16 - dev: true - /@babel/plugin-proposal-export-namespace-from/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==} engines: {node: '>=6.9.0'} @@ -1707,17 +1622,6 @@ packages: '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.16.0 dev: true - /@babel/plugin-proposal-json-strings/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.13.16 - dev: true - /@babel/plugin-proposal-json-strings/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==} engines: {node: '>=6.9.0'} @@ -1750,17 +1654,6 @@ packages: '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.16.0 dev: true - /@babel/plugin-proposal-logical-assignment-operators/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.13.16 - dev: true - /@babel/plugin-proposal-logical-assignment-operators/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==} engines: {node: '>=6.9.0'} @@ -1793,17 +1686,6 @@ packages: '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.16.0 dev: true - /@babel/plugin-proposal-nullish-coalescing-operator/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.13.16 - dev: true - /@babel/plugin-proposal-nullish-coalescing-operator/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==} engines: {node: '>=6.9.0'} @@ -1836,17 +1718,6 @@ packages: '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.16.0 dev: true - /@babel/plugin-proposal-numeric-separator/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.13.16 - dev: true - /@babel/plugin-proposal-numeric-separator/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==} engines: {node: '>=6.9.0'} @@ -1890,20 +1761,6 @@ packages: '@babel/plugin-transform-parameters': 7.16.0_@babel+core@7.12.9 dev: true - /@babel/plugin-proposal-object-rest-spread/7.14.7_@babel+core@7.13.16: - resolution: {integrity: sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/compat-data': 7.15.0 - '@babel/core': 7.13.16 - '@babel/helper-compilation-targets': 7.15.0_@babel+core@7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.13.16 - '@babel/plugin-transform-parameters': 7.14.5_@babel+core@7.13.16 - dev: true - /@babel/plugin-proposal-object-rest-spread/7.14.7_@babel+core@7.15.0: resolution: {integrity: sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g==} engines: {node: '>=6.9.0'} @@ -1945,17 +1802,6 @@ packages: '@babel/plugin-transform-parameters': 7.16.0_@babel+core@7.16.0 dev: true - /@babel/plugin-proposal-optional-catch-binding/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.13.16 - dev: true - /@babel/plugin-proposal-optional-catch-binding/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==} engines: {node: '>=6.9.0'} @@ -1988,18 +1834,6 @@ packages: '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.16.0 dev: true - /@babel/plugin-proposal-optional-chaining/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.14.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.13.16 - dev: true - /@babel/plugin-proposal-optional-chaining/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==} engines: {node: '>=6.9.0'} @@ -2035,19 +1869,6 @@ packages: '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.16.0 dev: true - /@babel/plugin-proposal-private-methods/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-create-class-features-plugin': 7.15.0_@babel+core@7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-proposal-private-methods/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==} engines: {node: '>=6.9.0'} @@ -2086,21 +1907,6 @@ packages: - supports-color dev: true - /@babel/plugin-proposal-private-property-in-object/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-annotate-as-pure': 7.14.5 - '@babel/helper-create-class-features-plugin': 7.15.0_@babel+core@7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.13.16 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-proposal-private-property-in-object/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q==} engines: {node: '>=6.9.0'} @@ -2145,17 +1951,6 @@ packages: - supports-color dev: true - /@babel/plugin-proposal-unicode-property-regex/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==} - engines: {node: '>=4'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-create-regexp-features-plugin': 7.14.5_@babel+core@7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-proposal-unicode-property-regex/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==} engines: {node: '>=4'} @@ -2196,15 +1991,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.13.16: - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.15.0: resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: @@ -2223,24 +2009,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.15.0: - resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.15.0 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.16.0: - resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.0 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-syntax-class-properties/7.12.13: resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: @@ -2249,15 +2017,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.13.16: - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.15.0: resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: @@ -2285,16 +2044,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} @@ -2398,15 +2147,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.13.16: - resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.15.0: resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: @@ -2425,24 +2165,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.15.0: - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.15.0 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - - /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.16.0: - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.16.0 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-syntax-json-strings/7.8.3: resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: @@ -2451,15 +2173,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.13.16: - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.15.0: resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: @@ -2487,32 +2200,32 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-jsx/7.14.5_@babel+core@7.13.16: + /@babel/plugin-syntax-jsx/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.13.16 + '@babel/core': 7.15.0 '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-jsx/7.14.5_@babel+core@7.15.0: - resolution: {integrity: sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw==} + /@babel/plugin-syntax-jsx/7.16.0: + resolution: {integrity: sha512-8zv2+xiPHwly31RK4RmnEYY5zziuF3O7W2kIDW+07ewWDh6Oi0dRq8kwvulRkFgt6DB97RlKs5c1y068iPlCUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.15.0 '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-jsx/7.16.0: + /@babel/plugin-syntax-jsx/7.16.0_@babel+core@7.13.16: resolution: {integrity: sha512-8zv2+xiPHwly31RK4RmnEYY5zziuF3O7W2kIDW+07ewWDh6Oi0dRq8kwvulRkFgt6DB97RlKs5c1y068iPlCUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: + '@babel/core': 7.13.16 '@babel/helper-plugin-utils': 7.14.5 dev: true @@ -2534,15 +2247,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.13.16: - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.15.0: resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: @@ -2569,15 +2273,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.13.16: - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.15.0: resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: @@ -2604,15 +2299,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.13.16: - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.15.0: resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: @@ -2648,15 +2334,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.13.16: - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.15.0: resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: @@ -2683,15 +2360,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.13.16: - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.15.0: resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: @@ -2718,15 +2386,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.13.16: - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.15.0: resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: @@ -2754,16 +2413,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} @@ -2793,16 +2442,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} @@ -2853,16 +2492,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-arrow-functions/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-transform-arrow-functions/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==} engines: {node: '>=6.9.0'} @@ -2892,20 +2521,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-async-to-generator/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-module-imports': 7.14.5 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/helper-remap-async-to-generator': 7.14.5 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-async-to-generator/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==} engines: {node: '>=6.9.0'} @@ -2947,16 +2562,6 @@ packages: - supports-color dev: true - /@babel/plugin-transform-block-scoped-functions/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-transform-block-scoped-functions/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==} engines: {node: '>=6.9.0'} @@ -2986,16 +2591,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-block-scoping/7.15.3_@babel+core@7.13.16: - resolution: {integrity: sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-transform-block-scoping/7.15.3_@babel+core@7.15.0: resolution: {integrity: sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q==} engines: {node: '>=6.9.0'} @@ -3025,24 +2620,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-classes/7.14.9_@babel+core@7.13.16: - resolution: {integrity: sha512-NfZpTcxU3foGWbl4wxmZ35mTsYJy8oQocbeIMoDAGGFarAmSQlL+LWMkDx/tj6pNotpbX3rltIA4dprgAPOq5A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-annotate-as-pure': 7.14.5 - '@babel/helper-function-name': 7.14.5 - '@babel/helper-optimise-call-expression': 7.14.5 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/helper-replace-supers': 7.15.0 - '@babel/helper-split-export-declaration': 7.14.5 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-classes/7.14.9_@babel+core@7.15.0: resolution: {integrity: sha512-NfZpTcxU3foGWbl4wxmZ35mTsYJy8oQocbeIMoDAGGFarAmSQlL+LWMkDx/tj6pNotpbX3rltIA4dprgAPOq5A==} engines: {node: '>=6.9.0'} @@ -3096,16 +2673,6 @@ packages: - supports-color dev: true - /@babel/plugin-transform-computed-properties/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-transform-computed-properties/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==} engines: {node: '>=6.9.0'} @@ -3135,16 +2702,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-destructuring/7.14.7_@babel+core@7.13.16: - resolution: {integrity: sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-transform-destructuring/7.14.7_@babel+core@7.15.0: resolution: {integrity: sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==} engines: {node: '>=6.9.0'} @@ -3174,17 +2731,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-dotall-regex/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-create-regexp-features-plugin': 7.14.5_@babel+core@7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-transform-dotall-regex/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==} engines: {node: '>=6.9.0'} @@ -3217,16 +2763,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-duplicate-keys/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-transform-duplicate-keys/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==} engines: {node: '>=6.9.0'} @@ -3256,17 +2792,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-exponentiation-operator/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.14.5 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-transform-exponentiation-operator/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==} engines: {node: '>=6.9.0'} @@ -3299,16 +2824,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-for-of/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-transform-for-of/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA==} engines: {node: '>=6.9.0'} @@ -3338,17 +2853,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-function-name/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-function-name': 7.14.5 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-transform-function-name/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==} engines: {node: '>=6.9.0'} @@ -3381,16 +2885,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-literals/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-transform-literals/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==} engines: {node: '>=6.9.0'} @@ -3420,16 +2914,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-member-expression-literals/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-transform-member-expression-literals/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==} engines: {node: '>=6.9.0'} @@ -3459,20 +2943,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-modules-amd/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-module-transforms': 7.15.0 - '@babel/helper-plugin-utils': 7.14.5 - babel-plugin-dynamic-import-node: 2.3.3 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-modules-amd/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==} engines: {node: '>=6.9.0'} @@ -3514,21 +2984,6 @@ packages: - supports-color dev: true - /@babel/plugin-transform-modules-commonjs/7.15.0_@babel+core@7.13.16: - resolution: {integrity: sha512-3H/R9s8cXcOGE8kgMlmjYYC9nqr5ELiPkJn4q0mypBrjhYQoc+5/Maq69vV4xRPWnkzZuwJPf5rArxpB/35Cig==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-module-transforms': 7.15.0 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/helper-simple-access': 7.14.8 - babel-plugin-dynamic-import-node: 2.3.3 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-modules-commonjs/7.15.0_@babel+core@7.15.0: resolution: {integrity: sha512-3H/R9s8cXcOGE8kgMlmjYYC9nqr5ELiPkJn4q0mypBrjhYQoc+5/Maq69vV4xRPWnkzZuwJPf5rArxpB/35Cig==} engines: {node: '>=6.9.0'} @@ -3573,22 +3028,6 @@ packages: - supports-color dev: true - /@babel/plugin-transform-modules-systemjs/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-hoist-variables': 7.14.5 - '@babel/helper-module-transforms': 7.15.0 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/helper-validator-identifier': 7.14.9 - babel-plugin-dynamic-import-node: 2.3.3 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-modules-systemjs/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA==} engines: {node: '>=6.9.0'} @@ -3636,19 +3075,6 @@ packages: - supports-color dev: true - /@babel/plugin-transform-modules-umd/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-module-transforms': 7.15.0 - '@babel/helper-plugin-utils': 7.14.5 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-modules-umd/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==} engines: {node: '>=6.9.0'} @@ -3687,16 +3113,6 @@ packages: - supports-color dev: true - /@babel/plugin-transform-named-capturing-groups-regex/7.14.9_@babel+core@7.13.16: - resolution: {integrity: sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-create-regexp-features-plugin': 7.14.5_@babel+core@7.13.16 - dev: true - /@babel/plugin-transform-named-capturing-groups-regex/7.14.9_@babel+core@7.15.0: resolution: {integrity: sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA==} engines: {node: '>=6.9.0'} @@ -3726,16 +3142,6 @@ packages: '@babel/helper-create-regexp-features-plugin': 7.16.0_@babel+core@7.16.0 dev: true - /@babel/plugin-transform-new-target/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-transform-new-target/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==} engines: {node: '>=6.9.0'} @@ -3785,19 +3191,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-object-super/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/helper-replace-supers': 7.15.0 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/plugin-transform-object-super/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==} engines: {node: '>=6.9.0'} @@ -3836,16 +3229,6 @@ packages: - supports-color dev: true - /@babel/plugin-transform-parameters/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-transform-parameters/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA==} engines: {node: '>=6.9.0'} @@ -3894,13 +3277,13 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-property-literals/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==} + /@babel/plugin-transform-parameters/7.16.3_@babel+core@7.16.0: + resolution: {integrity: sha512-3MaDpJrOXT1MZ/WCmkOFo7EtmVVC8H4EUZVrHvFOsmwkk4lOjQj8rzv8JKUZV4YoQKeoIgk07GO+acPU9IMu/w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.13.16 + '@babel/core': 7.16.0 '@babel/helper-plugin-utils': 7.14.5 dev: true @@ -3983,44 +3366,44 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-react-jsx/7.14.9_@babel+core@7.13.16: + /@babel/plugin-transform-react-jsx/7.14.9_@babel+core@7.15.0: resolution: {integrity: sha512-30PeETvS+AeD1f58i1OVyoDlVYQhap/K20ZrMjLmmzmC2AYR/G43D4sdJAaDAqCD3MYpSWbmrz3kES158QSLjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.13.16 + '@babel/core': 7.15.0 '@babel/helper-annotate-as-pure': 7.14.5 '@babel/helper-module-imports': 7.14.5 '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-jsx': 7.14.5_@babel+core@7.13.16 + '@babel/plugin-syntax-jsx': 7.14.5_@babel+core@7.15.0 '@babel/types': 7.15.0 dev: true - /@babel/plugin-transform-react-jsx/7.14.9_@babel+core@7.15.0: - resolution: {integrity: sha512-30PeETvS+AeD1f58i1OVyoDlVYQhap/K20ZrMjLmmzmC2AYR/G43D4sdJAaDAqCD3MYpSWbmrz3kES158QSLjw==} + /@babel/plugin-transform-react-jsx/7.16.0: + resolution: {integrity: sha512-rqDgIbukZ44pqq7NIRPGPGNklshPkvlmvqjdx3OZcGPk4zGIenYkxDTvl3LsSL8gqcc3ZzGmXPE6hR/u/voNOw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.15.0 - '@babel/helper-annotate-as-pure': 7.14.5 - '@babel/helper-module-imports': 7.14.5 + '@babel/helper-annotate-as-pure': 7.16.0 + '@babel/helper-module-imports': 7.16.0 '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-jsx': 7.14.5_@babel+core@7.15.0 - '@babel/types': 7.15.0 + '@babel/plugin-syntax-jsx': 7.16.0 + '@babel/types': 7.16.0 dev: true - /@babel/plugin-transform-react-jsx/7.16.0: + /@babel/plugin-transform-react-jsx/7.16.0_@babel+core@7.13.16: resolution: {integrity: sha512-rqDgIbukZ44pqq7NIRPGPGNklshPkvlmvqjdx3OZcGPk4zGIenYkxDTvl3LsSL8gqcc3ZzGmXPE6hR/u/voNOw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: + '@babel/core': 7.13.16 '@babel/helper-annotate-as-pure': 7.16.0 '@babel/helper-module-imports': 7.16.0 '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-syntax-jsx': 7.16.0 + '@babel/plugin-syntax-jsx': 7.16.0_@babel+core@7.13.16 '@babel/types': 7.16.0 dev: true @@ -4060,16 +3443,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-regenerator/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - regenerator-transform: 0.14.5 - dev: true - /@babel/plugin-transform-regenerator/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==} engines: {node: '>=6.9.0'} @@ -4099,16 +3472,6 @@ packages: regenerator-transform: 0.14.5 dev: true - /@babel/plugin-transform-reserved-words/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-transform-reserved-words/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==} engines: {node: '>=6.9.0'} @@ -4154,16 +3517,6 @@ packages: - supports-color dev: true - /@babel/plugin-transform-shorthand-properties/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-transform-shorthand-properties/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==} engines: {node: '>=6.9.0'} @@ -4193,17 +3546,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-spread/7.14.6_@babel+core@7.13.16: - resolution: {integrity: sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.14.5 - dev: true - /@babel/plugin-transform-spread/7.14.6_@babel+core@7.15.0: resolution: {integrity: sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==} engines: {node: '>=6.9.0'} @@ -4236,16 +3578,6 @@ packages: '@babel/helper-skip-transparent-expression-wrappers': 7.16.0 dev: true - /@babel/plugin-transform-sticky-regex/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-transform-sticky-regex/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==} engines: {node: '>=6.9.0'} @@ -4275,16 +3607,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-template-literals/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-transform-template-literals/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==} engines: {node: '>=6.9.0'} @@ -4314,16 +3636,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-typeof-symbol/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-transform-typeof-symbol/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==} engines: {node: '>=6.9.0'} @@ -4395,16 +3707,6 @@ packages: - supports-color dev: true - /@babel/plugin-transform-unicode-escapes/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-transform-unicode-escapes/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==} engines: {node: '>=6.9.0'} @@ -4434,17 +3736,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/plugin-transform-unicode-regex/7.14.5_@babel+core@7.13.16: - resolution: {integrity: sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-create-regexp-features-plugin': 7.14.5_@babel+core@7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - dev: true - /@babel/plugin-transform-unicode-regex/7.14.5_@babel+core@7.15.0: resolution: {integrity: sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==} engines: {node: '>=6.9.0'} @@ -4477,90 +3768,6 @@ packages: '@babel/helper-plugin-utils': 7.14.5 dev: true - /@babel/preset-env/7.15.0_@babel+core@7.13.16: - resolution: {integrity: sha512-FhEpCNFCcWW3iZLg0L2NPE9UerdtsCR6ZcsGHUX6Om6kbCQeL5QZDqFDmeNHC6/fy6UH3jEge7K4qG5uC9In0Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/compat-data': 7.15.0 - '@babel/core': 7.13.16 - '@babel/helper-compilation-targets': 7.15.0_@babel+core@7.13.16 - '@babel/helper-plugin-utils': 7.14.5 - '@babel/helper-validator-option': 7.14.5 - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-proposal-async-generator-functions': 7.14.9_@babel+core@7.13.16 - '@babel/plugin-proposal-class-properties': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-proposal-class-static-block': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-proposal-dynamic-import': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-proposal-export-namespace-from': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-proposal-json-strings': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-proposal-logical-assignment-operators': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-proposal-nullish-coalescing-operator': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-proposal-numeric-separator': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-proposal-object-rest-spread': 7.14.7_@babel+core@7.13.16 - '@babel/plugin-proposal-optional-catch-binding': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-proposal-optional-chaining': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-proposal-private-methods': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-proposal-private-property-in-object': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-proposal-unicode-property-regex': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.13.16 - '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.13.16 - '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.13.16 - '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.13.16 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.13.16 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.13.16 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.13.16 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.13.16 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.13.16 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.13.16 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.13.16 - '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-transform-arrow-functions': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-transform-async-to-generator': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-transform-block-scoped-functions': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-transform-block-scoping': 7.15.3_@babel+core@7.13.16 - '@babel/plugin-transform-classes': 7.14.9_@babel+core@7.13.16 - '@babel/plugin-transform-computed-properties': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-transform-destructuring': 7.14.7_@babel+core@7.13.16 - '@babel/plugin-transform-dotall-regex': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-transform-duplicate-keys': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-transform-exponentiation-operator': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-transform-for-of': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-transform-function-name': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-transform-literals': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-transform-member-expression-literals': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-transform-modules-amd': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-transform-modules-commonjs': 7.15.0_@babel+core@7.13.16 - '@babel/plugin-transform-modules-systemjs': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-transform-modules-umd': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-transform-named-capturing-groups-regex': 7.14.9_@babel+core@7.13.16 - '@babel/plugin-transform-new-target': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-transform-object-super': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-transform-parameters': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-transform-property-literals': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-transform-regenerator': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-transform-reserved-words': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-transform-shorthand-properties': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-transform-spread': 7.14.6_@babel+core@7.13.16 - '@babel/plugin-transform-sticky-regex': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-transform-template-literals': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-transform-typeof-symbol': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-transform-unicode-escapes': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-transform-unicode-regex': 7.14.5_@babel+core@7.13.16 - '@babel/preset-modules': 0.1.4_@babel+core@7.13.16 - '@babel/types': 7.15.0 - babel-plugin-polyfill-corejs2: 0.2.2_@babel+core@7.13.16 - babel-plugin-polyfill-corejs3: 0.2.4_@babel+core@7.13.16 - babel-plugin-polyfill-regenerator: 0.2.2_@babel+core@7.13.16 - core-js-compat: 3.16.2 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/preset-env/7.15.0_@babel+core@7.15.0: resolution: {integrity: sha512-FhEpCNFCcWW3iZLg0L2NPE9UerdtsCR6ZcsGHUX6Om6kbCQeL5QZDqFDmeNHC6/fy6UH3jEge7K4qG5uC9In0Q==} engines: {node: '>=6.9.0'} @@ -4898,17 +4105,89 @@ packages: - supports-color dev: true - /@babel/preset-modules/0.1.4_@babel+core@7.13.16: - resolution: {integrity: sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==} + /@babel/preset-env/7.16.4_@babel+core@7.16.0: + resolution: {integrity: sha512-v0QtNd81v/xKj4gNKeuAerQ/azeNn/G1B1qMLeXOcV8+4TWlD2j3NV1u8q29SDFBXx/NBq5kyEAO+0mpRgacjA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.13.16 + '@babel/compat-data': 7.16.4 + '@babel/core': 7.16.0 + '@babel/helper-compilation-targets': 7.16.3_@babel+core@7.16.0 '@babel/helper-plugin-utils': 7.14.5 - '@babel/plugin-proposal-unicode-property-regex': 7.14.5_@babel+core@7.13.16 - '@babel/plugin-transform-dotall-regex': 7.14.5_@babel+core@7.13.16 - '@babel/types': 7.15.0 - esutils: 2.0.3 + '@babel/helper-validator-option': 7.14.5 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.16.2_@babel+core@7.16.0 + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-async-generator-functions': 7.16.4_@babel+core@7.16.0 + '@babel/plugin-proposal-class-properties': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-class-static-block': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-dynamic-import': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-export-namespace-from': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-json-strings': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-logical-assignment-operators': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-nullish-coalescing-operator': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-numeric-separator': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-object-rest-spread': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-optional-catch-binding': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-optional-chaining': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-private-methods': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-private-property-in-object': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-unicode-property-regex': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.16.0 + '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.16.0 + '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.16.0 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.16.0 + '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.16.0 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.16.0 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.16.0 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.16.0 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.16.0 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.16.0 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.16.0 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.16.0 + '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.16.0 + '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.16.0 + '@babel/plugin-transform-arrow-functions': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-async-to-generator': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-block-scoped-functions': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-block-scoping': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-classes': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-computed-properties': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-destructuring': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-dotall-regex': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-duplicate-keys': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-exponentiation-operator': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-for-of': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-function-name': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-literals': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-member-expression-literals': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-modules-amd': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-modules-commonjs': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-modules-systemjs': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-modules-umd': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-named-capturing-groups-regex': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-new-target': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-object-super': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-parameters': 7.16.3_@babel+core@7.16.0 + '@babel/plugin-transform-property-literals': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-regenerator': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-reserved-words': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-shorthand-properties': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-spread': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-sticky-regex': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-template-literals': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-typeof-symbol': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-unicode-escapes': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-unicode-regex': 7.16.0_@babel+core@7.16.0 + '@babel/preset-modules': 0.1.5_@babel+core@7.16.0 + '@babel/types': 7.16.0 + babel-plugin-polyfill-corejs2: 0.3.0_@babel+core@7.16.0 + babel-plugin-polyfill-corejs3: 0.4.0_@babel+core@7.16.0 + babel-plugin-polyfill-regenerator: 0.3.0_@babel+core@7.16.0 + core-js-compat: 3.19.1 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color dev: true /@babel/preset-modules/0.1.4_@babel+core@7.15.0: @@ -5053,16 +4332,10 @@ packages: resolution: {integrity: sha512-30A3lP+sRL6ml8uhoJSs+8jwpKzbw8CqBvDc1laeptxPm5FahumJxirigcbD2qTs71Sonvj1cyZB0OKGAmxQ+A==} engines: {node: '>=6.9.0'} dependencies: - core-js-pure: 3.16.2 + core-js-pure: 3.19.1 regenerator-runtime: 0.13.9 dev: true - /@babel/runtime/7.12.5: - resolution: {integrity: sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==} - dependencies: - regenerator-runtime: 0.13.7 - dev: true - /@babel/runtime/7.15.3: resolution: {integrity: sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA==} engines: {node: '>=6.9.0'} @@ -5097,7 +4370,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.16.0 - '@babel/parser': 7.16.2 + '@babel/parser': 7.16.4 '@babel/types': 7.16.0 dev: true @@ -5176,10 +4449,6 @@ packages: resolution: {integrity: sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==} dev: true - /@bcoe/v8-coverage/0.2.3: - resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - dev: true - /@cnakazawa/watch/1.0.4: resolution: {integrity: sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==} engines: {node: '>=0.1.95'} @@ -5348,13 +4617,13 @@ packages: engines: {node: ^10.12.0 || >=12.0.0} dependencies: ajv: 6.12.6 - debug: 4.3.1 + debug: 4.3.2 espree: 7.3.1 globals: 12.4.0 ignore: 4.0.6 import-fresh: 3.3.0 js-yaml: 3.14.1 - lodash: 4.17.20 + lodash: 4.17.21 minimatch: 3.0.4 strip-json-comments: 3.1.1 transitivePeerDependencies: @@ -5408,348 +4677,11 @@ packages: resolve-from: 5.0.0 dev: true - /@istanbuljs/schema/0.1.2: - resolution: {integrity: sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==} - engines: {node: '>=8'} - dev: true - /@istanbuljs/schema/0.1.3: resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} engines: {node: '>=8'} dev: true - /@jest/console/26.6.2: - resolution: {integrity: sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/types': 26.6.2 - '@types/node': 14.17.10 - chalk: 4.1.2 - jest-message-util: 26.6.2 - jest-util: 26.6.2 - slash: 3.0.0 - dev: true - - /@jest/console/27.1.0: - resolution: {integrity: sha512-+Vl+xmLwAXLNlqT61gmHEixeRbS4L8MUzAjtpBCOPWH+izNI/dR16IeXjkXJdRtIVWVSf9DO1gdp67B1XorZhQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.1.0 - '@types/node': 14.17.10 - chalk: 4.1.2 - jest-message-util: 27.1.0 - jest-util: 27.1.0 - slash: 3.0.0 - dev: true - - /@jest/console/27.3.1: - resolution: {integrity: sha512-RkFNWmv0iui+qsOr/29q9dyfKTTT5DCuP31kUwg7rmOKPT/ozLeGLKJKVIiOfbiKyleUZKIrHwhmiZWVe8IMdw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.2.5 - '@types/node': 16.11.6 - chalk: 4.1.2 - jest-message-util: 27.3.1 - jest-util: 27.3.1 - slash: 3.0.0 - dev: true - - /@jest/core/26.6.3: - resolution: {integrity: sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/console': 26.6.2 - '@jest/reporters': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/transform': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 14.17.10 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - exit: 0.1.2 - graceful-fs: 4.2.8 - jest-changed-files: 26.6.2 - jest-config: 26.6.3 - jest-haste-map: 26.6.2 - jest-message-util: 26.6.2 - jest-regex-util: 26.0.0 - jest-resolve: 26.6.2 - jest-resolve-dependencies: 26.6.3 - jest-runner: 26.6.3 - jest-runtime: 26.6.3 - jest-snapshot: 26.6.2 - jest-util: 26.6.2 - jest-validate: 26.6.2 - jest-watcher: 26.6.2 - micromatch: 4.0.4 - p-each-series: 2.2.0 - rimraf: 3.0.2 - slash: 3.0.0 - strip-ansi: 6.0.0 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - dev: true - - /@jest/core/27.3.1: - resolution: {integrity: sha512-DMNE90RR5QKx0EA+wqe3/TNEwiRpOkhshKNxtLxd4rt3IZpCt+RSL+FoJsGeblRZmqdK4upHA/mKKGPPRAifhg==} - 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 - dependencies: - '@jest/console': 27.3.1 - '@jest/reporters': 27.3.1 - '@jest/test-result': 27.3.1 - '@jest/transform': 27.3.1 - '@jest/types': 27.2.5 - '@types/node': 16.11.6 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - emittery: 0.8.1 - exit: 0.1.2 - graceful-fs: 4.2.8 - jest-changed-files: 27.3.0 - jest-config: 27.3.1 - jest-haste-map: 27.3.1 - jest-message-util: 27.3.1 - jest-regex-util: 27.0.6 - jest-resolve: 27.3.1 - jest-resolve-dependencies: 27.3.1 - jest-runner: 27.3.1 - jest-runtime: 27.3.1 - jest-snapshot: 27.3.1 - jest-util: 27.3.1 - jest-validate: 27.3.1 - jest-watcher: 27.3.1 - micromatch: 4.0.4 - rimraf: 3.0.2 - slash: 3.0.0 - strip-ansi: 6.0.1 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - dev: true - - /@jest/environment/26.6.2: - resolution: {integrity: sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/fake-timers': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 14.17.10 - jest-mock: 26.6.2 - dev: true - - /@jest/environment/27.3.1: - resolution: {integrity: sha512-BCKCj4mOVLme6Tanoyc9k0ultp3pnmuyHw73UHRPeeZxirsU/7E3HC4le/VDb/SMzE1JcPnto+XBKFOcoiJzVw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/fake-timers': 27.3.1 - '@jest/types': 27.2.5 - '@types/node': 16.11.6 - jest-mock: 27.3.0 - dev: true - - /@jest/fake-timers/26.6.2: - resolution: {integrity: sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/types': 26.6.2 - '@sinonjs/fake-timers': 6.0.1 - '@types/node': 14.17.10 - jest-message-util: 26.6.2 - jest-mock: 26.6.2 - jest-util: 26.6.2 - dev: true - - /@jest/fake-timers/27.3.1: - resolution: {integrity: sha512-M3ZFgwwlqJtWZ+QkBG5NmC23A9w+A6ZxNsO5nJxJsKYt4yguBd3i8TpjQz5NfCX91nEve1KqD9RA2Q+Q1uWqoA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.2.5 - '@sinonjs/fake-timers': 8.1.0 - '@types/node': 16.11.6 - jest-message-util: 27.3.1 - jest-mock: 27.3.0 - jest-util: 27.3.1 - dev: true - - /@jest/globals/26.6.2: - resolution: {integrity: sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/environment': 26.6.2 - '@jest/types': 26.6.2 - expect: 26.6.2 - dev: true - - /@jest/globals/27.3.1: - resolution: {integrity: sha512-Q651FWiWQAIFiN+zS51xqhdZ8g9b88nGCobC87argAxA7nMfNQq0Q0i9zTfQYgLa6qFXk2cGANEqfK051CZ8Pg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/environment': 27.3.1 - '@jest/types': 27.2.5 - expect: 27.3.1 - dev: true - - /@jest/reporters/26.6.2: - resolution: {integrity: sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==} - engines: {node: '>= 10.14.2'} - dependencies: - '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/transform': 26.6.2 - '@jest/types': 26.6.2 - chalk: 4.1.2 - collect-v8-coverage: 1.0.1 - exit: 0.1.2 - glob: 7.1.7 - graceful-fs: 4.2.8 - istanbul-lib-coverage: 3.0.0 - istanbul-lib-instrument: 4.0.3 - istanbul-lib-report: 3.0.0 - istanbul-lib-source-maps: 4.0.0 - istanbul-reports: 3.0.2 - jest-haste-map: 26.6.2 - jest-resolve: 26.6.2 - jest-util: 26.6.2 - jest-worker: 26.6.2 - slash: 3.0.0 - source-map: 0.6.1 - string-length: 4.0.2 - terminal-link: 2.1.1 - v8-to-istanbul: 7.1.2 - optionalDependencies: - node-notifier: 8.0.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@jest/reporters/27.3.1: - resolution: {integrity: sha512-m2YxPmL9Qn1emFVgZGEiMwDntDxRRQ2D58tiDQlwYTg5GvbFOKseYCcHtn0WsI8CG4vzPglo3nqbOiT8ySBT/w==} - 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 - dependencies: - '@bcoe/v8-coverage': 0.2.3 - '@jest/console': 27.3.1 - '@jest/test-result': 27.3.1 - '@jest/transform': 27.3.1 - '@jest/types': 27.2.5 - '@types/node': 16.11.6 - chalk: 4.1.2 - collect-v8-coverage: 1.0.1 - exit: 0.1.2 - glob: 7.2.0 - graceful-fs: 4.2.8 - istanbul-lib-coverage: 3.2.0 - istanbul-lib-instrument: 4.0.3 - istanbul-lib-report: 3.0.0 - istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.0.5 - jest-haste-map: 27.3.1 - jest-resolve: 27.3.1 - jest-util: 27.3.1 - jest-worker: 27.3.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.0 - transitivePeerDependencies: - - supports-color - dev: true - - /@jest/source-map/26.6.2: - resolution: {integrity: sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==} - engines: {node: '>= 10.14.2'} - dependencies: - callsites: 3.1.0 - graceful-fs: 4.2.8 - source-map: 0.6.1 - dev: true - - /@jest/source-map/27.0.6: - resolution: {integrity: sha512-Fek4mi5KQrqmlY07T23JRi0e7Z9bXTOOD86V/uS0EIW4PClvPDqZOyFlLpNJheS6QI0FNX1CgmPjtJ4EA/2M+g==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - callsites: 3.1.0 - graceful-fs: 4.2.8 - source-map: 0.6.1 - dev: true - - /@jest/test-result/26.6.2: - resolution: {integrity: sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/console': 26.6.2 - '@jest/types': 26.6.2 - '@types/istanbul-lib-coverage': 2.0.3 - collect-v8-coverage: 1.0.1 - dev: true - - /@jest/test-result/27.1.0: - resolution: {integrity: sha512-Aoz00gpDL528ODLghat3QSy6UBTD5EmmpjrhZZMK/v1Q2/rRRqTGnFxHuEkrD4z/Py96ZdOHxIWkkCKRpmnE1A==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/console': 27.1.0 - '@jest/types': 27.1.0 - '@types/istanbul-lib-coverage': 2.0.3 - collect-v8-coverage: 1.0.1 - dev: true - - /@jest/test-result/27.3.1: - resolution: {integrity: sha512-mLn6Thm+w2yl0opM8J/QnPTqrfS4FoXsXF2WIWJb2O/GBSyResL71BRuMYbYRsGt7ELwS5JGcEcGb52BNrumgg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/console': 27.3.1 - '@jest/types': 27.2.5 - '@types/istanbul-lib-coverage': 2.0.3 - collect-v8-coverage: 1.0.1 - dev: true - - /@jest/test-sequencer/26.6.3: - resolution: {integrity: sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/test-result': 26.6.2 - graceful-fs: 4.2.8 - jest-haste-map: 26.6.2 - jest-runner: 26.6.3 - jest-runtime: 26.6.3 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - dev: true - - /@jest/test-sequencer/27.3.1: - resolution: {integrity: sha512-siySLo07IMEdSjA4fqEnxfIX8lB/lWYsBPwNFtkOvsFQvmBrL3yj3k3uFNZv/JDyApTakRpxbKLJ3CT8UGVCrA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/test-result': 27.3.1 - graceful-fs: 4.2.8 - jest-haste-map: 27.3.1 - jest-runtime: 27.3.1 - transitivePeerDependencies: - - supports-color - dev: true - /@jest/transform/26.6.2: resolution: {integrity: sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==} engines: {node: '>= 10.14.2'} @@ -5773,29 +4705,6 @@ packages: - supports-color dev: true - /@jest/transform/27.3.1: - resolution: {integrity: sha512-3fSvQ02kuvjOI1C1ssqMVBKJpZf6nwoCiSu00zAKh5nrp3SptNtZy/8s5deayHnqxhjD9CWDJ+yqQwuQ0ZafXQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@babel/core': 7.16.0 - '@jest/types': 27.2.5 - babel-plugin-istanbul: 6.1.1 - chalk: 4.1.2 - convert-source-map: 1.8.0 - fast-json-stable-stringify: 2.1.0 - graceful-fs: 4.2.8 - jest-haste-map: 27.3.1 - jest-regex-util: 27.0.6 - jest-util: 27.3.1 - micromatch: 4.0.4 - pirates: 4.0.1 - slash: 3.0.0 - source-map: 0.6.1 - write-file-atomic: 3.0.3 - transitivePeerDependencies: - - supports-color - dev: true - /@jest/types/26.6.2: resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==} engines: {node: '>= 10.14.2'} @@ -5807,28 +4716,6 @@ packages: chalk: 4.1.2 dev: true - /@jest/types/27.1.0: - resolution: {integrity: sha512-pRP5cLIzN7I7Vp6mHKRSaZD7YpBTK7hawx5si8trMKqk4+WOdK8NEKOTO2G8PKWD1HbKMVckVB6/XHh/olhf2g==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@types/istanbul-lib-coverage': 2.0.3 - '@types/istanbul-reports': 3.0.1 - '@types/node': 14.17.10 - '@types/yargs': 16.0.4 - chalk: 4.1.2 - dev: true - - /@jest/types/27.2.5: - resolution: {integrity: sha512-nmuM4VuDtCZcY+eTpw+0nvstwReMsjPoj7ZR80/BbixulhLaiX+fbv8oeLW8WZlJMcsGQsTmMKT/iTZu1Uy/lQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@types/istanbul-lib-coverage': 2.0.3 - '@types/istanbul-reports': 3.0.1 - '@types/node': 16.11.6 - '@types/yargs': 16.0.4 - chalk: 4.1.2 - dev: true - /@linaria/babel-preset/3.0.0-beta.13: resolution: {integrity: sha512-UeurIwmORp1lG+f69bKquRug7ZFVSrQha6TJWvHmGQIFwFx5qpMCXJLhOp2dUpM4y7/NhbKYXqj58RtG3wi4ZQ==} peerDependencies: @@ -6572,6 +5459,21 @@ packages: rollup: 2.59.0 dev: true + /@rollup/plugin-typescript/8.3.0_5f9d52eb8f5b9c5f8da2582f59355eb7: + resolution: {integrity: sha512-I5FpSvLbtAdwJ+naznv+B4sjXZUcIvLLceYpITAn7wAP8W0wqc5noLdGIp9HGVntNhRWXctwPYrSSFQxtl0FPA==} + engines: {node: '>=8.0.0'} + peerDependencies: + rollup: ^2.14.0 + tslib: '*' + typescript: '>=3.7.0' + dependencies: + '@rollup/pluginutils': 3.1.0_rollup@2.56.2 + resolve: 1.20.0 + rollup: 2.56.2 + tslib: 2.3.1 + typescript: 4.3.5 + dev: true + /@rollup/pluginutils/3.1.0_rollup@2.37.1: resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} engines: {node: '>= 8.0.0'} @@ -6664,24 +5566,6 @@ packages: engines: {node: '>=6'} dev: true - /@sinonjs/commons/1.8.3: - resolution: {integrity: sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==} - dependencies: - type-detect: 4.0.8 - dev: true - - /@sinonjs/fake-timers/6.0.1: - resolution: {integrity: sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==} - dependencies: - '@sinonjs/commons': 1.8.3 - dev: true - - /@sinonjs/fake-timers/8.1.0: - resolution: {integrity: sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==} - dependencies: - '@sinonjs/commons': 1.8.3 - dev: true - /@storybook/addon-a11y/6.3.12: resolution: {integrity: sha512-q1NdRHFJV6sLEEJw0hatCc5ZIthELqM/AWdrEWDyhcJNyiq7Tq4nKqQBMTQSYwHiUAmxVgw7i4oa1vM2M51/3g==} peerDependencies: @@ -7434,19 +6318,21 @@ packages: regenerator-runtime: 0.13.9 dev: true - /@storybook/addons/6.3.7_react-dom@16.14.0+react@16.14.0: - resolution: {integrity: sha512-9stVjTcc52bqqh7YQex/LpSjJ4e2Czm4/ZYDjIiNy0p4OZEx+yLhL5mZzMWh2NQd6vv+pHASBSxf2IeaR5511A==} + /@storybook/addons/6.4.9_react-dom@16.14.0+react@16.14.0: + resolution: {integrity: sha512-y+oiN2zd+pbRWwkf6aQj4tPDFn+rQkrv7fiVoMxsYub+kKyZ3CNOuTSJH+A1A+eBL6DmzocChUyO6jvZFuh6Dg==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: - '@storybook/api': 6.3.7_react-dom@16.14.0+react@16.14.0 - '@storybook/channels': 6.3.7 - '@storybook/client-logger': 6.3.7 - '@storybook/core-events': 6.3.7 - '@storybook/router': 6.3.7_react-dom@16.14.0+react@16.14.0 - '@storybook/theming': 6.3.7_react-dom@16.14.0+react@16.14.0 - core-js: 3.16.2 + '@storybook/api': 6.4.9_react-dom@16.14.0+react@16.14.0 + '@storybook/channels': 6.4.9 + '@storybook/client-logger': 6.4.9 + '@storybook/core-events': 6.4.9 + '@storybook/csf': 0.0.2--canary.87bc651.0 + '@storybook/router': 6.4.9_react-dom@16.14.0+react@16.14.0 + '@storybook/theming': 6.4.9_react-dom@16.14.0+react@16.14.0 + '@types/webpack-env': 1.16.3 + core-js: 3.19.1 global: 4.4.0 react: 16.14.0 react-dom: 16.14.0_react@16.14.0 @@ -7539,27 +6425,24 @@ packages: util-deprecate: 1.0.2 dev: true - /@storybook/api/6.3.7_react-dom@16.14.0+react@16.14.0: - resolution: {integrity: sha512-57al8mxmE9agXZGo8syRQ8UhvGnDC9zkuwkBPXchESYYVkm3Mc54RTvdAOYDiy85VS4JxiGOywHayCaRwgUddQ==} + /@storybook/api/6.4.9_react-dom@16.14.0+react@16.14.0: + resolution: {integrity: sha512-U+YKcDQg8xal9sE5eSMXB9vcqk8fD1pSyewyAjjbsW5hV0B3L3i4u7z/EAD9Ujbnor+Cvxq+XGvp+Qnc5Gd40A==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: - '@reach/router': 1.3.4_react-dom@16.14.0+react@16.14.0 - '@storybook/channels': 6.3.7 - '@storybook/client-logger': 6.3.7 - '@storybook/core-events': 6.3.7 - '@storybook/csf': 0.0.1 - '@storybook/router': 6.3.7_react-dom@16.14.0+react@16.14.0 + '@storybook/channels': 6.4.9 + '@storybook/client-logger': 6.4.9 + '@storybook/core-events': 6.4.9 + '@storybook/csf': 0.0.2--canary.87bc651.0 + '@storybook/router': 6.4.9_react-dom@16.14.0+react@16.14.0 '@storybook/semver': 7.3.2 - '@storybook/theming': 6.3.7_react-dom@16.14.0+react@16.14.0 - '@types/reach__router': 1.3.9 - core-js: 3.16.2 + '@storybook/theming': 6.4.9_react-dom@16.14.0+react@16.14.0 + core-js: 3.19.1 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 memoizerific: 1.11.3 - qs: 6.10.1 react: 16.14.0 react-dom: 16.14.0_react@16.14.0 regenerator-runtime: 0.13.9 @@ -7751,7 +6634,7 @@ packages: - webpack-command dev: true - /@storybook/builder-webpack4/6.3.7_8073bd74a106ff14517e8eecceb690e6: + /@storybook/builder-webpack4/6.3.7_typescript@4.3.5: resolution: {integrity: sha512-M5envblMzAUrNqP1+ouKiL8iSIW/90+kBRU2QeWlZoZl1ib+fiFoKk06cgbaC70Bx1lU8nOnI/VBvB5pLhXLaw==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -7782,20 +6665,20 @@ packages: '@babel/preset-env': 7.15.0_@babel+core@7.15.0 '@babel/preset-react': 7.14.5_@babel+core@7.15.0 '@babel/preset-typescript': 7.15.0_@babel+core@7.15.0 - '@storybook/addons': 6.3.7_react-dom@16.14.0+react@16.14.0 - '@storybook/api': 6.3.7_react-dom@16.14.0+react@16.14.0 + '@storybook/addons': 6.3.7 + '@storybook/api': 6.3.7 '@storybook/channel-postmessage': 6.3.7 '@storybook/channels': 6.3.7 - '@storybook/client-api': 6.3.7_react-dom@16.14.0+react@16.14.0 + '@storybook/client-api': 6.3.7 '@storybook/client-logger': 6.3.7 - '@storybook/components': 6.3.7_react-dom@16.14.0+react@16.14.0 - '@storybook/core-common': 6.3.7_8073bd74a106ff14517e8eecceb690e6 + '@storybook/components': 6.3.7 + '@storybook/core-common': 6.3.7_typescript@4.3.5 '@storybook/core-events': 6.3.7 '@storybook/node-logger': 6.3.7 - '@storybook/router': 6.3.7_react-dom@16.14.0+react@16.14.0 + '@storybook/router': 6.3.7 '@storybook/semver': 7.3.2 - '@storybook/theming': 6.3.7_react-dom@16.14.0+react@16.14.0 - '@storybook/ui': 6.3.7_react-dom@16.14.0+react@16.14.0 + '@storybook/theming': 6.3.7 + '@storybook/ui': 6.3.7 '@types/node': 14.17.10 '@types/webpack': 4.41.30 autoprefixer: 9.8.6 @@ -7819,9 +6702,7 @@ packages: postcss-flexbugs-fixes: 4.2.1 postcss-loader: 4.3.0_postcss@7.0.36+webpack@4.46.0 raw-loader: 4.0.2_webpack@4.46.0 - react: 16.14.0 react-dev-utils: 11.0.4 - react-dom: 16.14.0_react@16.14.0 stable: 0.1.8 style-loader: 1.3.0_webpack@4.46.0 terser-webpack-plugin: 4.2.3_webpack@4.46.0 @@ -7841,8 +6722,8 @@ packages: - webpack-command dev: true - /@storybook/builder-webpack4/6.3.7_typescript@4.3.5: - resolution: {integrity: sha512-M5envblMzAUrNqP1+ouKiL8iSIW/90+kBRU2QeWlZoZl1ib+fiFoKk06cgbaC70Bx1lU8nOnI/VBvB5pLhXLaw==} + /@storybook/builder-webpack4/6.4.9_8073bd74a106ff14517e8eecceb690e6: + resolution: {integrity: sha512-nDbXDd3A8dvalCiuBZuUT6/GQP14+fuxTj5g+AppCgV1gLO45lXWtX75Hc0IbZrIQte6tDg5xeFQamZSLPMcGg==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 @@ -7851,65 +6732,67 @@ packages: typescript: optional: true dependencies: - '@babel/core': 7.15.0 - '@babel/plugin-proposal-class-properties': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-proposal-decorators': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-proposal-export-default-from': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-proposal-nullish-coalescing-operator': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-proposal-object-rest-spread': 7.14.7_@babel+core@7.15.0 - '@babel/plugin-proposal-optional-chaining': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-proposal-private-methods': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.15.0 - '@babel/plugin-transform-arrow-functions': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-block-scoping': 7.15.3_@babel+core@7.15.0 - '@babel/plugin-transform-classes': 7.14.9_@babel+core@7.15.0 - '@babel/plugin-transform-destructuring': 7.14.7_@babel+core@7.15.0 - '@babel/plugin-transform-for-of': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-parameters': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-shorthand-properties': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-spread': 7.14.6_@babel+core@7.15.0 - '@babel/plugin-transform-template-literals': 7.14.5_@babel+core@7.15.0 - '@babel/preset-env': 7.15.0_@babel+core@7.15.0 - '@babel/preset-react': 7.14.5_@babel+core@7.15.0 - '@babel/preset-typescript': 7.15.0_@babel+core@7.15.0 - '@storybook/addons': 6.3.7 - '@storybook/api': 6.3.7 - '@storybook/channel-postmessage': 6.3.7 - '@storybook/channels': 6.3.7 - '@storybook/client-api': 6.3.7 - '@storybook/client-logger': 6.3.7 - '@storybook/components': 6.3.7 - '@storybook/core-common': 6.3.7_typescript@4.3.5 - '@storybook/core-events': 6.3.7 - '@storybook/node-logger': 6.3.7 - '@storybook/router': 6.3.7 + '@babel/core': 7.16.0 + '@babel/plugin-proposal-class-properties': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-decorators': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-export-default-from': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-nullish-coalescing-operator': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-object-rest-spread': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-optional-chaining': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-private-methods': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.16.0 + '@babel/plugin-transform-arrow-functions': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-block-scoping': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-classes': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-destructuring': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-for-of': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-parameters': 7.16.3_@babel+core@7.16.0 + '@babel/plugin-transform-shorthand-properties': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-spread': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-template-literals': 7.16.0_@babel+core@7.16.0 + '@babel/preset-env': 7.16.4_@babel+core@7.16.0 + '@babel/preset-react': 7.16.0_@babel+core@7.16.0 + '@babel/preset-typescript': 7.16.0_@babel+core@7.16.0 + '@storybook/addons': 6.4.9_react-dom@16.14.0+react@16.14.0 + '@storybook/api': 6.4.9_react-dom@16.14.0+react@16.14.0 + '@storybook/channel-postmessage': 6.4.9 + '@storybook/channels': 6.4.9 + '@storybook/client-api': 6.4.9_react-dom@16.14.0+react@16.14.0 + '@storybook/client-logger': 6.4.9 + '@storybook/components': 6.4.9_react-dom@16.14.0+react@16.14.0 + '@storybook/core-common': 6.4.9_8073bd74a106ff14517e8eecceb690e6 + '@storybook/core-events': 6.4.9 + '@storybook/node-logger': 6.4.9 + '@storybook/preview-web': 6.4.9_react-dom@16.14.0+react@16.14.0 + '@storybook/router': 6.4.9_react-dom@16.14.0+react@16.14.0 '@storybook/semver': 7.3.2 - '@storybook/theming': 6.3.7 - '@storybook/ui': 6.3.7 - '@types/node': 14.17.10 - '@types/webpack': 4.41.30 - autoprefixer: 9.8.6 - babel-loader: 8.2.2_be352a5a80662835a7707f972edfcfde + '@storybook/store': 6.4.9_react-dom@16.14.0+react@16.14.0 + '@storybook/theming': 6.4.9_react-dom@16.14.0+react@16.14.0 + '@storybook/ui': 6.4.9_react-dom@16.14.0+react@16.14.0 + '@types/node': 14.17.32 + '@types/webpack': 4.41.31 + autoprefixer: 9.8.8 + babel-loader: 8.2.3_1bd60a6cd0f7024f034efd75ae733a3f babel-plugin-macros: 2.8.0 - babel-plugin-polyfill-corejs3: 0.1.7_@babel+core@7.15.0 + babel-plugin-polyfill-corejs3: 0.1.7_@babel+core@7.16.0 case-sensitive-paths-webpack-plugin: 2.4.0 - core-js: 3.16.2 + core-js: 3.19.1 css-loader: 3.6.0_webpack@4.46.0 - dotenv-webpack: 1.8.0_webpack@4.46.0 file-loader: 6.2.0_webpack@4.46.0 find-up: 5.0.0 fork-ts-checker-webpack-plugin: 4.1.6 - fs-extra: 9.1.0 - glob: 7.1.7 - glob-promise: 3.4.0_glob@7.1.7 + glob: 7.2.0 + glob-promise: 3.4.0_glob@7.2.0 global: 4.4.0 html-webpack-plugin: 4.5.2_webpack@4.46.0 pnp-webpack-plugin: 1.6.4_typescript@4.3.5 - postcss: 7.0.36 + postcss: 7.0.39 postcss-flexbugs-fixes: 4.2.1 - postcss-loader: 4.3.0_postcss@7.0.36+webpack@4.46.0 + postcss-loader: 4.3.0_postcss@7.0.39+webpack@4.46.0 raw-loader: 4.0.2_webpack@4.46.0 + react: 16.14.0 react-dev-utils: 11.0.4 + react-dom: 16.14.0_react@16.14.0 stable: 0.1.8 style-loader: 1.3.0_webpack@4.46.0 terser-webpack-plugin: 4.2.3_webpack@4.46.0 @@ -7920,11 +6803,13 @@ packages: webpack: 4.46.0 webpack-dev-middleware: 3.7.3_webpack@4.46.0 webpack-filter-warnings-plugin: 1.2.1_webpack@4.46.0 - webpack-hot-middleware: 2.25.0 + webpack-hot-middleware: 2.25.1 webpack-virtual-modules: 0.2.2 transitivePeerDependencies: - '@types/react' + - eslint - supports-color + - vue-template-compiler - webpack-cli - webpack-command dev: true @@ -7953,6 +6838,28 @@ packages: telejson: 5.3.3 dev: true + /@storybook/channel-postmessage/6.4.9: + resolution: {integrity: sha512-0Oif4e6/oORv4oc2tHhIRts9faE/ID9BETn4uqIUWSl2CX1wYpKYDm04rEg3M6WvSzsi+6fzoSFvkr9xC5Ns2w==} + dependencies: + '@storybook/channels': 6.4.9 + '@storybook/client-logger': 6.4.9 + '@storybook/core-events': 6.4.9 + core-js: 3.19.1 + global: 4.4.0 + qs: 6.10.1 + telejson: 5.3.3 + dev: true + + /@storybook/channel-websocket/6.4.9: + resolution: {integrity: sha512-R1O5yrNtN+dIAghqMXUqoaH7XWBcrKi5miVRn7QelKG3qZwPL8HQa7gIPc/b6S2D6hD3kQdSuv/zTIjjMg7wyw==} + dependencies: + '@storybook/channels': 6.4.9 + '@storybook/client-logger': 6.4.9 + core-js: 3.19.1 + global: 4.4.0 + telejson: 5.3.3 + dev: true + /@storybook/channels/6.3.12: resolution: {integrity: sha512-l4sA+g1PdUV8YCbgs47fIKREdEQAKNdQIZw0b7BfTvY9t0x5yfBywgQhYON/lIeiNGz2OlIuD+VUtqYfCtNSyw==} dependencies: @@ -7969,6 +6876,14 @@ packages: util-deprecate: 1.0.2 dev: true + /@storybook/channels/6.4.9: + resolution: {integrity: sha512-DNW1qDg+1WFS2aMdGh658WJXh8xBXliO5KAn0786DKcWCsKjfsPPQg/QCHczHK0+s5SZyzQT5aOBb4kTRHELQA==} + dependencies: + core-js: 3.19.1 + ts-dedent: 2.2.0 + util-deprecate: 1.0.2 + dev: true + /@storybook/client-api/6.3.12: resolution: {integrity: sha512-xnW+lKKK2T774z+rOr9Wopt1aYTStfb86PSs9p3Fpnc2Btcftln+C3NtiHZl8Ccqft8Mz/chLGgewRui6tNI8g==} peerDependencies: @@ -8049,21 +6964,23 @@ packages: util-deprecate: 1.0.2 dev: true - /@storybook/client-api/6.3.7_react-dom@16.14.0+react@16.14.0: - resolution: {integrity: sha512-8wOH19cMIwIIYhZy5O5Wl8JT1QOL5kNuamp9GPmg5ff4DtnG+/uUslskRvsnKyjPvl+WbIlZtBVWBiawVdd/yQ==} + /@storybook/client-api/6.4.9_react-dom@16.14.0+react@16.14.0: + resolution: {integrity: sha512-1IljlTr+ea2pIr6oiPhygORtccOdEb7SqaVzWDfLCHOhUnJ2Ka5UY9ADqDa35jvSSdRdynfk9Yl5/msY0yY1yg==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: - '@storybook/addons': 6.3.7_react-dom@16.14.0+react@16.14.0 - '@storybook/channel-postmessage': 6.3.7 - '@storybook/channels': 6.3.7 - '@storybook/client-logger': 6.3.7 - '@storybook/core-events': 6.3.7 - '@storybook/csf': 0.0.1 + '@storybook/addons': 6.4.9_react-dom@16.14.0+react@16.14.0 + '@storybook/channel-postmessage': 6.4.9 + '@storybook/channels': 6.4.9 + '@storybook/client-logger': 6.4.9 + '@storybook/core-events': 6.4.9 + '@storybook/csf': 0.0.2--canary.87bc651.0 + '@storybook/store': 6.4.9_react-dom@16.14.0+react@16.14.0 '@types/qs': 6.9.7 - '@types/webpack-env': 1.16.2 - core-js: 3.16.2 + '@types/webpack-env': 1.16.3 + core-js: 3.19.1 + fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 memoizerific: 1.11.3 @@ -8071,8 +6988,8 @@ packages: react: 16.14.0 react-dom: 16.14.0_react@16.14.0 regenerator-runtime: 0.13.9 - stable: 0.1.8 store2: 2.12.0 + synchronous-promise: 2.0.15 ts-dedent: 2.2.0 util-deprecate: 1.0.2 dev: true @@ -8091,6 +7008,13 @@ packages: global: 4.4.0 dev: true + /@storybook/client-logger/6.4.9: + resolution: {integrity: sha512-BVagmmHcuKDZ/XROADfN3tiolaDW2qG0iLmDhyV1gONnbGE6X5Qm19Jt2VYu3LvjKF1zMPSWm4mz7HtgdwKbuQ==} + dependencies: + core-js: 3.19.1 + global: 4.4.0 + dev: true + /@storybook/components/6.3.12: resolution: {integrity: sha512-kdQt8toUjynYAxDLrJzuG7YSNL6as1wJoyzNUaCfG06YPhvIAlKo7le9tS2mThVFN5e9nbKrW3N1V1sp6ypZXQ==} peerDependencies: @@ -8195,21 +7119,21 @@ packages: - '@types/react' dev: true - /@storybook/components/6.3.7_react-dom@16.14.0+react@16.14.0: - resolution: {integrity: sha512-O7LIg9Z18G0AJqXX7Shcj0uHqwXlSA5UkHgaz9A7mqqqJNl6m6FwwTWcxR1acUfYVNkO+czgpqZHNrOF6rky1A==} + /@storybook/components/6.4.9_react-dom@16.14.0+react@16.14.0: + resolution: {integrity: sha512-uOUR97S6kjptkMCh15pYNM1vAqFXtpyneuonmBco5vADJb3ds0n2a8NeVd+myIbhIXn55x0OHKiSwBH/u7swCQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: - '@popperjs/core': 2.9.3 - '@storybook/client-logger': 6.3.7 - '@storybook/csf': 0.0.1 - '@storybook/theming': 6.3.7_react-dom@16.14.0+react@16.14.0 + '@popperjs/core': 2.10.2 + '@storybook/client-logger': 6.4.9 + '@storybook/csf': 0.0.2--canary.87bc651.0 + '@storybook/theming': 6.4.9_react-dom@16.14.0+react@16.14.0 '@types/color-convert': 2.0.0 '@types/overlayscrollbars': 1.12.1 '@types/react-syntax-highlighter': 11.0.5 color-convert: 2.0.1 - core-js: 3.16.2 + core-js: 3.19.1 fast-deep-equal: 3.1.3 global: 4.4.0 lodash: 4.17.21 @@ -8219,7 +7143,7 @@ packages: polished: 4.1.3 prop-types: 15.7.2 react: 16.14.0 - react-colorful: 5.3.0_react-dom@16.14.0+react@16.14.0 + react-colorful: 5.5.0_react-dom@16.14.0+react@16.14.0 react-dom: 16.14.0_react@16.14.0 react-popper-tooltip: 3.1.1_react-dom@16.14.0+react@16.14.0 react-syntax-highlighter: 13.5.3_react@16.14.0 @@ -8369,7 +7293,7 @@ packages: - '@types/react' dev: true - /@storybook/core-client/6.3.7_70d39b49be06a92d1ddadaf2d0a6de02: + /@storybook/core-client/6.3.7_typescript@4.3.5: resolution: {integrity: sha512-M/4A65yV+Y4lsCQXX4BtQO/i3BcMPrU5FkDG8qJd3dkcx2fUlFvGWqQPkcTZE+MPVvMEGl/AsEZSADzah9+dAg==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -8380,32 +7304,29 @@ packages: typescript: optional: true dependencies: - '@storybook/addons': 6.3.7_react-dom@16.14.0+react@16.14.0 + '@storybook/addons': 6.3.7 '@storybook/channel-postmessage': 6.3.7 - '@storybook/client-api': 6.3.7_react-dom@16.14.0+react@16.14.0 + '@storybook/client-api': 6.3.7 '@storybook/client-logger': 6.3.7 '@storybook/core-events': 6.3.7 '@storybook/csf': 0.0.1 - '@storybook/ui': 6.3.7_react-dom@16.14.0+react@16.14.0 + '@storybook/ui': 6.3.7 airbnb-js-shims: 2.2.1 ansi-to-html: 0.6.15 core-js: 3.16.2 global: 4.4.0 lodash: 4.17.21 qs: 6.10.1 - react: 16.14.0 - react-dom: 16.14.0_react@16.14.0 regenerator-runtime: 0.13.9 ts-dedent: 2.2.0 typescript: 4.3.5 unfetch: 4.2.0 util-deprecate: 1.0.2 - webpack: 4.46.0 transitivePeerDependencies: - '@types/react' dev: true - /@storybook/core-client/6.3.7_8073bd74a106ff14517e8eecceb690e6: + /@storybook/core-client/6.3.7_typescript@4.3.5+webpack@4.46.0: resolution: {integrity: sha512-M/4A65yV+Y4lsCQXX4BtQO/i3BcMPrU5FkDG8qJd3dkcx2fUlFvGWqQPkcTZE+MPVvMEGl/AsEZSADzah9+dAg==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -8416,32 +7337,31 @@ packages: typescript: optional: true dependencies: - '@storybook/addons': 6.3.7_react-dom@16.14.0+react@16.14.0 + '@storybook/addons': 6.3.7 '@storybook/channel-postmessage': 6.3.7 - '@storybook/client-api': 6.3.7_react-dom@16.14.0+react@16.14.0 + '@storybook/client-api': 6.3.7 '@storybook/client-logger': 6.3.7 '@storybook/core-events': 6.3.7 '@storybook/csf': 0.0.1 - '@storybook/ui': 6.3.7_react-dom@16.14.0+react@16.14.0 + '@storybook/ui': 6.3.7 airbnb-js-shims: 2.2.1 ansi-to-html: 0.6.15 core-js: 3.16.2 global: 4.4.0 lodash: 4.17.21 qs: 6.10.1 - react: 16.14.0 - react-dom: 16.14.0_react@16.14.0 regenerator-runtime: 0.13.9 ts-dedent: 2.2.0 typescript: 4.3.5 unfetch: 4.2.0 util-deprecate: 1.0.2 + webpack: 4.46.0 transitivePeerDependencies: - '@types/react' dev: true - /@storybook/core-client/6.3.7_typescript@4.3.5: - resolution: {integrity: sha512-M/4A65yV+Y4lsCQXX4BtQO/i3BcMPrU5FkDG8qJd3dkcx2fUlFvGWqQPkcTZE+MPVvMEGl/AsEZSADzah9+dAg==} + /@storybook/core-client/6.4.9_70d39b49be06a92d1ddadaf2d0a6de02: + resolution: {integrity: sha512-LZSpTtvBlpcn+Ifh0jQXlm/8wva2zZ2v13yxYIxX6tAwQvmB54U0N4VdGVmtkiszEp7TQUAzA8Pcyp4GWE+UMA==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 @@ -8451,30 +7371,36 @@ packages: typescript: optional: true dependencies: - '@storybook/addons': 6.3.7 - '@storybook/channel-postmessage': 6.3.7 - '@storybook/client-api': 6.3.7 - '@storybook/client-logger': 6.3.7 - '@storybook/core-events': 6.3.7 - '@storybook/csf': 0.0.1 - '@storybook/ui': 6.3.7 + '@storybook/addons': 6.4.9_react-dom@16.14.0+react@16.14.0 + '@storybook/channel-postmessage': 6.4.9 + '@storybook/channel-websocket': 6.4.9 + '@storybook/client-api': 6.4.9_react-dom@16.14.0+react@16.14.0 + '@storybook/client-logger': 6.4.9 + '@storybook/core-events': 6.4.9 + '@storybook/csf': 0.0.2--canary.87bc651.0 + '@storybook/preview-web': 6.4.9_react-dom@16.14.0+react@16.14.0 + '@storybook/store': 6.4.9_react-dom@16.14.0+react@16.14.0 + '@storybook/ui': 6.4.9_react-dom@16.14.0+react@16.14.0 airbnb-js-shims: 2.2.1 ansi-to-html: 0.6.15 - core-js: 3.16.2 + core-js: 3.19.1 global: 4.4.0 lodash: 4.17.21 qs: 6.10.1 + react: 16.14.0 + react-dom: 16.14.0_react@16.14.0 regenerator-runtime: 0.13.9 ts-dedent: 2.2.0 typescript: 4.3.5 unfetch: 4.2.0 util-deprecate: 1.0.2 + webpack: 4.46.0 transitivePeerDependencies: - '@types/react' dev: true - /@storybook/core-client/6.3.7_typescript@4.3.5+webpack@4.46.0: - resolution: {integrity: sha512-M/4A65yV+Y4lsCQXX4BtQO/i3BcMPrU5FkDG8qJd3dkcx2fUlFvGWqQPkcTZE+MPVvMEGl/AsEZSADzah9+dAg==} + /@storybook/core-client/6.4.9_8073bd74a106ff14517e8eecceb690e6: + resolution: {integrity: sha512-LZSpTtvBlpcn+Ifh0jQXlm/8wva2zZ2v13yxYIxX6tAwQvmB54U0N4VdGVmtkiszEp7TQUAzA8Pcyp4GWE+UMA==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 @@ -8484,25 +7410,29 @@ packages: typescript: optional: true dependencies: - '@storybook/addons': 6.3.7 - '@storybook/channel-postmessage': 6.3.7 - '@storybook/client-api': 6.3.7 - '@storybook/client-logger': 6.3.7 - '@storybook/core-events': 6.3.7 - '@storybook/csf': 0.0.1 - '@storybook/ui': 6.3.7 + '@storybook/addons': 6.4.9_react-dom@16.14.0+react@16.14.0 + '@storybook/channel-postmessage': 6.4.9 + '@storybook/channel-websocket': 6.4.9 + '@storybook/client-api': 6.4.9_react-dom@16.14.0+react@16.14.0 + '@storybook/client-logger': 6.4.9 + '@storybook/core-events': 6.4.9 + '@storybook/csf': 0.0.2--canary.87bc651.0 + '@storybook/preview-web': 6.4.9_react-dom@16.14.0+react@16.14.0 + '@storybook/store': 6.4.9_react-dom@16.14.0+react@16.14.0 + '@storybook/ui': 6.4.9_react-dom@16.14.0+react@16.14.0 airbnb-js-shims: 2.2.1 ansi-to-html: 0.6.15 - core-js: 3.16.2 + core-js: 3.19.1 global: 4.4.0 lodash: 4.17.21 qs: 6.10.1 + react: 16.14.0 + react-dom: 16.14.0_react@16.14.0 regenerator-runtime: 0.13.9 ts-dedent: 2.2.0 typescript: 4.3.5 unfetch: 4.2.0 util-deprecate: 1.0.2 - webpack: 4.46.0 transitivePeerDependencies: - '@types/react' dev: true @@ -8643,7 +7573,7 @@ packages: - webpack-command dev: true - /@storybook/core-common/6.3.7_8073bd74a106ff14517e8eecceb690e6: + /@storybook/core-common/6.3.7_typescript@4.3.5: resolution: {integrity: sha512-exLoqRPPsAefwyjbsQBLNFrlPCcv69Q/pclqmIm7FqAPR7f3CKP1rqsHY0PnemizTL/+cLX5S7mY90gI6wpNug==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -8697,8 +7627,6 @@ packages: micromatch: 4.0.4 pkg-dir: 5.0.0 pretty-hrtime: 1.0.3 - react: 16.14.0 - react-dom: 16.14.0_react@16.14.0 resolve-from: 5.0.0 ts-dedent: 2.2.0 typescript: 4.3.5 @@ -8710,8 +7638,8 @@ packages: - webpack-command dev: true - /@storybook/core-common/6.3.7_typescript@4.3.5: - resolution: {integrity: sha512-exLoqRPPsAefwyjbsQBLNFrlPCcv69Q/pclqmIm7FqAPR7f3CKP1rqsHY0PnemizTL/+cLX5S7mY90gI6wpNug==} + /@storybook/core-common/6.4.9_8073bd74a106ff14517e8eecceb690e6: + resolution: {integrity: sha512-wVHRfUGnj/Tv8nGjv128NDQ5Zp6c63rSXd1lYLzfZPTJmGOz4rpPPez2IZSnnDwbAWeqUSMekFVZPj4v6yuujQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 @@ -8720,57 +7648,62 @@ packages: typescript: optional: true dependencies: - '@babel/core': 7.15.0 - '@babel/plugin-proposal-class-properties': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-proposal-decorators': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-proposal-export-default-from': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-proposal-nullish-coalescing-operator': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-proposal-object-rest-spread': 7.14.7_@babel+core@7.15.0 - '@babel/plugin-proposal-optional-chaining': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-proposal-private-methods': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.15.0 - '@babel/plugin-transform-arrow-functions': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-block-scoping': 7.15.3_@babel+core@7.15.0 - '@babel/plugin-transform-classes': 7.14.9_@babel+core@7.15.0 - '@babel/plugin-transform-destructuring': 7.14.7_@babel+core@7.15.0 - '@babel/plugin-transform-for-of': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-parameters': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-shorthand-properties': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-spread': 7.14.6_@babel+core@7.15.0 - '@babel/preset-env': 7.15.0_@babel+core@7.15.0 - '@babel/preset-react': 7.14.5_@babel+core@7.15.0 - '@babel/preset-typescript': 7.15.0_@babel+core@7.15.0 - '@babel/register': 7.15.3_@babel+core@7.15.0 - '@storybook/node-logger': 6.3.7 + '@babel/core': 7.16.0 + '@babel/plugin-proposal-class-properties': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-decorators': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-export-default-from': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-nullish-coalescing-operator': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-object-rest-spread': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-optional-chaining': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-proposal-private-methods': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.16.0 + '@babel/plugin-transform-arrow-functions': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-block-scoping': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-classes': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-destructuring': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-for-of': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-parameters': 7.16.3_@babel+core@7.16.0 + '@babel/plugin-transform-shorthand-properties': 7.16.0_@babel+core@7.16.0 + '@babel/plugin-transform-spread': 7.16.0_@babel+core@7.16.0 + '@babel/preset-env': 7.16.4_@babel+core@7.16.0 + '@babel/preset-react': 7.16.0_@babel+core@7.16.0 + '@babel/preset-typescript': 7.16.0_@babel+core@7.16.0 + '@babel/register': 7.16.0_@babel+core@7.16.0 + '@storybook/node-logger': 6.4.9 '@storybook/semver': 7.3.2 - '@types/glob-base': 0.3.0 - '@types/micromatch': 4.0.2 - '@types/node': 14.17.10 + '@types/node': 14.17.32 '@types/pretty-hrtime': 1.0.1 - babel-loader: 8.2.2_be352a5a80662835a7707f972edfcfde + babel-loader: 8.2.3_1bd60a6cd0f7024f034efd75ae733a3f babel-plugin-macros: 3.1.0 - babel-plugin-polyfill-corejs3: 0.1.7_@babel+core@7.15.0 + babel-plugin-polyfill-corejs3: 0.1.7_@babel+core@7.16.0 chalk: 4.1.2 - core-js: 3.16.2 + core-js: 3.19.1 express: 4.17.1 file-system-cache: 1.0.5 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.3.2 - glob: 7.1.7 - glob-base: 0.3.0 + fork-ts-checker-webpack-plugin: 6.4.0_typescript@4.3.5+webpack@4.46.0 + fs-extra: 9.1.0 + glob: 7.2.0 + handlebars: 4.7.7 interpret: 2.2.0 json5: 2.2.0 lazy-universal-dotenv: 3.0.1 - micromatch: 4.0.4 + picomatch: 2.3.0 pkg-dir: 5.0.0 pretty-hrtime: 1.0.3 + react: 16.14.0 + react-dom: 16.14.0_react@16.14.0 resolve-from: 5.0.0 + slash: 3.0.0 + telejson: 5.3.3 ts-dedent: 2.2.0 typescript: 4.3.5 util-deprecate: 1.0.2 webpack: 4.46.0 transitivePeerDependencies: + - eslint - supports-color + - vue-template-compiler - webpack-cli - webpack-command dev: true @@ -8787,6 +7720,12 @@ packages: core-js: 3.16.2 dev: true + /@storybook/core-events/6.4.9: + resolution: {integrity: sha512-YhU2zJr6wzvh5naYYuy/0UKNJ/SaXu73sIr0Tx60ur3bL08XkRg7eZ9vBhNBTlAa35oZqI0iiGCh0ljiX7yEVQ==} + dependencies: + core-js: 3.19.1 + dev: true + /@storybook/core-server/6.3.12_7f5de251797ed618e165bdd143385062: resolution: {integrity: sha512-T/Mdyi1FVkUycdyOnhXvoo3d9nYXLQFkmaJkltxBFLzAePAJUSgAsPL9odNC3+p8Nr2/UDsDzvu/Ow0IF0mzLQ==} peerDependencies: @@ -8969,11 +7908,11 @@ packages: - webpack-command dev: true - /@storybook/core-server/6.3.7_f904207d8bce108657a1649c78f72ef8: - resolution: {integrity: sha512-m5OPD/rmZA7KFewkXzXD46/i1ngUoFO4LWOiAY/wR6RQGjYXGMhSa5UYFF6MNwSbiGS5YieHkR5crB1HP47AhQ==} + /@storybook/core-server/6.4.9_8073bd74a106ff14517e8eecceb690e6: + resolution: {integrity: sha512-Ht/e17/SNW9BgdvBsnKmqNrlZ6CpHeVsClEUnauMov8I5rxjvKBVmI/UsbJJIy6H6VLiL/RwrA3RvLoAoZE8dA==} peerDependencies: - '@storybook/builder-webpack5': 6.3.7 - '@storybook/manager-webpack5': 6.3.7 + '@storybook/builder-webpack5': 6.4.9 + '@storybook/manager-webpack5': 6.4.9 react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 typescript: '*' @@ -8985,24 +7924,28 @@ packages: typescript: optional: true dependencies: - '@storybook/builder-webpack4': 6.3.7_8073bd74a106ff14517e8eecceb690e6 - '@storybook/core-client': 6.3.7_70d39b49be06a92d1ddadaf2d0a6de02 - '@storybook/core-common': 6.3.7_8073bd74a106ff14517e8eecceb690e6 - '@storybook/csf-tools': 6.3.7_@babel+core@7.13.16 - '@storybook/manager-webpack4': 6.3.7_8073bd74a106ff14517e8eecceb690e6 - '@storybook/node-logger': 6.3.7 + '@discoveryjs/json-ext': 0.5.5 + '@storybook/builder-webpack4': 6.4.9_8073bd74a106ff14517e8eecceb690e6 + '@storybook/core-client': 6.4.9_70d39b49be06a92d1ddadaf2d0a6de02 + '@storybook/core-common': 6.4.9_8073bd74a106ff14517e8eecceb690e6 + '@storybook/core-events': 6.4.9 + '@storybook/csf': 0.0.2--canary.87bc651.0 + '@storybook/csf-tools': 6.4.9 + '@storybook/manager-webpack4': 6.4.9_8073bd74a106ff14517e8eecceb690e6 + '@storybook/node-logger': 6.4.9 '@storybook/semver': 7.3.2 - '@types/node': 14.17.10 + '@storybook/store': 6.4.9_react-dom@16.14.0+react@16.14.0 + '@types/node': 14.17.32 '@types/node-fetch': 2.5.12 '@types/pretty-hrtime': 1.0.1 - '@types/webpack': 4.41.30 + '@types/webpack': 4.41.31 better-opn: 2.1.1 - boxen: 4.2.0 + boxen: 5.1.2 chalk: 4.1.2 cli-table3: 0.6.0 commander: 6.2.1 compression: 1.7.4 - core-js: 3.16.2 + core-js: 3.19.1 cpy: 8.1.2 detect-port: 1.3.0 express: 4.17.1 @@ -9010,21 +7953,29 @@ packages: fs-extra: 9.1.0 globby: 11.0.4 ip: 1.1.5 - node-fetch: 2.6.1 + lodash: 4.17.21 + node-fetch: 2.6.6 pretty-hrtime: 1.0.3 - prompts: 2.4.1 + prompts: 2.4.2 react: 16.14.0 react-dom: 16.14.0_react@16.14.0 regenerator-runtime: 0.13.9 serve-favicon: 2.5.0 + slash: 3.0.0 + telejson: 5.3.3 ts-dedent: 2.2.0 typescript: 4.3.5 util-deprecate: 1.0.2 + watchpack: 2.3.1 webpack: 4.46.0 + ws: 8.4.0 transitivePeerDependencies: - - '@babel/core' - '@types/react' + - bufferutil + - eslint - supports-color + - utf-8-validate + - vue-template-compiler - webpack-cli - webpack-command dev: true @@ -9113,30 +8064,33 @@ packages: - webpack-command dev: true - /@storybook/core/6.3.7_f904207d8bce108657a1649c78f72ef8: - resolution: {integrity: sha512-YTVLPXqgyBg7TALNxQ+cd+GtCm/NFjxr/qQ1mss1T9GCMR0IjE0d0trgOVHHLAO8jCVlK8DeuqZCCgZFTXulRw==} + /@storybook/core/6.4.9_8073bd74a106ff14517e8eecceb690e6: + resolution: {integrity: sha512-Mzhiy13loMSd3PCygK3t7HIT3X3L35iZmbe6+2xVbVmc/3ypCmq4PQALCUoDOGk37Ifrhop6bo6sl4s9YQ6UFw==} peerDependencies: - '@storybook/builder-webpack5': 6.3.7 + '@storybook/builder-webpack5': 6.4.9 react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 typescript: '*' + webpack: '*' peerDependenciesMeta: '@storybook/builder-webpack5': optional: true typescript: optional: true dependencies: - '@storybook/core-client': 6.3.7_8073bd74a106ff14517e8eecceb690e6 - '@storybook/core-server': 6.3.7_f904207d8bce108657a1649c78f72ef8 + '@storybook/core-client': 6.4.9_8073bd74a106ff14517e8eecceb690e6 + '@storybook/core-server': 6.4.9_8073bd74a106ff14517e8eecceb690e6 react: 16.14.0 react-dom: 16.14.0_react@16.14.0 typescript: 4.3.5 transitivePeerDependencies: - - '@babel/core' - '@storybook/manager-webpack5' - '@types/react' + - bufferutil + - eslint - supports-color - - webpack + - utf-8-validate + - vue-template-compiler - webpack-cli - webpack-command dev: true @@ -9185,13 +8139,13 @@ packages: - supports-color dev: true - /@storybook/csf-tools/6.3.7_@babel+core@7.13.16: + /@storybook/csf-tools/6.3.7_@babel+core@7.15.0: resolution: {integrity: sha512-A7yGsrYwh+vwVpmG8dHpEimX021RbZd9VzoREcILH56u8atssdh/rseljyWlRes3Sr4QgtLvDB7ggoJ+XDZH7w==} dependencies: '@babel/generator': 7.15.0 '@babel/parser': 7.15.3 - '@babel/plugin-transform-react-jsx': 7.14.9_@babel+core@7.13.16 - '@babel/preset-env': 7.15.0_@babel+core@7.13.16 + '@babel/plugin-transform-react-jsx': 7.14.9_@babel+core@7.15.0 + '@babel/preset-env': 7.15.0_@babel+core@7.15.0 '@babel/traverse': 7.15.0 '@babel/types': 7.15.0 '@mdx-js/mdx': 1.6.22 @@ -9207,25 +8161,27 @@ packages: - supports-color dev: true - /@storybook/csf-tools/6.3.7_@babel+core@7.15.0: - resolution: {integrity: sha512-A7yGsrYwh+vwVpmG8dHpEimX021RbZd9VzoREcILH56u8atssdh/rseljyWlRes3Sr4QgtLvDB7ggoJ+XDZH7w==} + /@storybook/csf-tools/6.4.9: + resolution: {integrity: sha512-zbgsx9vY5XOA9bBmyw+KyuRspFXAjEJ6I3d/6Z3G1kNBeOEj9i3DT7O99Rd/THfL/3mWl8DJ/7CJVPk1ZYxunA==} dependencies: - '@babel/generator': 7.15.0 - '@babel/parser': 7.15.3 - '@babel/plugin-transform-react-jsx': 7.14.9_@babel+core@7.15.0 - '@babel/preset-env': 7.15.0_@babel+core@7.15.0 - '@babel/traverse': 7.15.0 - '@babel/types': 7.15.0 + '@babel/core': 7.16.0 + '@babel/generator': 7.16.0 + '@babel/parser': 7.16.4 + '@babel/plugin-transform-react-jsx': 7.16.0_@babel+core@7.16.0 + '@babel/preset-env': 7.16.4_@babel+core@7.16.0 + '@babel/traverse': 7.16.3 + '@babel/types': 7.16.0 '@mdx-js/mdx': 1.6.22 - '@storybook/csf': 0.0.1 - core-js: 3.16.2 + '@storybook/csf': 0.0.2--canary.87bc651.0 + core-js: 3.19.1 fs-extra: 9.1.0 + global: 4.4.0 js-string-escape: 1.0.1 lodash: 4.17.21 - prettier: 2.2.1 + prettier: 2.4.1 regenerator-runtime: 0.13.9 + ts-dedent: 2.2.0 transitivePeerDependencies: - - '@babel/core' - supports-color dev: true @@ -9235,6 +8191,12 @@ packages: lodash: 4.17.21 dev: true + /@storybook/csf/0.0.2--canary.87bc651.0: + resolution: {integrity: sha512-ajk1Uxa+rBpFQHKrCcTmJyQBXZ5slfwHVEaKlkuFaW77it8RgbPJp/ccna3sgoi8oZ7FkkOyvv1Ve4SmwFqRqw==} + dependencies: + lodash: 4.17.21 + dev: true + /@storybook/manager-webpack4/6.3.12_e909896d3b3be82f296f6253d3893b12: resolution: {integrity: sha512-OkPYNrHXg2yZfKmEfTokP6iKx4OLTr0gdI5yehi/bLEuQCSHeruxBc70Dxm1GBk1Mrf821wD9WqMXNDjY5Qtug==} peerDependencies: @@ -9351,7 +8313,7 @@ packages: - webpack-command dev: true - /@storybook/manager-webpack4/6.3.7_8073bd74a106ff14517e8eecceb690e6: + /@storybook/manager-webpack4/6.3.7_typescript@4.3.5: resolution: {integrity: sha512-cwUdO3oklEtx6y+ZOl2zHvflICK85emiXBQGgRcCsnwWQRBZOMh+tCgOSZj4jmISVpT52RtT9woG4jKe15KBig==} peerDependencies: react: ^16.8.0 || ^17.0.0 @@ -9364,12 +8326,12 @@ packages: '@babel/core': 7.15.0 '@babel/plugin-transform-template-literals': 7.14.5_@babel+core@7.15.0 '@babel/preset-react': 7.14.5_@babel+core@7.15.0 - '@storybook/addons': 6.3.7_react-dom@16.14.0+react@16.14.0 - '@storybook/core-client': 6.3.7_70d39b49be06a92d1ddadaf2d0a6de02 - '@storybook/core-common': 6.3.7_8073bd74a106ff14517e8eecceb690e6 + '@storybook/addons': 6.3.7 + '@storybook/core-client': 6.3.7_typescript@4.3.5+webpack@4.46.0 + '@storybook/core-common': 6.3.7_typescript@4.3.5 '@storybook/node-logger': 6.3.7 - '@storybook/theming': 6.3.7_react-dom@16.14.0+react@16.14.0 - '@storybook/ui': 6.3.7_react-dom@16.14.0+react@16.14.0 + '@storybook/theming': 6.3.7 + '@storybook/ui': 6.3.7 '@types/node': 14.17.10 '@types/webpack': 4.41.30 babel-loader: 8.2.2_be352a5a80662835a7707f972edfcfde @@ -9386,8 +8348,6 @@ packages: html-webpack-plugin: 4.5.2_webpack@4.46.0 node-fetch: 2.6.1 pnp-webpack-plugin: 1.6.4_typescript@4.3.5 - react: 16.14.0 - react-dom: 16.14.0_react@16.14.0 read-pkg-up: 7.0.1 regenerator-runtime: 0.13.9 resolve-from: 5.0.0 @@ -9408,8 +8368,8 @@ packages: - webpack-command dev: true - /@storybook/manager-webpack4/6.3.7_typescript@4.3.5: - resolution: {integrity: sha512-cwUdO3oklEtx6y+ZOl2zHvflICK85emiXBQGgRcCsnwWQRBZOMh+tCgOSZj4jmISVpT52RtT9woG4jKe15KBig==} + /@storybook/manager-webpack4/6.4.9_8073bd74a106ff14517e8eecceb690e6: + resolution: {integrity: sha512-828x3rqMuzBNSb13MSDo2nchY7fuywh+8+Vk+fn00MvBYJjogd5RQFx5ocwhHzmwXbnESIerlGwe81AzMck8ng==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 @@ -9418,31 +8378,32 @@ packages: typescript: optional: true dependencies: - '@babel/core': 7.15.0 - '@babel/plugin-transform-template-literals': 7.14.5_@babel+core@7.15.0 - '@babel/preset-react': 7.14.5_@babel+core@7.15.0 - '@storybook/addons': 6.3.7 - '@storybook/core-client': 6.3.7_typescript@4.3.5+webpack@4.46.0 - '@storybook/core-common': 6.3.7_typescript@4.3.5 - '@storybook/node-logger': 6.3.7 - '@storybook/theming': 6.3.7 - '@storybook/ui': 6.3.7 - '@types/node': 14.17.10 - '@types/webpack': 4.41.30 - babel-loader: 8.2.2_be352a5a80662835a7707f972edfcfde + '@babel/core': 7.16.0 + '@babel/plugin-transform-template-literals': 7.16.0_@babel+core@7.16.0 + '@babel/preset-react': 7.16.0_@babel+core@7.16.0 + '@storybook/addons': 6.4.9_react-dom@16.14.0+react@16.14.0 + '@storybook/core-client': 6.4.9_70d39b49be06a92d1ddadaf2d0a6de02 + '@storybook/core-common': 6.4.9_8073bd74a106ff14517e8eecceb690e6 + '@storybook/node-logger': 6.4.9 + '@storybook/theming': 6.4.9_react-dom@16.14.0+react@16.14.0 + '@storybook/ui': 6.4.9_react-dom@16.14.0+react@16.14.0 + '@types/node': 14.17.32 + '@types/webpack': 4.41.31 + babel-loader: 8.2.3_1bd60a6cd0f7024f034efd75ae733a3f case-sensitive-paths-webpack-plugin: 2.4.0 chalk: 4.1.2 - core-js: 3.16.2 + core-js: 3.19.1 css-loader: 3.6.0_webpack@4.46.0 - dotenv-webpack: 1.8.0_webpack@4.46.0 express: 4.17.1 file-loader: 6.2.0_webpack@4.46.0 file-system-cache: 1.0.5 find-up: 5.0.0 fs-extra: 9.1.0 html-webpack-plugin: 4.5.2_webpack@4.46.0 - node-fetch: 2.6.1 + node-fetch: 2.6.6 pnp-webpack-plugin: 1.6.4_typescript@4.3.5 + react: 16.14.0 + react-dom: 16.14.0_react@16.14.0 read-pkg-up: 7.0.1 regenerator-runtime: 0.13.9 resolve-from: 5.0.0 @@ -9458,7 +8419,9 @@ packages: webpack-virtual-modules: 0.2.2 transitivePeerDependencies: - '@types/react' + - eslint - supports-color + - vue-template-compiler - webpack-cli - webpack-command dev: true @@ -9483,6 +8446,16 @@ packages: pretty-hrtime: 1.0.3 dev: true + /@storybook/node-logger/6.4.9: + resolution: {integrity: sha512-giil8dA85poH+nslKHIS9tSxp4MP4ensOec7el6GwKiqzAQXITrm3b7gw61ETj39jAQeLIcQYGHLq1oqQo4/YQ==} + dependencies: + '@types/npmlog': 4.1.3 + chalk: 4.1.2 + core-js: 3.19.1 + npmlog: 5.0.1 + pretty-hrtime: 1.0.3 + dev: true + /@storybook/postinstall/6.3.12: resolution: {integrity: sha512-HkZ+abtZ3W6JbGPS6K7OSnNXbwaTwNNd5R02kRs4gV9B29XsBPDtFT6vIwzM3tmVQC7ihL5a8ceWp2OvzaNOuw==} dependencies: @@ -9529,8 +8502,8 @@ packages: - webpack-command dev: true - /@storybook/preact/6.3.7_9cd0ede338ef3d2deb8dbc69bc115c66: - resolution: {integrity: sha512-mP6+e1toCd59ALUNsiJWQN0CuOVV7faaMcAs21T+GJeU5igEWbRpe/ixKdMdu7RqHA9jAHOeMZfjSNhBkvnwAw==} + /@storybook/preact/6.4.9_9cd0ede338ef3d2deb8dbc69bc115c66: + resolution: {integrity: sha512-LsH3bkl1iwdF+v7+Fo/yZNvdhmVyuqYkRhu95QO46925dikOJvENWx8H81Ceb+TQj58xHayxtf+dHsUD36dFkQ==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -9539,12 +8512,14 @@ packages: webpack: '*' dependencies: '@babel/core': 7.13.16 - '@babel/plugin-transform-react-jsx': 7.14.9_@babel+core@7.13.16 - '@storybook/addons': 6.3.7_react-dom@16.14.0+react@16.14.0 - '@storybook/core': 6.3.7_f904207d8bce108657a1649c78f72ef8 - '@storybook/core-common': 6.3.7_8073bd74a106ff14517e8eecceb690e6 - '@types/webpack-env': 1.16.2 - core-js: 3.16.2 + '@babel/plugin-transform-react-jsx': 7.16.0_@babel+core@7.13.16 + '@storybook/addons': 6.4.9_react-dom@16.14.0+react@16.14.0 + '@storybook/core': 6.4.9_8073bd74a106ff14517e8eecceb690e6 + '@storybook/core-common': 6.4.9_8073bd74a106ff14517e8eecceb690e6 + '@storybook/csf': 0.0.2--canary.87bc651.0 + '@storybook/store': 6.4.9_react-dom@16.14.0+react@16.14.0 + '@types/webpack-env': 1.16.3 + core-js: 3.19.1 global: 4.4.0 preact: 10.5.14 react: 16.14.0 @@ -9556,8 +8531,12 @@ packages: - '@storybook/builder-webpack5' - '@storybook/manager-webpack5' - '@types/react' + - bufferutil + - eslint - supports-color - typescript + - utf-8-validate + - vue-template-compiler - webpack-cli - webpack-command dev: true @@ -9572,6 +8551,32 @@ packages: sass-loader: 10.2.0_sass@1.32.13 dev: true + /@storybook/preview-web/6.4.9_react-dom@16.14.0+react@16.14.0: + resolution: {integrity: sha512-fMB/akK14oc+4FBkeVJBtZQdxikOraXQSVn6zoVR93WVDR7JVeV+oz8rxjuK3n6ZEWN87iKH946k4jLoZ95tdw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + dependencies: + '@storybook/addons': 6.4.9_react-dom@16.14.0+react@16.14.0 + '@storybook/channel-postmessage': 6.4.9 + '@storybook/client-logger': 6.4.9 + '@storybook/core-events': 6.4.9 + '@storybook/csf': 0.0.2--canary.87bc651.0 + '@storybook/store': 6.4.9_react-dom@16.14.0+react@16.14.0 + ansi-to-html: 0.6.15 + core-js: 3.19.1 + global: 4.4.0 + lodash: 4.17.21 + qs: 6.10.1 + react: 16.14.0 + react-dom: 16.14.0_react@16.14.0 + regenerator-runtime: 0.13.9 + synchronous-promise: 2.0.15 + ts-dedent: 2.2.0 + unfetch: 4.2.0 + util-deprecate: 1.0.2 + dev: true + /@storybook/router/6.3.12: resolution: {integrity: sha512-G/pNGCnrJRetCwyEZulHPT+YOcqEj/vkPVDTUfii2qgqukup6K0cjwgd7IukAURnAnnzTi1gmgFuEKUi8GE/KA==} peerDependencies: @@ -9628,23 +8633,24 @@ packages: ts-dedent: 2.2.0 dev: true - /@storybook/router/6.3.7_react-dom@16.14.0+react@16.14.0: - resolution: {integrity: sha512-6tthN8op7H0NoYoE1SkQFJKC42pC4tGaoPn7kEql8XGeUJnxPtVFjrnywlTrRnKuxZKIvbilQBAwDml97XH23Q==} + /@storybook/router/6.4.9_react-dom@16.14.0+react@16.14.0: + resolution: {integrity: sha512-GT2KtVHo/mBjxDBFB5ZtVJVf8vC+3p5kRlQC4jao68caVp7H24ikPOkcY54VnQwwe4A1aXpGbJXUyTisEPFlhQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: - '@reach/router': 1.3.4_react-dom@16.14.0+react@16.14.0 - '@storybook/client-logger': 6.3.7 - '@types/reach__router': 1.3.9 - core-js: 3.16.2 + '@storybook/client-logger': 6.4.9 + core-js: 3.19.1 fast-deep-equal: 3.1.3 global: 4.4.0 + history: 5.0.0 lodash: 4.17.21 memoizerific: 1.11.3 qs: 6.10.1 react: 16.14.0 react-dom: 16.14.0_react@16.14.0 + react-router: 6.2.1_react@16.14.0 + react-router-dom: 6.2.1_react-dom@16.14.0+react@16.14.0 ts-dedent: 2.2.0 dev: true @@ -9693,6 +8699,31 @@ packages: regenerator-runtime: 0.13.9 dev: true + /@storybook/store/6.4.9_react-dom@16.14.0+react@16.14.0: + resolution: {integrity: sha512-H30KfiM2XyGMJcLaOepCEUsU7S3C/f7t46s6Nhw0lc5w/6HTQc2jGV3GgG3lUAUAzEQoxmmu61w3N2a6eyRzmg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + dependencies: + '@storybook/addons': 6.4.9_react-dom@16.14.0+react@16.14.0 + '@storybook/client-logger': 6.4.9 + '@storybook/core-events': 6.4.9 + '@storybook/csf': 0.0.2--canary.87bc651.0 + core-js: 3.19.1 + fast-deep-equal: 3.1.3 + global: 4.4.0 + lodash: 4.17.21 + memoizerific: 1.11.3 + react: 16.14.0 + react-dom: 16.14.0_react@16.14.0 + regenerator-runtime: 0.13.9 + slash: 3.0.0 + stable: 0.1.8 + synchronous-promise: 2.0.15 + ts-dedent: 2.2.0 + util-deprecate: 1.0.2 + dev: true + /@storybook/theming/6.3.12: resolution: {integrity: sha512-wOJdTEa/VFyFB2UyoqyYGaZdym6EN7RALuQOAMT6zHA282FBmKw8nL5DETHEbctpnHdcrMC/391teK4nNSrdOA==} peerDependencies: @@ -9755,8 +8786,8 @@ packages: ts-dedent: 2.2.0 dev: true - /@storybook/theming/6.3.7_react-dom@16.14.0+react@16.14.0: - resolution: {integrity: sha512-GXBdw18JJd5jLLcRonAZWvGGdwEXByxF1IFNDSOYCcpHWsMgTk4XoLjceu9MpXET04pVX51LbVPLCvMdggoohg==} + /@storybook/theming/6.4.9_react-dom@16.14.0+react@16.14.0: + resolution: {integrity: sha512-Do6GH6nKjxfnBg6djcIYAjss5FW9SRKASKxLYxX2RyWJBpz0m/8GfcGcRyORy0yFTk6jByA3Hs+WFH3GnEbWkw==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 @@ -9764,8 +8795,8 @@ packages: '@emotion/core': 10.1.1_react@16.14.0 '@emotion/is-prop-valid': 0.8.8 '@emotion/styled': 10.0.27_5f216699bc8c1f24088b3bf77b7cbbdf - '@storybook/client-logger': 6.3.7 - core-js: 3.16.2 + '@storybook/client-logger': 6.4.9 + core-js: 3.19.1 deep-object-diff: 1.1.0 emotion-theming: 10.0.27_5f216699bc8c1f24088b3bf77b7cbbdf global: 4.4.0 @@ -9896,40 +8927,39 @@ packages: - '@types/react' dev: true - /@storybook/ui/6.3.7_react-dom@16.14.0+react@16.14.0: - resolution: {integrity: sha512-PBeRO8qtwAbtHvxUgNtz/ChUR6qnN+R37dMaIs3Y96jbks1fS2K9Mt7W5s1HnUbWbg2KsZMv9D4VYPBasY+Isw==} + /@storybook/ui/6.4.9_react-dom@16.14.0+react@16.14.0: + resolution: {integrity: sha512-lJbsaMTH4SyhqUTmt+msSYI6fKSSfOnrzZVu6bQ73+MfRyGKh1ki2Nyhh+w8BiGEIOz02WlEpZC0y11FfgEgXw==} peerDependencies: react: ^16.8.0 || ^17.0.0 react-dom: ^16.8.0 || ^17.0.0 dependencies: '@emotion/core': 10.1.1_react@16.14.0 - '@storybook/addons': 6.3.7_react-dom@16.14.0+react@16.14.0 - '@storybook/api': 6.3.7_react-dom@16.14.0+react@16.14.0 - '@storybook/channels': 6.3.7 - '@storybook/client-logger': 6.3.7 - '@storybook/components': 6.3.7_react-dom@16.14.0+react@16.14.0 - '@storybook/core-events': 6.3.7 - '@storybook/router': 6.3.7_react-dom@16.14.0+react@16.14.0 + '@storybook/addons': 6.4.9_react-dom@16.14.0+react@16.14.0 + '@storybook/api': 6.4.9_react-dom@16.14.0+react@16.14.0 + '@storybook/channels': 6.4.9 + '@storybook/client-logger': 6.4.9 + '@storybook/components': 6.4.9_react-dom@16.14.0+react@16.14.0 + '@storybook/core-events': 6.4.9 + '@storybook/router': 6.4.9_react-dom@16.14.0+react@16.14.0 '@storybook/semver': 7.3.2 - '@storybook/theming': 6.3.7_react-dom@16.14.0+react@16.14.0 - '@types/markdown-to-jsx': 6.11.3 + '@storybook/theming': 6.4.9_react-dom@16.14.0+react@16.14.0 copy-to-clipboard: 3.3.1 - core-js: 3.16.2 - core-js-pure: 3.16.2 + core-js: 3.19.1 + core-js-pure: 3.19.1 downshift: 6.1.7_react@16.14.0 emotion-theming: 10.0.27_5f216699bc8c1f24088b3bf77b7cbbdf fuse.js: 3.6.1 global: 4.4.0 lodash: 4.17.21 - markdown-to-jsx: 6.11.4_react@16.14.0 + markdown-to-jsx: 7.1.3_react@16.14.0 memoizerific: 1.11.3 polished: 4.1.3 qs: 6.10.1 react: 16.14.0 react-dom: 16.14.0_react@16.14.0 - react-draggable: 4.4.3 - react-helmet-async: 1.0.9_react-dom@16.14.0+react@16.14.0 - react-sizeme: 3.0.1_react-dom@16.14.0+react@16.14.0 + react-draggable: 4.4.4_react-dom@16.14.0+react@16.14.0 + react-helmet-async: 1.1.2_react-dom@16.14.0+react@16.14.0 + react-sizeme: 3.0.2 regenerator-runtime: 0.13.9 resolve-from: 5.0.0 store2: 2.12.0 @@ -9955,8 +8985,8 @@ packages: resolution: {integrity: sha512-3UqjCpey6HiTZT92vODYLPxTBWlM8ZOOjr3LX5F37/VRipW2M1kX6I/Cm4VXzteZqfGfagg8yXywpcOgQBlNsQ==} engines: {node: '>=10'} dependencies: - '@babel/code-frame': 7.14.5 - '@babel/runtime': 7.15.3 + '@babel/code-frame': 7.16.0 + '@babel/runtime': 7.16.3 '@types/aria-query': 4.2.2 aria-query: 4.2.2 chalk: 4.1.2 @@ -9965,6 +8995,16 @@ packages: pretty-format: 26.6.2 dev: true + /@testing-library/preact-hooks/1.1.0_6273b572ba1ed58b8bbb2ee93959f9e4: + resolution: {integrity: sha512-+JIor+NsOHkK3oIrwMDGKGHXTN0JJi462dBJlj4FNbGaDPTlctE6eu2ranWQirh7/FJMkWfzQCP+tk7jmY8ZrQ==} + peerDependencies: + '@testing-library/preact': ^2.0.0 + preact: ^10.4.8 + dependencies: + '@testing-library/preact': 2.0.1_preact@10.5.14 + preact: 10.5.14 + dev: true + /@testing-library/preact/2.0.1_preact@10.5.14: resolution: {integrity: sha512-79kwVOY+3caoLgaPbiPzikjgY0Aya7Fc7TvGtR1upCnz2wrtmPDnN2t9vO7I7vDP2zoA+feSwOH5Q0BFErhaaQ==} engines: {node: '>= 10'} @@ -9975,11 +9015,6 @@ packages: preact: 10.5.14 dev: true - /@tootallnate/once/1.1.2: - resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} - engines: {node: '>= 6'} - dev: true - /@trysound/sax/0.2.0: resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} engines: {node: '>=10.13.0'} @@ -9993,45 +9028,6 @@ packages: resolution: {integrity: sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig==} dev: true - /@types/babel__core/7.1.15: - resolution: {integrity: sha512-bxlMKPDbY8x5h6HBwVzEOk2C8fb6SLfYQ5Jw3uBYuYF1lfWk/kbLd81la82vrIkBb0l+JdmrZaDikPrNxpS/Ew==} - dependencies: - '@babel/parser': 7.15.3 - '@babel/types': 7.15.0 - '@types/babel__generator': 7.6.3 - '@types/babel__template': 7.4.1 - '@types/babel__traverse': 7.14.2 - dev: true - - /@types/babel__core/7.1.16: - resolution: {integrity: sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ==} - dependencies: - '@babel/parser': 7.16.2 - '@babel/types': 7.16.0 - '@types/babel__generator': 7.6.3 - '@types/babel__template': 7.4.1 - '@types/babel__traverse': 7.14.2 - dev: true - - /@types/babel__generator/7.6.3: - resolution: {integrity: sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA==} - dependencies: - '@babel/types': 7.16.0 - dev: true - - /@types/babel__template/7.4.1: - resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} - dependencies: - '@babel/parser': 7.16.2 - '@babel/types': 7.16.0 - dev: true - - /@types/babel__traverse/7.14.2: - resolution: {integrity: sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==} - dependencies: - '@babel/types': 7.16.0 - dev: true - /@types/braces/3.0.1: resolution: {integrity: sha512-+euflG6ygo4bn0JHtn4pYqcXwRtLvElQ7/nnjDu7iYG56H0+OhCd7d6Ug0IE3WcFpZozBKW2+80FUbv5QGk5AQ==} dev: true @@ -10139,20 +9135,6 @@ packages: '@types/istanbul-lib-report': 3.0.0 dev: true - /@types/jest/26.0.24: - resolution: {integrity: sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w==} - dependencies: - jest-diff: 26.6.2 - pretty-format: 26.6.2 - dev: true - - /@types/jest/27.0.2: - resolution: {integrity: sha512-4dRxkS/AFX0c5XW6IPMNOydLn2tEhNhJV7DnYK+0bjoJZ+QTmfucBlihX7aoEsh/ocYtkLC73UbnBXBXIxsULA==} - dependencies: - jest-diff: 27.3.1 - pretty-format: 27.3.1 - dev: true - /@types/json-schema/7.0.7: resolution: {integrity: sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==} dev: true @@ -10187,6 +9169,10 @@ packages: resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} dev: true + /@types/mocha/9.0.0: + resolution: {integrity: sha512-scN0hAWyLVAvLR9AyW7HoFF5sJZglyBsbPuHO4fv7JRvfmPBMfp1ozWqOf/e4wwPNxezBZXRfWzMb6iFLgEVRA==} + dev: true + /@types/node-fetch/2.5.12: resolution: {integrity: sha512-MKgC4dlq4kKNa/mYrwpKfzQMB5X3ee5U6fSprkKpToBqBmX4nFZL9cW5jl6sWn+xpRJ7ypWh2yyqqr8UUCstSw==} dependencies: @@ -10241,14 +9227,6 @@ packages: resolution: {integrity: sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw==} dev: true - /@types/prettier/2.3.2: - resolution: {integrity: sha512-eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog==} - dev: true - - /@types/prettier/2.4.1: - resolution: {integrity: sha512-Fo79ojj3vdEZOHg3wR9ksAMRz4P3S5fDB5e/YWZiFnyFQI1WY2Vftu9XoXVVtJfxB7Bpce/QTqWSSntkz2Znrw==} - dev: true - /@types/pretty-hrtime/1.0.1: resolution: {integrity: sha512-VjID5MJb1eGKthz2qUerWT8+R4b9N+CHvGCzg9fn4kWZgaF9AhdYikQio3R7wV8YY1NsQKPaCwKz1Yff+aHNUQ==} dev: true @@ -10299,10 +9277,6 @@ packages: resolution: {integrity: sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==} dev: true - /@types/stack-utils/2.0.1: - resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} - dev: true - /@types/tapable/1.0.8: resolution: {integrity: sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==} dev: true @@ -10369,12 +9343,6 @@ packages: '@types/yargs-parser': 20.2.1 dev: true - /@types/yargs/16.0.4: - resolution: {integrity: sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==} - dependencies: - '@types/yargs-parser': 20.2.1 - dev: true - /@typescript-eslint/eslint-plugin/4.14.0_4f40ec8f9ae74407a8c29890901bb23f: resolution: {integrity: sha512-IJ5e2W7uFNfg4qh9eHkHRUCbgZ8VKtGwD07kannJvM5t/GU8P8+24NX8gi3Hf5jST5oWPY8kyV1s/WtfiZ4+Ww==} engines: {node: ^10.12.0 || >=12.0.0} @@ -10688,6 +9656,10 @@ packages: eslint-visitor-keys: 3.0.0 dev: true + /@ungap/promise-all-settled/1.1.2: + resolution: {integrity: sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==} + dev: true + /@webassemblyjs/ast/1.9.0: resolution: {integrity: sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==} dependencies: @@ -10846,21 +9818,6 @@ packages: acorn-walk: 6.2.0 dev: true - /acorn-globals/6.0.0: - resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} - dependencies: - acorn: 7.4.1 - acorn-walk: 7.2.0 - dev: true - - /acorn-jsx/5.3.1_acorn@7.4.1: - resolution: {integrity: sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 7.4.1 - dev: true - /acorn-jsx/5.3.2_acorn@7.4.1: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -10932,15 +9889,6 @@ packages: engines: {node: '>= 0.12.0'} dev: true - /agent-base/6.0.2: - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} - dependencies: - debug: 4.3.2 - transitivePeerDependencies: - - supports-color - dev: true - /aggregate-error/3.1.0: resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} engines: {node: '>=8'} @@ -11041,13 +9989,6 @@ packages: engines: {node: '>=6'} dev: true - /ansi-escapes/4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.21.3 - dev: true - /ansi-html-community/0.0.8: resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} engines: {'0': node >= 0.8.0} @@ -11070,11 +10011,6 @@ packages: engines: {node: '>=6'} dev: true - /ansi-regex/5.0.0: - resolution: {integrity: sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==} - engines: {node: '>=8'} - dev: true - /ansi-regex/5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -11153,6 +10089,14 @@ packages: readable-stream: 2.3.7 dev: true + /are-we-there-yet/2.0.0: + resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} + engines: {node: '>=10'} + dependencies: + delegates: 1.0.0 + readable-stream: 3.6.0 + dev: true + /argparse/1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: @@ -11167,7 +10111,7 @@ packages: resolution: {integrity: sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==} engines: {node: '>=6.0'} dependencies: - '@babel/runtime': 7.15.3 + '@babel/runtime': 7.16.3 '@babel/runtime-corejs3': 7.15.3 dev: true @@ -11269,15 +10213,6 @@ packages: is-string: 1.0.7 dev: true - /array.prototype.flat/1.2.4: - resolution: {integrity: sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.2 - define-properties: 1.1.3 - es-abstract: 1.18.5 - dev: true - /array.prototype.flat/1.2.5: resolution: {integrity: sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==} engines: {node: '>= 0.4'} @@ -11457,8 +10392,8 @@ packages: resolution: {integrity: sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==} hasBin: true dependencies: - browserslist: 4.17.6 - caniuse-lite: 1.0.30001276 + browserslist: 4.18.1 + caniuse-lite: 1.0.30001280 normalize-range: 0.1.2 num2fraction: 1.2.2 picocolors: 0.2.1 @@ -11539,11 +10474,6 @@ packages: resolution: {integrity: sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==} dev: true - /axe-core/4.1.1: - resolution: {integrity: sha512-5Kgy8Cz6LPC9DJcNb3yjAXTu3XihQgEdnIg50c//zOC/MyLP0Clg+Y8Sh9ZjjnvBrDZU4DgXS9C3T9r4/scGZQ==} - engines: {node: '>=4'} - dev: true - /axe-core/4.3.2: resolution: {integrity: sha512-5LMaDRWm8ZFPAEdzTYmgjjEdj1YnQcpfrVajO/sn/LhbpGp0Y0H64c2hLZI1gRMxfA+w1S71Uc/nHaOXgcCvGg==} engines: {node: '>=4'} @@ -11592,44 +10522,6 @@ packages: esutils: 2.0.3 dev: true - /babel-jest/26.6.3_@babel+core@7.15.0: - resolution: {integrity: sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==} - engines: {node: '>= 10.14.2'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.15.0 - '@jest/transform': 26.6.2 - '@jest/types': 26.6.2 - '@types/babel__core': 7.1.15 - babel-plugin-istanbul: 6.0.0 - babel-preset-jest: 26.6.2_@babel+core@7.15.0 - chalk: 4.1.2 - graceful-fs: 4.2.8 - slash: 3.0.0 - transitivePeerDependencies: - - supports-color - dev: true - - /babel-jest/27.3.1_@babel+core@7.16.0: - resolution: {integrity: sha512-SjIF8hh/ir0peae2D6S6ZKRhUy7q/DnpH7k/V6fT4Bgs/LXXUztOpX4G2tCgq8mLo5HA9mN6NmlFMeYtKmIsTQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - peerDependencies: - '@babel/core': ^7.8.0 - dependencies: - '@babel/core': 7.16.0 - '@jest/transform': 27.3.1 - '@jest/types': 27.2.5 - '@types/babel__core': 7.1.16 - babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 27.2.0_@babel+core@7.16.0 - chalk: 4.1.2 - graceful-fs: 4.2.8 - slash: 3.0.0 - transitivePeerDependencies: - - supports-color - dev: true - /babel-loader/8.2.2_@babel+core@7.13.16: resolution: {integrity: sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==} engines: {node: '>= 8.9'} @@ -11711,19 +10603,6 @@ packages: '@babel/helper-plugin-utils': 7.10.4 dev: true - /babel-plugin-istanbul/6.0.0: - resolution: {integrity: sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==} - engines: {node: '>=8'} - dependencies: - '@babel/helper-plugin-utils': 7.14.5 - '@istanbuljs/load-nyc-config': 1.1.0 - '@istanbuljs/schema': 0.1.3 - istanbul-lib-instrument: 4.0.3 - test-exclude: 6.0.0 - transitivePeerDependencies: - - supports-color - dev: true - /babel-plugin-istanbul/6.1.1: resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} engines: {node: '>=8'} @@ -11737,26 +10616,6 @@ packages: - supports-color dev: true - /babel-plugin-jest-hoist/26.6.2: - resolution: {integrity: sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==} - engines: {node: '>= 10.14.2'} - dependencies: - '@babel/template': 7.14.5 - '@babel/types': 7.15.0 - '@types/babel__core': 7.1.15 - '@types/babel__traverse': 7.14.2 - dev: true - - /babel-plugin-jest-hoist/27.2.0: - resolution: {integrity: sha512-TOux9khNKdi64mW+0OIhcmbAn75tTlzKhxmiNXevQaPbrBYK7YKjP1jl6NHTJ6XR5UgUrJbCnWlKVnJn29dfjw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@babel/template': 7.16.0 - '@babel/types': 7.16.0 - '@types/babel__core': 7.1.16 - '@types/babel__traverse': 7.14.2 - dev: true - /babel-plugin-macros/2.8.0: resolution: {integrity: sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==} dependencies: @@ -11769,24 +10628,11 @@ packages: resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} engines: {node: '>=10', npm: '>=6'} dependencies: - '@babel/runtime': 7.16.0 + '@babel/runtime': 7.16.3 cosmiconfig: 7.0.1 resolve: 1.20.0 dev: true - /babel-plugin-polyfill-corejs2/0.2.2_@babel+core@7.13.16: - resolution: {integrity: sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/compat-data': 7.15.0 - '@babel/core': 7.13.16 - '@babel/helper-define-polyfill-provider': 0.2.3_@babel+core@7.13.16 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - dev: true - /babel-plugin-polyfill-corejs2/0.2.2_@babel+core@7.15.0: resolution: {integrity: sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==} peerDependencies: @@ -11837,6 +10683,19 @@ packages: - supports-color dev: true + /babel-plugin-polyfill-corejs2/0.3.0_@babel+core@7.16.0: + resolution: {integrity: sha512-wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.16.4 + '@babel/core': 7.16.0 + '@babel/helper-define-polyfill-provider': 0.3.0_@babel+core@7.16.0 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + /babel-plugin-polyfill-corejs3/0.1.7_@babel+core@7.15.0: resolution: {integrity: sha512-u+gbS9bbPhZWEeyy1oR/YaaSpod/KDT07arZHb80aTpl8H5ZBq+uN1nN9/xtX7jQyfLdPfoqI4Rue/MQSWJquw==} peerDependencies: @@ -11861,18 +10720,6 @@ packages: - supports-color dev: true - /babel-plugin-polyfill-corejs3/0.2.4_@babel+core@7.13.16: - resolution: {integrity: sha512-z3HnJE5TY/j4EFEa/qpQMSbcUJZ5JQi+3UFjXzn6pQCmIKc5Ug5j98SuYyH+m4xQnvKlMDIW4plLfgyVnd0IcQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.13.16 - '@babel/helper-define-polyfill-provider': 0.2.3_@babel+core@7.13.16 - core-js-compat: 3.16.2 - transitivePeerDependencies: - - supports-color - dev: true - /babel-plugin-polyfill-corejs3/0.2.4_@babel+core@7.15.0: resolution: {integrity: sha512-z3HnJE5TY/j4EFEa/qpQMSbcUJZ5JQi+3UFjXzn6pQCmIKc5Ug5j98SuYyH+m4xQnvKlMDIW4plLfgyVnd0IcQ==} peerDependencies: @@ -11919,13 +10766,14 @@ packages: - supports-color dev: true - /babel-plugin-polyfill-regenerator/0.2.2_@babel+core@7.13.16: - resolution: {integrity: sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==} + /babel-plugin-polyfill-corejs3/0.4.0_@babel+core@7.16.0: + resolution: {integrity: sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.13.16 - '@babel/helper-define-polyfill-provider': 0.2.3_@babel+core@7.13.16 + '@babel/core': 7.16.0 + '@babel/helper-define-polyfill-provider': 0.3.0_@babel+core@7.16.0 + core-js-compat: 3.19.1 transitivePeerDependencies: - supports-color dev: true @@ -11972,6 +10820,17 @@ packages: - supports-color dev: true + /babel-plugin-polyfill-regenerator/0.3.0_@babel+core@7.16.0: + resolution: {integrity: sha512-dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.16.0 + '@babel/helper-define-polyfill-provider': 0.3.0_@babel+core@7.16.0 + transitivePeerDependencies: + - supports-color + dev: true + /babel-plugin-syntax-jsx/6.18.0: resolution: {integrity: sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=} dev: true @@ -11988,68 +10847,6 @@ packages: resolution: {integrity: sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==} dev: true - /babel-preset-current-node-syntax/1.0.1_@babel+core@7.15.0: - resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.15.0 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.15.0 - '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.15.0 - '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.15.0 - '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.15.0 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.15.0 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.15.0 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.15.0 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.15.0 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.15.0 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.15.0 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.15.0 - '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.15.0 - dev: true - - /babel-preset-current-node-syntax/1.0.1_@babel+core@7.16.0: - resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.16.0 - '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.16.0 - '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.16.0 - '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.16.0 - '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.16.0 - '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.16.0 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.16.0 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.16.0 - '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.16.0 - '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.16.0 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.16.0 - '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.16.0 - '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.16.0 - dev: true - - /babel-preset-jest/26.6.2_@babel+core@7.15.0: - resolution: {integrity: sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==} - engines: {node: '>= 10.14.2'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.15.0 - babel-plugin-jest-hoist: 26.6.2 - babel-preset-current-node-syntax: 1.0.1_@babel+core@7.15.0 - dev: true - - /babel-preset-jest/27.2.0_@babel+core@7.16.0: - resolution: {integrity: sha512-z7MgQ3peBwN5L5aCqBKnF6iqdlvZvFUQynEhu0J+X9nHLU72jO3iY331lcYrg+AssJ8q7xsv5/3AICzVmJ/wvg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.16.0 - babel-plugin-jest-hoist: 27.2.0 - babel-preset-current-node-syntax: 1.0.1_@babel+core@7.16.0 - dev: true - /babel-runtime/6.26.0: resolution: {integrity: sha1-llxwWGaOgrVde/4E/yM3vItWR/4=} dependencies: @@ -12273,6 +11070,10 @@ packages: resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} dev: true + /browser-stdout/1.3.1: + resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} + dev: true + /browserify-aes/1.2.0: resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} dependencies: @@ -12679,14 +11480,6 @@ packages: supports-color: 7.2.0 dev: true - /chalk/4.1.0: - resolution: {integrity: sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - /chalk/4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} @@ -12695,11 +11488,6 @@ packages: supports-color: 7.2.0 dev: true - /char-regex/1.0.2: - resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} - engines: {node: '>=10'} - dev: true - /character-entities-legacy/1.1.4: resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} dev: true @@ -12795,10 +11583,6 @@ packages: resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} dev: true - /ci-info/3.2.0: - resolution: {integrity: sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==} - dev: true - /ci-parallel-vars/1.0.1: resolution: {integrity: sha512-uvzpYrpmidaoxvIQHM+rKSrigjOe9feHYbw4uOI2gdfe1C3xIlxO+kVXq83WQWNniTf8bAxVpy+cQeFQsMERKg==} dev: true @@ -12810,14 +11594,6 @@ packages: safe-buffer: 5.2.1 dev: true - /cjs-module-lexer/0.6.0: - resolution: {integrity: sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==} - dev: true - - /cjs-module-lexer/1.2.2: - resolution: {integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==} - dev: true - /class-utils/0.3.6: resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} engines: {node: '>=0.10.0'} @@ -12881,7 +11657,7 @@ packages: engines: {node: '>=8'} dependencies: slice-ansi: 3.0.0 - string-width: 4.2.2 + string-width: 4.2.3 dev: true /cliui/5.0.0: @@ -12895,8 +11671,8 @@ packages: /cliui/6.0.0: resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} dependencies: - string-width: 4.2.2 - strip-ansi: 6.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 wrap-ansi: 6.2.0 dev: true @@ -12933,11 +11709,6 @@ packages: engines: {node: '>=6'} dev: true - /co/4.6.0: - resolution: {integrity: sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=} - engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} - dev: true - /coa/2.0.2: resolution: {integrity: sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==} engines: {node: '>= 4.0'} @@ -12963,10 +11734,6 @@ packages: resolution: {integrity: sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==} dev: true - /collect-v8-coverage/1.0.1: - resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==} - dev: true - /collection-visit/1.0.0: resolution: {integrity: sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=} engines: {node: '>=0.10.0'} @@ -13003,6 +11770,11 @@ packages: simple-swizzle: 0.2.2 dev: true + /color-support/1.1.3: + resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} + hasBin: true + dev: true + /color/3.2.1: resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} dependencies: @@ -13204,12 +11976,6 @@ packages: engines: {node: '>= 0.6'} dev: true - /convert-source-map/1.7.0: - resolution: {integrity: sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==} - dependencies: - safe-buffer: 5.1.2 - dev: true - /convert-source-map/1.8.0: resolution: {integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==} dependencies: @@ -13768,23 +12534,12 @@ packages: resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} dev: true - /cssom/0.4.4: - resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==} - dev: true - /cssstyle/1.4.0: resolution: {integrity: sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==} dependencies: cssom: 0.3.8 dev: true - /cssstyle/2.3.0: - resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} - engines: {node: '>=8'} - dependencies: - cssom: 0.3.8 - dev: true - /csstype/2.6.18: resolution: {integrity: sha512-RSU6Hyeg14am3Ah4VZEmeX8H7kLwEEirXe6aU2IPfKNvhXwTflK5HQRDNI0ypQXoqmm+QPyG2IaPuQE5zMwSIQ==} dev: true @@ -13828,15 +12583,6 @@ packages: whatwg-url: 7.1.0 dev: true - /data-urls/2.0.0: - resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} - engines: {node: '>=10'} - dependencies: - abab: 2.0.5 - whatwg-mimetype: 2.3.0 - whatwg-url: 8.7.0 - dev: true - /date-fns/2.23.0: resolution: {integrity: sha512-5ycpauovVyAk0kXNZz6ZoB9AYMZB4DObse7P3BPWmyEjXNORTI8EJ6X0uaSAq4sCHzM1uajzrkr6HnsLQpxGXA==} engines: {node: '>=0.11'} @@ -13903,13 +12649,27 @@ packages: supports-color: 6.1.0 dev: true + /debug/4.3.2_supports-color@8.1.1: + resolution: {integrity: sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + supports-color: 8.1.1 + dev: true + /decamelize/1.2.0: resolution: {integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=} engines: {node: '>=0.10.0'} dev: true - /decimal.js/10.3.1: - resolution: {integrity: sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==} + /decamelize/4.0.0: + resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} + engines: {node: '>=10'} dev: true /decode-uri-component/0.2.0: @@ -13924,10 +12684,6 @@ packages: mimic-response: 1.0.1 dev: true - /dedent/0.7.0: - resolution: {integrity: sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=} - dev: true - /deep-equal/1.1.1: resolution: {integrity: sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==} dependencies: @@ -14075,11 +12831,6 @@ packages: repeat-string: 1.6.1 dev: true - /detect-newline/3.1.0: - resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} - engines: {node: '>=8'} - dev: true - /detect-node/2.1.0: resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} dev: true @@ -14102,14 +12853,9 @@ packages: debug: 2.6.9 dev: true - /diff-sequences/26.6.2: - resolution: {integrity: sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==} - engines: {node: '>= 10.14.2'} - dev: true - - /diff-sequences/27.0.6: - resolution: {integrity: sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + /diff/5.0.0: + resolution: {integrity: sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==} + engines: {node: '>=0.3.1'} dev: true /diffie-hellman/5.0.3: @@ -14225,13 +12971,6 @@ packages: webidl-conversions: 4.0.2 dev: true - /domexception/2.0.1: - resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} - engines: {node: '>=8'} - dependencies: - webidl-conversions: 5.0.0 - dev: true - /domhandler/4.2.2: resolution: {integrity: sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==} engines: {node: '>= 4'} @@ -14393,11 +13132,6 @@ packages: minimalistic-crypto-utils: 1.0.1 dev: true - /emittery/0.7.2: - resolution: {integrity: sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==} - engines: {node: '>=10'} - dev: true - /emittery/0.8.1: resolution: {integrity: sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==} engines: {node: '>=10'} @@ -14500,17 +13234,6 @@ packages: hasBin: true dev: true - /enzyme-adapter-preact-pure/3.1.0_enzyme@3.11.0+preact@10.5.14: - resolution: {integrity: sha512-IyhHVOe4TtgnQX/iF1PGvhNFXZCBJ8amRQ30Atb6actyelMh4tQAXEjj06FaO5c+frChgDw3YxtLxGEs1Mhv2A==} - peerDependencies: - enzyme: ^3.8.0 - preact: ^10.0.0 - dependencies: - array.prototype.flatmap: 1.2.4 - enzyme: 3.11.0 - preact: 10.5.14 - dev: true - /enzyme-adapter-preact-pure/3.2.0_enzyme@3.11.0+preact@10.5.15: resolution: {integrity: sha512-A7bxIxUZ1Ty5vBmB6KQSP7GLwuXDZQ297DcYsNtR/AQUSxanIHcxEY8Eqk6mJt03CYwcq9EcAg/+LBAXQr5kvw==} peerDependencies: @@ -14843,7 +13566,7 @@ packages: resolution: {integrity: sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==} dependencies: debug: 2.6.9 - resolve: 1.19.0 + resolve: 1.20.0 dev: true /eslint-module-utils/2.6.0: @@ -14877,8 +13600,8 @@ packages: peerDependencies: eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 dependencies: - array-includes: 3.1.2 - array.prototype.flat: 1.2.4 + array-includes: 3.1.4 + array.prototype.flat: 1.2.5 contains-path: 0.1.0 debug: 2.6.9 doctrine: 1.5.0 @@ -14887,9 +13610,9 @@ packages: eslint-module-utils: 2.6.0 has: 1.0.3 minimatch: 3.0.4 - object.values: 1.1.2 + object.values: 1.1.5 read-pkg-up: 2.0.0 - resolve: 1.19.0 + resolve: 1.20.0 tsconfig-paths: 3.9.0 dev: true @@ -14912,17 +13635,17 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 dependencies: - '@babel/runtime': 7.12.5 + '@babel/runtime': 7.16.3 aria-query: 4.2.2 - array-includes: 3.1.2 + array-includes: 3.1.4 ast-types-flow: 0.0.7 - axe-core: 4.1.1 + axe-core: 4.3.5 axobject-query: 2.2.0 damerau-levenshtein: 1.0.6 emoji-regex: 9.2.0 eslint: 7.18.0 has: 1.0.3 - jsx-ast-utils: 3.2.0 + jsx-ast-utils: 3.2.1 language-tags: 1.0.5 dev: true @@ -15053,43 +13776,43 @@ packages: engines: {node: ^10.12.0 || >=12.0.0} hasBin: true dependencies: - '@babel/code-frame': 7.12.11 + '@babel/code-frame': 7.16.0 '@eslint/eslintrc': 0.3.0 ajv: 6.12.6 - chalk: 4.1.0 + chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.1 + debug: 4.3.2 doctrine: 3.0.0 enquirer: 2.3.6 eslint-scope: 5.1.1 eslint-utils: 2.1.0 - eslint-visitor-keys: 2.0.0 + eslint-visitor-keys: 2.1.0 espree: 7.3.1 - esquery: 1.3.1 + esquery: 1.4.0 esutils: 2.0.3 - file-entry-cache: 6.0.0 + file-entry-cache: 6.0.1 functional-red-black-tree: 1.0.1 - glob-parent: 5.1.1 + glob-parent: 5.1.2 globals: 12.4.0 ignore: 4.0.6 import-fresh: 3.3.0 imurmurhash: 0.1.4 - is-glob: 4.0.1 + is-glob: 4.0.3 js-yaml: 3.14.1 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 - lodash: 4.17.20 + lodash: 4.17.21 minimatch: 3.0.4 natural-compare: 1.4.0 optionator: 0.9.1 progress: 2.0.3 - regexpp: 3.1.0 - semver: 7.3.4 - strip-ansi: 6.0.0 + regexpp: 3.2.0 + semver: 7.3.5 + strip-ansi: 6.0.1 strip-json-comments: 3.1.1 table: 6.0.7 text-table: 0.2.0 - v8-compile-cache: 2.2.0 + v8-compile-cache: 2.3.0 transitivePeerDependencies: - supports-color dev: true @@ -15151,7 +13874,7 @@ packages: engines: {node: ^10.12.0 || >=12.0.0} dependencies: acorn: 7.4.1 - acorn-jsx: 5.3.1_acorn@7.4.1 + acorn-jsx: 5.3.2_acorn@7.4.1 eslint-visitor-keys: 1.3.0 dev: true @@ -15170,13 +13893,6 @@ packages: hasBin: true dev: true - /esquery/1.3.1: - resolution: {integrity: sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==} - engines: {node: '>=0.10'} - dependencies: - estraverse: 5.2.0 - dev: true - /esquery/1.4.0: resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} engines: {node: '>=0.10'} @@ -15264,41 +13980,6 @@ packages: strip-eof: 1.0.0 dev: true - /execa/4.1.0: - resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} - engines: {node: '>=10'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 5.2.0 - human-signals: 1.1.1 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.3 - strip-final-newline: 2.0.0 - dev: true - - /execa/5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} - 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.5 - strip-final-newline: 2.0.0 - dev: true - - /exit/0.1.2: - resolution: {integrity: sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=} - engines: {node: '>= 0.8.0'} - dev: true - /expand-brackets/2.1.4: resolution: {integrity: sha1-t3c14xXOMPa27/D4OwQVGiJEliI=} engines: {node: '>=0.10.0'} @@ -15312,30 +13993,6 @@ packages: to-regex: 3.0.2 dev: true - /expect/26.6.2: - resolution: {integrity: sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/types': 26.6.2 - ansi-styles: 4.3.0 - jest-get-type: 26.3.0 - jest-matcher-utils: 26.6.2 - jest-message-util: 26.6.2 - jest-regex-util: 26.0.0 - dev: true - - /expect/27.3.1: - resolution: {integrity: sha512-MrNXV2sL9iDRebWPGOGFdPQRl2eDQNu/uhxIMShjjx74T6kC6jFIkmQ6OqXDtevjGUkyB2IT56RzDBqXf/QPCg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.2.5 - ansi-styles: 5.2.0 - jest-get-type: 27.3.1 - jest-matcher-utils: 27.3.1 - jest-message-util: 27.3.1 - jest-regex-util: 27.0.6 - dev: true - /express/4.17.1: resolution: {integrity: sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==} engines: {node: '>= 0.10.0'} @@ -15525,13 +14182,6 @@ packages: escape-string-regexp: 1.0.5 dev: true - /file-entry-cache/6.0.0: - resolution: {integrity: sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flat-cache: 3.0.4 - dev: true - /file-entry-cache/6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -15684,6 +14334,11 @@ packages: rimraf: 3.0.2 dev: true + /flat/5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + dev: true + /flatted/3.2.2: resolution: {integrity: sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==} dev: true @@ -15733,7 +14388,7 @@ packages: engines: {node: '>=8.0.0'} dependencies: cross-spawn: 7.0.3 - signal-exit: 3.0.3 + signal-exit: 3.0.5 dev: true /forever-agent/0.6.1: @@ -15804,6 +14459,37 @@ packages: webpack: 4.46.0 dev: true + /fork-ts-checker-webpack-plugin/6.4.0_typescript@4.3.5+webpack@4.46.0: + resolution: {integrity: sha512-3I3wFkc4DbzaUDPWEi96wdYGu4EKtxBafhZYm0o4mX51d9bphAY4P3mBl8K5mFXFJqVzHfmdbm9kLGnm7vwwBg==} + 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 + dependencies: + '@babel/code-frame': 7.16.0 + '@types/json-schema': 7.0.9 + chalk: 4.1.2 + chokidar: 3.5.2 + cosmiconfig: 6.0.0 + deepmerge: 4.2.2 + fs-extra: 9.1.0 + glob: 7.2.0 + memfs: 3.3.0 + minimatch: 3.0.4 + schema-utils: 2.7.0 + semver: 7.3.5 + tapable: 1.1.3 + typescript: 4.3.5 + webpack: 4.46.0 + dev: true + /form-data/2.3.3: resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} engines: {node: '>= 0.12'} @@ -15994,6 +14680,21 @@ packages: wide-align: 1.1.5 dev: true + /gauge/3.0.2: + resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} + engines: {node: '>=10'} + dependencies: + aproba: 1.2.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.5 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wide-align: 1.1.5 + dev: true + /gensync/1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} @@ -16053,11 +14754,6 @@ packages: pump: 3.0.0 dev: true - /get-stream/6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - dev: true - /get-symbol-description/1.0.0: resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} engines: {node: '>= 0.4'} @@ -16116,13 +14812,6 @@ packages: path-dirname: 1.0.2 dev: true - /glob-parent/5.1.1: - resolution: {integrity: sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==} - engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.1 - dev: true - /glob-parent/5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -16161,6 +14850,10 @@ packages: resolution: {integrity: sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=} dev: true + /glob-to-regexp/0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + dev: true + /glob/7.1.6: resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} dependencies: @@ -16336,10 +15029,10 @@ packages: resolution: {integrity: sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==} dev: true - /growly/1.3.0: - resolution: {integrity: sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=} + /growl/1.10.5: + resolution: {integrity: sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==} + engines: {node: '>=4.x'} dev: true - optional: true /gud/1.0.0: resolution: {integrity: sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==} @@ -16377,6 +15070,19 @@ packages: uglify-js: 3.14.3 dev: true + /handlebars/4.7.7: + resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==} + engines: {node: '>=0.4.7'} + hasBin: true + dependencies: + minimist: 1.2.5 + neo-async: 2.6.2 + source-map: 0.6.1 + wordwrap: 1.0.0 + optionalDependencies: + uglify-js: 3.14.3 + dev: true + /har-schema/2.0.0: resolution: {integrity: sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=} engines: {node: '>=4'} @@ -16391,10 +15097,6 @@ packages: har-schema: 2.0.0 dev: true - /harmony-reflect/1.6.2: - resolution: {integrity: sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==} - dev: true - /has-bigints/1.0.1: resolution: {integrity: sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==} dev: true @@ -16509,7 +15211,7 @@ packages: resolution: {integrity: sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==} engines: {node: '>=8'} dependencies: - is-stream: 2.0.0 + is-stream: 2.0.1 type-fest: 0.8.1 dev: true @@ -16599,6 +15301,18 @@ packages: value-equal: 1.0.1 dev: false + /history/5.0.0: + resolution: {integrity: sha512-3NyRMKIiFSJmIPdq7FxkNMJkQ7ZEtVblOQ38VtKaA0zZMW1Eo6Q6W8oDKEflr1kNNTItSnk4JMCO1deeSgbLLg==} + dependencies: + '@babel/runtime': 7.16.3 + dev: true + + /history/5.2.0: + resolution: {integrity: sha512-uPSF6lAJb3nSePJ43hN3eKj1dTWpN9gMod0ZssbFTIsen+WehTmEadgL+kg78xLJFdRfrrC//SavDzmRVdE+Ig==} + dependencies: + '@babel/runtime': 7.16.3 + dev: true + /hmac-drbg/1.0.1: resolution: {integrity: sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=} dependencies: @@ -16647,13 +15361,6 @@ packages: whatwg-encoding: 1.0.5 dev: true - /html-encoding-sniffer/2.0.1: - resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} - engines: {node: '>=10'} - dependencies: - whatwg-encoding: 1.0.5 - dev: true - /html-entities/1.4.0: resolution: {integrity: sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==} dev: true @@ -16796,17 +15503,6 @@ packages: resolution: {integrity: sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==} dev: true - /http-proxy-agent/4.0.1: - resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} - engines: {node: '>= 6'} - dependencies: - '@tootallnate/once': 1.1.2 - agent-base: 6.0.2 - debug: 4.3.2 - transitivePeerDependencies: - - supports-color - dev: true - /http-proxy-middleware/0.19.1_debug@4.3.2: resolution: {integrity: sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==} engines: {node: '>=4.0.0'} @@ -16843,26 +15539,6 @@ packages: resolution: {integrity: sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=} dev: true - /https-proxy-agent/5.0.0: - resolution: {integrity: sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==} - engines: {node: '>= 6'} - dependencies: - agent-base: 6.0.2 - debug: 4.3.2 - transitivePeerDependencies: - - supports-color - dev: true - - /human-signals/1.1.1: - resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} - engines: {node: '>=8.12.0'} - dev: true - - /human-signals/2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - dev: true - /iconv-lite/0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -16901,13 +15577,6 @@ packages: resolution: {integrity: sha512-IJtugpKkiVXQn5Y+LteyBCNk1N8xpGV3wWZk9EVtZWH8DYkjBn0bX1XnGP9RkyZF0sAcywa6unHqSWKe7q4LGw==} dev: true - /identity-obj-proxy/3.0.0: - resolution: {integrity: sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ=} - engines: {node: '>=4'} - dependencies: - harmony-reflect: 1.6.2 - dev: true - /ieee754/1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} dev: true @@ -16998,15 +15667,6 @@ packages: resolve-cwd: 3.0.0 dev: true - /import-local/3.0.3: - resolution: {integrity: sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==} - engines: {node: '>=8'} - hasBin: true - dependencies: - pkg-dir: 4.2.0 - resolve-cwd: 3.0.0 - dev: true - /imurmurhash/0.1.4: resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=} engines: {node: '>=0.8.19'} @@ -17223,13 +15883,6 @@ packages: ci-info: 2.0.0 dev: true - /is-ci/3.0.0: - resolution: {integrity: sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==} - hasBin: true - dependencies: - ci-info: 3.2.0 - dev: true - /is-color-stop/1.1.0: resolution: {integrity: sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=} dependencies: @@ -17361,11 +16014,6 @@ packages: resolution: {integrity: sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==} dev: true - /is-generator-fn/2.1.0: - resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} - engines: {node: '>=6'} - dev: true - /is-glob/2.0.1: resolution: {integrity: sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=} engines: {node: '>=0.10.0'} @@ -17508,10 +16156,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /is-potential-custom-element-name/1.0.1: - resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} - dev: true - /is-promise/4.0.0: resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} dev: true @@ -17564,11 +16208,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /is-stream/2.0.0: - resolution: {integrity: sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==} - engines: {node: '>=8'} - dev: true - /is-stream/2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} @@ -17685,11 +16324,6 @@ packages: resolution: {integrity: sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=} dev: true - /istanbul-lib-coverage/3.0.0: - resolution: {integrity: sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==} - engines: {node: '>=8'} - dev: true - /istanbul-lib-coverage/3.2.0: resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} engines: {node: '>=8'} @@ -17719,7 +16353,7 @@ packages: engines: {node: '>=8'} dependencies: '@babel/core': 7.16.0 - '@babel/parser': 7.16.2 + '@babel/parser': 7.16.4 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.0 semver: 6.3.0 @@ -17733,7 +16367,7 @@ packages: dependencies: archy: 1.0.0 cross-spawn: 7.0.3 - istanbul-lib-coverage: 3.0.0 + istanbul-lib-coverage: 3.2.0 make-dir: 3.1.0 p-map: 3.0.0 rimraf: 3.0.2 @@ -17749,17 +16383,6 @@ packages: supports-color: 7.2.0 dev: true - /istanbul-lib-source-maps/4.0.0: - resolution: {integrity: sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==} - engines: {node: '>=8'} - dependencies: - debug: 4.3.2 - istanbul-lib-coverage: 3.0.0 - source-map: 0.6.1 - transitivePeerDependencies: - - supports-color - dev: true - /istanbul-lib-source-maps/4.0.1: resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} engines: {node: '>=10'} @@ -17771,14 +16394,6 @@ packages: - supports-color dev: true - /istanbul-reports/3.0.2: - resolution: {integrity: sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==} - engines: {node: '>=8'} - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.0 - dev: true - /istanbul-reports/3.0.5: resolution: {integrity: sha512-5+19PlhnGabNWB7kOFnuxT8H3T/iIyQzIbQMxXsURmmvKg86P2sbkrGOT77VnHw0Qr0gc2XzRaRfMZYYbSQCJQ==} engines: {node: '>=8'} @@ -17801,304 +16416,6 @@ packages: /jed/1.1.1: resolution: {integrity: sha1-elSbvZ/+FYWwzQoZHiAwVb7ldLQ=} - /jest-changed-files/26.6.2: - resolution: {integrity: sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/types': 26.6.2 - execa: 4.1.0 - throat: 5.0.0 - dev: true - - /jest-changed-files/27.3.0: - resolution: {integrity: sha512-9DJs9garMHv4RhylUMZgbdCJ3+jHSkpL9aaVKp13xtXAD80qLTLrqcDZL1PHA9dYA0bCI86Nv2BhkLpLhrBcPg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.2.5 - execa: 5.1.1 - throat: 6.0.1 - dev: true - - /jest-circus/27.3.1: - resolution: {integrity: sha512-v1dsM9II6gvXokgqq6Yh2jHCpfg7ZqV4jWY66u7npz24JnhP3NHxI0sKT7+ZMQ7IrOWHYAaeEllOySbDbWsiXw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/environment': 27.3.1 - '@jest/test-result': 27.3.1 - '@jest/types': 27.2.5 - '@types/node': 16.11.6 - chalk: 4.1.2 - co: 4.6.0 - dedent: 0.7.0 - expect: 27.3.1 - is-generator-fn: 2.1.0 - jest-each: 27.3.1 - jest-matcher-utils: 27.3.1 - jest-message-util: 27.3.1 - jest-runtime: 27.3.1 - jest-snapshot: 27.3.1 - jest-util: 27.3.1 - pretty-format: 27.3.1 - slash: 3.0.0 - stack-utils: 2.0.5 - throat: 6.0.1 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-cli/26.6.3: - resolution: {integrity: sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==} - engines: {node: '>= 10.14.2'} - hasBin: true - dependencies: - '@jest/core': 26.6.3 - '@jest/test-result': 26.6.2 - '@jest/types': 26.6.2 - chalk: 4.1.2 - exit: 0.1.2 - graceful-fs: 4.2.8 - import-local: 3.0.2 - is-ci: 2.0.0 - jest-config: 26.6.3 - jest-util: 26.6.2 - jest-validate: 26.6.2 - prompts: 2.4.1 - yargs: 15.4.1 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - dev: true - - /jest-cli/27.3.1: - resolution: {integrity: sha512-WHnCqpfK+6EvT62me6WVs8NhtbjAS4/6vZJnk7/2+oOr50cwAzG4Wxt6RXX0hu6m1169ZGMlhYYUNeKBXCph/Q==} - 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 - dependencies: - '@jest/core': 27.3.1 - '@jest/test-result': 27.3.1 - '@jest/types': 27.2.5 - chalk: 4.1.2 - exit: 0.1.2 - graceful-fs: 4.2.8 - import-local: 3.0.3 - jest-config: 27.3.1 - jest-util: 27.3.1 - jest-validate: 27.3.1 - prompts: 2.4.2 - yargs: 16.2.0 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - dev: true - - /jest-config/26.6.3: - resolution: {integrity: sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==} - engines: {node: '>= 10.14.2'} - peerDependencies: - ts-node: '>=9.0.0' - peerDependenciesMeta: - ts-node: - optional: true - dependencies: - '@babel/core': 7.15.0 - '@jest/test-sequencer': 26.6.3 - '@jest/types': 26.6.2 - babel-jest: 26.6.3_@babel+core@7.15.0 - chalk: 4.1.2 - deepmerge: 4.2.2 - glob: 7.1.7 - graceful-fs: 4.2.8 - jest-environment-jsdom: 26.6.2 - jest-environment-node: 26.6.2 - jest-get-type: 26.3.0 - jest-jasmine2: 26.6.3 - jest-regex-util: 26.0.0 - jest-resolve: 26.6.2 - jest-util: 26.6.2 - jest-validate: 26.6.2 - micromatch: 4.0.4 - pretty-format: 26.6.2 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - utf-8-validate - dev: true - - /jest-config/27.3.1: - resolution: {integrity: sha512-KY8xOIbIACZ/vdYCKSopL44I0xboxC751IX+DXL2+Wx6DKNycyEfV3rryC3BPm5Uq/BBqDoMrKuqLEUNJmMKKg==} - 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 - dependencies: - '@babel/core': 7.16.0 - '@jest/test-sequencer': 27.3.1 - '@jest/types': 27.2.5 - babel-jest: 27.3.1_@babel+core@7.16.0 - chalk: 4.1.2 - ci-info: 3.2.0 - deepmerge: 4.2.2 - glob: 7.2.0 - graceful-fs: 4.2.8 - jest-circus: 27.3.1 - jest-environment-jsdom: 27.3.1 - jest-environment-node: 27.3.1 - jest-get-type: 27.3.1 - jest-jasmine2: 27.3.1 - jest-regex-util: 27.0.6 - jest-resolve: 27.3.1 - jest-runner: 27.3.1 - jest-util: 27.3.1 - jest-validate: 27.3.1 - micromatch: 4.0.4 - pretty-format: 27.3.1 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - utf-8-validate - dev: true - - /jest-diff/26.6.2: - resolution: {integrity: sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==} - engines: {node: '>= 10.14.2'} - dependencies: - chalk: 4.1.2 - diff-sequences: 26.6.2 - jest-get-type: 26.3.0 - pretty-format: 26.6.2 - dev: true - - /jest-diff/27.3.1: - resolution: {integrity: sha512-PCeuAH4AWUo2O5+ksW4pL9v5xJAcIKPUPfIhZBcG1RKv/0+dvaWTQK1Nrau8d67dp65fOqbeMdoil+6PedyEPQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - chalk: 4.1.2 - diff-sequences: 27.0.6 - jest-get-type: 27.3.1 - pretty-format: 27.3.1 - dev: true - - /jest-docblock/26.0.0: - resolution: {integrity: sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==} - engines: {node: '>= 10.14.2'} - dependencies: - detect-newline: 3.1.0 - dev: true - - /jest-docblock/27.0.6: - resolution: {integrity: sha512-Fid6dPcjwepTFraz0YxIMCi7dejjJ/KL9FBjPYhBp4Sv1Y9PdhImlKZqYU555BlN4TQKaTc+F2Av1z+anVyGkA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - detect-newline: 3.1.0 - dev: true - - /jest-each/26.6.2: - resolution: {integrity: sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/types': 26.6.2 - chalk: 4.1.2 - jest-get-type: 26.3.0 - jest-util: 26.6.2 - pretty-format: 26.6.2 - dev: true - - /jest-each/27.3.1: - resolution: {integrity: sha512-E4SwfzKJWYcvOYCjOxhZcxwL+AY0uFMvdCOwvzgutJiaiodFjkxQQDxHm8FQBeTqDnSmKsQWn7ldMRzTn2zJaQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.2.5 - chalk: 4.1.2 - jest-get-type: 27.3.1 - jest-util: 27.3.1 - pretty-format: 27.3.1 - dev: true - - /jest-environment-jsdom/26.6.2: - resolution: {integrity: sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/environment': 26.6.2 - '@jest/fake-timers': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 14.17.10 - jest-mock: 26.6.2 - jest-util: 26.6.2 - jsdom: 16.7.0 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - utf-8-validate - dev: true - - /jest-environment-jsdom/27.3.1: - resolution: {integrity: sha512-3MOy8qMzIkQlfb3W1TfrD7uZHj+xx8Olix5vMENkj5djPmRqndMaXtpnaZkxmxM+Qc3lo+yVzJjzuXbCcZjAlg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/environment': 27.3.1 - '@jest/fake-timers': 27.3.1 - '@jest/types': 27.2.5 - '@types/node': 16.11.6 - jest-mock: 27.3.0 - jest-util: 27.3.1 - jsdom: 16.7.0 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - utf-8-validate - dev: true - - /jest-environment-node/26.6.2: - resolution: {integrity: sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/environment': 26.6.2 - '@jest/fake-timers': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 14.17.10 - jest-mock: 26.6.2 - jest-util: 26.6.2 - dev: true - - /jest-environment-node/27.3.1: - resolution: {integrity: sha512-T89F/FgkE8waqrTSA7/ydMkcc52uYPgZZ6q8OaZgyiZkJb5QNNCF6oPZjH9IfPFfcc9uBWh1574N0kY0pSvTXw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/environment': 27.3.1 - '@jest/fake-timers': 27.3.1 - '@jest/types': 27.2.5 - '@types/node': 16.11.6 - jest-mock: 27.3.0 - jest-util: 27.3.1 - dev: true - - /jest-get-type/26.3.0: - resolution: {integrity: sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==} - engines: {node: '>= 10.14.2'} - dev: true - - /jest-get-type/27.3.1: - resolution: {integrity: sha512-+Ilqi8hgHSAdhlQ3s12CAVNd8H96ZkQBfYoXmArzZnOfAtVAJEiPDBirjByEblvG/4LPJmkL+nBqPO3A1YJAEg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dev: true - /jest-haste-map/26.6.2: resolution: {integrity: sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==} engines: {node: '>= 10.14.2'} @@ -18120,448 +16437,11 @@ packages: fsevents: 2.3.2 dev: true - /jest-haste-map/27.3.1: - resolution: {integrity: sha512-lYfNZIzwPccDJZIyk9Iz5iQMM/MH56NIIcGj7AFU1YyA4ewWFBl8z+YPJuSCRML/ee2cCt2y3W4K3VXPT6Nhzg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.2.5 - '@types/graceful-fs': 4.1.5 - '@types/node': 16.11.6 - anymatch: 3.1.2 - fb-watchman: 2.0.1 - graceful-fs: 4.2.8 - jest-regex-util: 27.0.6 - jest-serializer: 27.0.6 - jest-util: 27.3.1 - jest-worker: 27.3.1 - micromatch: 4.0.4 - walker: 1.0.8 - optionalDependencies: - fsevents: 2.3.2 - dev: true - - /jest-jasmine2/26.6.3: - resolution: {integrity: sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==} - engines: {node: '>= 10.14.2'} - dependencies: - '@babel/traverse': 7.15.0 - '@jest/environment': 26.6.2 - '@jest/source-map': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 14.17.10 - chalk: 4.1.2 - co: 4.6.0 - expect: 26.6.2 - is-generator-fn: 2.1.0 - jest-each: 26.6.2 - jest-matcher-utils: 26.6.2 - jest-message-util: 26.6.2 - jest-runtime: 26.6.3 - jest-snapshot: 26.6.2 - jest-util: 26.6.2 - pretty-format: 26.6.2 - throat: 5.0.0 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - dev: true - - /jest-jasmine2/27.3.1: - resolution: {integrity: sha512-WK11ZUetDQaC09w4/j7o4FZDUIp+4iYWH/Lik34Pv7ukL+DuXFGdnmmi7dT58J2ZYKFB5r13GyE0z3NPeyJmsg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@babel/traverse': 7.16.0 - '@jest/environment': 27.3.1 - '@jest/source-map': 27.0.6 - '@jest/test-result': 27.3.1 - '@jest/types': 27.2.5 - '@types/node': 16.11.6 - chalk: 4.1.2 - co: 4.6.0 - expect: 27.3.1 - is-generator-fn: 2.1.0 - jest-each: 27.3.1 - jest-matcher-utils: 27.3.1 - jest-message-util: 27.3.1 - jest-runtime: 27.3.1 - jest-snapshot: 27.3.1 - jest-util: 27.3.1 - pretty-format: 27.3.1 - throat: 6.0.1 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-leak-detector/26.6.2: - resolution: {integrity: sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==} - engines: {node: '>= 10.14.2'} - dependencies: - jest-get-type: 26.3.0 - pretty-format: 26.6.2 - dev: true - - /jest-leak-detector/27.3.1: - resolution: {integrity: sha512-78QstU9tXbaHzwlRlKmTpjP9k4Pvre5l0r8Spo4SbFFVy/4Abg9I6ZjHwjg2QyKEAMg020XcjP+UgLZIY50yEg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - jest-get-type: 27.3.1 - pretty-format: 27.3.1 - dev: true - - /jest-matcher-utils/26.6.2: - resolution: {integrity: sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==} - engines: {node: '>= 10.14.2'} - dependencies: - chalk: 4.1.2 - jest-diff: 26.6.2 - jest-get-type: 26.3.0 - pretty-format: 26.6.2 - dev: true - - /jest-matcher-utils/27.3.1: - resolution: {integrity: sha512-hX8N7zXS4k+8bC1Aj0OWpGb7D3gIXxYvPNK1inP5xvE4ztbz3rc4AkI6jGVaerepBnfWB17FL5lWFJT3s7qo8w==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - chalk: 4.1.2 - jest-diff: 27.3.1 - jest-get-type: 27.3.1 - pretty-format: 27.3.1 - dev: true - - /jest-message-util/26.6.2: - resolution: {integrity: sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==} - engines: {node: '>= 10.14.2'} - dependencies: - '@babel/code-frame': 7.14.5 - '@jest/types': 26.6.2 - '@types/stack-utils': 2.0.1 - chalk: 4.1.2 - graceful-fs: 4.2.8 - micromatch: 4.0.4 - pretty-format: 26.6.2 - slash: 3.0.0 - stack-utils: 2.0.3 - dev: true - - /jest-message-util/27.1.0: - resolution: {integrity: sha512-Eck8NFnJ5Sg36R9XguD65cf2D5+McC+NF5GIdEninoabcuoOfWrID5qJhufq5FB0DRKoiyxB61hS7MKoMD0trQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@babel/code-frame': 7.14.5 - '@jest/types': 27.1.0 - '@types/stack-utils': 2.0.1 - chalk: 4.1.2 - graceful-fs: 4.2.8 - micromatch: 4.0.4 - pretty-format: 27.1.0 - slash: 3.0.0 - stack-utils: 2.0.3 - dev: true - - /jest-message-util/27.3.1: - resolution: {integrity: sha512-bh3JEmxsTZ/9rTm0jQrPElbY2+y48Rw2t47uMfByNyUVR+OfPh4anuyKsGqsNkXk/TI4JbLRZx+7p7Hdt6q1yg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@babel/code-frame': 7.16.0 - '@jest/types': 27.2.5 - '@types/stack-utils': 2.0.1 - chalk: 4.1.2 - graceful-fs: 4.2.8 - micromatch: 4.0.4 - pretty-format: 27.3.1 - slash: 3.0.0 - stack-utils: 2.0.5 - dev: true - - /jest-mock/26.6.2: - resolution: {integrity: sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/types': 26.6.2 - '@types/node': 14.17.10 - dev: true - - /jest-mock/27.3.0: - resolution: {integrity: sha512-ziZiLk0elZOQjD08bLkegBzv5hCABu/c8Ytx45nJKkysQwGaonvmTxwjLqEA4qGdasq9o2I8/HtdGMNnVsMTGw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.2.5 - '@types/node': 16.11.6 - dev: true - - /jest-pnp-resolver/1.2.2_jest-resolve@26.6.2: - resolution: {integrity: sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==} - engines: {node: '>=6'} - peerDependencies: - jest-resolve: '*' - peerDependenciesMeta: - jest-resolve: - optional: true - dependencies: - jest-resolve: 26.6.2 - dev: true - - /jest-pnp-resolver/1.2.2_jest-resolve@27.3.1: - resolution: {integrity: sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==} - engines: {node: '>=6'} - peerDependencies: - jest-resolve: '*' - peerDependenciesMeta: - jest-resolve: - optional: true - dependencies: - jest-resolve: 27.3.1 - dev: true - - /jest-preset-preact/4.0.2_9b3f24ae35a87c3c82fffbe3fdf70e1e: - resolution: {integrity: sha512-Grgu1scmHcNcU9pKOS4FX8pVPxfqmlKCc6SWkOEg17JiBhvYjVdyxsPw22v/P98iYc6Y+357JSoh5f0lyASr1Q==} - peerDependencies: - jest: 26.x - preact: 10.x - preact-render-to-string: 5.x - dependencies: - '@babel/core': 7.15.0 - '@babel/plugin-proposal-class-properties': 7.14.5_@babel+core@7.15.0 - '@babel/plugin-transform-react-jsx': 7.14.9_@babel+core@7.15.0 - '@babel/preset-env': 7.15.0_@babel+core@7.15.0 - '@babel/preset-typescript': 7.15.0_@babel+core@7.15.0 - babel-jest: 26.6.3_@babel+core@7.15.0 - identity-obj-proxy: 3.0.0 - isomorphic-unfetch: 3.1.0 - jest: 26.6.3 - jest-watch-typeahead: 0.6.4_jest@26.6.3 - preact: 10.5.14 - preact-render-to-string: 5.1.19_preact@10.5.14 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-preset-preact/4.0.5_726380f5f23d12d9b6cc402fef7b8b84: - resolution: {integrity: sha512-MnU7mfpnwopJkdx0WoEyRmrNDIvRN+w6sOur0zEhaRYYMo0gJM7UdZHWTV8k6uo0+ypY+m0kQW6kMukUx4v8JQ==} - peerDependencies: - jest: 26.x || 27.x - preact: 10.x - preact-render-to-string: 5.x - dependencies: - '@babel/core': 7.16.0 - '@babel/plugin-proposal-class-properties': 7.16.0_@babel+core@7.16.0 - '@babel/plugin-transform-react-jsx': 7.16.0_@babel+core@7.16.0 - '@babel/preset-env': 7.16.0_@babel+core@7.16.0 - '@babel/preset-typescript': 7.16.0_@babel+core@7.16.0 - babel-jest: 27.3.1_@babel+core@7.16.0 - identity-obj-proxy: 3.0.0 - isomorphic-unfetch: 3.1.0 - jest: 27.3.1 - jest-watch-typeahead: 0.6.5_jest@27.3.1 - preact: 10.5.15 - preact-render-to-string: 5.1.19_preact@10.5.15 - transitivePeerDependencies: - - supports-color - dev: true - /jest-regex-util/26.0.0: resolution: {integrity: sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==} engines: {node: '>= 10.14.2'} dev: true - /jest-regex-util/27.0.6: - resolution: {integrity: sha512-SUhPzBsGa1IKm8hx2F4NfTGGp+r7BXJ4CulsZ1k2kI+mGLG+lxGrs76veN2LF/aUdGosJBzKgXmNCw+BzFqBDQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dev: true - - /jest-resolve-dependencies/26.6.3: - resolution: {integrity: sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/types': 26.6.2 - jest-regex-util: 26.0.0 - jest-snapshot: 26.6.2 - dev: true - - /jest-resolve-dependencies/27.3.1: - resolution: {integrity: sha512-X7iLzY8pCiYOnvYo2YrK3P9oSE8/3N2f4pUZMJ8IUcZnT81vlSonya1KTO9ZfKGuC+svE6FHK/XOb8SsoRUV1A==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.2.5 - jest-regex-util: 27.0.6 - jest-snapshot: 27.3.1 - transitivePeerDependencies: - - supports-color - dev: true - - /jest-resolve/26.6.2: - resolution: {integrity: sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/types': 26.6.2 - chalk: 4.1.2 - graceful-fs: 4.2.8 - jest-pnp-resolver: 1.2.2_jest-resolve@26.6.2 - jest-util: 26.6.2 - read-pkg-up: 7.0.1 - resolve: 1.20.0 - slash: 3.0.0 - dev: true - - /jest-resolve/27.3.1: - resolution: {integrity: sha512-Dfzt25CFSPo3Y3GCbxynRBZzxq9AdyNN+x/v2IqYx6KVT5Z6me2Z/PsSGFSv3cOSUZqJ9pHxilao/I/m9FouLw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.2.5 - chalk: 4.1.2 - graceful-fs: 4.2.8 - jest-haste-map: 27.3.1 - jest-pnp-resolver: 1.2.2_jest-resolve@27.3.1 - jest-util: 27.3.1 - jest-validate: 27.3.1 - resolve: 1.20.0 - resolve.exports: 1.1.0 - slash: 3.0.0 - dev: true - - /jest-runner/26.6.3: - resolution: {integrity: sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/console': 26.6.2 - '@jest/environment': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 14.17.10 - chalk: 4.1.2 - emittery: 0.7.2 - exit: 0.1.2 - graceful-fs: 4.2.8 - jest-config: 26.6.3 - jest-docblock: 26.0.0 - jest-haste-map: 26.6.2 - jest-leak-detector: 26.6.2 - jest-message-util: 26.6.2 - jest-resolve: 26.6.2 - jest-runtime: 26.6.3 - jest-util: 26.6.2 - jest-worker: 26.6.2 - source-map-support: 0.5.19 - throat: 5.0.0 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - dev: true - - /jest-runner/27.3.1: - resolution: {integrity: sha512-r4W6kBn6sPr3TBwQNmqE94mPlYVn7fLBseeJfo4E2uCTmAyDFm2O5DYAQAFP7Q3YfiA/bMwg8TVsciP7k0xOww==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/console': 27.3.1 - '@jest/environment': 27.3.1 - '@jest/test-result': 27.3.1 - '@jest/transform': 27.3.1 - '@jest/types': 27.2.5 - '@types/node': 16.11.6 - chalk: 4.1.2 - emittery: 0.8.1 - exit: 0.1.2 - graceful-fs: 4.2.8 - jest-docblock: 27.0.6 - jest-environment-jsdom: 27.3.1 - jest-environment-node: 27.3.1 - jest-haste-map: 27.3.1 - jest-leak-detector: 27.3.1 - jest-message-util: 27.3.1 - jest-resolve: 27.3.1 - jest-runtime: 27.3.1 - jest-util: 27.3.1 - jest-worker: 27.3.1 - source-map-support: 0.5.20 - throat: 6.0.1 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - utf-8-validate - dev: true - - /jest-runtime/26.6.3: - resolution: {integrity: sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==} - engines: {node: '>= 10.14.2'} - hasBin: true - dependencies: - '@jest/console': 26.6.2 - '@jest/environment': 26.6.2 - '@jest/fake-timers': 26.6.2 - '@jest/globals': 26.6.2 - '@jest/source-map': 26.6.2 - '@jest/test-result': 26.6.2 - '@jest/transform': 26.6.2 - '@jest/types': 26.6.2 - '@types/yargs': 15.0.14 - chalk: 4.1.2 - cjs-module-lexer: 0.6.0 - collect-v8-coverage: 1.0.1 - exit: 0.1.2 - glob: 7.1.7 - graceful-fs: 4.2.8 - jest-config: 26.6.3 - jest-haste-map: 26.6.2 - jest-message-util: 26.6.2 - jest-mock: 26.6.2 - jest-regex-util: 26.0.0 - jest-resolve: 26.6.2 - jest-snapshot: 26.6.2 - jest-util: 26.6.2 - jest-validate: 26.6.2 - slash: 3.0.0 - strip-bom: 4.0.0 - yargs: 15.4.1 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - dev: true - - /jest-runtime/27.3.1: - resolution: {integrity: sha512-qtO6VxPbS8umqhEDpjA4pqTkKQ1Hy4ZSi9mDVeE9Za7LKBo2LdW2jmT+Iod3XFaJqINikZQsn2wEi0j9wPRbLg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/console': 27.3.1 - '@jest/environment': 27.3.1 - '@jest/globals': 27.3.1 - '@jest/source-map': 27.0.6 - '@jest/test-result': 27.3.1 - '@jest/transform': 27.3.1 - '@jest/types': 27.2.5 - '@types/yargs': 16.0.4 - chalk: 4.1.2 - cjs-module-lexer: 1.2.2 - collect-v8-coverage: 1.0.1 - execa: 5.1.1 - exit: 0.1.2 - glob: 7.2.0 - graceful-fs: 4.2.8 - jest-haste-map: 27.3.1 - jest-message-util: 27.3.1 - jest-mock: 27.3.0 - jest-regex-util: 27.0.6 - jest-resolve: 27.3.1 - jest-snapshot: 27.3.1 - jest-util: 27.3.1 - jest-validate: 27.3.1 - slash: 3.0.0 - strip-bom: 4.0.0 - yargs: 16.2.0 - transitivePeerDependencies: - - supports-color - dev: true - /jest-serializer/26.6.2: resolution: {integrity: sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==} engines: {node: '>= 10.14.2'} @@ -18570,68 +16450,6 @@ packages: graceful-fs: 4.2.8 dev: true - /jest-serializer/27.0.6: - resolution: {integrity: sha512-PtGdVK9EGC7dsaziskfqaAPib6wTViY3G8E5wz9tLVPhHyiDNTZn/xjZ4khAw+09QkoOVpn7vF5nPSN6dtBexA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@types/node': 16.11.6 - graceful-fs: 4.2.8 - dev: true - - /jest-snapshot/26.6.2: - resolution: {integrity: sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==} - engines: {node: '>= 10.14.2'} - dependencies: - '@babel/types': 7.15.0 - '@jest/types': 26.6.2 - '@types/babel__traverse': 7.14.2 - '@types/prettier': 2.3.2 - chalk: 4.1.2 - expect: 26.6.2 - graceful-fs: 4.2.8 - jest-diff: 26.6.2 - jest-get-type: 26.3.0 - jest-haste-map: 26.6.2 - jest-matcher-utils: 26.6.2 - jest-message-util: 26.6.2 - jest-resolve: 26.6.2 - natural-compare: 1.4.0 - pretty-format: 26.6.2 - semver: 7.3.5 - dev: true - - /jest-snapshot/27.3.1: - resolution: {integrity: sha512-APZyBvSgQgOT0XumwfFu7X3G5elj6TGhCBLbBdn3R1IzYustPGPE38F51dBWMQ8hRXa9je0vAdeVDtqHLvB6lg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@babel/core': 7.16.0 - '@babel/generator': 7.16.0 - '@babel/parser': 7.16.2 - '@babel/plugin-syntax-typescript': 7.16.0_@babel+core@7.16.0 - '@babel/traverse': 7.16.0 - '@babel/types': 7.16.0 - '@jest/transform': 27.3.1 - '@jest/types': 27.2.5 - '@types/babel__traverse': 7.14.2 - '@types/prettier': 2.4.1 - babel-preset-current-node-syntax: 1.0.1_@babel+core@7.16.0 - chalk: 4.1.2 - expect: 27.3.1 - graceful-fs: 4.2.8 - jest-diff: 27.3.1 - jest-get-type: 27.3.1 - jest-haste-map: 27.3.1 - jest-matcher-utils: 27.3.1 - jest-message-util: 27.3.1 - jest-resolve: 27.3.1 - jest-util: 27.3.1 - natural-compare: 1.4.0 - pretty-format: 27.3.1 - semver: 7.3.5 - transitivePeerDependencies: - - supports-color - dev: true - /jest-util/26.6.2: resolution: {integrity: sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==} engines: {node: '>= 10.14.2'} @@ -18644,125 +16462,6 @@ packages: micromatch: 4.0.4 dev: true - /jest-util/27.1.0: - resolution: {integrity: sha512-edSLD2OneYDKC6gZM1yc+wY/877s/fuJNoM1k3sOEpzFyeptSmke3SLnk1dDHk9CgTA+58mnfx3ew3J11Kes/w==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.1.0 - '@types/node': 14.17.10 - chalk: 4.1.2 - graceful-fs: 4.2.8 - is-ci: 3.0.0 - picomatch: 2.3.0 - dev: true - - /jest-util/27.3.1: - resolution: {integrity: sha512-8fg+ifEH3GDryLQf/eKZck1DEs2YuVPBCMOaHQxVVLmQwl/CDhWzrvChTX4efLZxGrw+AA0mSXv78cyytBt/uw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.2.5 - '@types/node': 16.11.6 - chalk: 4.1.2 - ci-info: 3.2.0 - graceful-fs: 4.2.8 - picomatch: 2.3.0 - dev: true - - /jest-validate/26.6.2: - resolution: {integrity: sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/types': 26.6.2 - camelcase: 6.2.0 - chalk: 4.1.2 - jest-get-type: 26.3.0 - leven: 3.1.0 - pretty-format: 26.6.2 - dev: true - - /jest-validate/27.3.1: - resolution: {integrity: sha512-3H0XCHDFLA9uDII67Bwi1Vy7AqwA5HqEEjyy934lgVhtJ3eisw6ShOF1MDmRPspyikef5MyExvIm0/TuLzZ86Q==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.2.5 - camelcase: 6.2.0 - chalk: 4.1.2 - jest-get-type: 27.3.1 - leven: 3.1.0 - pretty-format: 27.3.1 - dev: true - - /jest-watch-typeahead/0.6.4_jest@26.6.3: - resolution: {integrity: sha512-tGxriteVJqonyrDj/xZHa0E2glKMiglMLQqISLCjxLUfeueRBh9VoRF2FKQyYO2xOqrWDTg7781zUejx411ZXA==} - engines: {node: '>=10'} - peerDependencies: - jest: ^26.0.0 || ^27.0.0 - dependencies: - ansi-escapes: 4.3.2 - chalk: 4.1.2 - jest: 26.6.3 - jest-regex-util: 27.0.6 - jest-watcher: 27.1.0 - slash: 3.0.0 - string-length: 4.0.2 - strip-ansi: 6.0.0 - dev: true - - /jest-watch-typeahead/0.6.5_jest@27.3.1: - resolution: {integrity: sha512-GIbV6h37/isatMDtqZlA8Q5vC6T3w+5qdvtF+3LIkPc58zEWzbKmTHvlUIp3wvBm400RzrQWcVPcsAJqKWu7XQ==} - engines: {node: '>=10'} - peerDependencies: - jest: ^26.0.0 || ^27.0.0 - dependencies: - ansi-escapes: 4.3.2 - chalk: 4.1.2 - jest: 27.3.1 - jest-regex-util: 27.0.6 - jest-watcher: 27.3.1 - slash: 3.0.0 - string-length: 4.0.2 - strip-ansi: 6.0.1 - dev: true - - /jest-watcher/26.6.2: - resolution: {integrity: sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==} - engines: {node: '>= 10.14.2'} - dependencies: - '@jest/test-result': 26.6.2 - '@jest/types': 26.6.2 - '@types/node': 14.17.10 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - jest-util: 26.6.2 - string-length: 4.0.2 - dev: true - - /jest-watcher/27.1.0: - resolution: {integrity: sha512-ivaWTrA46aHWdgPDgPypSHiNQjyKnLBpUIHeBaGg11U+pDzZpkffGlcB1l1a014phmG0mHgkOHtOgiqJQM6yKQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/test-result': 27.1.0 - '@jest/types': 27.1.0 - '@types/node': 14.17.10 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - jest-util: 27.1.0 - string-length: 4.0.2 - dev: true - - /jest-watcher/27.3.1: - resolution: {integrity: sha512-9/xbV6chABsGHWh9yPaAGYVVKurWoP3ZMCv6h+O1v9/+pkOroigs6WzZ0e9gLP/njokUwM7yQhr01LKJVMkaZA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/test-result': 27.3.1 - '@jest/types': 27.2.5 - '@types/node': 16.11.6 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - jest-util: 27.3.1 - string-length: 4.0.2 - dev: true - /jest-worker/26.6.2: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} @@ -18772,52 +16471,6 @@ packages: supports-color: 7.2.0 dev: true - /jest-worker/27.3.1: - resolution: {integrity: sha512-ks3WCzsiZaOPJl/oMsDjaf0TRiSv7ctNgs0FqRr2nARsovz6AWWy4oLElwcquGSz692DzgZQrCLScPNs5YlC4g==} - engines: {node: '>= 10.13.0'} - dependencies: - '@types/node': 16.11.6 - merge-stream: 2.0.0 - supports-color: 8.1.1 - dev: true - - /jest/26.6.3: - resolution: {integrity: sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==} - engines: {node: '>= 10.14.2'} - hasBin: true - dependencies: - '@jest/core': 26.6.3 - import-local: 3.0.2 - jest-cli: 26.6.3 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - dev: true - - /jest/27.3.1: - resolution: {integrity: sha512-U2AX0AgQGd5EzMsiZpYt8HyZ+nSVIh5ujQ9CPp9EQZJMjXIiSZpJNweZl0swatKRoqHWgGKM3zaSwm4Zaz87ng==} - 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 - dependencies: - '@jest/core': 27.3.1 - import-local: 3.0.3 - jest-cli: 27.3.1 - transitivePeerDependencies: - - bufferutil - - canvas - - supports-color - - ts-node - - utf-8-validate - dev: true - /jju/1.4.0: resolution: {integrity: sha1-o6vicYryQaKykE+EpiWXDzia4yo=} dev: true @@ -18880,48 +16533,6 @@ packages: xml-name-validator: 3.0.0 dev: 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 - dependencies: - abab: 2.0.5 - acorn: 8.5.0 - acorn-globals: 6.0.0 - cssom: 0.4.4 - cssstyle: 2.3.0 - data-urls: 2.0.0 - decimal.js: 10.3.1 - domexception: 2.0.1 - escodegen: 2.0.0 - form-data: 3.0.1 - html-encoding-sniffer: 2.0.1 - http-proxy-agent: 4.0.1 - https-proxy-agent: 5.0.0 - is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.0 - parse5: 6.0.1 - saxes: 5.0.1 - symbol-tree: 3.2.4 - tough-cookie: 4.0.0 - 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.5 - xml-name-validator: 3.0.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: true - /jsesc/0.5.0: resolution: {integrity: sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=} hasBin: true @@ -19836,6 +17447,37 @@ packages: hasBin: true dev: true + /mocha/9.1.3: + resolution: {integrity: sha512-Xcpl9FqXOAYqI3j79pEtHBBnQgVXIhpULjGQa7DVb0Po+VzmSIK9kanAiWLHoRR/dbZ2qpdPshuXr8l1VaHCzw==} + engines: {node: '>= 12.0.0'} + hasBin: true + dependencies: + '@ungap/promise-all-settled': 1.1.2 + ansi-colors: 4.1.1 + browser-stdout: 1.3.1 + chokidar: 3.5.2 + debug: 4.3.2_supports-color@8.1.1 + diff: 5.0.0 + escape-string-regexp: 4.0.0 + find-up: 5.0.0 + glob: 7.1.7 + growl: 1.10.5 + he: 1.2.0 + js-yaml: 4.1.0 + log-symbols: 4.1.0 + minimatch: 3.0.4 + ms: 2.1.3 + nanoid: 3.1.25 + serialize-javascript: 6.0.0 + strip-json-comments: 3.1.1 + supports-color: 8.1.1 + which: 2.0.2 + workerpool: 6.1.5 + yargs: 16.2.0 + yargs-parser: 20.2.4 + yargs-unparser: 2.0.0 + dev: true + /moo/0.5.1: resolution: {integrity: sha512-I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w==} dev: true @@ -20029,18 +17671,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /node-notifier/8.0.2: - resolution: {integrity: sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==} - dependencies: - growly: 1.3.0 - is-wsl: 2.2.0 - semver: 7.3.5 - shellwords: 0.1.1 - uuid: 8.3.2 - which: 2.0.2 - dev: true - optional: true - /node-preload/0.2.1: resolution: {integrity: sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==} engines: {node: '>=8'} @@ -20135,13 +17765,6 @@ packages: path-key: 2.0.1 dev: true - /npm-run-path/4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - dependencies: - path-key: 3.1.1 - dev: true - /npmlog/4.1.2: resolution: {integrity: sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==} dependencies: @@ -20151,6 +17774,15 @@ packages: set-blocking: 2.0.0 dev: true + /npmlog/5.0.1: + resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + dependencies: + are-we-there-yet: 2.0.0 + console-control-strings: 1.1.0 + gauge: 3.0.2 + set-blocking: 2.0.0 + dev: true + /nth-check/1.0.2: resolution: {integrity: sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==} dependencies: @@ -20182,29 +17814,29 @@ packages: hasBin: true dependencies: '@istanbuljs/load-nyc-config': 1.1.0 - '@istanbuljs/schema': 0.1.2 + '@istanbuljs/schema': 0.1.3 caching-transform: 4.0.0 - convert-source-map: 1.7.0 + convert-source-map: 1.8.0 decamelize: 1.2.0 - find-cache-dir: 3.3.1 + find-cache-dir: 3.3.2 find-up: 4.1.0 foreground-child: 2.0.0 get-package-type: 0.1.0 - glob: 7.1.6 - istanbul-lib-coverage: 3.0.0 + glob: 7.2.0 + istanbul-lib-coverage: 3.2.0 istanbul-lib-hook: 3.0.0 istanbul-lib-instrument: 4.0.3 istanbul-lib-processinfo: 2.0.2 istanbul-lib-report: 3.0.0 - istanbul-lib-source-maps: 4.0.0 - istanbul-reports: 3.0.2 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.0.5 make-dir: 3.1.0 node-preload: 0.2.1 p-map: 3.0.0 process-on-spawn: 1.0.0 resolve-from: 5.0.0 rimraf: 3.0.2 - signal-exit: 3.0.3 + signal-exit: 3.0.5 spawn-wrap: 2.0.0 test-exclude: 6.0.0 yargs: 15.4.1 @@ -20484,11 +18116,6 @@ packages: engines: {node: '>=4'} dev: true - /p-each-series/2.2.0: - resolution: {integrity: sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==} - engines: {node: '>=8'} - dev: true - /p-event/4.2.0: resolution: {integrity: sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==} engines: {node: '>=8'} @@ -20604,7 +18231,7 @@ packages: resolution: {integrity: sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==} engines: {node: '>=8'} dependencies: - graceful-fs: 4.2.4 + graceful-fs: 4.2.8 hasha: 5.2.2 lodash.flattendeep: 4.4.0 release-zalgo: 1.0.0 @@ -20931,7 +18558,7 @@ packages: resolution: {integrity: sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==} engines: {node: '>=6'} dependencies: - ts-pnp: 1.2.0_typescript@4.3.5 + ts-pnp: 1.2.0_typescript@4.4.3 transitivePeerDependencies: - typescript dev: true @@ -22056,28 +19683,8 @@ packages: engines: {node: '>= 10'} dependencies: '@jest/types': 26.6.2 - ansi-regex: 5.0.0 - ansi-styles: 4.3.0 - react-is: 17.0.2 - dev: true - - /pretty-format/27.1.0: - resolution: {integrity: sha512-4aGaud3w3rxAO6OXmK3fwBFQ0bctIOG3/if+jYEFGNGIs0EvuidQm3bZ9mlP2/t9epLNC/12czabfy7TZNSwVA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.1.0 - ansi-regex: 5.0.0 - ansi-styles: 5.2.0 - react-is: 17.0.2 - dev: true - - /pretty-format/27.3.1: - resolution: {integrity: sha512-DR/c+pvFc52nLimLROYjnXPtolawm+uWDxr4FjuLDLUn+ktWnSN851KoHwHzzqq6rfCOjkzN8FLgDrSub6UDuA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - '@jest/types': 27.2.5 ansi-regex: 5.0.1 - ansi-styles: 5.2.0 + ansi-styles: 4.3.0 react-is: 17.0.2 dev: true @@ -22403,16 +20010,6 @@ packages: react-dom: '>=16.8.0' dev: true - /react-colorful/5.3.0_react-dom@16.14.0+react@16.14.0: - resolution: {integrity: sha512-zWE5E88zmjPXFhv6mGnRZqKin9s5vip1O3IIGynY9EhZxN8MATUxZkT3e/9OwTEm4DjQBXc6PFWP6AetY+Px+A==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - dependencies: - react: 16.14.0 - react-dom: 16.14.0_react@16.14.0 - dev: true - /react-colorful/5.5.0: resolution: {integrity: sha512-BuzrlrM0ylg7coPkXOrRqlf2BgHLw5L44sybbr9Lg4xy7w9e5N7fGYbojOO0s8J0nvrM3PERN2rVFkvSa24lnQ==} peerDependencies: @@ -22543,21 +20140,6 @@ packages: shallowequal: 1.1.0 dev: true - /react-helmet-async/1.0.9_react-dom@16.14.0+react@16.14.0: - resolution: {integrity: sha512-N+iUlo9WR3/u9qGMmP4jiYfaD6pe9IvDTapZLFJz2D3xlTlCM1Bzy4Ab3g72Nbajo/0ZyW+W9hdz8Hbe4l97pQ==} - peerDependencies: - react: ^16.6.0 || ^17.0.0 - react-dom: ^16.6.0 || ^17.0.0 - dependencies: - '@babel/runtime': 7.15.3 - invariant: 2.2.4 - prop-types: 15.7.2 - react: 16.14.0 - react-dom: 16.14.0_react@16.14.0 - react-fast-compare: 3.2.0 - shallowequal: 1.1.0 - dev: true - /react-helmet-async/1.1.2: resolution: {integrity: sha512-LTTzDDkyIleT/JJ6T/uqx7Y8qi1EuPPSiJawQY/nHHz0h7SPDT6HxP1YDDQx/fzcVxCqpWEEMS3QdrSrNkJYhg==} peerDependencies: @@ -22660,19 +20242,28 @@ packages: engines: {node: '>=0.10.0'} dev: true - /react-sizeme/3.0.1: - resolution: {integrity: sha512-9Hf1NLgSbny1bha77l9HwvwwxQUJxFUqi44Ih+y3evA+PezBpGdCGlnvye6avss2cIgs9PgdYgMnfuzJWn/RUw==} + /react-router-dom/6.2.1_react-dom@16.14.0+react@16.14.0: + resolution: {integrity: sha512-I6Zax+/TH/cZMDpj3/4Fl2eaNdcvoxxHoH1tYOREsQ22OKDYofGebrNm6CTPUcvLvZm63NL/vzCYdjf9CUhqmA==} peerDependencies: - react: ^0.14.0 || ^15.0.0-0 || ^16.0.0 || ^17.0.0 - react-dom: ^0.14.0 || ^15.0.0-0 || ^16.0.0 || ^17.0.0 + react: '>=16.8' + react-dom: '>=16.8' dependencies: - element-resize-detector: 1.2.3 - invariant: 2.2.4 - shallowequal: 1.1.0 - throttle-debounce: 3.0.1 + history: 5.2.0 + react: 16.14.0 + react-dom: 16.14.0_react@16.14.0 + react-router: 6.2.1_react@16.14.0 dev: true - /react-sizeme/3.0.1_react-dom@16.14.0+react@16.14.0: + /react-router/6.2.1_react@16.14.0: + resolution: {integrity: sha512-2fG0udBtxou9lXtK97eJeET2ki5//UWfQSl1rlJ7quwe6jrktK9FCCc8dQb5QY6jAv3jua8bBQRhhDOM/kVRsg==} + peerDependencies: + react: '>=16.8' + dependencies: + history: 5.2.0 + react: 16.14.0 + dev: true + + /react-sizeme/3.0.1: resolution: {integrity: sha512-9Hf1NLgSbny1bha77l9HwvwwxQUJxFUqi44Ih+y3evA+PezBpGdCGlnvye6avss2cIgs9PgdYgMnfuzJWn/RUw==} peerDependencies: react: ^0.14.0 || ^15.0.0-0 || ^16.0.0 || ^17.0.0 @@ -22680,8 +20271,6 @@ packages: dependencies: element-resize-detector: 1.2.3 invariant: 2.2.4 - react: 16.14.0 - react-dom: 16.14.0_react@16.14.0 shallowequal: 1.1.0 throttle-debounce: 3.0.1 dev: true @@ -22873,10 +20462,6 @@ packages: resolution: {integrity: sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==} dev: true - /regenerator-runtime/0.13.7: - resolution: {integrity: sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==} - dev: true - /regenerator-runtime/0.13.9: resolution: {integrity: sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==} @@ -23174,11 +20759,6 @@ packages: deprecated: https://github.com/lydell/resolve-url#deprecated dev: true - /resolve.exports/1.1.0: - resolution: {integrity: sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==} - engines: {node: '>=10'} - dev: true - /resolve/1.17.0: resolution: {integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==} dependencies: @@ -23550,13 +21130,6 @@ packages: xmlchars: 2.2.0 dev: true - /saxes/5.0.1: - resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==} - engines: {node: '>=10'} - dependencies: - xmlchars: 2.2.0 - dev: true - /scheduler/0.19.1: resolution: {integrity: sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==} dependencies: @@ -23699,6 +21272,12 @@ packages: randombytes: 2.1.0 dev: true + /serialize-javascript/6.0.0: + resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} + dependencies: + randombytes: 2.1.0 + dev: true + /serve-favicon/2.5.0: resolution: {integrity: sha1-k10kDN/g9YBTB/3+ln2IlCosvPA=} engines: {node: '>= 0.8.0'} @@ -23816,11 +21395,6 @@ packages: rechoir: 0.6.2 dev: true - /shellwords/0.1.1: - resolution: {integrity: sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==} - dev: true - optional: true - /shiki-languages/0.2.7: resolution: {integrity: sha512-REmakh7pn2jCn9GDMRSK36oDgqhh+rSvJPo77sdWTOmk44C5b0XlYPwJZcFOMJWUZJE0c7FCbKclw4FLwUKLRw==} dependencies: @@ -23851,10 +21425,6 @@ packages: object-inspect: 1.11.0 dev: true - /signal-exit/3.0.3: - resolution: {integrity: sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==} - dev: true - /signal-exit/3.0.5: resolution: {integrity: sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==} dev: true @@ -24077,7 +21647,7 @@ packages: is-windows: 1.0.2 make-dir: 3.1.0 rimraf: 3.0.2 - signal-exit: 3.0.3 + signal-exit: 3.0.5 which: 2.0.2 dev: true @@ -24184,13 +21754,6 @@ packages: escape-string-regexp: 2.0.0 dev: true - /stack-utils/2.0.5: - resolution: {integrity: sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==} - engines: {node: '>=10'} - dependencies: - escape-string-regexp: 2.0.0 - dev: true - /state-toggle/1.0.3: resolution: {integrity: sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==} dev: true @@ -24278,14 +21841,6 @@ packages: engines: {node: '>=0.6.19'} dev: true - /string-length/4.0.2: - resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} - engines: {node: '>=10'} - dependencies: - char-regex: 1.0.2 - strip-ansi: 6.0.1 - dev: true - /string-width/1.0.2: resolution: {integrity: sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=} engines: {node: '>=0.10.0'} @@ -24304,24 +21859,6 @@ packages: strip-ansi: 5.2.0 dev: true - /string-width/4.2.0: - resolution: {integrity: sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==} - engines: {node: '>=8'} - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.0 - dev: true - - /string-width/4.2.2: - resolution: {integrity: sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==} - engines: {node: '>=8'} - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.0 - dev: true - /string-width/4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -24486,11 +22023,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /strip-final-newline/2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - dev: true - /strip-json-comments/2.0.1: resolution: {integrity: sha1-PFMZQukIwml8DsNEhYwobHygpgo=} engines: {node: '>=0.10.0'} @@ -24592,14 +22124,6 @@ packages: has-flag: 4.0.0 dev: true - /supports-hyperlinks/2.2.0: - resolution: {integrity: sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - supports-color: 7.2.0 - dev: true - /svgo/1.3.2: resolution: {integrity: sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==} engines: {node: '>=4.0.0'} @@ -24649,14 +22173,18 @@ packages: object.getownpropertydescriptors: 2.1.3 dev: true + /synchronous-promise/2.0.15: + resolution: {integrity: sha512-k8uzYIkIVwmT+TcglpdN50pS2y1BDcUnBPK9iJeGu0Pl1lOI8pD6wtzgw91Pjpe+RxtTncw32tLxs/R0yNL2Mg==} + dev: true + /table/6.0.7: resolution: {integrity: sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==} engines: {node: '>=10.0.0'} dependencies: ajv: 7.0.3 - lodash: 4.17.20 + lodash: 4.17.21 slice-ansi: 4.0.0 - string-width: 4.2.0 + string-width: 4.2.3 dev: true /tapable/1.1.3: @@ -24727,14 +22255,6 @@ packages: engines: {node: '>=8'} dev: true - /terminal-link/2.1.1: - resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} - engines: {node: '>=8'} - dependencies: - ansi-escapes: 4.3.2 - supports-hyperlinks: 2.2.0 - dev: true - /terser-webpack-plugin/1.4.5_webpack@4.46.0: resolution: {integrity: sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==} engines: {node: '>= 6.9.0'} @@ -24814,14 +22334,6 @@ packages: resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=} dev: true - /throat/5.0.0: - resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==} - dev: true - - /throat/6.0.1: - resolution: {integrity: sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==} - dev: true - /throttle-debounce/3.0.1: resolution: {integrity: sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==} engines: {node: '>=10'} @@ -24948,15 +22460,6 @@ packages: punycode: 2.1.1 dev: true - /tough-cookie/4.0.0: - resolution: {integrity: sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==} - engines: {node: '>=6'} - dependencies: - psl: 1.8.0 - punycode: 2.1.1 - universalify: 0.1.2 - dev: true - /tr46/0.0.3: resolution: {integrity: sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=} dev: true @@ -24967,13 +22470,6 @@ packages: punycode: 2.1.1 dev: true - /tr46/2.1.0: - resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} - engines: {node: '>=8'} - dependencies: - punycode: 2.1.1 - dev: true - /trim-off-newlines/1.0.1: resolution: {integrity: sha1-n5up2e+odkw4dpi8v+sshI8RrbM=} engines: {node: '>=0.10.0'} @@ -25007,18 +22503,6 @@ packages: tslib: 2.3.1 dev: true - /ts-pnp/1.2.0_typescript@4.3.5: - resolution: {integrity: sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==} - engines: {node: '>=6'} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - typescript: 4.3.5 - dev: true - /ts-pnp/1.2.0_typescript@4.4.3: resolution: {integrity: sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==} engines: {node: '>=6'} @@ -25135,11 +22619,6 @@ packages: engines: {node: '>=10'} dev: true - /type-fest/0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - dev: true - /type-fest/0.3.1: resolution: {integrity: sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==} engines: {node: '>=6'} @@ -25673,38 +23152,10 @@ packages: hasBin: true dev: true - /uuid/8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true - dev: true - optional: true - - /v8-compile-cache/2.2.0: - resolution: {integrity: sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==} - dev: true - /v8-compile-cache/2.3.0: resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} dev: true - /v8-to-istanbul/7.1.2: - resolution: {integrity: sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==} - engines: {node: '>=10.10.0'} - dependencies: - '@types/istanbul-lib-coverage': 2.0.3 - convert-source-map: 1.8.0 - source-map: 0.7.3 - dev: true - - /v8-to-istanbul/8.1.0: - resolution: {integrity: sha512-/PRhfd8aTNp9Ggr62HPzXg2XasNFGy5PBt0Rp04du7/8GNNSgxFL6WBTkgMKSL9bFjH+8kKEG3f37FmxiTqUUA==} - engines: {node: '>=10.12.0'} - dependencies: - '@types/istanbul-lib-coverage': 2.0.3 - convert-source-map: 1.8.0 - source-map: 0.7.3 - dev: true - /validate-npm-package-license/3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} dependencies: @@ -25779,13 +23230,6 @@ packages: browser-process-hrtime: 1.0.0 dev: true - /w3c-xmlserializer/2.0.0: - resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==} - engines: {node: '>=10'} - dependencies: - xml-name-validator: 3.0.0 - dev: true - /walker/1.0.8: resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} dependencies: @@ -25815,6 +23259,14 @@ packages: watchpack-chokidar2: 2.0.1 dev: true + /watchpack/2.3.1: + resolution: {integrity: sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==} + engines: {node: '>=10.13.0'} + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.8 + dev: true + /wbuf/1.7.3: resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} dependencies: @@ -25844,16 +23296,6 @@ packages: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} dev: true - /webidl-conversions/5.0.0: - resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} - engines: {node: '>=8'} - dev: true - - /webidl-conversions/6.1.0: - resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==} - engines: {node: '>=10.4'} - dev: true - /webpack-bundle-analyzer/4.4.2: resolution: {integrity: sha512-PIagMYhlEzFfhMYOzs5gFT55DkUdkyrJi/SxJp8EF3YMWhS+T9vvs2EoTetpk5qb6VsCq02eXTlRDOydRhDFAQ==} engines: {node: '>= 10.13.0'} @@ -26100,15 +23542,6 @@ packages: webidl-conversions: 4.0.2 dev: true - /whatwg-url/8.7.0: - resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==} - engines: {node: '>=10'} - dependencies: - lodash: 4.17.21 - tr46: 2.1.0 - webidl-conversions: 6.1.0 - dev: true - /which-boxed-primitive/1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} dependencies: @@ -26141,7 +23574,7 @@ packages: /wide-align/1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} dependencies: - string-width: 1.0.2 + string-width: 4.2.3 dev: true /widest-line/3.1.0: @@ -26506,6 +23939,10 @@ packages: microevent.ts: 0.1.1 dev: true + /workerpool/6.1.5: + resolution: {integrity: sha512-XdKkCK0Zqc6w3iTxLckiuJ81tiD/o5rBE/m+nXpRCB+/Sq4DqkfXZ/x0jW02DG1tGsfUGXbTJyZDP+eu67haSw==} + dev: true + /wrap-ansi/5.1.0: resolution: {integrity: sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==} engines: {node: '>=6'} @@ -26520,8 +23957,8 @@ packages: engines: {node: '>=8'} dependencies: ansi-styles: 4.3.0 - string-width: 4.2.2 - strip-ansi: 6.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 dev: true /wrap-ansi/7.0.0: @@ -26578,6 +24015,19 @@ packages: optional: true dev: true + /ws/8.4.0: + resolution: {integrity: sha512-IHVsKe2pjajSUIl4KYMQOdlyliovpEPquKkqbwswulszzI7r0SfQrxnXdWAEqOlDCLrVSJzo+O1hAwdog2sKSQ==} + 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 + dev: true + /xdg-basedir/4.0.0: resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==} engines: {node: '>=8'} @@ -26637,11 +24087,26 @@ packages: decamelize: 1.2.0 dev: true + /yargs-parser/20.2.4: + resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==} + engines: {node: '>=10'} + dev: true + /yargs-parser/20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} engines: {node: '>=10'} dev: true + /yargs-unparser/2.0.0: + resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} + engines: {node: '>=10'} + dependencies: + camelcase: 6.2.0 + decamelize: 4.0.0 + flat: 5.0.2 + is-plain-obj: 2.1.0 + dev: true + /yargs/13.3.2: resolution: {integrity: sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==} dependencies: @@ -26668,7 +24133,7 @@ packages: require-directory: 2.1.1 require-main-filename: 2.0.0 set-blocking: 2.0.0 - string-width: 4.2.2 + string-width: 4.2.3 which-module: 2.0.0 y18n: 4.0.3 yargs-parser: 18.1.3 |